After the ROS 101 series, I am now planning to bring the mobile robot to life. Below are my rough idea and plan, but they will be updated regularly as the project grows. So stay tuned!
The goal of this project is simple: to understand how all the dots in a real robot (hardware, software, and algorithms) actually work and are connected. The reason I want to start with a mobile robot is that it is one of the simple robots with tons of applications: from vacuum cleaners and lawnmowers to Mars exploration rovers. Also, many new technologies can be deployed on a mobile robot, so we can learn a lot by making one.
There are already several awesome open-source projects out there helping you make your own mobile robot from scratch such as this one or this one, but I do not plan to just copy them. For me, a robot should serve a real purpose. Education is of course one of them here in Robodev but I want the robot to have a real-life application as well.
After doing some research, I decide to make a vacuum cleaner robot because it is a genius invention for reducing housework. It probably will cost more than a normal commercial one out there, but hey, building our own robot will enable us to do much more than just vacuum (and money may not be a big problem if someone, like you, is kind enough to sponsor me😀).
I plan to make this project agile, meaning I will not do and wait until everything is done, then make posts but I will show you all the steps and the changes along the way. That also means I need support from you. Any comments and suggestions for improvement would be really really appreciated.
A concrete plan will be created soon but this project in general will cover the following topics:
What components are required for a mobile robot? Why do we need them and how do they operate? Some hardware parts are mechanical links and joints, microcontrollers, motors, ultrasonic sensors, lidar, camera, IMU, etc.
The main development platform is ROS 2. Programming languages are mainly C++ and Python.
State-of-the-art methods in navigation, control, SLAM (simultaneous Localization And Mapping), object detection, human detection, etc. will be applied.
Call for Cooperation
To be honest, I have never made a mobile robot myself. I worked with some of them from Lego cars to KUKA industrial robots, but creating one is still on my wish list. Now is probably the best time and place to start. However, I do not want it to be a one-man show. It is not because I am unable to handle it myself but doing it alone would be very slow (I have a full-time job and 2 kids) with lots of stupid mistakes along the way (I am not an expert in everything). That's why, I am searching for partners to build up a team for this project. Basically, I need two people, one should have experience with mechanical design (know how to use CAD software, 3D printing, etc.) and the other should have some background in computer vision (SLAM, lidar, detection, etc.). We can do it completely online, or if you are living in Hamburg, Germany, we can also meet up.
So if you want to team up to make this robot, please reach out to me via my LinkedIn. I am looking forward to talking to you. It would be fun!