Everything is a bit different this year. Thankfully, because I do enjoy it, Mech is still running. For me, as a grade 12 student, Mech is in the form of Special Projects 30, where you plan your own project. I was disappointed that only two other people were participating in Special Projects.
I had to think hard about what I wanted to do for a project. I didn’t want anything too simple, as I wanted to be challenged by whatever I chose to do. I also didn’t want to pick something that was impossible for me to complete in the one semester we have to work on and complete our Special Project. While looking for a project idea I found a LIDAR sensor. This sensor really intrigued me and I wanted to learn more about it. LIDAR sensors are used to find the distance of an object in a given range. In industry it is commonly used in self driving cars, 3D scanners, vacuum robots and things like that. I decided I would try to make my own robot using the LIDAR sensor to drive and maneuver it without hitting other objects. I first started by looking for a robot design on Thingiverse that I could use on my project. I am not the best at using CAD software, and wanted to focus on the LIDAR software. So, I looked for a robot that would work for my project that someone had already designed. I just had to purchase the necessary parts like motors and wheels and then I was able to 3D print the rest of the components to build the robot. I wanted as much time as possible to program. Building the robot itself went well. It was done rapidly after all of the parts were 3D printed and I acquired all of the stock components. During the build I noticed that the robot was not level due to the fact that the back of the robot was higher than the front. To make steering and maneuverability easier I am using two wheels and one ball bearing, they are different heights. This caused a problem for me. Even with adding an extra plate for the ball bearing at the back of the robot, the tires were higher and caused the robot to be sloped. This difference causes issues with the LIDAR sensor, as it is at a slant, causing discrepancies in the readings. To solve this, I purchased a second set of wheels that were larger leveling out the top of the robot. After ensuring that the motors worked with my H-bridge and Arduino nano I turned my focus to working with the Raspberry Pi and my LIDAR sensor. The first third party software module for running the LIDAR that I found was from AdaFruit. As soon as I began changing AdaFruit’s code to put more time between each reading the LIDAR would stop working as it was not receiving the start bytes at the correct time. I ended up switching to a different software module that allowed me to run the module once, do data calculations and then run it again. I still had a problem with the start byte error if I tried to do the data calculations within the same function that gathered the LIDAR data. I struggled with how to review the data and keep the LIDAR running properly. I noticed that if waited to review the data outside of the loop gathering the LIDAR data the start byte error went away. I then put my data into a separate list and performed the data calculations outside of the data gathering software module. My next step to take is to learn how to read the data and then determine where objects are based upon this data. This will allow the robot to know in what direction it needs to move in.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. Archives
April 2021
Categories |