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

【ROS GitHub使用】

提示:环境配置为Ubuntu20.04&ROS Noetic

文章目录

  • 前言
  • 一、创建工作空间目录
  • 二、尝试从GitHub上下载一个源码包,对它进行编译,运行这个源码包
    • 1.打开script文件夹,右键文件夹空白区域,选择在中端中打开;
    • 2.使用脚本安装编译需要的依赖库
    • 3.所有包的依赖安装完成后回到工作空间的入口地址
    • 4.运行包中的一些功能
    • 5.可以用前面的速度控制软件来控制仿真机器人;
    • 6.工作空间环境参数配置
  • 三、在GitHub上搜索ROS软件包
  • 其它问题
  • 总结


前言


一、创建工作空间目录

www.github.com
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软件包

回到index.ros.org
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以及镜像站的使用,感兴趣的读者可以自行上机测试。

相关文章:

【ROS GitHub使用】

提示&#xff1a;环境配置为Ubuntu20.04&ROS Noetic 文章目录 前言一、创建工作空间目录二、尝试从GitHub上下载一个源码包&#xff0c;对它进行编译&#xff0c;运行这个源码包1.打开script文件夹&#xff0c;右键文件夹空白区域&#xff0c;选择在中端中打开&#xff1b;…...

批量处理文件权限:解决‘/usr/bin/chmod: Argument list too long’的有效方法

批量处理文件权限&#xff1a;解决‘/usr/bin/chmod: Argument list too long’的有效方法 错误原因解决方案1. 分批处理2. 使用xargs3. 增加ARG_MAX限制4. 使用脚本 结论 在Linux系统中&#xff0c;有时你可能会遇到这样的错误消息&#xff1a;“/usr/bin/chmod: Argument lis…...

数据结构——树——二叉树——大小堆

目录 1>>导言 2>>树 2.1>>树的相关术语 2.2>>树的表示和应用场景 3>>二叉树 3.1>>完全二叉树 3.2>>大小根堆 4>>结语 1>>导言 上篇小编将队列的内容给大家讲完了&#xff0c;这篇要步入新的篇章&#xff0c;请宝…...

Android Junit 单元测试 | 依赖配置和编译报错解决

问题 为什么在依赖中添加了testImplement在build APK的时候还是会报错&#xff1f;是因为没有识别到test文件夹是test源代码路径吗&#xff1f; 最常见的配置有: implementation - 所有源代码集(包括test源代码集)中都有该依赖库.testImplementation - 依赖关系仅在test源代码…...

ffmpeg视频滤镜: 裁剪-crop

滤镜简述 crop官网链接 > FFmpeg Filters Documentation crop滤镜可以对视频进行裁剪&#xff0c;并且这个滤镜可以接受一些变量比如时间和帧数&#xff0c;这样我们实现动态裁剪&#xff0c;从而实现一些特效。 滤镜使用 参数 out_w <string> ..…...

身份证归属地查询接口-在线身份证归属地查询-身份证归属地查询API

接口简介&#xff1a;输入身份证号码可查询到所属地区、出生年日月以及性别。 接口地址&#xff1a;https://www.wapi.cn/api_detail/60/167.html 在线核验&#xff1a;https://www.wapi.cn/icard.html 网站地址&#xff1a;https://www.wapi.cn 返回格式&#xff1a;json,xml,…...

ESP32 S3 怎么开发基于ESP-RTC的音视频实时交互的应用,用语AI陪伴的领域

在ESP32-S3平台上开发基于ESP-RTC的音视频实时交互应用&#xff0c;尤其是在AI陪伴领域&#xff0c;涉及到音视频数据的采集、编码、传输和解码。ESP32-S3 具备较强的处理能力&#xff0c;且拥有丰富的接口和模块支持&#xff0c;可以用来实现这种功能。以下是一个完整的开发方…...

车载测试分享:UDS诊断、ECU刷写、CAN一致性测试、网络通讯测试、CANoe使用、报文解析、问题定位分析

FOTA模块中OTA的知识点&#xff1a;1.测试过程中发现哪几类问题&#xff1f; 可能就是一个单键的ecu&#xff0c;比如升了一个门的ecu&#xff0c;他的升了之后就关不上&#xff0c;还有就是升级组合ecu的时候&#xff0c;c屏上不显示进度条。 2.在做ota测试的过程中&#xf…...

预算不够,怎么跟KOL砍价?(内附砍价模板)

​在当今的数字营销时代&#xff0c;海外红人&#xff08;KOL&#xff09;的影响力不容小觑。他们的一篇帖子、一个视频&#xff0c;甚至是一张照片&#xff0c;都有可能为企业带来巨大的流量和销量。 当企业满怀希望地找到一位粉丝众多、影响力强的KOL&#xff0c;准备洽谈合作…...

