This video shows how the Smart RTL mode works with my ArduRover-based GPS navigation robot. The robot is capable of backtracking the path to the starting position. The robot also optimizes the path to be as short as possible, removing unnecessary loops and such.
I built a robot running the ArduRover firmware. It has a differential drive system with two brushless sensorless drone motors and 3D printed gears. The video above is an overview of the robot and what it can do. The robot is built entirely to out parts I had laying around. The chassis is made out of wood and painted to make it look a bit better.
My intention was to use this robot as a base for adding sensors and other stuff and experiment with some of the features in ArduPilot/ArduRover. I later realized that I can’t do much more since this flight controller only has 1 MB or flash. Maybe I will change the flight controller in the future, or make another rover.
So far the robot has driven a total distance of about 15 km and the 3D printed gears still work well with almost no visible wear. They are printed out of standard PLA plastic.
I made a new version of the mainboard in the balancing robot, fixing all the problems with the previous one. I also got the prototype of the remote controller working. It is sending the X and Y values of the control stick to the robot. The robot is then adjusting its speed setpoint and turning variable based on those values.
The RC input probably needs some filtering. Now I just use the values directly, and if the user does to fast movements there is a risk that the robot falls over.
I am not satisfied with the remote yet. The biggest problem is the controls sticks I chose to use. They are really bad since only a small part around the center of each axis can be used as shown in the video. This makes it hard to control the robot with precision. I will probably redesign the remote to use a real control stick from an RC controller instead.
I have also planned to make the user interface on the remote for adjusting PID values and other parameters in the robot. This is the main reason why it has a display. More about that in a future video.
I have also installed two ultrasonic rangefinder sensors. They will be used for obstacle avoidance in the future, but I will finish the remote controller first.