This week, our revised motors, for both the wheels and conveyor belt & roller, came in. Ella and I tested the motors and found that these work much better – we were able to get the robot moving and have the conveyor belt & roller move with the motors. Initially we ran into issues with the motor mounts (for the wheels) sliding off and the wheels themselves sliding off the motor shafts. After looking into other projects that use aluminum extrusions, I found a really nice fix with adding an extra piece of extrusion for the mounts. This worked exceptionally well and there is a really nice durability that came with it. The new new motors had longer shafts that fit better with our wheels – which solved the other issue of the wheels sliding off. Besides this, I also personally finished up the circuitry for the other systems (conveyor belt + roller); what’s left is testing with the raspberry pi and ensuring that the code flows smoothly and works consistently.
This week, I also finalized the algorithm we will be using to get the robot “back home.” We were originally going to use VSLAM; however, during and after interim demo discussions, we realized VSLAM will require significant debugging and more than 2 weeks to fully integrate and test. Hence, I looked into alternative packages to get our robot “back home”/ to where it started. I found that a gps module can accurately retrieve coordinates when the robot is stationary. To this extent, I found that it would be great to use a gps module to get coordinates when the robot begins its search and once it’s complete. Then, the robot would send the initial and final coordinates to a package that will calculate the most ideal path to get back to the original location.
Example display of movement of robot
My progress is slightly behind schedule, as I had wanted to start integration testing the second week of April; however, as we have moved past the original blockers, my work is moving much faster. I, along with the rest of the team, have been working on finishing up integration of the movement, pick up mechanism, and object detection and are looking to have it completed by Sunday evening (to have it for the final presentation). We have tested it recently and found that the movement of all of the smaller components is durable and consistent. There are just a few kinks we will need to work out to let it work fully “autonomously” – collect trash on its own without an operator to control its movement. Next week, I would like to integrate and test the path planning algorithm. I will also be continuing testing on integration with the rest of the team.
Status Report Responses:
During the implementation of the project, I found that there were a number of new tools and skills I had to pick up to build some of the components and debug them. First, I have used an Arduino uno, an elegoo, and other microcontrollers in the past; but I had not used a Raspberry Pi before. Although many of the components are similar, a PI comes with a microprocessor and a lot more capabilities. Working with the PI gave me a lot more freedom in terms of controling various parts of the robot and communciation with the Jetson Nano Orin.
In previous projects, there was almost always an instruction manual with clear directions on how to build a robot/ project and all of the components needed for the build. In this project, we had to build our own instruction manual, from the base up – including figuring out the build and electronic components needed. This was rather difficult for the build, as I and the rest of our team, began with very minimal mechanical knowledge. Some of the new knowledge I picked up on are different methods of building and materials to use (varies depending on the project as certain materials better suit certain purposes), the quantities used to determine the type of motor controllers and motors used for a robot, and types of mechisms that exist for different engineering purposes. I also learned a lot more about more recently developed software packages and object detection models that can be very useful for defining the capabilities of a robot.
The primary learning strategy that helped me gather this information was hands-on building. There were multiple build and circuitry issues that we ran into and debugging these by hand was the best way to get a deeper understanding of the components as well as how everything works internally. I also used a number of articles (how-it-works and how-to) to get more information about the components we were using. Speaking to other students that have worked on similar projects also helped greatly as they had great insight and reviews of different sub-components they used.
0 Comments