Jack Wang’s Status Report for 3/23/24

Personal Accomplishments:

  1. Ethics Lecture & Activities (3 hrs): During lecture time on Monday, I attended the ethics session and participated in the in-class activities. We analyzed some of the worst-case scenarios for our projects and discussed them with other teams.
  2. Radar Work (9 hrs): The primary work this week was on the radar tuning. After the software bring-up was done last week, my goal was to figure out how to tune the radar parameters and make them useful to our needs this week. I started by plotting the radar output using some codes provided by RFBeam. Here is an example output:

There are a lot of parameters that can be tuned for the radar to achieve different detection outcomes. I researched the ways to tune the parameters based on the datasheet. There is a Python driver that contains some helper functions to tune these parameters, but I think we do not need to rely on that as the tuning should be very simple based on the datasheet. Another thing that I was exploring this week was how to process the radar targets. I did some brief tests on Wednesday to figure out how the radar is outputting the target. In the raw target mode, it would show the target in reference to the local x-y locations. Since the radar is mounted toward the back of the bike, the y-axis indicates how far the car is from the bike and the x-axis shows if the car is left or right on the bike. This work will be continued next week.

Progress:

I am currently somewhat on track with the radar tuning, although more work might need to be done, so it might go over the time that we originally budgeted. There were some delays to get the tuning started as it was complicated. However, I am on track after the adjusted schedule. Please see the team status report for more details.

Next Week:

  1. Continuation of radar tuning
  2. Preparing for the interim demo.

Team Status Report for 3/16

Risk and Plans

We are trying to bring more components of the project together. Some current tasks are making sure the software bring-ups are successful, and that hardware design will fulfill our needs. One of the risks that might jeopardize our progress would be running into issues that we did not expect. For example, the radar software bring-up took a bit longer because we had to resolve some basic UART communication issues that were related to the Pi. In addition, we were trying to find optimal materials for our radar cover, which we did not initially believe to be this time-consuming and challenging. However, it turned out there are a lot of details like the permittivity and the thickness that we need to consider. Such unexpected issues might lead to lengthy delays or, even worse, change of plans. We tried to do as extensive research as possible beforehand to minimize such things from happening, but it is unavoidable like any other engineering project. To mitigate this, we still have our built-in slack time in the project timeline, and we try to dynamically adjust the schedule and plan if needed. The adjustment is based on our MVP requirements. We hope to minimize the impact of unexpected errors by staying on top of the game, and making sure we work through other simple, non-technically intense parts of the project efficiently.

Changes in Design

We do not have any design changes since last week.

Schedule Updates

Here is a screenshot of the Gantt chart as of this week:

Gantt chart as of this week (click for a larger view)

Here are the schedule updates since last week:

Completed tasks :tada::

  • Initial radar software bringup complete
  • UI software mockup complete
  • All remaining parts (buttons, magnetometer) have arrived

On track tasks :white_check_mark::

  • Tuning BSM
  • UI software development
  • CAD design

Delayed tasks :alarm_clock::

  • Tuning FCW – Jason may not have time to complete this within the next week, we may need to adjust schedule based on discussion – we have also about 1 week of slack time to  delay this without delaying electrical/software integration, and even if that is delayed we have a couple of days of additional slack time before bike installation occurs.
  • Turn signal development – Turn signal schematics signoff is still incomplete, so we will push to ensure that is done soon. We also have not started on turn signal software development yet – that will result in a delay for that specific task although we have sufficient slack time in the schedule to absorb a delay of ~1 week without affecting downstream tasks

Jack Wang’s Status Report for 3/16/24

Personal Accomplishments:

  1. Lab Meetings (3 hrs): During the lab meeting time, Jason, Johnny, and I touched base on our current schedule and discussed more about what material the radar cover should use. We felt happy about the adjustment we made last week. See last week’s group report for more details. We met with Prof. Fedder and received feedback about our design review paper.
  2. Ethics Assignment (4 hrs): I took some time to reflect on the ethics articles that are related to the ethics assignment. I learned the political implications of engineering and analyzed technologies like autonomous aircraft and facial recognition technology.
  3. Radar software bring-up (5 hrs): I finished the initial radar software bring-up by allowing the radar to read out some basic detection results. Here is some basic output:

