ROS入门笔记(三):二进制包与源代码包

本文涉及的产品
资源编排,不限时长
简介: ROS入门笔记(三):二进制包与源代码包

注意: 如果你是使用类似apt这样的软件管理器来安装ROS的,那么安装后这些软件包将不具备写入权限,当前系统用户比如你自己也无法对这些软件包进行修改编辑。当你的开发涉及到ROS软件包源码层面的操作或者在创建一个新的ROS软件包时,你应该是在一个具备读写权限的目录下工作,就像在你当前系统用户的home目录下一样。


apt工具安装ROS系统以及相关的软件包 ,apt安装的软件包都是二进制形式, 可以在系统中直接运行, 它们是ROS官方提供给用户的应用程序。


然而很多时候我们需要自己做一些定制改写, 或者运行第三方开发的软件包, 这个时候就需要下载源代码进行编译。


1 软件包分类


软件包(Package)可以分为二进制和源代码。


二进制包里面包括已经编译完成, 可以直接运行的程序。 通过 sudo apt-get install 来进行下载和解包( 安装) , 执行完该命令后就可以马上使用。 并且这种方式简单快捷, 适合比较固定、 无需改动的程序。


源代码包里是程序的原始代码, 在你的计算机上必须经过编译, 生成了可执行的二进制文件, 方可运行。 一些个人开发的程序、 第三方修改或者你希望修改的程序都应当通过源代码包来编译安装。


2 二进制包与源代码包的区别


image.png


3 ROS二进制包的安装


在ROS中, 我们可能经常会遇到缺少相关的ROS依赖的问题。 有些时候你编译或者运行一些ROS程序, 系统会提示找不到XXX功能包 。


遇到这样的问题, 请先注意阅读错误原因, 看看是否有解决方法, 也可以Google、Bing一下。 如果是缺少ROS的依赖, 通常可以用以下命令来安装:


$ sudo apt-get install ros-kinetic-PACAKGE


将PACKAGE替换为系统提示缺啥少的软件包, 例如:


$ sudo apt-get install ros-kinetic-slam-gmapping           #GMapping-SLAM算法包  
$ sudo apt-get install ros-kinetic-turtlebot-description   #Turtlebot机器人模型包

注:所有apt官方中的ROS功能包都是按照ros-的形式来命名。


4 适配ROS的IDE


通常ROS的程序都是用C++和Python开发的, 为了提高开发的效率, 建议用IDE来写代码。


目前在Ubuntu上已经有许多IDE支持ROS开发, 比如Eclipse、 Qt Creator。 不过这些IDE配置起来会比较麻烦, 推荐一款适配ROS的IDE——RoboWare Studio来开发ROS


ROS IDE官网推荐:http://wiki.ros.org/IDEs


相关实践学习
使用ROS创建VPC和VSwitch
本场景主要介绍如何利用阿里云资源编排服务,定义资源编排模板,实现自动化创建阿里云专有网络和交换机。
阿里云资源编排ROS使用教程
资源编排(Resource Orchestration)是一种简单易用的云计算资源管理和自动化运维服务。用户通过模板描述多个云计算资源的依赖关系、配置等,并自动完成所有资源的创建和配置,以达到自动化部署、运维等目的。编排模板同时也是一种标准化的资源和应用交付方式,并且可以随时编辑修改,使基础设施即代码(Infrastructure as Code)成为可能。 产品详情:https://www.aliyun.com/product/ros/
目录
相关文章
|
3月前
|
Ubuntu 机器人 Linux
|
1月前
|
存储 传感器 编解码
ROS机器视觉入门:从基础到人脸识别与目标检测
前言 从本文开始,我们将开始学习ROS机器视觉处理,刚开始先学习一部分外围的知识,为后续的人脸识别、目标跟踪和YOLOV5目标检测做准备工作。我采用的笔记本是联想拯救者游戏本,系统采用Ubuntu20.04,ROS采用noetic。 颜色编码格式,图像格式和视频压缩格式 (1)RGB和BGR:这是两种常见的颜色编码格式,分别代表了红、绿、蓝三原色。不同之处在于,RGB按照红、绿、蓝的顺序存储颜色信息,而BGR按照蓝、绿、红的顺序存储。 rgb8图像格式:常用于显示系统,如电视和计算机屏幕。 RGB值以8 bits表示每种颜色,总共可以表示256×256×256=16777216种颜色
138 70
|
2月前
|
存储 传感器 编解码
ROS机器视觉入门:从基础到人脸识别与目标检测
【11月更文挑战第9天】从本文开始,我们将开始学习ROS机器视觉处理,刚开始先学习一部分外围的知识,为后续的人脸识别、目标跟踪和YOLOV5目标检测做准备工作。
146 56
|
5月前
|
机器人 C++ Python
ROS2教程 02 功能包
本文是关于ROS2(机器人操作系统2)中功能包(package)管理的教程,介绍了如何检查功能包的依赖、创建新功能包、列出可执行文件、列出所有功能包、查询功能包的位置和描述信息,以及为C++和Python功能包配置必要的文件。
128 0
|
3月前
|
传感器 机器人 数据处理
ROS 编程入门的介绍
【10月更文挑战第13天】ROS(Robot Operating System)是一种开源的机器人软件框架,广泛用于机器人开发中。通过使用 ROS,开发者可以轻松创建和管理机器人应用程序。在本节中,我们将介绍如何创建一个 ROS 功能包并实现一些基本功能。
|
5月前
|
XML 存储 网络安全
ROS入门(二):launch文件解析
该文章是关于ROS入门的第二篇教程,详细解析了ROS中的launch文件,包括其运行方式、XML格式规范、标签使用、参数替代、条件属性以及通过简单和复杂案例来演示launch文件的使用,最后介绍了如何在参数服务器上设置参数。
ROS入门(二):launch文件解析
|
3月前
|
传感器 数据可视化 机器人
【ROS速成】半小时入门机器人ROS系统简明教程之可视化系统(三)
半小时入门机器人ROS系统简明教程之可视化系统
118 0
|
3月前
|
机器人
【ROS速成】半小时入门机器人ROS系统简明教程之安装测速(二)
半小时入门机器人ROS系统简明教程之安装测速
107 0
|
3月前
|
传感器 机器人 数据处理
ROS 编程入门的介绍
2.1 创建 ROS 功能包 ROS(Robot Operating System)是一种开源的机器人软件框架,广泛用于机器人开发中。通过使用 ROS,开发者可以轻松创建和管理机器人应用程序。在本节中,我们将介绍如何创建一个 ROS 功能包并实现一些基本功能。 2.1.1 使用 ROS 主题 ROS 主题(Topic)是一种发布/订阅机制,允许节点之间进行通信。每个节点可以发布主题消息或订阅主题消息来获取数据。以下是如何使用 ROS 主题的步骤: 创建功能包 首先,我们需要创建一个新的 ROS 功能包。在终端中运行以下命令: catkin_create_pkg de_ws my_r
|
5月前
|
Ubuntu Shell C++
在Ubuntu18.04上安装ros2的环境,ros2的常用命令:播放包、录制包等
在Ubuntu18.04上安装ros2的环境,ros2的常用命令:播放包、录制包等
239 1

推荐镜像

更多