From Brown University Robotics
Running the Nao Teleop Demo
The teleop demo provides direct kinesthetic control over both arms and the head.
The two bots expect to connect to a roscore on maria (192.168.0.1) on port 1234. If you cannot launch such a core, it is probably because one is already running. It should be fine to use the pre-running core.
Starting the Bots
- Turn each bot on
- wait until you can ping them:
- log into each bot:
ssh email@example.com (no password)
ssh firstname.lastname@example.org (password is also nao)
- start eyes and grab.py on thing1:
cd naoros; cd run; source envConfig; ./eyes &
- start arm.py on thing2:
cd naoros; cd run; source envConfig; python remote.py
Thing1 will now attempt to mirror thing2. Beware obstacles that might prevent this, including self-intersections.
Starting the client nodes
rosrun NaoImageTransport NaoImageTransport;
/naocam/image is now ready to be visualized (currently I use cmvision)
- The robot's lower body will lock in place when you start up remote.py so make sure it is in a comfortable position for teleoperating and pushing the foot bumpers.
- The wrist is controlled by the front and rear head buttons. Sometimes you may need to help the wrist of thing2 by physically turning it.
- The wrists of the bots tend to seize in general. You may have to physically turn thing1's wrist to free it up and allow it to properly mirror thing2.
- The hand is opened/closed by the middle head button. No other controls will respond while the hand opens/closes and there is a delay of a few seconds between thing2 closing/opening its hand and thing1 doing the same.
- Each arm can be locked in place using the respective foot bumper. Sometimes you need to hold it for a second. Locking an arm in place, switches the active control of the hand and wrist to the other arm. Unfreeze the arm by pressing the bumper again.
- If you can't ssh to the robot using it's dns name, try ssh-ing using its ip address. This can be obtained verbally from the robot by pressing its chest button.
- If one of the ros nodes on the robots crashes on startup with a message about being unable to initialize a ros node, this is probably a failure of the dns name. Try setting the ROS_IP on the robot to the robot's ip address, e.g.