The focus for this week was to complete the design of the vehicles with the added battery holder and cuttouts for the optocoupler IR units for odometry. With this design completed I was able to make a final vehicle model out of acrylic which will be used in the actual task. I decided to delay the fabrication of the other vehicles in order to test the current one for potentially design oversights as well as work on other components of the project. Since the vehicles don’t take too long to make this should not be an issue moving forward.
Another thing I worked on this week was writing the wheel encoder code for both the Arduino Pro Micro and the ROS. As of right now we are computing the RPM for both the left and right rear wheel. The calculation for RPM is computed on the Arduino and sent over serial to the Jetson. This is done in a ROS node that publishes the data to a topic. We may consider expanding to have 4 active encoders instead of 2 for better accuracy, but we have to be weary of the I/O requirements and potentially slowdown in sampling speed on the Arduino.
Lastly I worked on preparing more ROS code for the RC control portion of the project. This involved sending commands to the Arduino Uno motor control system over serial after getting update messages. This component works now; However, we need to integrate the IMU for orientation data to create a feedback loop that adjusts the cars motion to match the desired path.
Moving forward, we need to develop the localization and path planning in a ROS environment and connect the various systems together. Most of the localization/path planning work will involve input from the object detection portion of the project. I will be working with Jeffrey to design and implement this portion of the project.
By the end of next week we should have completed our subsystem demos and having most of the core functionality complete. The core task moving forward will be integration and tuning.