该博文是【UBUNTU与ROS实战笔记】系列的第三篇文章,写这个的过程中我也正一步一步的实际操作,如果你对该内容有兴趣,欢迎留言交流。随着笔记数量上去和内容的深入,本专栏将转成付费专栏,9.9定价只是手工劳作的码字价格,知识是免费的,希望大家谅解。
0. 引言
同学你好,感谢你阅读本博文。在上一文中我们安装好了ROS
系统(https://www.ros.org/
)并配置了环境。本笔记将安装仿真软件GAZEBO
以及它与ROS接口配置方法。
1. GAZEBO安装
我们不想重复叙述GAZEBO
的信息,如果你是第一次接触仿真软件,建议你仔细阅读官方说明。可以看到其底层是ODE
提供的动力学求解。如果你对ODE感兴趣可以看我另一个专栏。
ROS
官方教程中是有GAZEBO
的教程的而且我们安装的完整版也自带gazebo
,但是它官方自己也说了强烈建议去GAZEBO
官网(http://gazebosim.org/
)学习,这是因为版本更新,GAZEBO
已经长大独当一面了,而且很多模型都不再使用,教程有很多坑存在。如果你没有安装完整版ROS
系统,接下来我们按照其官网教程进行安装和配置,如果你安装了则可以跳过安装部分。对应于ROS melodic
版本的是GAZEBO 9
,详细信息请查看官网链接。
1.1 解析安装过程
该笔记之后的内容,都将默认你使用的是自己热点网络,因为有些校园网会导致下载速度慢的问题,但是手机的热点就不会出现这个问题!
同上一笔记一样,接下来的步骤需要在终端窗口中通过命令行的形式进行,你可以ctrl+alt+T
启动终端窗口。我们默认使用bash
形式。
a)添加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'
b)安装key
wget https://packages.osrfoundation.org/gazebo.key -O - | sudo apt-key add -
c)先刷新一下
sudo apt-get update
d)安装GAZEBO-9
sudo apt-get install gazebo9
sudo apt-get install libgazebo9-dev
e)测试一下
gazebo
这里推荐大家一个ubuntu中的截图软件:
【https://blog.csdn.net/u011017694/article/details/105042378】
如果出现界面,表示你GAZEBO
安装成功了
WARNING :如果你运行GAZEBO时出现错误提示
[Err] [REST.cc:205] Error in REST request ****
方法一:
请运行如下代码:
sudo gedit ~/.ignition/fuel/config.yaml
将url : https://api.ignitionfuel.org
换成
url: https://api.ignitionrobotics.org
方法二:
暂无!
1.2 GAZEBO环境设置
安装完成后你需要告诉计算机去哪儿找到GAZEBO
库,从而在编写程序时调用它。这里我们需要往bashrc
文件的最后添加两个环境变量,让GAZEBO
在ROS
中运行时能够找到自己的模型和世界,GAZEBO
自称world
。
a)添加世界路径
echo "export GAZEBO_MODEL_PATH=/usr/share/gazebo-9/worlds" >> ~/.bashrc
b)添加模型源文件路径
echo "export GAZEBO_RESOURCE_PATH=/usr/share/gazebo-9" >> ~/.bashrc
c)使设置立即生效
source ~/.bashrc
d)测试设置。
echo $GAZEBO_MODEL_PATH
echo $GAZEBO_RESOURCE_PATH
如果设置正确,你将能够看到输出是设置的路径信息
e)导入一个模型测试一下,如果你没有进行上述设置,这个过程将很慢,因为GAZEBO会在网上进行模型的加载。
gazebo worlds/pioneer2dx.world
2. GAZEBO与ROS的接口
ROS与仿真软件的连接被包含在一个gazebo_ros_pkgs
的功能包中,只需要在你的工作空间中放置这个功能包即可。但是,如果我们安装了完整版的ros系统,这些都已经预置在里面了,如果你没有这么做,请按照如下步骤完成安装。
方法一,使用ros库安装
sudo apt-get install ros-melodic-gazebo-ros-pkgs ros-melodic-gazebo-ros-control
方法二,使用源文件安装
a)建立ros工作空间(之后的笔记默认都是在这个工作空间完成)
mkdir -p ~/catkin_ws/src #这表示我们在/home/user/目录下建立工作空间爱你
cd ~/catkin_ws/src
catkin_init_workspace #初始化工作空间
cd ~/catkin_ws
catkin_make #编译工作空间 在空间中将出现两个文件夹
echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc #告诉系统这个工作空间
source ~/.bashrc
b)由于我们需要从github
上下载代码,要安装git
sudo apt-get install git
c)下载源代码并编译
cd ~/catkin_ws/src #通常ROS的功能包都放在src文件中
git clone https://github.com/ros-simulation/gazebo_ros_pkgs.git -b kinetic-devel
cd ~/catkin_ws/ #每次编译时都要进入这个文件夹
catkin_make
d)测试,如果gazebo成功运行说明配置成功了
source ~/catkin_ws/devel/setup.bash #更新一下设置
roscore
rosrun gazebo_ros gazebo #在新终端窗口中运行
小结
下一笔记记录基于vscode下的ros代码编写环境配置,以方便之后的代码编写。