This is a new long-term robot project I have been working on for the past couple of months. It is a general purpose indoor robot, that will work as a platform for experimentation. When designing this robot, I have tried to think about and improve everything I have learned from previous robot projects I have made. But this robot will also feature some new stuff I have not tried before. Some of the key features if the robot includes:
Stepper motor based four-wheel-drive skid-steering drive system
Big Li-Ion battery
A lot of custom 3D printed parts
Heavy duty bumpers, large ground clearance and large foam wheels
Raspberry Pi main computer
Arduino Due for controlling low-level peripherals
Scanning Lidar sensor
Probably a Raspberry Pi camera module mounted on a pan/tilt system
So far, only the majority of the mechanical work is done. Here are a few images, click on them to make them larger:
Made a video of my indoor robot, reading and reacting to different sings using Raspberry Pi, camera and OpenCV. The Raspberry Pi sends data about which sign it is detecting using serial, then the Arduino controlling the robot reacts and performs different pre-programmed manoeuvres.
Made a new video of my mini balancing robot. I am now using TMC2100 stepper motor drivers, which makes the robot very silent and also steadier. I have also returned the PID values and increased the loop speed slightly in the software. A new version of the code is available on the Mini balancing robot page.
This is my attempt at building a really good obstacle avoidance robot. The robot is built to drive around a normal indoor environment without getting stuck on stuff. The robot uses an Arduino Maga 2560 and several sonar sensors to detect obstacles.
This robot also has a Raspberry Pi and camera module, that will be used for computer vision experiments in the future.
I have created a small and simple balancing robot. It uses a single Arduino, an MPU-6050 and stepper motors. All the design files, code and schematic are available for download. Read more here: Mini balancing robot page
I have built an obstacle avoidance robot I built to test a few ideas I had and learn more about what it takes to make robot robot that can navigate around an indoor environment without getting stuck on things. I will also use this robot to experiment with line following and maybe line-maze solving in the future.
This video shows some new IR distance sensors I have installed on my self balancing robot robot. The IR sensors are short range (5-10 cm) and should prevent the robot from running into things that the main ultrasonic sensors miss. The video also shows two servos I have installed under the robot. They are not connected yet, but they will later be used to raise the robot up again if it falls over.
Made a new video demonstrating how my Arduino based balancing robot can enter balancing mode by itself. The video also shows the robot doing basic obstacle avoidance using its tree ultrasonic rangefinders. The obstacle avoidance if currently done by one of the Arduinos, but this a typical high level function that will later be handled by the Raspberry Pi.
I have made some progress with the self balancing robot. The speed of the motors is now controlled using two cascaded PID regulators. One regulator adjusts the speed of the motors to maintain a setpoint angle. The other PID regulator adjusts this setpoint angle according to a setpoint speed. This new control system allows the robot to return to its original position when disturbed. The robot can also find a new angle for balancing if the center of gravity is moved, or the robot is standing on an inclined plane.
In this video I use the Raspberry Pi for a very basic form of remote control. I connect to the robot using SSH, then I run a serial terminal program on the Raspberry Pi to send ascii characters the the main Arduino. The video also shows an example of video and photo quality from the Raspberry Pi camera.
The three ultrasonic distance sensors and the tilt servo for the camera module are not connected yet…