The general goal of the rover is to allow the end user to focus on the end application. The rover will map an area and locate itself within this map. One of the reasons we want to create to create this general platform is that we want to create a wide array of applications ourselves.
Here is an example of an application that I came up this week:
I have a bused wheel barrow that I used over and over to move mulch around the yard. This simple application would be a wheel barrow attached to the top with some sort of dump mechanism. The software would allow the user to configure a series of waypoints that would be dump x loads at this point on the map. The rover would start at the mulch pile, the user would fill the wheel barrow and hit a button. The rover would drive to the waypoints and dump the load and then return to the mulch pile.
I got the new motor controller in and soldered on the battery connector and the bullet connectors for the motor. I am able to get the command line test program to control both motors.
I battle the ROS2 launch file for a couple of days but then just lauched the nodes manually. I got all 4 processes working: PS4 driver, Joy stick Node, Teleop Node and Vesc node. I was able to get the PS4 controller to control the two wheels. All of the motor control interactions are C++ instead of python so the control seems a bit more dynamic.
The last step this week was to work on the right hub motor mounting. This wheel also has a problem that the tire does not hold air so I am going to try to take the tire off and clean the rim off.