There were some issues in establishing the communication between radar and RPi during the process. Initially, the default UART port for RPi did not transmit nor receive data. This was resolved by updating the firmware of the Pi after reading a post in the forum. After the basic UART functionality was checked out, the radar still was not able to communicate. I realized that the default UART for RPi 4 was a mini-UART, which does not support parity bits based on this chart. 

Our radar requires even parity, so the default UART would not work. I reconfigured the hardware setup so that the radar used UART2, which supports parity bits. This resolved the communication issues. In this phase, I let the radar print out a list of detection targets with their distance and velocity. This concluded the radar’s initial software bring-up task for the project.

Progress:

I am back on schedule from last week’s slight delay. The initial software bring-up for the radar was completed early this week, and I am in the process of tuning the radar for our needs.

Next Week:

  1. More radar tuning for blind-spot detection and collision detection.
  2. Ethics lecture

Team Status Report for 3/9

Risk and Plans

Time management is the greatest risk for the current phase of the project. In the past week, the heavy workload caused us to be slightly behind the overall schedule. We are having a slight delay in enclosure design and manufacturing. If we stick with the previous plan, we might be causing massive delays in our project. Hence, while Johnny is speeding up finishing the CAD design, we are also making backup plans of running system integration in parallel with the enclosure design. We are currently running with a reasonable slack time. But if the delay continues, we will run into scheduling problems. We are communicating between team members to make sure that the schedule is updated, and that it is within the tolerances of the slack time that we have. Another challenge is that a design change might add some time to what we have planned. For example, we are learning what kind of materials and specifications can be used for the radar cover as we go through the datasheet, which caused us to take extra time to figure out the new design. These are all managed by cross-checking out plans and splitting the work as needed to make sure that we meet the absolute deadline.

Changes in Design

We have changed our plan for radar radome material. Our current plan is to use closed-cell polyurethane foam to be water-proof while allowing radio waves to pass.

Schedule Updates

There have been some significant changes to the Gantt chart. Here is the updated Gantt chart:

Gantt chart as of 3/9, click for fullscreen view

Here is a summary of changes:

  • Extended deadline for software bringup for the radar to 3/11 since it isn’t complete
  • Renamed the turn signal task of “Benchtop Testing” to “Development” to better capture what we’re doing and added Jason to assist Johnny with that
  • Deleted the “Bike Installation” step from the radar and bike signals since we can’t do that until we have the final enclosures complete
    • Instead, we added a new task called “Electrical/Software System Integration” where we integrate all the electrical and software pieces together without actually installing them on the bike – this removes the dependency on having the enclosure being completed first
    • We renamed the “Full System Integration” step to “Bike Installation”, where we’ll install everything onto the bike – this depends on enclosure completion and electrical/software system integration
  • Extended CAD design time to 2 weeks since Johnny needs more time
    • This pushes back Bike Installation by a week, but because our original final demo date was 4/29 and is now 5/3, we only effectively lose 3 days
  • Set final demo date set to 5/3 based on final exam schedule
  • Due date of UI mockup extended 2/28 to 3/13 (which also pushes the UI implementation start date back) since Jason needs to make more changes to it
  • UI implementation end date extended 3/15 to 3/24 as Jason is not confident he can finish it in the original time frame of 1 week

Our slack time is now 4 days.

Weekly Special Questions

Note: Part A was written by Jack Wang, Part B was written by Johnny Tian, and Part C was written by Jason.

A. Global Factors:

Our BikeBuddy will have a great impact on the global scale. The system will be able to be installed on different kinds of bicycles, so each individual around the world could benefit from such a system. Bike safety is definitely not only a local concern in Pittsburgh, but an issue faced by all bike commuters around the globe. We try to make the system generic so that it will be able to perform things like blind-spot detection and illuminate turn signals in diverse road and weather conditions. People who utilize it will not need to be technologically savvy. Instead, it will be designed to be able to use and interpret the information easily. This system will not only be beneficial to the cyclist community around the world but to all the general public who shares the road. It will likely reduce the number of crashes between the car and the bike, creating a safer road environment. It will not just be a system that will contribute to those in academics, but a system that people can actually use, benefiting their day-to-day life on a bike, no matter where they are.

