UbiquityRobotics / ubiquity_motor

Package that provides a ROS interface for the motors in UbiquityRobotics robots
BSD 3-Clause "New" or "Revised" License
24 stars 23 forks source link

Wheel overheating Level 1 fix #110

Closed mjstn closed 3 years ago

mjstn commented 3 years ago

This is a fix where if the robot is sitting at zero velocity for a few seconds we will try to avoid wheel overheat by setting the prior wheel encoder position to the current wheel encoder position within the MCB.

This 4 wheel drive design by nature of fixed axles and wheels under load not slipping easily at all is prone to significant currents being required in a static state where wheels fight for their own position.

The code for this needs to be in host because the host knows the big picture. Dangerous to have this automatically in the MCB.

Mcb firmware from 20201006 or later is required so that it will accept a new MCB command to do the 'null'

This fix is guarenteed to cause some level of odom 'slip' but to be frank, in this 4 wheel design odom is a joke for any rotations thus we don't give up much of anything in this respect.