当前位置: 首页 > 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以及镜像站的使用,感兴趣的读者可以自行上机测试。

http://www.lryc.cn/news/468463.html

相关文章:

  • 批量处理文件权限:解决‘/usr/bin/chmod: Argument list too long’的有效方法
  • 数据结构——树——二叉树——大小堆
  • Android Junit 单元测试 | 依赖配置和编译报错解决
  • ffmpeg视频滤镜: 裁剪-crop
  • 身份证归属地查询接口-在线身份证归属地查询-身份证归属地查询API
  • ESP32 S3 怎么开发基于ESP-RTC的音视频实时交互的应用,用语AI陪伴的领域
  • 车载测试分享:UDS诊断、ECU刷写、CAN一致性测试、网络通讯测试、CANoe使用、报文解析、问题定位分析
  • 预算不够,怎么跟KOL砍价?(内附砍价模板)
  • C#从零开始学习(GameObject实例)(unity Lab3)
  • 谷歌地图 | 与 Android 版导航 SDK 集成的最佳实践
  • 什么是 VolTE 中的 Slient Redial?它和 CSFB 什么关系?
  • docker 部署单节点的etcd以及 常用使用命令
  • 华为开放式耳机测评,南卡 、华为、Cleer开放式耳机超深度横评
  • 【Power Query】List.Select 筛选列表
  • Spring--4
  • django celery 定时任务 Crontab 计划格式
  • 动态应用程序安全测试 (DAST) 工具 Fortify WebInspect
  • 深入解析东芝TB62261FTG,步进电机驱动方案
  • Vue 常用的狗钩子函数
  • 【机器学习基础】激活函数
  • nnMamba用于糖尿病视网膜病变检测测试
  • 【Spring MVC】创建项目和建立请求连接
  • 台达A2伺服
  • ReactOS系统中搜索给定长度的空间地址区间中的二叉树
  • Postgresql中和时间相关的字段类型及其适用场景
  • 储能蓝海:技术革新与成本骤降引爆市场
  • java抽象类和接口
  • 法治在沃刷积分-刷文章浏览数
  • 【深度学习实验七】 自动梯度计算
  • JAVA毕业设计192—基于Java+Springboot+vue的个人博客管理系统(源代码+数据库+万字论文+开题+任务书)