B. Cultural Factors:

Integrating blind spot monitoring and turn signaling features represents not only a technological advancement but also an innovation intertwined with cultural factors. In cultures where cycling is popular, these innovations can significantly enhance safety, reflecting a commitment to promoting responsible behavior on the roads and emphasizing cyclists’ well-being.

In diverse linguistic environments where individuals may not share a common language, visual cues become universally understood. Turn signals, as a non-verbal and standardized method of communication enabling drivers and pedestrians to anticipate and respond to upcoming maneuvers.

In addition, clear and consistent signaling enhances adherence to traffic regulations, contributing to a smoother flow of traffic and improved road safety. When riders consistently utilize turn signals, it becomes easier for law enforcement to monitor the traffic.

C. Environmental Factors

If we are able to encourage more people to bicycle instead of taking their car by giving users more confidence in their safety on the road, we can improve the environment by taking more vehicles off the road. This will hopefully improve air quality, reduce use of fossil fuels, and reduce noise pollution.

However, our product itself may have a slight negative environmental impact due to the materials involved in building the system. For example, I believe our battery (Anker 337) uses lithium, and the extraction of lithium can have negative impacts on the environment such as “[the] use [of] large quantities of water and related pollution; potential increase in carbon dioxide emissions; production of large quantities of mineral waste; increased respiratory problems; alteration of the hydrological cycle” (https://news.climate.columbia.edu/2023/01/18/the-paradox-of-lithium/). While our product does not use large amounts of lithium compared to things like electric vehicles or other resources such as rare earth metals that are perhaps needed for things like the Raspberry Pi, we nonetheless do contribute to these issues.

Jack Wang’s Status Report for 3/9/24

Personal Accomplishments:

  1. Design Review Paper (11 hrs): Together with Johnny and Jason, we finished the design review paper during the regular lab meeting time and some extra time outside the lab. I wrote the introduction, use-case, system implementation of radar, design tradeoffs of radar, and previous works sections. You can see more about this paper here. During the writing, I researched more on the parameter tunings of the radar. Specifically, what parameters can we tune, and what they are for based on the datasheet. I created the flow chart for communication between the radar and the RPi. I also found the requirements for the radar dome that we are trying to build for water-proofing purposes. This includes the thickness and the type of materials we need to use. I shared this information with Johnny, who will be designing the case.
  2. Radar software bring-up (2hrs): I continued the progress of the radar software bring-up by establishing communications successfully using the GPIO pins and UART.

Progress:

My progress is a bit behind schedule on the radar setup due to the heavy workload for this week. However, I am only a little behind so I will be able to catch up with the schedule by this Monday, without affecting the overall progress of the team. The parameter tunings will start then.

Next Week:

  1. Finish radar software bring-up by Monday
  2. Start radar parameter tunings

Jack Wang’s Status Report for 2/24/24

Personal Accomplishments:

1. Presentation (6 hrs): Together with Johnny and Jason, we finished the slide deck for the design review presentation. I made the slides about testing metrics and why we chose to use radar instead of other distance-measuring equipment. During lab meeting time, I listened to other teams’ presentations, asking questions and providing feedback. I was able to hear about other people’s projects while reflecting on our project to see what can we improve in terms of hardware and software design.

2. Miscellaneous (2 hrs): I set up the team GitHub repo for version control. The link to that repo is omitted here since we are not releasing the source code yet. Johnny, Jason, and I did a quick functionality check with the screen that we purchased. I set up the hardware connection between the K-LD7 radar and the Raspberry Pi using a breadboard. This is not the final setup for our system; it is used for software bring-ups and tests that will be discussed in the next section.

3. Radar Initialization (4 hrs): I began the software bring-up process for the K-LD7 radar. The first phase includes setting up the radar and getting some basic detection results. I did some research on how to get the radar module working with Raspberry Pi and how to get useful output. In the datasheet for K-LD7, I learned the signal processing flow of the module and different parameters such as speed/direction measurement, angle measurement, and distance measurement that we can tune. I discovered a Python API for K-LD7, which is very handy. According to a post from the Raspberry Pi form, RFBeam provided a simple testing script to test the basic functionality of the radar. The script is based on a setup with an evaluation kit. I modified the script to make it work with Raspberry Pi. However, until the time of the blog post, I have not tested the radar setup yet. This will be done before the team meets on Monday.

Progress:

I am still on schedule, but running tight on time. The radar bring-up was started this week. However, it was delayed a bit due to the later-than-scheduled arrival of the radar module. The deadline for the software bring-up is this coming Monday. However, given the current progress, I might not be able to fully test the software functionality of the module, although the basic initiation will be completed by the deadline. To solve this matter, I will prioritize solving issues related to radar software bring-up next week. We have some slack time during spring break as well, so I still have some buffer to fix any remaining issues without disrupting the main schedule. Overall, the work on the radar is still going as planned.

Next Week:

  1. Finish radar software bring-up
  2. Simple radar detection tests
  3. Varying parameters to see how the results change.

Deliverables: We should be able to get some serial outputs from the radar on some basic detection. The output should be displayed using pyserial. We should also have a better sense of how to use this radar module in general, and what will be our challenges in this phase.

Team Status Report for 02/24

Risk and Plans

  1. Software bring-ups: We have received all the parts that are needed for this phase of the project. We have dedicated this time in the schedule to do some initial software bring-ups and tests. For example, we need to make sure that the radar will produce the data that will work with our system; finding a suitable framework is another thing that we are working on. These are risk factors because even though we have dedicated time to do the initial bootstrapping, we might run into different situations along the way that will delay the project. Working with software is unpredictable, especially for a project like this. In addition, although each component might work at this stage, the integrating results are still pending. So we still run into the risk of things not working later on in the pipeline. We are managing these risks by doing careful research and making sure we have slack time and backup plans when things go off. For instance, Jason has done a wonderful job of looking into the best UI framework for our purpose. You can see more details on his status report this week. Jack searched for previous usage of K-LD7 radars with Raspberry Pis, trying to avoid issues that people ran into before. He was able to find some useful information for processing data. You can see more on his status report.
  2. Hardware designs: Johnny had some amazing ideas for the design of the enclosing box. However, as we ordered the other components, we might need to readjust the hardware design ideas we had in mind to fulfill the shape and size of those components. We have some risks on the timeline for the enclosure and mounting issues because it might be a bit more complex than what we originally expected. We will mitigate this by moving the design timeline up and extending the time available for designing the enclosures. Please see the schedule updates section for more details.

Changes in Design

  • We have settled on a UI framework, Electron (see Jason’s status report for details)
  • We also changed the power to the turn signal auto-cancellation system to use 3.3V as the high side input from the Pi, not 5V due to 3.3V being the max GPIO voltage (link 1link 2)
  • We also need to source an ADC converter with I2C communication, since the PI gpio doesn’t have analog input.

Schedule Updates

Here are the updates to the schedule from last week:

  • Completed tasks 🎉:
  • Schedule changes 📅:
    • The Verification/Simulation step for turn signals has been deleted, since the circuits seem simple enough that we can skip that step
      • This change is motivated by the fact that we’re behind and this step seems non-essential
    • The CAD design start date for the enclosures has been moved up to today (from 3/13), and the time for prototyping/refining the enclosures has been extended to two weeks
      • There are some concerns that the original allocated time may not be enough since the things we need to build appear complex, so we wanted to move it up to get more time to work on it
    • Total slack time has increased from 5 days to 7 days

We are currently behind on the turn signal stuff due to incomplete schematic review, although we may be able to catch up by obtaining parts from ECE stock. On other aspects, we are currently on track.

Updated Gantt chart for this week (click for a larger image)

Team Status Report for 02/17

Risk and Plans

1. Parts: The quality of parts remains the biggest risk at this stage of the project. We have done a lot of research on the components that are required for BikeBuddy, and we made decisions based on documentation and logical reasoning. However, a part that looks good on paper may not perform the way we want it in reality. For example, the turn switches that we purchased did not meet our expectations, where the switches need to be toggled to both turn on and off.  This was just a small part of the project, so our contingency plan was to revert to a simple button instead of a fancy turn switch. However, this could be a huge issue if it happens on more time-critical parts like radar. Until we check out all the parts and make sure they are compatible with each other, this remains our biggest risk.  We hope that our careful research for each part will mitigate such risk. However, we have backup parts that can be ordered if our original parts do not work out.

2. Scheduling: In our schedule, we left one-week time for the parts to be shipped. However, the unpredictable shipping speed is another risk that can pull us into schedule issues. The radar is taking a bit longer than we expected to arrive. If a part takes a significant amount of time to arrive, it might lead to a knock-on delay in our progress. To mitigate this, we still have slack time that we can use to smooth things out. We will follow up with the shipping status so that we know if we need to order new parts as backups.

Changes in Design

  • We’ve altered the requirement from being portable to simply being easy to install. We realized that we wouldn’t expect the end user to need to frequently move our safety system around so the portability requirement wasn’t necessary. However, we would still like this system to be easy to install hence the change in requirement.
  • The motorcycle turn switch we bought turned out not to be what we wanted as the switch didn’t return to the neutral position when activated, rendering our turn signal auto-cancellation system useless. Other turn switches on Amazon (some include example 1, example 2) seemed to have the same issue where the turn signal switch is latching which wouldn’t work for our case. In hindsight, that actually makes sense as how would the turn signal know to deactivate automatically on a motorcycle without being able to sense the handlebar position? Therefore, we pivoted to using motorcycle momentary button switches to activate the turn signal, such as this switch.
    • The wiring diagrams such as the ones listed here indicate that the button shorts the two inputs together which should work for us as a GPIO input into the Raspberry Pi to sense a button press (e.g., put 5V on one side of the switch, on the RPi side have a pulldown to ground).
  • We’ve settled on choices for several of our components:
    • Screen choice of a 5″ HDMI screen – We wanted a screen that used HDMI to simplify the interface with the Raspberry Pi (unlike other ones that used raw RGB data!) and this screen met that requirement.
      • There was some concern about whether this would be sunlight visible, but we weren’t able to find a screen that was bright enough, yet cheap and used HDMI (some sources said 1000 nits or 800 nits – I recall seeing 700 nits somewhere but can’t locate the source now :/). The decision we ended up with was that it looked bright enough in photos so we’ll try out this screen and worst case we’ll put a shade/visor over it.
      • We selected the 5″ over the 7″ one because we felt that the 7″ was unnecessarily large.
      • The current draw is acceptable for our use case (the 7″ screen states 0.62 A draw) which is able to be supplied from the RPi 4 which has a 1.2 A USB limit
    • Radar choice of the K-LD7 – According to its product page and datasheet, it supports up to 30 m range for car detection which is more than we need, it mentions blind spot detection as a use case which gives us more confidence that this will work for that, and it performs on board signal processing and gives serial output instead of raw sinusoidal data which simplifies the work we need on our end. The current draw is also minimal (200 mA peak) according to the datasheet.
    • Battery system of the Anker 337 – Initially suggested by Professor Tamal, we settled with this one because it was capable of 3A output on each USB port which was recommended for powering the Pi 4 and output 5V which was what everything we used ran off of. Additionally, the capacity was very large.
  • We’ve created an initial block diagram of the system as well:

 

Schedule Updates

There have been no schedule updates since last week and things are currently on track.

Here is the Gantt chart as of Feb. 17, 2024 (click for a full-sized view):

 

Weekly Special Questions

Note: Part A was written by Jonny Tian, Part B was written by Jack Wang, and Part C was written by Jason Lu

A. Public health and safety

Incorporating our project into bicycle design helps mitigate the risk of accidents and promotes overall road safety. Blind spot monitoring systems alert cyclists to potential dangers, reducing the likelihood of collisions with vehicles or pedestrians. This not only protects the individual cyclist but also contributes to the broader public health by minimizing the occurrence of accidents. Additionally, turn signals on bicycles enhance communication between cyclists and other road users, promoting a more predictable and organized flow of traffic. This increased visibility and communication can prevent misunderstandings, reducing the overall risk of accidents and creating a safer environment for all road users.

B. Social factors

Our project will primarily target the social group of urban cyclists and motorists who share the roads in densely populated areas. BikeBuddy is designed so that people from this cohort can afford this product and enhance their safety in their day-to-day lives. This group of people rely on bicycles or share the road with cyclists. The system that we are offering such as the blind spot detection and display addresses the critical need for improved awareness of surrounding traffic, particularly in urban environments for this group of people. In addition, our solution to enhanced bike safety will also promote a safer cycling environment, encouraging more people who rely on bikes to cycle more. Since the design is modular and has user-friendly interfaces, the system can be accessible to a wide range of cyclists.  Overall, our system considers the core needs of this group of people, offering inclusivity and equitable access to safer cycling experiences.

C. Economic factors

Our target price point of less than < $200 was intended to make this affordable for regular commuters who may not be willing to spend as much on a safety system instead of for professionals who have deeper pockets. As a result, we didn’t use arguably better systems such as the TI series of automotive radars which are specially designed for the blind spot monitoring use case in vehicles but are significantly more expensive to use (ex: one EVK for a TI radar cost $358 from Digikey).

Admittedly, at this point, we’re not certain if we can hit the price target, but one hope is that if we calculate the cost to consumer using the bulk pricing then that target  will be feasible. For example, we are currently buying radars for around $86 per unit since we are buying small quantities, but if this is commercialized and we buy larger quantities for production (e.g., hundreds) we can bring it down to ~$65 per radar.

The requirement of being easy to install (which we changed from being portable) also means that the end user should not require specialized equipment or need to go to a bike shop to install the system which further reduces the cost of obtaining this product.

We also do not anticipate significant operating costs to the end user with the exception of electricity bills from charging the battery pack, so there should not be a long term economic burden to the user. The intended ruggedness of the system also should ensure that the system won’t need replacing too quickly which would be expensive.

On a macroeconomic level, another thought we had was that this could reduce total healthcare and vehicle repair costs. If we lower collision rates between vehicles and cyclists, we reduce the number of hospital visits needed for cyclists and the repairs needed to repair vehicles damaged in collisions which will hopefully result in an overall reduced average cost to cyclists and drivers alike (e.g., expected value of repair costs will go down because the probability of a repair being needed is reduced).

Jack Wang’s Status Report for 2/17/24

Personal Accomplishments:

  1. Lab Meetings (4 hrs): With my team members, I finalized the BOM of the project, especially the choice of radar. We have discussed the benefit of the K-LD7 radar based on the datasheet. It provides us with the range that we need, along with a nice serial output that is easy for us to process. I have also identified a Python driver for the radar to help us process the output data of the radar. The radar and the other components were ordered. During the lab meeting, we presented our ideas to Prof. Fedder and the TA, where we received the acknowledgment of the radar choice.
  2. Presentation Prep (4 hrs): Together with my teammates, I prepared the design review presentation.  Please see here for more details on our presentation. I am mainly in charge of the design requirements, radar, and testing slides.
  3. Project Meetings (4 hrs): I discussed the power source of our project with Jonny, and with the help of Prof. Mukherjee, we decided to use a large enough power bank as the power source. I researched the requirements for using radar frequency bands based on the FCC regulations. I also reached out to Prof. Sullivan to confirm the regulations. I also tested our LED blinker with Jonny.

Progress:

My progress is on schedule so far.

Next Week:

  1. Software bring-up for the radar if they arrive
  2. General course assignments and documentation

Jack Wang’s Status Report for 2/10/24

Personal Accomplishments:

  1. Presentation (4 hrs): Together with my teammates, I prepared and presented the proposal presentation on Monday.  Please see here for more details on our presentation.
  2. Lab Meetings (4 hrs): I listened to other teams’ proposal presentations during lab sessions, asking questions and providing feedback. I was able to hear about other people’s projects while reflecting on our project to see what can we improve.
  3. Project Meetings (4 hrs): I met with my teammates outside the mandatory lab meetings and discussed the bill of materials (BOM) for our project. I spent time researching possible radar modules that we can use to do blind spot detections. As of the time of the post, I have narrowed down the choices to two radars (K-LD7 & HB100). I will continue to discuss with my teammates to make a final decision.

Progress:

My progress is on schedule so far.

Next Week:

  1. Review and finalize parts on our BOM.
  2. Review the documentation for the radar that we choose and search for compatible libraries if needed.