ROS入门学习笔记(二)
Start
上次安装完成双系统以及ROS操作系统,我在开始学习理论之前,尝试了解了一个仿真工程。
ROS-Academy-for-Beginners
网址: https://github.com/DroidAITech/ROS-Academy-for-Beginners.git
这是中国大学MOOC机器人操作系统入门课程中提供的源码,本篇博客依据课堂讲义所写,若有不当之处,请多多指正。
学车之前不得先坐坐车嘛。
下载源码包
- 在Ubuntu系统上,确保git已经安装
$ sudo apt-get install git
- 然后在创建一个名为 tutorial_ws 的工作空间,在它的的src路径下克隆ROS-Academy-for-
Beginners软件包
$ cd
$ mkdir -p tutorial; #创建catkin工作空间
$ cd tutorial_ws/src #进入src路径,克隆教学软件包
$ git clone https://github.com/DroidAITech/ROS-Academy-for-Beginners.git
- 等待安装完毕
安装依赖
安装ROS-Academy-for-Beginners所需要的依赖
$ cd ~/tutorial_ws
$ rosdep install --from-paths src --ignore-src --rosdistro=kinetic -y
注意:以上命令非常重要,缺少依赖将导致软件包无法正常编译和运行。
在开始编译之前,需要确保Gazebo在7.0版本以上
$ gazebo -v #确认7.0及以上
如果你的Gazebo版本低于7.0,则需要进行升级
$ sudo sh -c 'echo "deb http://packages.osrfoundation.org/gazebo/ubuntu-stable `lsb_release -cs` main" > /etc/apt/sources.list.d/gazebo-stable.list'
$ wget http://packages.osrfoundation.org/gazebo.key -O - | sudo apt-key add -
$ sudo apt-get update
$ sudo apt-get install gazebo7
编译
接着回到catkin_ws下编译
$ cd ~/tutorial_ws
$ catkin_make
$ source ~/tutorial_ws/devel/setup.bash #刷新环境 方法一
$ rospack profile #刷新环境 方法二
注意:source命令,编译完成后必须刷新一下工作空间的环境,否则可能找不到工作空间。许多时候我们为了打开终端就能够运行工作空间中编译好的ROS程序,通常把 source ~/tutorial_ws/devel/setup.bash
命令追加到 ~/.bashrc
文件中,这样每次打开终端,系统就会刷新工作空间环境。可以通过 echo "source~/tutorial_ws/devel/setup.bash" >> ~/.bashrc
命令来追加。
运行仿真程序
编译完成后就可以运行仿真了,输入
$ rospack profile
$ roslaunch robot_sim_demo robot_spawn.launch
你会看到仿真画面启动,仿真界面中包括了软件博物馆和Xbot机器人模型。
可以四处拖动,可以放大看清细节
俯瞰图如下:
再打开一个新的终端,输入以下命令,用键盘控制机器人移动
$ source ~/tutorial_ws/devel/setup.bash
$ rosrun robot_sim_demo robot_keyboard_teleop.py
聚焦控制程序窗口,按下i、j、l等按键,这样你就可以通过键盘来控制机器人的移动了。
体验到此结束!(原来这就是大佬的世界)
坐过车的我真的要去学ROS了!
可能遇到的问题
我在打开gazebo的时候出现打不开的情况,卡在"Preparing your world"
解决方案:
1.升级gazebo(同上)
$ sudo sh -c 'echo "deb http://packages.osrfoundation.org/gazebo/ubuntu-stable `lsb_release -cs` main" > /etc/apt/sources.list.d/gazebo-stable.list'
$ wget http://packages.osrfoundation.org/gazebo.key -O - | sudo apt-key add -
$ sudo apt-get update
$ sudo apt-get install gazebo7
2.model库加载不正确导致无法打开,则下载所有模型到用户的根目录下的.gazebo/models
$ cd ~/.gazebo/
$ mkdir -p models
$ cd ~/.gazebo/models/
$ wget http://file.ncnynl.com/ros/gazebo_models.txt
$ wget -i gazebo_models.txt
$ ls model.tar.g* | xargs -n1 tar xzvf