feat(level1): ROS2 完全体 12 包 / 80 测试 / 23 文档 / 工程化 / Docker 分组
This commit is contained in:
@@ -0,0 +1,57 @@
|
||||
# bringup
|
||||
|
||||
顶层 launch 聚合包。属于 Level 1 跨包集成层。
|
||||
|
||||
## 6 个 launch 文件
|
||||
|
||||
| 文件 | 启动节点 | 数量 |
|
||||
|---|---|---|
|
||||
| `pubsub_launch.py` | py_pubsub + cpp_pubsub 的 pub/sub | 4 |
|
||||
| `service_launch.py` | add_two_ints_server | 1 |
|
||||
| `action_launch.py` | fibonacci_action_server | 1 |
|
||||
| `robot_launch.py` | URDF + JointState + TF(nested `cpp_robot_tf2`) | 3 |
|
||||
| `vision_launch.py` | fake_camera + image_processor(nested `py_vision_demo`) | 2 |
|
||||
| `full_demo_launch.py` | 上面所有组合 | **11** |
|
||||
|
||||
## 关键设计
|
||||
|
||||
- **不实现业务节点** — 只用 `IncludeLaunchDescription` 复用其他包的 launch
|
||||
- **跨包嵌套** — `robot_launch.py` / `vision_launch.py` 用 `FindPackageShare` + `PythonLaunchDescriptionSource` 引用单包 launch
|
||||
- **包名避让** — 包名是 `bringup`,**不是** `launch`(与 ROS2 系统包同名会冲突)
|
||||
|
||||
## 运行
|
||||
|
||||
```bash
|
||||
# 各 demo 单独启动
|
||||
ros2 launch bringup pubsub_launch.py
|
||||
ros2 launch bringup service_launch.py
|
||||
ros2 launch bringup action_launch.py
|
||||
ros2 launch bringup robot_launch.py
|
||||
ros2 launch bringup vision_launch.py
|
||||
|
||||
# 全开(11 节点同时跑)
|
||||
ros2 launch bringup full_demo_launch.py
|
||||
```
|
||||
|
||||
## 验证端到端
|
||||
|
||||
```bash
|
||||
# 跨包跨语言 Topic:PY + CPP 同时发,listener 都收到
|
||||
ros2 launch bringup pubsub_launch.py
|
||||
ros2 topic info /chatter -v
|
||||
# 预期:Publication count: 2, Subscription count: 2
|
||||
|
||||
# Action
|
||||
ros2 launch bringup action_launch.py
|
||||
ros2 action send_goal /fibonacci example_interfaces/action/Fibonacci "{order: 6}" --feedback
|
||||
|
||||
# Service
|
||||
ros2 launch bringup service_launch.py
|
||||
ros2 service call /add_two_ints example_interfaces/srv/AddTwoInts "{a: 12, b: 30}"
|
||||
# 预期: sum: 42
|
||||
```
|
||||
|
||||
## 深度学习
|
||||
|
||||
- 编程规范:[`doc/CODING_STYLE.md`](../doc/CODING_STYLE.md) §5.5
|
||||
- launch 深度:[`doc/70-launch.md`](../doc/70-launch.md)
|
||||
Reference in New Issue
Block a user