C#从零开始学习(GameObject实例)(unity Lab3)

这是书本中第三个unity Lab 在这次实验中,将学习如何使用C#编写代码用unity编写C#代码 GameObject实例 本次将完成的工作 将游戏资产配置在文件夹中创建材质把GameObject变成预制件脚本控制游戏防止球体重叠 将游戏资产配置在文件夹中 Script放代码 Prefabs放预制件 MAteria…...

谷歌地图 | 与 Android 版导航 SDK 集成的最佳实践

谷歌最近宣布了导航 SDK&#xff0c;它可以让您将熟悉的 Google 地图逐向导航体验无缝集成到您的 Android 和 iOS 应用程序中。 这篇博文概述了一些最佳实践&#xff0c;您可以使用这些实践为您的 Android 应用程序使用导航 SDK 构建流畅、一致且可靠的导航体验。 与导航地图…...

什么是 VolTE 中的 Slient Redial?它和 CSFB 什么关系?

目录 1. 什么是 Silent Redial(安静的重拨号)? 2. Silent Redial 信令流程概述 3. 总结 Silent Redial 和 CSFB 啥关系? 博主wx:yuanlai45_csdn 博主qq:2777137742 想要 深入学习 5GC IMS 等通信知识(加入 51学通信),或者想要 cpp 方向修改简历,模拟面试,学习指导都…...

docker 部署单节点的etcd以及 常用使用命令

docker部署etcd $ docker run -d --name etcd-server -p 2379:2379 -p 2380:2380 quay.io/coreos/etcd:v3.5.0 /usr/local/bin/etcd -name my-etcd-1 -advertise-client-urls http://0.0.0.0:2379 -listen-client-urls http://0.0.0.0:2379 -initial-advertise-peer-urls http…...

华为开放式耳机测评,南卡 、华为、Cleer开放式耳机超深度横评

近年来&#xff0c;开放式蓝牙耳机因其独特的设计和优势受到了越来越多消费者的青睐。其实对于开放式耳机&#xff0c;大家都没有一个明确的概念&#xff0c;可能会为了音质的一小点提升而耗费大量的资金&#xff0c;毕竟这是一个无底洞。 作为在过去一年体验过不下20款开放式耳…...

【Power Query】List.Select 筛选列表

List.Select 筛选列表 ——在列表中返回满足条件的元素 List.Select(列表,判断条件) 不是列表的可以转成列表再筛选&#xff0c;例如 Record.ToList 不同场景的判断条件参考写法 (1)单条件筛选 列表中小于50的数字 List.Select({1,99,8,98,5},each _<50) (2)多条件筛…...

Spring--4

SpringWeb 概念 是Spring框架的一个模块&#xff0c;基于Servlet的一个原始Web框架。 SpringWEB 运行流程 描述&#xff1a;前端用户请求发送的后端以后&#xff0c;先经过前端控制器DispatcherServlet(再次之前也可能有过滤器的存在)&#xff0c;经过前端控制器解析后&…...

django celery 定时任务 Crontab 计划格式

Celery 定时任务教程 Celery 是一个强大的异步任务队列/作业队列基于分布式消息传递的开源项目。它广泛用于处理各种类型的后台任务&#xff0c;例如发送电子邮件、处理图像、数据分析和视频转换等。 本文将介绍如何使用 Celery 实现定时任务&#xff0c;包括&#xff1a; 安…...

动态应用程序安全测试 (DAST) 工具 Fortify WebInspect

Fortify WebInspect 是一种动态应用程序安全测试 (DAST) 工具&#xff0c;可识别所部署的Web 应用程序和服务中的应用程序漏洞。 OpenText™ 推出的 Fortify WebInspect 是一种自动化DAST 解决方案,可提供全面的漏洞检测能力并有助于安全专业人士和 QA 测试人员识别安全漏洞和…...

深入解析东芝TB62261FTG,步进电机驱动方案

TB62261FTG是一款由东芝推出的两相双极步进电机驱动器&#xff0c;采用了BiCD工艺&#xff0c;能够提供高效的电机控制。这款芯片具有多种优秀的功能&#xff0c;包括PWM斩波、内置电流调节、低导通电阻的MOSFET以及多种步进操作模式&#xff0c;使其非常适合用于需要精确运动控…...

Vue 常用的狗钩子函数

beforeCreate(){ console.log(刚刚创建实例); },created(){console.log(实例创建完成);},beforeMount(){console.log(模板编译之前 ); },mounted(){/* 请求数据&#xff0c;操作Dom时常用 */console.log(实力挂载完成);},beforeUpdate(){console.log(更新前)},update…...

