当前位置: 首页 > news >正文

《Ubuntu20.04环境下的ROS进阶学习0》

一、逛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

五、参考

APT源,ROS的软件包应用商店_哔哩哔哩_bilibili

在Github上寻找安装ROS软件包_哔哩哔哩_bilibili

相关文章:

  • ​如何防止网络攻击?
  • Java中 图的基础知识介绍
  • 【 React 】对React中类组件和函数组件的理解?有什么区别?
  • 【Linux】文件系统和软硬链接
  • EPDM和钉钉集成审批工作—移动端直接处理审批节点,高效协同!
  • Java开发从入门到精通(一):Java 数据库编程
  • 小程序学习 1
  • Vue源码系列讲解——内置组件篇【一】(keep-alive)
  • Cassandra 安装部署
  • 【MySQL】not in遇上null的坑
  • Rust入门:C++和Rust动态库(dll)的相互调用
  • mysql数据库(下)
  • Python 装饰器decorator 圣经
  • html css 导航栏 2
  • 如何基于 esp-at 固件测试 TCP (UART 转 WiFi 透传)吞吐?
  • 【mysql】环境安装、服务启动、密码设置
  • 0基础学习移动端适配
  • 2017 前端面试准备 - 收藏集 - 掘金
  • express + mock 让前后台并行开发
  • java概述
  • MD5加密原理解析及OC版原理实现
  • Spring Boot MyBatis配置多种数据库
  • Vue 2.3、2.4 知识点小结
  • vue从入门到进阶:计算属性computed与侦听器watch(三)
  • 对象引论
  • 开放才能进步!Angular和Wijmo一起走过的日子
  • 力扣(LeetCode)965
  • 自定义函数
  • 自动记录MySQL慢查询快照脚本
  • Android开发者必备:推荐一款助力开发的开源APP
  • 阿里云移动端播放器高级功能介绍
  • # Pytorch 中可以直接调用的Loss Functions总结:
  • # 达梦数据库知识点
  • #我与虚拟机的故事#连载20:周志明虚拟机第 3 版:到底值不值得买?
  • $(selector).each()和$.each()的区别
  • $.each()与$(selector).each()
  • (2022 CVPR) Unbiased Teacher v2
  • (echarts)echarts使用时重新加载数据之前的数据存留在图上的问题
  • (Git) gitignore基础使用
  • (附源码)spring boot球鞋文化交流论坛 毕业设计 141436
  • (黑马C++)L06 重载与继承
  • (蓝桥杯每日一题)平方末尾及补充(常用的字符串函数功能)
  • (十八)devops持续集成开发——使用docker安装部署jenkins流水线服务
  • (转) Android中ViewStub组件使用
  • (转)es进行聚合操作时提示Fielddata is disabled on text fields by default
  • (转)scrum常见工具列表
  • (转)用.Net的File控件上传文件的解决方案
  • (轉貼) 資訊相關科系畢業的學生,未來會是什麼樣子?(Misc)
  • ***原理与防范
  • .h头文件 .lib动态链接库文件 .dll 动态链接库
  • .NET 4.0网络开发入门之旅-- 我在“网” 中央(下)
  • .NET Core WebAPI中使用Log4net 日志级别分类并记录到数据库
  • .NET 材料检测系统崩溃分析
  • .net 流——流的类型体系简单介绍
  • .Net 应用中使用dot trace进行性能诊断