02 ROS创建工作空间和功能包

本文涉及的产品
资源编排,不限时长
简介: 如何在ROS中创建工作空间和功能包,包括初始化工作空间、编译、设置环境变量以及使用`catkin_create_pkg`创建新功能包的步骤。

ROS使用Catkin编译系统

src 代码空间

用于存储所有功能包的代码

build 编译空间

用于存储编译过程产生的缓存和中间文件

devel 开发空间

用于放置编译生成的可执行文件

install 安装空间

非必须的,可在目录下用该命令生成

catkin_make install

可以将可执行文件安装到此空间

创建工作空间

1.创建工作空间

mkdir创建文件夹

mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src
catkin_init_workspace #catkin编译工具在初始化工作空间

2.编译工作空间

cd转到对应的目录

cd ~/catkin_ws/
catkin_make #catkin_make将编译文件夹下的所有源码并完成相应配置

3.设置工作空间的环境变量

source命令通常用于重新执行刚修改的初始化文件,使之立即生效,而不必注销并重新登录
执行setup.bash来设置工作空间的环境变量,便于调用新生成的文件

source devel/setup.bash

通过进一步设置可以使得环境变量在不仅是当前,而且在所有终端生效
echo 输出
WS为工作空间的路径,可用pwd命令来查看当前目录

echo "source WS/catkin_ws/devel/setup.bash" >> ~/.bashrc

示例:
echo “source /home/hermanye/catkin_ws/devel/setup.bash”>> ~/.bashrc

4.检查环境变量是否生效

如果反馈的路径包含了工作空间路径则成功

echo $ROS_PACKAGE_PATH

创建功能包

功能包目录下的
CMakeLists.txt记录功能包编译规则
package.xml描述功能包属性的信息,包含功能包的依赖信息

1.进入代码空间内创建功能包:

cd ~/catkin_ws/src
catkin_create_pkg package_name depend1  depend2 depend3

示例:
catkin_create_pkg learning_pkg_creating std_msgs roscpp rospy
创建一个名为learning_pkg_creating,依赖std_msgs、roscpp、rospy功能包的新功能包

2.编译功能包
回到工作空间根目录编译并设置环境变量

cd ~/catkin_ws/
catkin_make
source ~/catkin_ws/devel/setup.bash

如果已经将设置环境变量包含在终端配置文件中,则只需要新开一个终端就可以默认执行source ~/catkin_ws/devel/setup.bash

相关实践学习
使用ROS创建VPC和VSwitch
本场景主要介绍如何利用阿里云资源编排服务,定义资源编排模板,实现自动化创建阿里云专有网络和交换机。
阿里云资源编排ROS使用教程
资源编排(Resource Orchestration)是一种简单易用的云计算资源管理和自动化运维服务。用户通过模板描述多个云计算资源的依赖关系、配置等,并自动完成所有资源的创建和配置,以达到自动化部署、运维等目的。编排模板同时也是一种标准化的资源和应用交付方式,并且可以随时编辑修改,使基础设施即代码(Infrastructure as Code)成为可能。 产品详情:https://www.aliyun.com/product/ros/
目录
相关文章
|
4月前
|
机器人 C++ Python
ROS2教程 02 功能包
本文是关于ROS2(机器人操作系统2)中功能包(package)管理的教程,介绍了如何检查功能包的依赖、创建新功能包、列出可执行文件、列出所有功能包、查询功能包的位置和描述信息,以及为C++和Python功能包配置必要的文件。
125 0
|
4月前
|
Ubuntu Shell C++
在Ubuntu18.04上安装ros2的环境,ros2的常用命令:播放包、录制包等
在Ubuntu18.04上安装ros2的环境,ros2的常用命令:播放包、录制包等
226 1
|
4月前
|
机器人 Shell 开发者
ROS2教程08 ROS2的功能包、依赖管理、工作空间配置与编译
这篇文章是关于ROS2(Robot Operating System 2)中功能包、依赖管理、工作空间配置和编译的教程,涵盖了ROS2工作空间的概念、如何获取和安装功能包的依赖、构建工作空间的步骤,以及如何创建和管理ROS2功能包,包括使用命令行工具对功能包进行操作的方法。
562 0
ROS2教程08 ROS2的功能包、依赖管理、工作空间配置与编译
|
4月前
|
存储 缓存 机器人
ROS2教程 01 创建工作空间
本文是关于如何在ROS2(机器人操作系统2)中创建和管理工作空间的教程,介绍了工作空间的概念、ROS1与ROS2工作空间的区别、创建工作空间的步骤,包括建立工作空间文件夹、更新包依赖、编译工作空间以及设置环境变量以便于调用新生成的文件和脚本。
201 0
|
2月前
|
Ubuntu 机器人 Linux
|
1月前
|
自动驾驶 安全 机器人
ROS2:从初识到深入,探索机器人操作系统的进化之路
前言 最近开始接触到基于DDS的这个系统,是在稚晖君的机器人项目中了解和认识到。于是便开始自己买书学习起来,感觉挺有意思的,但是只是单纯的看书籍,总会显得枯燥无味,于是自己又开始在网上找了一些视频教程结合书籍一起来看,便让我对ROS系统有了更深的认识和理解。 ROS的发展历程 ROS诞生于2007年的斯坦福大学,这是早期PR2机器人的原型,这个项目很快被一家商业公司Willow Garage看中,类似现在的风险投资一样,他们投了一大笔钱给这群年轻人,PR2机器人在资本的助推下成功诞生。 2010年,随着PR2机器人的发布,其中的软件正式确定了名称,就叫做机器人操作系统,Robot Op
73 14
|
1月前
|
XML 算法 自动驾驶
ROS进阶:使用URDF和Xacro构建差速轮式机器人模型
【11月更文挑战第7天】本篇文章介绍的是ROS高效进阶内容,使用URDF 语言(xml格式)做一个差速轮式机器人模型,并使用URDF的增强版xacro,对机器人模型文件进行二次优化。
|
1月前
|
自动驾驶 安全 机器人
ROS2:从初识到深入,探索机器人操作系统的进化之路
【11月更文挑战第4天】ROS2的学习过程和应用,介绍DDS系统的框架和知识。
|
7月前
|
传感器 人工智能 算法
ROS机器人操作系统
ROS机器人操作系统
185 1
|
2月前
|
传感器 数据可视化 机器人
【ROS速成】半小时入门机器人ROS系统简明教程之可视化系统(三)
半小时入门机器人ROS系统简明教程之可视化系统
111 0

推荐镜像

更多