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

Moving Nao Robot - enable and disable stiffness

asked 2013-02-18 05:12:04 -0500

JustARandomGuy gravatar image

updated 2014-01-28 17:15:18 -0500

ngrennan gravatar image

Solution found - although do not know how to enable and disable enslave properly

Issue: Using Rviz, without connecting to the actual real Robot, I can run a simulation of the Nao and I can move the Nao within the simulation using my current code.

I want to use the code I have written to move the REAL Nao robot.

When I type in the terminal: "LD_LIBRARY_PATH=~[the actual path] NAO_IP=[the Nao ip address] roslaunch nao_driver nao_driver.launch", the Nao robot says "walker online" - So i assume i have correctly connected to the real Nao Robot.

I make use of "roslaunch nao_description nao_state_publisher.launch" to get the current joint positions of the real nao robot. When I physically move the real nao robot, the rviz representation also moves to the exact positioning.

When I connect to the real Nao and try to move the real Nao using my current code it does not move and neither does the simulation on rviz.. Is there something that I am missing which I need to do in order to move the real Nao?

Thank you :)

Edit: I noticed maybe one possibility is because the robot is not enslaved.

Anyone know how to enslave it without using choreographe?

Edit2: I found that it was due to the robot not being enslaved. I used the joypad to enslave the Nao robot - Once enslaved, I could use my code to move the real Nao robot. However once I use the joypad, I don't know how to un-enslave it. So the joints are constantly stiff until I actually manually switch off the Nao Robot.

Does anyone know how to un-enslave the robot once it is enslaved? Also does anyone know any better solutions to enslaving the Nao Robot? - Possibly a ROS Command?

edit retag flag offensive close merge delete


thank you!

JustARandomGuy gravatar image JustARandomGuy  ( 2013-02-19 00:48:18 -0500 )edit

1 Answer

Sort by ยป oldest newest most voted

answered 2013-02-18 21:19:38 -0500

AHornung gravatar image

If you have the nao_controller node running, simply call its service /body_stiffness/disable. You can also do that from the command line:

rosservice call /body_stiffness/disable "{}"

You can enable the stiffness in the same way (/body_stiffness/enable).

edit flag offensive delete link more

Question Tools


Asked: 2013-02-18 05:12:04 -0500

Seen: 1,897 times

Last updated: Feb 18 '13