Up to Now
Good morning, Good afternoon, Good evening and Good night,
This journal series has 2 main goals. The first is to document my progress and give updates to projects I am working on. The second main goal is discipline and to hold me accountable.
This first entry will serve as a short overview of my robotics journey. Going forward the entries will be shorter a few sentences to give weekly updates on my progress towards learning more about aspects of robotics and update everyone on any projects I am working on.
High School FRC Robotics Club!!!
My robotics journey began back in high school. I joined the First FRC robotics club at my high school and was a member for 3 years. The first year I was part of the mechanical design team and developed an armature for our robot to pick up different shaped inner tubes so they could be hung on a wall. I also helped develop a smaller deployable robot that climbed a metal pipe to get extra points during the last stage of the competition. If you are in high school or middle school and want to learn more about robotics join one of these clubs, I learned soooo much and it was a lot of fun. The competition changed every year and we had 6 weeks to build a robot to complete the tasks assigned within the competition. The second and third year within the robotics club I switched from a mechanical design role to a software and electrical engineering role. Instead of designing the mechanical components I wired up the robot using a National Instruments (NI) Cdaq as the main control computer. I was also the lead programmer in LabView both my junior and senior year of high school. I had taken computer science classes in high school but programming the robot I learned more than I could in a class room. Over the summer between my junior and senior year of high school I was allowed to take the robot home so I could learn more (I was very blessed to have a trusting relationship with the club director). I spent so much time learning the in’s and out’s of LabView and more about robotics in general. By the end of the summer I had the robot navigating and tracking its position as well as identifying balls and picking them up autonomously. Senior year of high school we won the Innovation in Controls awards at 2 separate competitions. The first was for our robot being able to track and navigate the playing field and the second was for the PID tuning that was used for the ball launching mechanism. The time at the robotics club catapulted me on my journey into robotics. During this time I also learned about the importance of version control, the hard way. Unfortunately after I left high school, I did not have a lot of opportunities to delve into the field of robotics until my senior year of college.
Senior Year of College and my robotics course
Between working to pay for college and not having a lot of time in my college schedule due to starting at community college and having to repeat courses that didn’t transfer, I did not do a lot more with robotics until senior year. Senior year of college I finally had time to take an elective and the elective I chose was actually a graduate level course in robotics. We followed the first few chapters of the text book Robotics Vision and Control by Peter Corke. We focused on path planning, kinematics, fuzzy logic, PID tuning and Machine Learning. Associated with the class I also worked in the Ace Robotics Lab at UTSA. During that time I worked on 3 different projects. The main 2 projects consisted of programming a Pioneer Robot and training the YOLO algorithm. The Pioneer robot was programmed in Python using the ROS library to navigate to way points. This was my first experience with the ROS library. For simple programs like the ROS library seems like over kill, but for more complex programs I could see the library being useful. My experience with the ROS library is limited so my future projects will include using the library.
The other related coursework was a lab I took and my senior design project. The lab was a mechatronics lab that taught soldering and using an Arduino. I was familiar with both from other personal projects so it was fairly straightforward and a simple class for me. My groups senior design project was a UV sanitizer for keyboards. This was actually before Covid. We got a working prototype and if we had actually manufactured it we could have made some money during Covid, but hindsight is 20/20. I was the lead programmer and electrical designer. I used an Arduino to program the display, the UV lights, linear actuator and proximity sensors. As I am not an electrical engineer in background or education this was a learning experience. Helpful Tip: do NOT use an outlet to power the Arduino and plug the Arduino into your computer’s USB port at the same time. In the process of this I fried 4 power blocks on 4 different Arduino boards along with all but 1 of my USB ports on my laptop. Based on this design, I built a larger scale model of this for packages for my work during Covid. Senior design forced me to learn a lot about electronic diagrams and reading data sheets. This will be extremely useful for robotics going forward and was a good learning experience overall.
After college
After college, I did not work with robotics too much. Unfortunately not having a lot of spare time or money made it difficult to keep up with robotics. I could have found something; whether it’s just programming or buying a $50 electronic car but I did not do that, and I don’t have much of an excuse. The last year or so I did end up buying a simple robotics car off of Amazon. It is controlled by RaspberryPi. I have worked with it a little but tried to run before I could walk. I wiped the OS and program that came with the car and installed Ubuntu MATE. This was a mistake. Firstly, the RaspberryPi I was using couldn’t handle the OS. It is so slow when I try to use it. Second, since I have not done a project using RaspberryPI like this from scratch, it made it a steep learning curve. In the end that project stalled. This project will be on my list of future projects, ideally an autonomous car with simultaneous localization and mapping (SLAM) capabilities. This would be a big project that even major companies struggle with, so I am not sure if it realistic, but I will try.
The last year I also started to get back into coding with some basic projects to get back in the groove. In the end I decided it would probably be better to just take a beginners course again to remember the syntax. Since I never had official classes on python or C++ I hopefully learn about some features that I was unaware of before. I started the C++ course in 2023 but am now switching to the Python course from code academy in the beginning of 2024.
You are now Up to Date
You are now up to date with the big milestones that have led me to where I am now. Above is just a summary and there have been other small things that have happened, but that would turn this into a book which I don’t feel is a productive use of your time or mine. I will keep you updated weekly as a form of discipline and accountability. Hopefully in a year I can look back and see the progress and have some cool projects and stories to tell.
May God bless you and I hope you have a wonderful day!