Arduino Uno R3 bootloader烧写避坑全记录:从USBasp驱动安装到熔丝位设置(Win10/11实测)

Arduino Uno R3 bootloader烧写实战指南&#xff1a;从驱动配置到熔丝位安全操作 当一块全新的Atmega328P芯片静静躺在工作台上时&#xff0c;它就像一张白纸&#xff0c;等待着被赋予生命。作为硬件开发者&#xff0c;我们常常需要为这些空白芯片注入灵魂——烧写bootloader。…...

暖心指南|心理干预案例分享关键点!

行业痛点分析重庆市作为西部人口密集城市&#xff0c;心理健康问题呈现年轻化、复杂化趋势。调研数据显示&#xff0c;2022年全市心理健康机构年接诊量突破18万人次&#xff0c;但供需矛盾持续加剧。当前主要存在三方面挑战&#xff1a;临床诊断精度不足&#xff1a;传统评估依…...

模块化前端框架设计:从原子状态到组合式架构的工程实践

1. 项目概述&#xff1a;一个轻量级、模块化的现代Web应用框架最近在梳理手头的几个前端项目&#xff0c;发现随着功能迭代&#xff0c;代码越来越臃肿&#xff0c;不同项目间的基础工具函数、状态管理逻辑、路由配置总是要重新写一遍&#xff0c;或者复制粘贴&#xff0c;维护…...

Speechless:你的微博数字记忆永久保存方案,告别内容丢失焦虑

Speechless&#xff1a;你的微博数字记忆永久保存方案&#xff0c;告别内容丢失焦虑 【免费下载链接】Speechless 把新浪微博的内容&#xff0c;导出成 PDF 文件进行备份的 Chrome Extension。 项目地址: https://gitcode.com/gh_mirrors/sp/Speechless 你是否曾经历过精…...

别再只调参了!搞懂MaxPool2D的padding=‘same‘和‘valid‘,让你的CNN模型效果立竿见影

别再只调参了&#xff01;搞懂MaxPool2D的paddingsame和valid&#xff0c;让你的CNN模型效果立竿见影 在构建卷积神经网络&#xff08;CNN&#xff09;时&#xff0c;许多开发者习惯性地将注意力集中在卷积核大小、激活函数选择等显性参数上&#xff0c;却常常忽略池化层中padd…...

用MATLAB和Vivado搞个带通FIR滤波器:从FDATool到IP核的完整配置流程

从MATLAB到FPGA&#xff1a;带通FIR滤波器的工程化实现全指南 在数字信号处理领域&#xff0c;FIR滤波器因其线性相位特性和稳定性成为工程师的首选工具。当我们需要从高速采样信号中提取特定频段时&#xff0c;带通FIR滤波器的设计就变得尤为关键。本文将带您完整走通从MATLAB…...

Systemback不只是备份:手把手教你修复Ubuntu启动项(GRUB)和fstab文件

Systemback系统救援实战&#xff1a;从GRUB修复到fstab配置急救指南 当Ubuntu系统突然拒绝启动&#xff0c;屏幕上只剩下闪烁的光标或是令人心碎的"GRUB rescue>"提示符时&#xff0c;大多数用户的第一反应往往是重装系统。但你可能不知道&#xff0c;Systemback这…...

Sora 2训练Pipeline为何突然兼容Gaussian Splatting?:逆向解析OpenAI最新隐式-显式混合表征专利(US20240177892A1)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;Sora 2 Gaussian Splatting 技术融合背景 Sora 2 作为 OpenAI 推出的下一代视频生成模型&#xff0c;已深度集成高斯点绘&#xff08;Gaussian Splatting&#xff09;技术以提升动态场景的几何保真度…...

别再只用默认样式了!LVGL Chart图表控件的10个美化技巧与高级样式配置

LVGL Chart图表控件进阶&#xff1a;10个专业级视觉优化技巧 在嵌入式GUI开发中&#xff0c;数据可视化是提升用户体验的关键环节。LVGL作为轻量级图形库的佼佼者&#xff0c;其Chart组件虽然开箱即用&#xff0c;但默认样式往往难以满足专业产品的视觉要求。本文将深入解析10个…...

别再百度了!工程师私藏的5个免费Datasheet查询网站(附使用技巧)

工程师必备&#xff1a;5个高效Datasheet查询工具与实战技巧 每次调试电路板时&#xff0c;最让人抓狂的莫过于找不到最新版的元器件规格书。上周我就遇到一个案例&#xff1a;某款MCU的旧版手册标注的引脚功能与实际芯片不符&#xff0c;导致整个通信模块无法工作。这种经历让…...