1、下载功能包
在官网可以查看很丰富的功能包和示例
现在要把他们弄到自己的系统里
依次执行:
下载教学包到工作空间
sudo apt-get install git # 安装Git
mkdir -p tutorial_ws/src # 创建二级目录
cd tutorial_ws/src # 到这个目录中
git clone https://github.com/DroidAITech/ROS-Academy-for-Beginners.git
2、安装教学包所用的依赖
cd ~/tutorial_ws # 返回上一层 也可以 [cd ..]
要根据自己的版本填写是melodic还是kinetic还是其他,不然会报错
rosdep install --from-paths src --ignore-src --rosdistro=kinetic -y
可能出现的问题1:
运行完可能会出现让你rosdep update一下,按照要求做就好了
此处有问题参考该文章
可能出现的问题2:
ERROR: the following packages/stacks could not have their rosdep keys resolved to system dependencies
这是由于路径问题导致的,可以这样处理:
rosdep install --from-paths ./src/ROS-Academy-for-Beginners/ --ignore-src --rosdistro=kinetic -y
或者
rosdep install --from-paths ~/tutorial_ws/src/ROS-Academy-for-Beginners/ --ignore-src --rosdistro=kinetic -y
或者
rosdep install --from-paths ./src/ROS-Academy-for-Beginners --ignore-src -r
注意路径填自己的路径
以上命令非常重要,缺少依赖将导致软件包无法正常编译和运行。
在开始编译之前,需要确保Gazebo在7.0版本以上
gazebo -v
没有的话安装一下
sudo apt install gazebo7
版本太低升级一下
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
gazebo启动不了:
echo "export SVGA_VGPU10=0" >> ~/.bashrc
source ~/.bashrc
如果还不行:
sudo gedit .ignition/fuel/config.yaml
将
url: https://api.ignitionfuel.org
改为
url: https://api.ignitionrobotics.org
gezebo的使用之后再讲
3、编译并刷新环境
cd ~/tutorial_ws
catkin_make
catkin_make出现问题的解决方案
有问题不怕,缺多少个依赖安装多少个
source ~/tutorial_ws/devel/setup.bash
注意:source命令,编译完成后必须刷新一下工作空间的环境,否则可能找不到工作空间。
许多时候为了打开终端就能够运行工作空间中编译好的ROS程序
习惯把source ~/tutorial_ws/devel/setup.bash
命令追加到~/.bashrc
文件中
这样每次打开终端,系统就会刷新工作空间环境。
echo "source ~/tutorial_ws/devel/setup.bash" >>~/.bashrc
source ~/.bashrc
4、运行示例
rospack profile
roslaunch robot_sim_demo robot_spawn.launch
打开新终端再输入下面的命令用键盘控制机器人移动:
rosrun robot_sim_demo robot_keyboard_teleop.py