Workaround `/naoqi_moveto` Twist issue
When sending a cmd_vel
to the robot, it doesn't move at the requested velocity.
The /naoqi_moveto node offers an interface to command the robot by sending either a goal or a twist. The goal callback uses ALMotion.moveTo as expected. However the twist callback uses ALMotion.moveToward, which takes normalized unitless velocities, rather than ALMotion.move, which takes velocities in standard units.
The maximum angular velocity of the robot is around 1 Rad/s by default, which makes this equivalent for the rotation. However, as the maximum linear velocity is around 0.35 m/s, the robot moves way too slowly.
There are two main options:
- patching the
/naoqi_moveto
node, in particular in the docker image. - writing a new
pepper_cmd_vel_driver
node for/cmd_vel
and bypassing/naoqi_moveto
(either in a new launch file or simply by remapping its/cmd_vel
topic).
The second is not perfect but is probably cleaner in the long run.