Freewheel mode on motors?

Hi Ubiquity team,

As soon as the robot POWER is ON, the base is set to stay at the same position.

Is there a software way to enable a freewheel mode (the wheels are free to rotate, and the odometry is still counting).
I am interested in this feature:

  • To have a “software” emergency stop (the wheel or the robot can not kick back)
  • A user can push manually the robot with the odometry running (for instance to register a position)
  • To save power when the robot is no moving (and is on a safe spot, obviously not in a slope)

I already noted that when I cut the “POWER” switch, the wheels are free and the odometry is counting (but it’s a hardware action)

I had a quick look at https://github.com/UbiquityRobotics/ubiquity_motor/blob/indigo-devel/README.md and it does not seem to have this feature.

Thanks

Right now this doesn’t exist - but if enough people express an interest it could be created although it would require some special motor controller commands, as well as special commands to the motor controller node. It would also require an update of the firmware (which can be distributed securely).

Its worth noting that the robot wheels when stationary consume very little power. Much less than for example the rasperry pi is consuming. What actually happens is that if you attempt to move the wheels, the robot detects the movement in much less than a millisecond and actively moves the wheel back to the home position. When the wheels are in the home position, practically no power is actually being used in the motor coils.

Because our control loop is extremely fast it appears that the wheels are being held tightly and consuming lots of power doing so but actually that isn’t so.

OK, so you can count me as a person with interest :slight_smile:

Actually the most interesting use-case for me is this one:

It’s also good to hear the motors controller firmware can be updated safely.

Thanks