ros创建工作空间与工作包
时间: 2025-03-25 15:24:20 浏览: 50
### 如何在 ROS 中创建工作空间和工作包
#### 创建 ROS 工作空间
为了管理 ROS 项目中的多个软件包,通常会先创建一个工作区 (workspace)。以下是具体方法:
通过命令行工具可以轻松完成此操作。首先,在用户的主目录下创建一个新的文件夹作为工作区根目录,并初始化 `src` 文件夹[^4]。
```bash
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src
catkin_init_workspace
```
接着返回到工作区的根目录并构建环境变量设置脚本:
```bash
cd ~/catkin_ws
catkin_make
source devel/setup.bash
```
这一步完成后,当前终端已经配置好新的工作区路径,允许用户在此环境中开发新功能包或运行现有节点。
#### 创建 ROS 软件包
一旦设置了适当的工作区结构,就可以继续定义自己的第一个自定义包了。下面展示的是标准流程来生成一个新的 Catkin 类型包[^2]:
进入之前建立好的源码子目录位置执行如下指令:
```bash
cd ~/catkin_ws/src
catkin_create_pkg my_package roscpp std_msgs
```
这里假设我们命名为 `my_package`, 同时指定了依赖项列表包括 C++ 库接口 (`roscpp`) 和消息头文件集合(`std_msgs`). 这些参数告诉系统哪些外部资源会被这个新建包所利用以便后续编译链接阶段能够顺利找到它们.
最后再次回到上层调用一次完整的 Makefile 构建过程以反映新增加的内容变化情况:
```bash
cd ~/catkin_ws
catkin_make
```
此时如果一切正常的话应该可以在指定的目标产物输出区域看到对应的结果集形成完毕提示信息。
#### 示例代码片段
以下是一个简单的例子演示如何填充 QNode 的实现细节从而快速搭建基于 Qt GUI 的应用程序框架[^3]:
```cpp
#include "ros/ros.h"
#include <QString>
int main(int argc, char **argv){
ros::init(argc, argv,"qt_gui_node");
QString str="Hello World!";
ROS_INFO("%s",str.toStdString().c_str());
}
```
阅读全文
相关推荐














