最近在学习SLAM,实验室有一款双足机器人-NAOqi,本来学习SLAM理想的硬件应当是轮式机器人,可以`省去步态的繁杂,本着物尽其用的原则,在ROS中玩了一把NAOqi机器人,玩了才发现官网教程的巨坑,自己摸索,总算顺利完成在RVIZ,MoveIt!下的运动规划,以及在gazebo里的仿真,这仅仅是一小步。仅供自己参考。
1.开发环境 ubuntu14.04 ROS indigo
2.安装ROS NAOqi的包
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
如果只使用RVIZ可以只安装官网的发行包
sudo apt-get install ros-indigo-nao-robot
完整安装naoqi包
cd ~/catkin_ws/src
git clone https://github.com/ros-naoqi/nao_robot
cd ..
catkin_make
3.在RVIZ中显示NAO
3.1安装rospacky以及visualization
(如果ROS是完整安装可以省略掉这一步)
sudo apt-get install ros-indigo-rospack
sudo apt-get install ros-indigo-visualization
3.2测试RVIZ
rosrun rviz rviz
3.3通过robot_state_publisher加载URDF文件
roslaunch nao_description nao_state_publisher.launch
nao_description在nao_robot文件夹下,启动naoqi的urdf模型
3.4在rviz中显示
将rviz中的”Fixed Frame” 改为 “/base_link”即可
4 在ROS中使用moveit对naoqi进行运动规划
4.1安装nao_mesh
官方推荐使用
sudo apt-get install ros-indigo-nao-meshes
但是运行时会出现bug,电脑卡死,所以手动编译并且放在工作空间中
cd ~/catkin_ws/src
git clone https://github.com/ros-naoqi/nao_meshes
解压,然后正常cmake编译即可
注意将编译后的build/devel/tmp中的文件复制解压后的meshes中,否则运行节点的时候会提示找不到V40文件
4.2安装moveit-config
cd ~/catkin_ws/src
git clone https://github.com/ros-naoqi/nao_moveit_config
catkin_make
4.3运行MoveIt
roscore
roslaunch nao_moveit_config demo.launch
4.4运动规划
运行如下语句调动运动规划页面
roslaunch nao_moveit_config demo.launch
然后点击Allow approximate IK Solutions