Only released in EOL distros:
Package Summary
Teleoperation (gamepad or joystick) for the Nao humanoid
- Author: Armin Hornung
- License: BSD
- Source: svn http://alufr-ros-pkg.googlecode.com/svn/trunk/humanoid_stacks/nao_common
Package Summary
Teleoperation (gamepad or joystick) for the Nao humanoid
- Author: Armin Hornung
- License: BSD
- Source: git https://github.com/ahornung/nao_common.git (branch: master)
Package Summary
Teleoperation (gamepad or joystick) for the Nao humanoid
- Author: Armin Hornung
- License: BSD
- Source: git https://github.com/ros-nao/nao_extras.git (branch: groovy-devel)
Package Summary
Teleoperation (gamepad or joystick) for the Nao humanoid
- Maintainer status: developed
- Maintainer: Vincent Rabaud <vincent.rabaud AT gmail DOT com>
- Author: Armin Hornung
- License: BSD
- Bug / feature tracker: https://github.com/ros-naoqi/nao_extras/issues
- Source: git https://github.com/ros-naoqi/nao_extras.git (branch: master)
Package Summary
Teleoperation (gamepad or joystick) for the Nao humanoid
- Maintainer status: developed
- Maintainer: Vincent Rabaud <vincent.rabaud AT gmail DOT com>
- Author: Armin Hornung
- License: BSD
- Bug / feature tracker: https://github.com/ros-naoqi/nao_extras/issues
- Source: git https://github.com/ros-naoqi/nao_extras.git (branch: master)
Package Summary
Teleoperation (gamepad or joystick) for the Nao humanoid
- Maintainer status: maintained
- Maintainer: Vincent Rabaud <vincent.rabaud AT gmail DOT com>
- Author: Armin Hornung
- License: BSD
- Bug / feature tracker: https://github.com/ros-naoqi/nao_extras/issues
- Source: git https://github.com/ros-naoqi/nao_extras.git (branch: master)
Contents
Starting Teleoperation
Start all the needed remote teleoperation nodes by running
roslaunch nao_teleop teleop_joy.launch
on the remote machine (e.g. your PC).
Then start naoqi_driver either on your local machine or on the Nao (nao_walker and nao_controller are required by this node). By default, gamepad teleoperation starts paused. Just hit the "toggle control button" (#8 by default or #9 on PS3 controller) and start walking Nao around by setting the velocities for the OmniWalk engine with the two sticks on the gamepad (see below).
Teleoperating Nao
You can teleoperate Nao using any joystick or gamepad configured in ROS with omnidirectional velocities, very similar to pr2_teleop. The following commands are currently implemented (tested on a Logitech Cordless Rumblepad II, where the button numbering should be increased by one as it starts with "1"):
- Right analog stick: translational velocity
- Left analog stick (left / right): rotational velocity (turning)
- Button 0: Standing up ("Init pose")
- Button 5: Toggle head movement: hold to control the head directly with the analog sticks
- Button 8: Toggle gampad control on / off. Enabling gamepad control will also enable stiffness on the Nao.
- Button 9: Go to safe "crouching" / "squatting" position and remove joint stiffness (Enable stiffness again by toggling control off and on again)
Initially, gamepad control is off and needs to be enabled with button 8. When you're done you can either shut down all nodes or toggle gamepad control off, Nao will remain standing in its current state.
Below is the default button placement on a Logitech Cordless Rumblepad II. The button / behavior mapping can be changed with parameters.
Node API
teleop_nao_joy
Teleoperates Nao with a Joystick / GamepadSubscribed Topics
joy (joy/Joy)- Input from joystick driver
Published Topics
cmd_vel (geometry_msgs/Twist)- Omnidirectional walking velocity
- discrete motion actions (e.g. "sit down")
- desired joint angles for the head
- Status messages to be said over Nao's speech synthesis (e.g. "Gamepad enabled")
Parameters
~axis_* (int)- axis_... parameters (e.g. axis_x) enable you to adjust the axes used to control Nao's motion to your preference or hardware setting.
- btn_... parameters (e.g. `btn_enable_control) enable you to adjust the buttons used to control Nao to your preference or hardware setting.
- Maximum fraction of x velocity to be used when teleoperating (between 0 and 1). This controls Nao's step length.
- Maximum fraction of y velocity to be used when teleoperating (between 0 and 1). This controls Nao's step length.
- Maximum fraction of rotational velocity to be used when teleoperating (between 0 and 1). This controls Nao's step length when turning.