Ask Your Question
0

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

Hey,

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 nao_walker.py 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
4

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 nao_walker.py 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 nao_walker.py 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
1

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 nao_walker.py. That is not documented since it's no longer used. In nao_driver, there is now a newer node nao_footsteps.py 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

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower

Stats

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

Seen: 765 times

Last updated: Sep 13 '12