以下是创建并初始化一个新的 catkin 工作空间的具体步骤
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src
catkin_init_workspace #这会在 src 目录下创建一个 CMakeLists.txt 文件
构建工作空间
进入工作空间根目录并构建
cd ~/catkin_ws
catkin_make
或者,如果你使用的是 catkin_tools
加载环境变量
为了使新构建的功能包可用,你需要加载新的环境设置:
source devel/setup.bash
手动创建 CMakeLists.txt
实际上,catkin_init_workspace 只是创建了一个简单的 CMakeLists.txt 文件。如果你已经熟悉 catkin 工作空间的结构,也可以手动创建这个文件。例如:
手动创建 CMakeLists.txt
cd ~/catkin_ws/src
ln -s /opt/ros/noetic/share/catkin/cmake/toplevel.cmake CMakeLists.txt
将真实的机器人模型导入到 TF(Transform Framework) 和 Gazebo 仿真工具中,需要完成以下关键步骤:完整示例项目结构
your_robot_description/
├── urdf/
│ ├── robot.urdf.xacro # 主模型文件
│ └── sensors.xacro # 传感器宏定义
├── meshes/ # 3D模型文件(STL/DAE)
├── launch/
│ ├── display.launch # 启动Rviz和TF
│ └── gazebo.launch # 启动Gazebo仿真
└── config/
└── controllers.yaml # ros_control配置文件
工作空间的标准结构
ROS 使用一种称为 "catkin" 的构建系统,它遵循一个标准的目录结构。典型的 catkin 工作空间结构如下:
catkin_ws/
├── src/ # 源代码目录
│ ├── package_a/
│ ├── package_b/
│ └── ...
├── build/ # 构建目录(编译生成的中间文件)
├── devel/ # 开发目录(编译后的可执行文件和库)
└── install/ # 安装目录(最终安装的文件)
一个节点可以同时作为发布者和订阅者,即它可以发布消息到某些话题,也可以从其他话题订阅消息。
一个话题可以有多个发布者和多个订阅者。这意味着多个节点可以向同一个话题发布消息,而另一个节点可以从这个话题订阅并处理这些消息。
每次新建.py的node一定要给可执行权限===executable
话题的名字由自己制定、节点的名字在代码定义(习惯上与.py相同)