提示:环境配置为Ubuntu20.04&ROS Noetic
文章目录
前言
一、创建工作空间目录
ros系统本身以及ros index网站上看到的大部分软件包都在github上开放了源代码
与官方应用商店不同的是GitHub上的资源都是以源代码的形式发布,需要编译运行,因此需要先建立一个工作空间;
工作空间即符合某种要求的文件结构:
编译器会按照这个目录去检索源代码并完成编译工作;
步骤1.创建工作空间目录结构
主文件夹 <- catkin_ws <- src
创建catkin_ws目录
mkdir catkin_ws
进入catkin_ws目录
cd catkin_ws
创建子目录(src即source原始资料)
mkdir src
进入src子目录
cd src
从github上下载源代码前还需要安装一个工具:
sudo apt install git
二、尝试从GitHub上下载一个源码包,对它进行编译,运行这个源码包
在GitHub上搜索wpr_simulation
github搜索失败可以考虑用镜像网站:https://gitcode.com/
(github中)找到6-robot这一项
电机code绿色按钮会弹出一个网址,复制网址
在src文件中输入git clone 粘贴网址
如果是从gitcode镜像网站直接下载的压缩包,需要打开压缩包位置,点击剪切或者复制,把压缩包放到指定的目录:catkin_ws->src目录下并解压(解压后压缩包可以删除);
打开wpr_simulation-master文件夹
资源包文件目录介绍:
scripts目录用于放置脚本文件和python程序,用来存放使用频率不是那么高的操作,比如安装依赖包,还有为实体机器人映射端口,这类操作一般只经行过一次即可;
依赖包的脚本文件如果缺失,我们编译和运行这个软件包可能会出现问题;
安装步骤
1.打开script文件夹,右键文件夹空白区域,选择在中端中打开;
打开文件列表,可以查看资源是否存在
ls
2.使用脚本安装编译需要的依赖库
./install_for_noetic.sh
3.所有包的依赖安装完成后回到工作空间的入口地址
在~/catkin_ws目录下运行catkin_make进行编译
cd ~
cd ~/catkin_ws/
对src目录下所有源代码工程进行编译(注意catkin_make需要运行在catkin_ws目录下,不是src目录中)
catkin_make
4.运行包中的一些功能
首先需要把catkin_ws工作空间里的环境参数加载到终端程序里,否则运行指令会提示找不到里面的软件包;(使用source指令载入工作空间的环境设置)
在终端程序里输入
source ~/catkin_ws/devel/setup.bash
使用roslaunch运行编译好的ros程序
roslaunch wpr_simulation wpb_simple.launch
此时会弹出一个三维仿真界面,这个是后面要用到的仿真环境Gazebo,
5.可以用前面的速度控制软件来控制仿真机器人;
打开中端程序:启动(包的名称)(节点的名称)
rosrun rqt_robot_steering rqt_robot_steering
把上一节的turtle1删掉,拖动旋钮可以使机器人运转、前进
6.工作空间环境参数配置
把设置工作空间环境参数的source指令添加到终端程序初始化脚本~/.bashrc文件中,这样每次打开终端就可以马上运行ros程序了,以免每次都忘记设置;
gedit ~/.bashrc
在文件末尾换行添加:
sudo source ~/catkin_ws/devel/setup.bash
三、在GitHub上搜索ROS软件包
ros的大部分软件包都在GitHub上开源了,那么如何去寻找它们呢?
搜索turtlesim
点击第一栏的turtlesim
在源码信息栏的第一项就是GitHub网址
打开git网址,复制链接:
git clone 黏贴链接
针对github打不开,可以使用gitee镜像站点:
https://gitee.com/agiros/turtlesim
(上述源码应放在指定目录:如果前面没有配置好需要手动将文件转移到该目录)
编译
cd ~/catkin_ws/
catkin_make
运行ros
roscore
新建中端窗口
rosrun turtlesim turtlesim_node
打开工作空间src文件修改源代码
ros_tutorials文件目录下
turtlesim文件目录下
src文件
turtle_frame.cpp文件
修改宽度增加一倍变成长方形
......
保存
回到终端程序重新编译
cd catkin_ws/
catkin_make
运行
rosrun turtlesim turtlesim_node
查看运行结果会不会改变
github的issue分页可以向源码作者提问
其它问题
github网络问题
可以使用GitHub镜像网站
总结
简单介绍了ROS GitHub以及镜像站的使用,感兴趣的读者可以自行上机测试。