Weekly Status Reports

Siying’s Status Report for 4/25

This week in order to make the robot to move more freely without being restricted by charging cables, we switched to using wireless power supply, then full integration testing was conducted on the system and identified several issues: the OAK-D camera repeatedly dropping and reconnecting with XLink communication errors, and unstable ToF serial data reads. And all the above issues were identified and resolved. Firstly, to make the system become more stable, we switched to a power bank instead of batteries. Then to solve the problem of the oak-d camera, I helped replace stereo depth with RGB-based distance estimation. Due to power constraints, running all three camera streams simultaneously — RGB plus both stereo monochrome cameras — placed too much demand on USB bandwidth and power, causing frequent system crashes. The depth estimation approach was reworked to derive hand distance from RGB pixel data alone, using the apparent size of the hand in the frame to estimate real-world distance by a linear lookup table on multiple reference distances. Then to adjust the estimation to make it more accurate, I performed several actual measurements (the number of pixels occupied by the hand, as well as the actual distance), and the data in the table was adjusted accordingly to make the estimates more accurate. This method also removes the short-range limitation inherent to stereo depth sensing, effectively increasing the usable hand detection range. 

Qimeng’s Status Report for 4/25

This week, I focused on adapting our vision system to support fully wireless operation. Previously, the OAK-D Pro’s stereo depth pipeline required high USB bandwidth and stable power, which tied the robot to a wall outlet. To enable battery-powered operation, I replaced the stereo depth estimation with a hand-size-based distance estimation approach using only the RGB camera. This significantly reduces USB bandwidth and power consumption, allowing reliable operation on battery power. The system calculates distance from the pixel size of detected hand landmarks using a calibration lookup table with linear interpolation across multiple reference distances (0.5m to 2.5m). I also resolved a camera firmware issue by clearing the device flash using the DepthAI DeviceBootloader API, and switched from the V3 pipeline API to the V2 API for better stability.

I also delivered the final presentation this week, presenting our complete solution, component tradeoffs, and verification results. After the presentation, I continued calibrating the hand-size distance estimation by measuring hand landmark pixel sizes at known distances and iteratively tuning the interpolation table to minimize error within our 1–2.5m operating range.

Yilu’s Status Report for 4/25

This week, we focused on testing the fully wireless version of TrashDash as part of our final validation phase. While the system remains functionally integrated, we identified power consumption as a major issue, particularly due to the high energy demand of running ML model inference on the onboard hardware. This currently limits stable untethered operation and is our primary bottleneck moving forward. We are exploring potential optimizations and hardware solutions to address this constraint while maintaining system performance. In parallel, I am taking full responsibility for designing and finalizing the demo poster to clearly present our system, results, and key contributions for the final demonstration.

Team Status Report for 4/25

System Progress
This week we completed our final presentation and transitioned into the final testing and validation phase of TrashDash. The system is fully integrated, and we have verified that core functionalities including voice activation, gesture recognition, motor control, and obstacle avoidance—work together in a complete pipeline. We are now focusing on robustness and demo readiness. I am primarily responsible for the demo poster and edge-case testing to ensure reliability under non-ideal conditions.

System Design & Changes
The overall system architecture remains unchanged, but we identified a key limitation in the power subsystem. The current onboard battery cannot reliably support simultaneous operation of the camera and ToF sensors, preventing fully untethered operation. In response, we are exploring higher-capacity battery options and software-level optimizations such as reducing sensor load and managing duty cycles. A fallback option using external power is also prepared for demo stability.

Testing & Verification
We conducted both unit testing and system-level testing:

  • Unit Tests
    • Voice Module: Verified wake word and stop command detection across varying distances and noise levels (met latency and accuracy targets in controlled settings).
    • Gesture Recognition: Tested detection of thumbs-up (move) and fist (stop) under different lighting conditions; performance degrades slightly in low light.
    • Motor Subsystem: Validated movement commands (forward, backward, turning, rotation) and confirmed stable response from the motor driver.
    • ToF Sensors: Tested obstacle detection at different distances; confirmed correct triggering of avoidance logic.
  • System-Level Tests
    • End-to-end pipeline: voice → gesture → motion → obstacle avoidance → stop/resume
    • Edge-case scenarios: low lighting, delayed commands, cluttered environments, and continuous operation

Findings & Design Changes

  • Power limitation is the main bottleneck → investigating stronger batteries and power optimization.
  • Slight degradation in vision performance under low light → considering parameter tuning and controlled demo environment.
  • System latency and responsiveness meet requirements under normal conditions → no major redesign needed.
  • Added fallback strategies (external power, controlled demo setup) to ensure reliability.

