ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

How to walk path from footstep_planner with Nao?

asked 2012-09-05 01:33:37 -0500

DontPanic gravatar image

updated 2012-09-10 03:24:16 -0500


I'm just learning how to use Ros for a Nao. I followed the tutorial about how to get the footsteps planned but how is it possible to let the Nao walk this path ? Is there any implementation within the humanoid_navigation or do I need to use the normal navigation stack to work with the published topics from the footstep_planner ?

jbohren wrote:

It looks like you can use the script from the nao_driver package just by sending humanoid_nav_msgs/StepTarget messages on the cmd_step topic.

@jbohren: Great, thank you...

But there are still some problems left: How do you convert the path (type: nav_msgs/Path publisher: footstep_manager/path) into the single steps (type: humanoid_nav_msgs/StepTarget subscriber: cmd_step) ?

And how does it work to really walk the path? Nao seems to be pretty inaccurate when it is about moving. How is it possible to compensate this? In the video it seems to be too accurate to be just calculated prior to the start...

edit retag flag offensive close merge delete

2 Answers

Sort by ยป oldest newest most voted

answered 2012-09-09 01:55:56 -0500

jbohren gravatar image

updated 2012-09-09 01:56:31 -0500

It looks like you can use the script from the nao_driver package just by sending humanoid_nav_msgs/StepTarget messages on the cmd_step topic.

You can see the footstep-based command interface in here.

Once you verify that this works, you could help out the community by adding this functionality to the wiki page for nao_driver here.

edit flag offensive delete link more

answered 2012-09-13 06:22:40 -0500

AHornung gravatar image

updated 2012-09-13 06:22:57 -0500

As @jbohren answered, there is the cmd_step topic in That is not documented since it's no longer used. In nao_driver, there is now a newer node that is under current development and requires NaoQI 1.12 or newer.

To execute footsteps, you can use the footstep_navigation node in the footstep_planner package. It will use footstep planning and execution in one loop, which also allows replanning and small adjustments. It will directly communicate with the nao_footsteps node. All of this is under current development, and this not very well-documented.

To answer your last question: You will need a localization source to correct for motion noise, as mentioned in the details of the paper "Humanoid Navigation with Dynamic Footstep Plans". We used a laser for this. By planning in the map frame, the footstep planner will automatically account for it. Otherwise, you need to plan in the odometry frame or with a faked localization, and of course you can't correct for inaccuracte execution then.

edit flag offensive delete link more

Question Tools

1 follower


Asked: 2012-09-05 01:33:37 -0500

Seen: 829 times

Last updated: Sep 13 '12