Update: I modified the joystick params to make the Magni go faster, so I could experiment with handling forward and backward over various terrain at a fast-walk.
I modified /opt/ros/kinetic/share/magni_teleop/param/logitech.yaml as follows:
scale_linear: 0.3 --> 0.75
scale_linear_turbo: 1.0 --> 3.0
with these setting, regular speed was fine.
When I went to turbo mode (bottom button), it ran nice and quick, but then a weird thing happened.
The robot stopped responding to the joystick, and just kept going for a while. I could not stop or turn.
It eventually “caught up”, and started responding to joystick commands again (in fact, it responded to a turn I had given it earlier). So, I think it must be buffering up the commands it receives for a while, or something going on with the speed control.
I caught up to the robot and pushed the Motor Enable switch in to disable the wheels, but it kept going!.
I tried this several times in forward and reverse, both problems are very repeatable.
Question #1: Can you provide a clear recipe for the correct way to enable the Magni to run at full supported speed when the bottom trigger is pressed? (I realize that will be slower than full motor speed due to the power constraints you explained). I looked at the parameters that can be set in the ubiquity_motor node, and it looks like there is a lot of opportunity to really screw things up, so I’d rather just get clear guidance from you experts.
Question #2: I would like to modify the speed ramp, so the robot accelerates and decelerates a little faster. I see limits on Max/Min acceleration, but not sure how to change the overall ramp ?
Question #3: Can you explain why the motor enable switch did not immediately stop the wheels?
I naively assumed the switch would immediately cut all motor power…
Please do not take the above as criticism, I am very pleased with the Magni performance and capabilities. I’m just pushing the envelope to see where the limits are!
P.S. maybe the queue_size for motor messages is too large on the motor driver node?