一步步学ROS(2)建立package

本文档介绍了如何在ROS中设置环境变量、创建工作空间、编译以及建立catkin包。步骤包括source环境变量、mkdir创建工作空间、catkin_init_workspace、catkin_make等。新建包需要包含CMakeLists.txt和package.xml文件,并在CMakeLists.txt中修改依赖项。通过catkin_create_pkg创建包,并在完成后更新package.xml的依赖项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、在ros操作之前,要做的是设置环境变量来定位文件
source /opt/ros/indigo/setup.bash
若在当前shell中不设置,则会出现命令找不到(command not found)的情况。

2、以自己建立的小工程为例,以后的其他工作空间的建立和编译等等可以套用此模板

建立工作空间并编译:
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src
catkin_init_workspace
cd ~/catkin_ws/
catkin_make
source devel/setup.bash
(第三条和第六条命令容易忘,第六条是保存这个工作空间的路径到环境变量中去)
echo $ROS_PACKAGE_PATH 确认工作空间路径是否加入环境变量中

建立catkin包
首先要知道,包在哪里建立,必须包含哪些文件
新建的包放在事先建立好的命名空间下的src/目录下,包文件夹下必须包含CMakeLists.txt和package.xml两个文件,而且我们后续的操作都是要在这两个文件中做相应的修改。

以下目录结构参考wiki
这里写图片描述
整个工作空间的文件夹目录

### 如何设置和使用 ROS2 PACKAGE PATH 环境变量 对于ROS2而言,为了使系统能够识别并找到特定的工作空间中的包,需要正确配置 `ROS_PACKAGE_PATH` 环境变量。当创建新的工作空间并且完成编译之后,应当更新此环境变量以便其他终端也能够访问这些包。 #### 方法一:临时设置(仅限当前会话) 可以在命令行中直接输入如下命令来暂时性地向 `ROS_PACKAGE_PATH` 中添加一个新的路径: ```bash export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:/new/path/to/workspace ``` 这种方式下,在同一终端内执行的所有后续操作都将包含新加入的路径;然而一旦关闭该终端窗口,设定即失效[^4]。 #### 方法二:永久保存至 `.bashrc` 文件 更推荐的做法是将上述导出语句追加到个人用户的shell初始化脚本`.bashrc`里边去,从而实现每次登录时自动加载的效果: 编辑器打开`~/.bashrc`文件: ```bash vim ~/.bashrc ``` 在文件末尾处增加一行用于扩展`ROS_PACKAGE_PATH`的内容,注意用冒号分割不同目录,并确保原有值得以保留: ```bash export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:/your/new/package/path ``` 保存更改后退出编辑模式,接着运行下面这条命令让改动即时生效而无需注销重登: ```bash source ~/.bashrc ``` 值得注意的是,如果存在多个不同的路径想要一次性全部加入的话,则应采用类似这样的形式书写: ```bash export ROS_PACKAGE_PATH=/path1:/path2:/path3:${ROS_PACKAGE_PATH} ``` 另外,针对全局范围内的所有用户共享相同的额外包位置的情况,也可以考虑修改系统的profile文件 `/etc/profile`,不过这通常不是首选方案除非确实有必要这样做[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值