一、逛ROS应用商店
在上一专栏http://t.csdnimg.cn/oGlcu,我们了解了ROS的基本功能。这一专栏将会在此基础上做出进一步拓展学习。那么首先我们要学会下载并阅读别人的代码。常用的两个应用商店一个是ROS的官方应用商店ROS index,另一个就是我们熟知的github了。走,去逛逛。
二、ROS官方应用商店
这里我们先打开浏览器输入网址 https://index.ros.org/ (maybe需要加速器)这里就是ROS的官方应用商店。
1、选择package

2、选择自己的版本

可以看到这里有更新的日期,软件包的名称和软件包的描述。我们在之后下载这些package的时候一般是根据名称。使用sudo apt install ros-ROS版本名称-name。
3、查看软件包详细信息
在搜索栏搜索rqt_robot_steering,点击对应版本的name可以打开详细页面。

左边Package Summary是版本号,开源协议,编译工具等信息等。
左边Repository Summary是软件包的源码信息
右边Pcakage Descirption是软件包的简介,以及拓展链接,当前维护者和原作者。其中Website是包含了这个软件包细节的页面,您可以点开看看。

当您点开了Website拓展链接时,您将会看到界面截图和软件包的使用案例等详细细节。

4、下载软件包实施效果
打开终端输入: sudo apt-get install ros-noetic-rqt-robot-steering
(嘶~,这里和上面略有不同的点在于,我们将name中的_全部改为了- )
下载完成后就可以试试这个软件的效果,打开n个终端:
第一个终端输入: roscore
第二个终端输入: rosrun turtlesim turtlesim_node
第三个终端输入: rosrun rqt_robot_steering rqt_robot_steering
这时候会有弹窗,您可以将纵向的速度和横向的角速度做少量修改,并且将上面的topic修改成 /turtle1/cmd_vel 这时您会发现您的海龟开始运动。

三、开源网站github
这里我们先打开浏览器输入网址 https://github.com/ (maybe需要加速器)这里就是最大的开源网站了。想要使用上面的开源代码,我们先要做一下准备工作。
1、创建工作空间
cd ~
mkdir catkin_ws
cd catkin_ws
mkdir src
cd src
catkin_init_workspace
这里如果您看过我之前的文章《Ubuntu20.04环境下的ROS学习笔记3》-CSDN博客您应该已经完成了这一步。
2、下载git
sudo apt install git
3、下载一个源码
在搜索栏输入wpr_simulation
点击第一个后按照下图复制网址
回到Ubuntu,打开一个终端输入
cd ~/catkin_ws/src
git clone https://github.com/6-robot/wpr_simulation.git
4、安装相关依赖并编译
1、看看README
cd wpr_simulation
cat README.md
里面包含了获取源码,安装依赖,编译和简单场景的使用。

2、安装依赖
cd ~/catkin_ws/src/wpr/simulation/scripts
这个文件夹下我们一般放置一些脚本文件和Python程序。
./install_for_noetic.sh

3、编译
cd ~/catkin_ws
catkin_make
(这里可能会略微有点慢)
source devel/setup.bash 值得一提的是,这一步如果您按照了之前的文章来做,可以省略。(《Ubuntu20.04环境下的ROS学习笔记4》-CSDN博客)

4、运行该项目
在README.md简单场景里面有相关的使用launch文件的命令。
roslaunch wpr_simulation wpb_simple.launch
同时咋们还要打开一个终端来运行刚才下载的 rqt_robot_steering
打开终端: rosrun rqt_robot_steering rqt_robot_steering
同样将横纵坐标拖动,同时将topic改为/cmd_vel 您将会发现您的车子动起来。

四、在github上找到开源的ROS包
1、在ROS商店找到并下载源码
大部分的ROS包是开源的并上传了github,比如我们之前使用的turtlesim

您可以在软件包的源码信息里面的第一条看到github的网址,点击您将跳转到gitbub。

这里就是基本操作了,打开终端输入cd ~/catkin_ws/src
再输入: git clone + 复制的网址

2、修改海龟程序
这里您可以修改海龟程序,比如给他WindowTitle改个名

3、编译并运行程序
cd ~/catkin_ws
catkin_make
source devel/setup.bash
注意:这里您可以在编译的时候看到ros_tutorials是一个metapackage,在运行的时候我们并不是使用 rosrun ros_tutorials turtlesim

接下来是运行代码,打开两个终端:
第一个终端输入: roscore
第二个终端输入: rosrun turtlesim turtlesim_node
