Wuyang Li’s Status Report for 03/28/2026

This week, I worked on the emergency stop logic, and completed a draft of it. Besides that, I spent my majority of time perparing for the interim demo. Previously, we mainly focused on the software side, writing code, so now we worked more on getting the raspberry pi to work on the robot base. In this process, I focused on researching how the UGV 02 robot base works, and how to connect the raspberry pi to it to control its movement.

My progress is currently on schedule, and I’m even ahead of the schedule a bit as we already worked on integration for a while to try to have more things for demo.

Next week, I hope to continue to do the remaining integration steps, hopefully finishing all the integration. Also, we will complete the demo.

Team Status Report for 03/28/2026

This week, we focused on integrating the robot hardware with the vision pipeline on the Raspberry Pi while preparing for the interim demo. A large portion of our time was spent resolving system-level issues, including version mismatches across camera drivers, libraries, and the robot control interface. These integration challenges required debugging at the OS and dependency level to ensure the camera, perception pipeline, and robot base could operate together reliably.

On the perception side, we worked on improving depth estimation using stereo disparity maps, which provide more stable and structured distance information compared to simpler approaches. On the control side, we developed a draft of the emergency stop logic to ensure that safety overrides can immediately halt the robot when necessary. Overall, this week involved shifting from mostly software development to hands-on system integration, and although progress was slower due to unexpected technical issues, these steps are essential for enabling full system testing in the upcoming weeks.

Xinyu Li’s Status Report for 03/28/2026

This week, I focused on integrating the robot platform with the vision pipeline on the Raspberry Pi. A significant portion of time was spent dealing with system-level issues, particularly version mismatches across drivers, camera libraries, and dependencies required to interface both the camera and the robot base. These compatibility issues made the setup more time-consuming than expected and required debugging at the OS and library level to ensure all components could work together properly.

In parallel, I worked on improving the depth estimation component using disparity maps from the stereo camera. I experimented with generating and refining disparity outputs to better capture relative depth differences in the scene, as shown in the attached results. This helps provide more stable distance estimation compared to simpler heuristics, especially in cluttered environments. My progress is slightly behind schedule due to the integration overhead, but resolving these system issues is critical for enabling full pipeline testing. Next week, I plan to complete the integration and begin testing the combined perception and control loop on hardware.

Xinyu Li’s Status Report for 03/21/2026

This week I focused on the design and implementation of the state machine for path finding and user following behavior. In particular, I worked on defining how the robot should transition between different states when navigating around obstacles while maintaining a stable following distance. This includes handling cases where the robot needs to temporarily deviate from a direct path to the user and then re-align once the path is clear. I refined the logic to make sure the behavior remains predictable and safe, especially when combined with the existing idle, searching, following, and stop states.

In addition, I worked on improving the vision pipeline by exploring ways to better distinguish the target user in multi-person scenarios. I experimented with training a lightweight CNN-based component to capture color features, which can help differentiate between individuals when detection alone is ambiguous. This is intended to complement the existing tracking approach and improve robustness in cluttered environments.

My progress is currently on schedule, as these tasks align with our planned work on perception and system behavior. Next week, I plan to continue integrating the state machine with the rest of the system and begin testing how the color-based features interact with the tracking pipeline in real scenarios.

Team Status Report for 03/21/2026

The most significant risk remains the integration between motor mobility and the vision pipeline, especially the coordination between target tracking and obstacle detection, and while we have made some progress by starting ultrasonic sensor integration, the system has not yet been tested as a whole in real scenarios. Another important risk is that most of our testing so far has been done in software through unit tests, with very limited testing on actual hardware, which means there may be unexpected issues when the robot operates in real environments. To manage these risks, we will start hardware testing as early as possible even before full integration is complete. As a contingency plan, if the full system does not perform reliably, we will simplify the behavior so that the robot prioritizes safe stopping instead of complex navigation.

There are no major new design changes this week, but we continued implementing the previous change where the robot automatically moves around obstacles instead of requiring user input, and we also started integrating ultrasonic sensors to improve obstacle detection. This change was necessary to improve the usability and safety of the system based on feedback, but it introduces additional integration effort and requires more time for tuning the interaction between sensors and control logic.

There are no major changes to the overall schedule at this point, as we still expect integration to be completed in less than one week and testing to take around two to two and a half weeks. However, we plan to start hardware testing earlier than originally planned as soon as partial integration is ready, which allows us to identify issues sooner while keeping the overall timeline unchanged.

Wuyang Li’s Status Report for 03/21/2026

This week, I did extensive research on how to integrate the ultrasonic sensors, i.e., read the outputs of sensors and integrate them into my code. After looking through multiple sources, I found that gpiozero is a library that is often used in programming to integrate ultrasonic sensors to raspberry pi. Therefore, I tried to write a draft of the obstacle detector logic using the outputs from ultrasonic sensors. Furthermore, I also participated in the ethical discussions during lecture with other groups and got some meaningful feedback about the potential ethical issues that could arise (e.g. robot collisions causing elderly to fall).

Overall, my progress is on schedule, as I stated in my schedule that this week is supposed to be ultrasonic sensor integration, which I was able to successfully inquire on.

By the end of next week, I hope to have the entire emergency stop logic done. This involves integrating this part of the logic to the state transitions we already had to let stop override in emergency situations.

Xinyu Li’s Status Report for 03/14/2026

