仿真实验
Gazebo是一个功能十分强大的三维仿真软件,与ROS可以无缝连接进行机器人仿真。更多关于Gazebo的信息请参考Gazebo官网和ROS官网的Gazebo Wiki。本章讲解如何控制HandsFree的机器人模型在Gazebo的三维世界中进行移动。
在安装ROS的时候一般已经默认安装了Gazebo,ROS Indigo默认安装Gazebo2.0版本,ROS Kinetic默认安装Gazebo7.0版本。在如何配置环境章节已经安装了连接ROS与Gazebo的依赖包。
通过以下命令测试Gazebo是否能正常工作:
roslaunch gazebo_ros empty_world.launch
如果能正常启动Gazebo,并且可以成功加载一个空白的世界模型,那就表示Gazebo可以正常工作。
正常加载empty_world
模型:
此外,Gazebo对电脑显卡有一定要求,对Nvida显卡支持较好,对AMD的显卡支持较差,如果是AMD的显卡,复杂的世界模型一般加载不出来,例如下面的模型:
roslaunch gazebo_ros willowgarage_world.launch
一般AMD的显卡可以启动Gazebo,但是界面是黑屏状态,无法加载模型。由于本章节的演示所加载的模型较简单,故对本章节要进行的仿真演示没有影响。下面进入正文。
1 测试Gazebo
使用如下命令打开Gazebo并加载HandsFree的机器人模型:
roslaunch handsfree_gazebo gazebo_mini.launch
如果一切正常的话,可以在Gazebo的世界中看到HandsFree的Stone机器人模型。
2 遥控机器人
打开一个新的终端,并运行:
roslaunch handsfree_teleop keyboard_teleop.launch
操作方式和前几节一致。
3 自主导航测试
关闭掉遥控终端,运行自主导航节点
roslaunch handsfree_gazebo move_base_amcl_mini.launch
然后就可以按照前几节讲的自主导航在RVIZ上发送目标点。