Risk & Mitigation
The primary risk is system instability due to insufficient power during full operation. Mitigation includes upgrading the power supply, optimizing component usage, and preparing a wired fallback for the demo. Additional risks include edge-case failures in perception, which are being addressed through targeted testing and controlled demo conditions.

Next Week’s Plan
Next week, we will finalize testing, stabilize the power system, and complete the demo setup. I will finalize the demo poster and continue edge-case validation. The goal is to deliver a smooth, reliable demonstration that clearly showcases all core features of TrashDash.

Siying’s Status Report for 4/18

This week I worked together with my teammates on system integration and testing. All components were assembled into a complete working pipeline, including adding hand localization logic to the gesture detection module so that the robot actively moves toward the user’s hand position rather than executing a fixed motion sequence. As well as adding the function of first finding the user’s position by turning around. The full end-to-end flow was completed and verified as a unified system.  I also helped conduct testing on all individual parts and the overall system. Unit-level tests were performed on the voice recognition module, the OAK-D camera gesture recognition, and the ToF obstacle avoidance, each verified independently before being tested together. The end-to-end tests were then run on the complete pipeline to validate the full interaction flow. Test data was collected and analyzed to evaluate whether the current system’s performance meets the defined user requirements.

In the process of working on this project, since my background is primarily in software engineering and computer systems, it required me to learn a significant amount of knowledge about hardware integration and low-level hardware communication. For example, I learned a lot about RPi usage, including how to set it up from scratch, configure the operating system, and correctly use its GPIO pins for connecting sensors and other components. This was quite different from typical software-only development and required understanding both the physical layout and electrical considerations. I also learned a lot about Ros2 middleware (publish/subscribe model), which was essential for implementing features like voice activation, gesture detection, and navigation. In terms of learning strategies, I found watching online videos and tutorials very useful. Also, reading the official instruction documents is also useful for setting up the different modules that we use, and hands-on experimentation is also helpful for making concepts clear.

Team Status Report for 4/18

System Progress This week 

We completed the full end-to-end system pipeline. The voice module receives a wake word and command, triggering the robot to rotate in place scanning for the user’s hand gesture. Upon detecting a Thumbs Up, the robot calibrates the user’s distance using stereo depth, then navigates forward with lateral-shift obstacle avoidance. We also resolved the voice module I2C issue caused by a firmware reflash by analyzing the firmware source code and reverting to the original firmware. A 25-test verification plan mapped to our five use-case requirements has been compiled.

System Design & Changes 

We added a SCANNING state to the state machine and used direct wheel control (SetSpeed) to bypass velocity ramping for smooth rotation. We decoupled voice and gesture activation using a dedicated ROS2 topic (/voice/start_scan) to avoid race conditions during node startup. The ToF node now uses strict four-field validation to filter out EMI-corrupted serial data. Use-case requirements were rewritten to be more user-focused based on professor feedback.

Risk & Mitigation 

The front ToF sensor occasionally reads false low values, possibly due to chassis obstruction, which we need to verify by checking the mounting position. Serial data corruption from motor EMI is handled by validation but still causes occasional data gaps. The current robot navigation speed is set conservatively low to ensure reliability during development; we plan to increase the speed next week and evaluate whether obstacle avoidance and distance tracking remain accurate at higher speeds.

Next Week’s Plan 

We will continue to validate all verification tests and collect more quantitative results for the final demo. We also plan to increase the robot’s movement speed and conduct more user experience testing to evaluate whether the system feels responsive and intuitive in a realistic dorm setting.

Qimeng’s Status Report for 4/18

This week, I tested the follow-hand navigation logic that I implemented last week in the gesture controller, which uses the OAK-D Pro’s stereo depth to estimate the user’s distance, calibrates across 15 frames with outlier trimming, and drives the robot forward until the target distance is reached. I also built the lateral-shift obstacle avoidance system: when the front ToF sensor detects an obstacle, the robot stops and shifts sideways until the path clears, then continues shifting for a buffer duration to ensure the full chassis width passes the obstacle. A significant portion of my time was spent debugging ToF hardware issues, including Arduino serial port changes between ttyACM0/ttyACM1 on each reboot, EMI-corrupted serial data during motor operation, and intermittent sensor disconnections. I resolved these by adding strict line-level validation in tof_node that only accepts correctly formatted data with all four labeled fields.

For the final presentation, I was responsible for updating the use-case requirements to be more user-focused based on professor feedback, redesigning the architecture block diagram to reflect our as-built system (including the Arduino for ToF and software I2C for the voice module), writing the complete solution and component tradeoff slides, and working with teammates to compile a comprehensive testing plan with 27 tests mapped to our five use-case requirements.