This week I focused on the design of the vision and sensing pipeline, particularly considering edge cases that could affect the reliability of the system. One scenario I examined was when the user suddenly performs a U-turn in a narrow hallway or walkway. In such cases the robot must avoid overshooting or losing track of the user, so I began designing logic that can handle rapid direction changes while maintaining safe motion. I also worked on refining the high-level state diagram of the system, including the idle, searching, following, and stop states, to ensure that transitions between these states are well defined and safe during unexpected situations.

In addition, I started thinking more carefully about how the ultrasonic sensing component should be integrated with the vision pipeline. The ultrasonic sensors are intended to provide a fast safety signal independent of the vision system, so I explored how they should interact with the perception and control loop. This includes determining when ultrasonic readings should override motion commands and how to structure the sensing pipeline so that obstacle detection remains responsive even if the vision processing slows down.

My progress is currently on schedule, as these design tasks align with our planned work on perception and sensing logic. Next week, I plan to continue implementing parts of the vision pipeline and begin integrating ultrasonic sensing with the rest of the perception system so that both modules can operate together in the control loop.

Team Status Report for 03/14/2026

The most significant risk that could jeopardize this project will be the integration of the motor mobility and vision pipeline, and the interconnection between target tracking and obstacle detection. Right now, we have the motor mobility and most of the vision pipeline done, and they seem to work independently, at least for simple tests. The challenge is therefore how the robot reacts to complex circumstances once everything is done, e.g., when the person comes back and forth in front of the robot. We currently plan to have two weeks for such extensive tests, but we would like to extend it slightly to at least 2.5 weeks, as integration probably can be done in less than a week.

We made a slight change to our system, where we now plan to have the robot to remain moving if it faces an obstacle to try to go around it, instead of requiring the user to manually press a button to make it move. This is to address the feedback we got for the design proposal for increased convenience. This will likely take more time to implement, so we will try to squeeze more time for this change.

As discussed above, we would like to extend tests from 2 weeks to at least 2.5 weeks, as integration probably can be done in less than a week. However, this is not definitive, and we’d like to start testing as soon as integration is done. Therefore, we will leave the schedule unchanged for now but we will be aware that test can be started early if possible.

Wuyang Li’s Status Report for 03/14/2026

This week, I completed an individual ethics assignment, which helped me get a better sense of things I need to consider in the ethical aspect. I also followed our schedule to continue working on motor mobility, and was able to get a draft of the motor controller done. I also did some simple tests to ensure that my codes are bug-free and have the basic functionality, but extensive tests have to be performed once this module gets connected to the hardware later on.

I’m currently on progress, as I’ve successfully had my motor controller done as my schedule suggested. I’m also glad that I was able to get it done on top of the ethics assignment, which also took me some additional time than expected.

Next week, I will start working with Xinyu on the vision pipeline, specifically the ultrasonic integration. I hope that through research, I would know how this integration works by the end of next week, and hopefully get it integrated with the vision pipeline.

Team Status Report for 03/07/2026

Right now, the most significant risk is time management. Because the past week was Spring break, our team was a little bit behind our schedule. However, we are generally on track and will have the chance to make up for it in the following day or two. Also, the current stage revolves around the middle of the implementation of our two key modules — motor mobility and vision pipeline, so as long as we meet the deadline of these modules in a few weeks, we would still be on schedule.

In the past week, we didn’t make any change to our design system, but to address some feedback we got in the design presentation, we chose to add a state diagram to better showcase and remind ourselves how our system works on a high level.

We didn’t make any change to our schedule because we are only a little bit behind our progress, which can hopefully be caught up by the end of this week, but we need to keep in mind that we must catch up to our current schedule by the end of next week. Otherwise, changes should be made.

 

A was written by Xinyu Li, B was written by Wuyang Li, and C was written by Xinyu Li.

Part A: Our SafeFollow system is designed as a low-cost indoor assistive robot that follows a user and carries items in a basket mounted on the robot. One global factor influencing our design is the increasing aging population in many countries, which creates demand for assistive technologies that help elderly individuals maintain independence. To address this need, we specifically designed the system around widely available and relatively inexpensive components such as a Raspberry Pi for computation, a camera for person detection using YOLO, and a differential-drive robot base. This hardware choice keeps the system affordable and avoids dependence on specialized infrastructure such as cloud computing or expensive sensors. As a result, the solution can be deployed in typical homes across different regions rather than only in well-resourced environments.

Part B: Cultural factors also influenced our design decisions, particularly the way the robot interacts with the user. In many communities, elderly individuals prefer to remain independent in daily activities while still receiving subtle assistance. Our SafeFollow robot supports this by automatically following the user and allowing them to easily access items stored in the robot’s basket. We also specified the basket height to be approximately one meter so that elderly users can comfortably reach items without bending down. This design consideration reflects the goal of maintaining dignity and independence while minimizing physical strain, and it avoids requiring users to learn complicated interfaces or wear additional devices.

Part C: Environmental factors were considered in how the robot navigates and operates inside typical household environments. The system combines camera-based person detection with ultrasonic sensors for obstacle detection so that the robot can safely move around furniture and other obstacles commonly found in homes. The design focuses on indoor operation on flat surfaces such as kitchens and living rooms, which reduces mechanical complexity and energy consumption compared to outdoor robotic platforms. By using lightweight hardware and an embedded computing platform, the robot operates with relatively low power requirements while still maintaining real-time perception and safe navigation within residential spaces.