Adjusting Rover Control Modes and Settings

For each Rover Robotic platform there are two control modes - Open Loop and Closed Loop. By default all our robots are installed to startup in closed loop, which we call Independent Wheel. For our platforms the closed loop system allows for higher torque and more accurate odometry readings. But as there are innumerable projects that our platforms can be used with, there are settings that you might prefer to adjust for your particular project or application.

There are many ways to implement closed loop systems and many reasons one might want to use open loop instead, you can read a bit about them here.

MAKING CHANGES

After making any change be sure to save and navigate back to your workspace folder where you should run 'colcon build' and then restart your roverrobotics.service to ensure your changes are present.

CONTROL MODE

You can find the control mode in your files under:
roverrobotics_driver > config > 'robottype'_config.yaml

For the Pro and Zero, line 21 lists control_mode and provides the alternative name to change to open loop control in a comment.

For the mini and MITI, line 4 lists the drivetrain as differential. That is defined in another file contained in:
library > librover > include > differential_robot.hpp

Go to line 148 to adjust the control mode.

PID

All PID numbers can be found in the 'robottype'_config.yaml'. These are tuned for each robot, but depending on your payload weight and configuration you may want to change them to find the right settings for your application.

JERK LIMIT

The jerk limit adjusts the rate of acceleration the robot has when given a speed command. A higher number means the robot will accelerate faster to the given speed. You can adjust this by going to 

library > librover > include > 'robot_type'.hpp

For the mini and MITI it is in 'differential_robot' on line 140

For the Zero it is in protocol_zero-2.hpp on line 27

TRACTION FACTOR

If you have a Rover Pro and are using the flipper, you should adjust the odom_traction_factor_ found in 
library > librover > include > protocol_pro.hpp.

On line 100 you will see this defined as well as several other options depending on your drivetrain. Changing this to match your drivetrain will provide better odometry numbers for navigation. By default our install assumes you have 4WD.

 

Back to blog