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

news2024/11/19 20:20:41

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1507485.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于SpringBoot+MYSQL的房屋租赁系统

1、 前言介绍 社会的发展和科学技术的进步,互联网技术越来越受欢迎。网络计算机的生活方式逐渐受到广大人民群众的喜爱,也逐渐进入了每个用户的使用。互联网具有便利性,速度快,效率高,成本低等优点。 因此&#xff0c…

学校Java的第七天

目录 一、什么是数组 二、作用 三、如何使用数组 1、声明数组变量 2、创建数组 示例: 3、数组的使用 示例: 4、数组的遍历 for循环示例(不知道for循环的可以查看我之前发的文章) for-each循环(也就是增强for…

Visual Studio单步调试中监视窗口变灰的问题

在vs调试中,写了这样一条语句 while((nfread(buf, sizeof(float), N, pf))>0) 然而,在调试中,只要一执行while这条语句,监视窗口中的变量全部变为灰色,不能查看,是程序本身并没有报错,能够继…

每日OJ题_链表⑤_力扣25. K 个一组翻转链表

目录 力扣25. K 个一组翻转链表 解析代码 力扣25. K 个一组翻转链表 25. K 个一组翻转链表 难度 困难 给你链表的头节点 head ,每 k 个节点一组进行翻转,请你返回修改后的链表。 k 是一个正整数,它的值小于或等于链表的长度。如果节点总…

2024-03-10 c++

🌸 MFC下拉框控件 | Combo Box eg 计算器 1。新建MFC项目(基于对话框、静态库) 2。添加控件,删除初始的3个多余控件 加3个edit control 加1个combo box,属性sort改为false,data为 ;-;;;% 加1个static text…

invoke()到底是个什么方法???

调用jquery的方法返回属性值 1、invoke(‘val’) 在form的select下: cy.get(.action-select-multiple).select([apples, oranges, bananas])// when getting multiple values, invoke "val" method first jquery中val方法是用于返…

【c语言 】 函数入门

🎈个人主页:豌豆射手^ 🎉欢迎 👍点赞✍评论⭐收藏 🤗收录专栏:C语言 🤝希望本文对您有所裨益,如有不足之处,欢迎在评论区提出指正,让我们共同学习、交流进步&…

笔记 mysql text 不能设置他的默认值如not null

mysql text 不能设置他的默认值 那么插入时默认值是多少? 在 MySQL 中,TEXT 类型的字段不能直接指定默认值 因此,如果你尝试在创建表时为 TEXT类型的字段指定默认值,MySQL 会抛出错误。 然而,虽然不能在表定义中为 TE…

2024年腾讯云优惠券_云服务器代金券_优惠折扣整理

腾讯云代金券领取渠道有哪些?腾讯云官网可以领取、官方媒体账号可以领取代金券、完成任务可以领取代金券,大家也可以在腾讯云百科蹲守代金券,因为腾讯云代金券领取渠道比较分散,腾讯云百科txybk.com专注汇总优惠代金券领取页面&am…

【零基础学习01】嵌入式linux驱动中pinctrl和gpio子系统实现

大家好,为了进一步提升大家对实验的认识程度,每个控制实验将加入详细控制思路与流程,欢迎交流学习。 今天给大家分享一下,linux系统里面pinctrl和gpio子系统控制实验,操作硬件为I.MX6ULL开发板。 第一:pinctrl和gpio子系统简介 Linux系统是一个庞大又完善的系统,如果采用…

matlab 基操~

MATLAB基本操作 1. 对象定义 使用sym定义单个对象、使用syms定义多个对象 2. 使用limit求极限 $$ \lim_{v \rightarrow a} f(x) $$ limit(f,v,a) % 使用limit(f,v,a,left)可求左极限 3. 导数 使用diff(f,v,n)对$ f(v)v^{t-1} $求 $ n $ 阶导 $ \frac{d^nf}{d^nv} $&#xf…

【题解】—— LeetCode一周小结10

【题解】—— 每日一道题目栏 上接:【题解】—— LeetCode一周小结9 4.用栈实现队列 题目链接:232. 用栈实现队列 请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(push、pop、peek、empty)&#xff1a…

一文了解原型和原型链

本文重点概念: 1、所有的对象都是new一个函数创建的 2、所有的函数都有一个属性prototype,称为函数原型 3、函数原型得到的这个对象都有一个属性constructor,指向该函数 4、所有的对象都有一个属性:隐式原型__proto__,隐式原型…

计算机网络—OSPF单区域配置

目录 目录 1.实验环境准备 2.配置 OSPF 3.验证 OSPF 配置 4.修改 OSPF hello 和 dead 时间参数 5.OSPF缺省路由发布及验证 6.控制 OSPF DR/BDR 的选举 7.配置文件 拓扑图&#xff1a; 1.实验环境准备 基本配置以及IP编址。 <Huawei>system-view Enter system vi…

Python中的运算符介绍

前言&#xff1a; 零基础学Python&#xff1a;Python从0到100最新最全教程。 想做这件事情很久了&#xff0c;这次我更新了自己所写过的所有博客&#xff0c;汇集成了Python从0到100&#xff0c;共一百节课&#xff0c;帮助大家一个月时间里从零基础到学习Python基础语法、Pyth…

四节点/八节点四边形单元悬臂梁Matlab有限元编程 | 平面单元 | Matlab源码 | 理论文本

专栏导读 作者简介&#xff1a;工学博士&#xff0c;高级工程师&#xff0c;专注于工业软件算法研究本文已收录于专栏&#xff1a;《有限元编程从入门到精通》本专栏旨在提供 1.以案例的形式讲解各类有限元问题的程序实现&#xff0c;并提供所有案例完整源码&#xff1b;2.单元…

关于比特币的AI对话

【ChatGPT】 比特币源码开源吗&#xff1f; 是的&#xff0c;比特币的源码是开源的。比特币项目是在MIT许可证下发布的&#xff0c;这意味着任何人都可以查看、修改、贡献和分发代码。比特币的源码托管在GitHub上&#xff0c;可以通过下面的链接进行访问&#xff1a; https://g…

一个超冷门的 Vue3 内置组件,帮我优化了66%的性能!

背景 最近项目中有一个页面&#xff0c;是之前的老页面&#xff0c;页面中的内容其实就是一个 Tabs 组件&#xff0c;有三个 Tab&#xff0c;分别展示不同的内容&#xff0c;但是也有共同内容&#xff0c;那就是共同都有一个一个报表组件 下面是大致的代码展示如下&#xff0c…

pyqt线程正确使用

PyQt之科学使用线程处理耗时任务以及线程通信方法 上面这篇文章看似很科学… 经过实际测试&#xff0c;需要按下面创建线程&#xff1a; self.work EmailWork() self.thread QtCore.QThread() self.thread.start()self.work.moveToThread(self.thread) self.work.complete_…

聚观早报 | 天猫2024年投入5亿元;英伟达市值再创新高

聚观早报每日整理最值得关注的行业重点事件&#xff0c;帮助大家及时了解最新行业动态&#xff0c;每日读报&#xff0c;就读聚观365资讯简报。 整理丨Cutie 3月11日消息 天猫2024年投入5亿元 英伟达市值再创新高 IAR全面支持小华全系芯片 紫光云发布紫鸾5.0云平台 首家…