This past week, we presented our project during the interim demo. After receiving feedback, we redefined our gantt chart and goals moving forward. A lot of my work this week was based on the feedback from demo and fixing up some of the issues we ran into while running the robot.

First, I set up the conevyor belt to a new height, as we had discussed during demo. Then I worked on debugging the wheel movement; I originally tried a number of different things to figure out the problem – connections to thewheels, the pi hat (what we originally used for the motor driver), and the current. Later, we tested two of the motors using a new hat; however, wheel movement was not consistent and long lasting. Eventually I decided it would be best to switch motor drivers entirely and I researched different motor controls we could use (prim arily the L298N). It fit with the 12000rpm 12V motors we were using and was able to handle up to 3amps of current, so I set up the circuitry. First, Ella and I tested it on one motor, then built the circuitry for two L298Ns for all four dc motors.   

Besides this, Ella and I finished building and connecting the circuitry to the rest of the motors, as well as installing in the last wheel onto the robot. We finished debugging wheel movement and ensured that all four motors can move consistently, driven by the two motor drivers and powered by the 12V battery pack. One primary concern was that, although the wheels move well on their own, it seems the robot itself is too heavy. When placed on the ground, it has been difficult to get the robot to move. We decided to look for alternatives and present this during our meeting on Monday and get suggestions from Professor Marios/ Aidan.

I had one more build session with Ritu, where we worked on integration – allowing communication between the Pi and the Nano orin. During the session, we also set up ssh to the Pi. Although this was done in an earlier week; we seemed to have significant issues sshing. We found out that the Pi must be registered on CMU-device and the device you are ssh-ing from must also be connected to CMU-device. In addition, after ssh-ing worked, we first tested communication via ethernet. This did not work as well, and after significant debugging, Ritu found that communication works well via a usb-c cable and so we were able to get a video of the nano sending bounding boxes and the pi receiving them.

Our progress is a bit behind schedule; switching from the pi hat to the motor driver and other build issues we faced delayed our progress slightly. However, we have working circuitry and a durable build, and so in the next few weeks, we will be fixing up the current project and adding on to the code. In addition, Ella and I have been working on the final poster (as we are using it for the CMU Impact as well) and so we will have that done much earlier than the course deadline. In the next week, I hope to finish up loose ends with the build (after recieving feedback on Monday) and finish and test the code for the overall flow/ scope of the robot. This includes using the bounding boxes to define movement for the robot and what it should do in different edge cases (low battery/ object not picked up).

Testing & Verification:

During our design review presentation, we described a lot of the tests and verification process in detail. A lot of things have changed in the weeks following; however, the thresholds we hope to have our robot meet have not changed drastically.  The tests for the individual subsystem have remained the same: first, test movement and obstacle avoidance (by observing whether object moves as programmed and the number of obstacles it avoids when faced with different obstacles), then we will test the pick up mechanism – take note of the number of items it picks up, when given a certain number of items in total. The rates (number picked up/ total objects) will be used to verify whether we reached the thresholds defined in the design report.

Based on our current progress, I believe we will most likely scale down on the testing. However, a large part of it depends on how well our pick up mechanism works and how well the robot moves (considering the weight of the frame on the wheels). For now, as per circuitry, the wheel movement has been verified. It is up to more testing and running new code to see the different types of movement we can allow for using the wheels.


0 Comments

Leave a Reply

Your email address will not be published. Required fields are marked *