In terms of new knowledge, I strengthened my Python skills through extensive ROS2 development, learning to structure multi-node systems with publishers, subscribers, and state machines, as well as coordinating nodes across separate processes using topic-based communication. I also deepened my understanding of ROS2 Jazzy specifically, including writing launch files, declaring parameters, and debugging inter-node message flow. On the hardware side, I learned I2C protocol debugging using i2cdetect and i2cget to resolve bus conflicts between the voice module and motor controller, which both shared address 0x34, and learned to read firmware source code to identify correct register addresses when the voice module stopped responding after a reflash. For serial communication, I learned that motor EMI can corrupt USB data and that strict validation is more robust than simple parsing. These were all learned through hands-on debugging, reading ROS2 and DepthAI documentation, and examining vendor-provided source code.

Yilu’s Status Report for 4/18

This week, we made significant progress on system integration and hardware assembly. All components were successfully mounted onto the car chassis, resulting in a fully integrated platform. We implemented and validated obstacle avoidance, enabling the system to safely navigate around objects while moving toward the user. In addition, I developed an emergency stop and resume feature, allowing the system to halt immediately when needed and continue operation smoothly. The motor subsystem was thoroughly tested, confirming reliable movement in multiple directions, including forward, backward, lateral shifts, and rotation. Overall, the system is now functioning as a cohesive unit with core mobility and safety features in place.

During this process, I had to quickly learn several new tools and concepts, especially related to ROS2 integration, hardware-software interfacing on Raspberry Pi, and sensor-based navigation logic. I relied heavily on practical learning strategies such as reading official documentation and debugging through trial and error. I also used tutorial videos and example projects to understand system integration patterns. This hands-on, iterative approach was very effective, allowing me to rapidly identify issues and apply solutions directly to our system.

Qimeng’s Status Report for 4/4

This week, our team completed the interim demo, successfully demonstrating the full workflow of voice activation, gesture-triggered motor control, and ToF-based obstacle avoidance. Based on feedback from the TA and professor, we identified several improvements: switching the activation gesture from Thumbs Up to Thumbs Down to reduce unintentional triggers, and increasing the ToF obstacle detection threshold to give the robot more time to decelerate. I also began researching the follow-user logic, which will use the hand’s pixel x-coordinate to determine the user’s lateral position and the stereo depth value to estimate distance, allowing the robot to steer toward the user rather than moving in a fixed direction. To handle depth noise, I plan to average readings across consecutive frames.

For verification, I am planning tests for both of my subsystems. For gesture detection, I will test recognition accuracy across varying distances, lighting levels, and hand orientations, targeting at least 90 percent accuracy over 50 trials per condition, along with measuring detection latency. For the ToF subsystem, I will compare sensor readings against known distances and test whether the robot correctly chooses the appropriate avoidance direction when obstacles are detected. Next week, I will focus on implementing the follow-user navigation logic and mounting the ToF sensors onto the chassis.

Team Status Report for 4/4

System Progress & Design

This week we finished the mid-term demo, where we showed the current state of the TrashDash system including voice activation, gesture detection, and chassis motion. From the feedback several improvements were identified and discussed. First, to reduce the risk of unintentional gesture triggers, switching from Thumbs Up to a less commonly made gesture such as Thumbs Down was considered, as it is less likely to be accidentally activated in everyday scenarios. Second, the obstacle detection threshold for the ToF sensors should be increased to give the robot more time to decelerate before reaching an obstacle, as the current threshold is too short to allow safe braking at operating speed. We also finished ordering all of our hardware devices that we are going to use this week. 

Risk and Mitigation

For this project, one of the potential risks is that the depth camera can not give an accurate distance measurement for the user’s position. The mitigation strategy is to use depth readings from several consecutive frames and average them to smooth out noise and reduce the impact of individual bad readings. Or we can make use of the tof sensors to detect if we already reached the user. Also, if the voice module is not able to detect the command in a noisy environment, it’s also possible to add the function of triggering the robot with http response directly from the computer. 

Plan for Next Week

Our next step will be making the robot actively move toward the user as well as testing the whole system.

Validation

End-to-end validation trials are conducted with users seated at distances of 1 m, 2.5 m, and 4 m in realistic dormitory environments. Each trial evaluates successful navigation to the user’s hand, obstacle-free path execution, trash collection completion, and return to idle state. For a 4 m distance, total runtime must remain below 10 seconds. In addition to quantitative performance metrics, qualitative user feedback is collected to assess perceived responsiveness, safety, and convenience. This validation ensures that TrashDash not only meets technical specifications but also fulfills its intended purpose of improving hygiene and accessibility in shared living environments.