Ardurover - Kevins control system
As part of my continued work updating and fixing my robotic platform Kevin I have been looking at the control system.
Several years ago when I was building a quadcopter I came across the flight control system Arducopter, this was opensource software for running quadcopters and helicopters and its sister project Arduplane for controlling RC planes. Alongside these two main applications they had a system called Ardurover which was for controlling a ground vehicle. Ardurover was very simmiler in the sense that it had the same guidance system and ability to send something off on a predefined mission but its output was a pair of drive motors rather than one or more propellers.
At some point during my quadcopter build process I changed the hardware to a newer version leaving me with a spare controller, this is what ended up in the robotic platform and did a great job running it. This older system was known as the APM 2.5 and was based around an Arduino Mega, it was a powerful system but sadly not powerful enough. When I picked up this project recently I found that the software had moved on so much that the older hardware I was using was capped at version 2.5 of the ardurover software, this meant I needed to upgrade to keep with the latest software. Rather than buy something new I took at the slightly newer PX4 hardware from the quadcopter and integrated this into the rover.
The end result is something that basically the same as it was before except that I can continue working with the newer and more feature rich software, the one downside is that the PX4 hardware is slightly limited in a few areas meaning for one I am no longer able to monitor the system battery voltage. Hopefully this will be the only limitation.