This week, I received the breadboard kit and completed the integration of the ultrasonic sensors by using a breadboard to connect them to the raspberry pi through pin connections. I also wrote tests to ensure that all three ultrasonic sensors (front, left, right) can work together to correctly detect the distance of obstacles. I also wrote the integration code to integrate the obstacle detection and person tracking through yolo model together with Xinyu, and we wrote software tests and performed actual human tests to verify that they generally work as intended. Therefore, up to this point, we have all of our major subsystems working.
Our progress is on schedule, as we are supposed to generally complete the integration this week and perform tests to ensure that they work as intended together as a group, which is what we have done. Next week, we will finish the final assembly of the entire robot including the 1m high pipe to ensure that the basket is easy to reach, and we will glue the basket and the ultrasonic sensors to finish the final product. We will also perform some final edge tests to ensure that robot functions as intended even in the edge cases.
Additional section: As I worked on the project, there are quite a lot of things that I previously didn’t understand. For example, I didn’t know how to connect ultrasonic sensors to raspberry pi before, so I did some research, mainly through reading online raspberry pi documentation and watching youtube videos, and I figured out that we needed a small circuit to connect the pins of ultrasonic sensors to the raspberry pi pins (raspberry pi has 40 pins, which I also didn’t know what each pin does before). Therefore, I bought a breadboard kit for building this circuit, and I followed the documentation and video, as well as a figure of raspberry pi 5 pinout, to successfully make the sensors work. Another example was I didn’t know how to send motor commands to the robot base before. I assumed that it can only be done through serial connection, but once I found that it did not work properly, I read the UGV02 documentation into more depth, and found that http communication through hotspot also works. Overall, I learned lots of new things as I worked on the project, and I was able to accomplish this through research, reading documentations and watching past examples through youtube videos.
