除了官方的应用商店,在全球最大的开源网站Github上,也蕴藏了许多优质的ROS软件包。
- 打开浏览器,输入www.github.com
上图便是Github的官方网站,ROS系统本身以及我们在ROS Index上看到的大部分软件包都在Github上开放了源代码,与官方应用软件商店不同的是,Github上的软件包都是以源代码的形式存在,下载后还需要编译才能运行,所以我们需要先建立一个工作空间来进行源代码编译,所谓工作空间,就是符合某种要求的目录结构,编译器会按照这个目录结构检索源代码,我们来看看怎么来建立一个这样的目录结构。
- 打开一个终端程序,输入以下命令,回车,建立一个文件夹
mkdir catkin_ws
- 然后执行以下命令,进入这个文件夹,再建立一个src文件夹,这个src里存放的酒店程序源代码这类资源材料。
cd catkin_ws
mkdir src
这样,一个工作空间就建立好了,我们的源代码工程需要放在子目录src里面,才能正常编译。
- 执行以下命令,进入子目录src
cd src
然后就可以从giehub上下载源代码了,在下载之前,我们还需要下载一个工具。
- 在终端程序里输入以下命令,回车然后输入密码
sudo apt install git
好,所有工作准备完成后,我们试着在Github上下载一个源码包,对他进行编译,然后把它运行起来。
- 在Github的搜索框填入wpr_simulation,点击下图框选的这一条结果
- 进入页面以后,点击下图右上角的绿色的Code图标
- 点击Code图标,会弹出一个小窗体,中间有一个网址,我们点一下网址右的复制按钮
- 返回终端程序界面,在src目录下输入以下命令
git clone https://github.com/6-robot/wpr_simulation.git
出现以下结果证明从Github下载源代码成功。
- 在src目录下输入以下命令,查看wpr_simulation下的详细文件信息
ls
cd wpr_simulation/
ls
命令执行结果如下:
打开文件夹查看结果如下,我们看到的基本上是一个软件包的全部结构了。
我们先来了解以下scripts文件夹的用途,scripts文件夹用于放置脚本文件和python程序,用来完成一些使用频率并不高的操作,比如安装依赖包或者为实体机器人映射端口。
从上图我们可以看到,这个软件包的scripts文件夹放置了三个安装脚本文件,分别针对kinetic、melodic、noetic三个版本,如果缺失这些文件,我们在安装和编译软件的过程中可能会会出现问题,因此,我们需要执行一下对应的脚本。
- 回到终端程序界面,执行以下命令来安装需要的依赖库
cd scripts
./install_for_noetic.sh
- 安装完成以后,执行以下命令回到工作空间入口
cd
cd catkin_ws
- 执行以下命令进行编译
catkin_make
这就开始对src目录里的所有源代码工程进行编译了,注意catkin_make命令需要运行在catkin_ws文件夹下,而不是src子目录。
可以看到,编译已经完成,我们来运行一下软件包里的一些功能,首先需要使用source指令把这个catkin_ws工作空间里的环境参数加载到终端程序中。
- 在终端程序中输入以下命令
source ~/catkin_ws/devel/setup.bash
- 然后执行以下命令运行编译好的程序
roslaunch wpr_simulation wpb_simple.launch
这时候就会出现如下图所示的三维界面,我们可以看到界面中有一个机器人和一个书柜,这就是后面我们经常会用到的仿真环境Gazebo。
我们可以用前面下载的机器人速度控制软件来来驱使它移动。
- 打开一个新的终端程序,执行以下命令,打开机器人速度控制软件
rosrun rqt_robot_steering rqt_robot_steering
- 删除下图框选的路径前的turtle/,仅仅保留cmd_vel,如下图:
- 上下左右滑动控制滑条,可以看到,小乌龟的方向和速度可以通过滑条来控制(文末有视频)
到这里,我们大致体验了从Github下载软件包源代码,然后编译、运行的整个过程,以后我们自己编写的源代码,也可以放在这个catkin_ws工作空间中,通常我们会把设置工作空间环境的source指令添加到终端程序初始化的脚本~/bashrc文件中,这样每次打开终端就可以马上运行ROS程序了,免得每次都忘记设置,我们看看怎么操作。
- 在终端程序中输入以下命令,回车
gedit ~/.bashrc
- 来到文件的末尾,新增加一行输入以下内容
~/catkin_ws/devel/setup.bash
如下图,点击保存按钮保存配置,这样就设置完成了。
评论一下?