11.ROS-Nao

安装Naoqi SDK

Naoqi

1
2
3
4
5
6
7
8
9
10
mkdir ~/naoqi
cd ~/naoqi
tar xzf naoqi-sdk-2.1.3.3-linux64.tar.gz
tar xzf pynaoqi-python2.7-2.1.3.3-linux64.tar.gz

~/naoqi/naoqi-sdk-2.1.3.3-linux64/naoqi
echo 'export PYTHONPATH=~/naoqi/pynaoqi-python2.7-2.1.3.3-linux64:$PYTHONPATH' >> ~/.bashrc

python
from naoqi import ALProxy

ROS packages for the Nao robot

1
2
3
sudo apt-get install ros-indigo-driver-base ros-indigo-move-base-msgs ros-indigo-octomap ros-indigo-octomap-msgs ros-indigo-humanoid-msgs ros-indigo-humanoid-nav-msgs ros-indigo-camera-info-manager ros-indigo-camera-info-manager-py

sudo apt-get install ros-indigo-nao-robot

Installing ROS on a remote PC to control Nao

1
2
3
4
5
6
cd ~/catkin_ws/src
vim .rosinstall
wstool update

cd ..
catkin_make

Starting the bridge on a real NAO

Displaying NAO in RVIZ

1
2
3
roscore
roslaunch nao_bringup nao_full_py.launch nao_ip:=127.0.0.1 roscore_ip:=127.0.0.1
rosrun rviz rviz

Launching ROS on a virtual NAOqi

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
roscore

~/naoqi/naoqi-sdk-2.1.3.3-linux64/naoqi --verbose --broker-ip 127.0.0.1

LD_LIBRARY_PATH=~/naoqi/naoqi-sdk-2.1.3.3-linux64/lib:$LD_LIBRARY_PATH NAO_IP=127.0.0.1 roslaunch naoqi_driver_py naoqi_driver.launch
#动关节

roslaunch nao_description robot_state_publisher.launch

roslaunch nao_description display.launch
#展示模型

rosrun naoqi_driver_py naoqi_moveto.py
rosrun naoqi_driver_py naoqi_node.py

rosrun rqt_console rqt_console #控制台显示日志
rqt_graph #显示节点信息

rostopic pub -1 /cmd_vel geometry_msgs/Twist '{linear: {x: 1.0, y: 0.0, z: 0.0}, angular: {x: 0.0, y: 0.0, z: 0.0}}'

rostopic pub -1 /cmd_vel geometry_msgs/Twist '{linear: {x: 0.0, y: 0.0, z: 0.0}, angular: {x: 0.0, y: 0.0, z: 0.0}}'

Node: /base_footprint
Time: 13:40:56.072809725 (2016-11-11)
Severity: Warn
Published Topics: /rosout, /tf

MessageFilter [target=r_sole odom ]: Discarding message from [/joint_state_publisher] due to empty frame_id. This message will only print once.

Location:
/opt/ros/indigo/include/tf/message_filter.h:MessageFilter::testMessage:354