micro-ROS / micro-ROS/system_modes
[FEA] Allow all inactive in DEFAULT MODE.
- 主要語言
- C++
- 星號
- 45
- 分支
- 13
- PR 合併指標
- 30 天內沒有已合併 PR
描述
#### SHM file
```yaml
# system modes example
---
actuation:
ros__parameters:
type: system
parts:
drive_base
left/manipulator
right/manipulator
modes:
__DEFAULT__:
drive_base: inactive.__DEFAULT__
left/manipulator: inactive.__DEFAULT__
right/manipulator: inactive.__DEFAULT__
LEFT:
# drive_base: active.__DEFAULT__
left/manipulator: active.__DEFAULT__
# right/manipulsator: inactive.__DEFAULT__
RIGHT:
# drive_base: active.__DEFAULT__
# left/manipulator: inactive.__DEFAULT__
right/manipulator: active.__DEFAULT__
left/manipulator:
ros__parameters:
type: node
modes:
__DEFAULT__:
ros__parameters:
max_torque: 0.1
drive_base:
ros__parameters:
type: node
modes:
__DEFAULT__:
ros__parameters:
max_speed: 0.1
controller: PID
right/manipulator:
ros__parameters:
type: node
modes:
__DEFAULT__:
ros__parameters:
max_torque: 0.11
```
#### step to reproduce
```sh
zs@zs-vm-2204:~/zs_ws/ga_ros$ time ros2 service call /actuation/change_state lifecycle_msgs/ChangeState "{transition: {id: 1, label: configure}}"
waiting for service to become available...
requester: making request: lifecycle_msgs.srv.ChangeState_Request(transition=lifecycle_msgs.msg.Transition(id=1, label='configure'))
response:
lifecycle_msgs.srv.ChangeState_Response(success=True)
real 0m2.185s
user 0m0.459s
sys 0m0.086s
```
#### expected behavior
all nodes would be in DEFAULT mode, which is all inactivated
#### actual behavior

貢獻指南
研究方向
從 ROS 2 服務進入點 /actuation/change_state 開始,並使用 YAML 系統模式範例重現 configure 請求。追蹤 __DEFAULT__ 模式指派的套用方式,然後驗證設定 /actuation 後 drive_base 和兩個機械手臂都保持非作用中狀態。
由索引模型根據 Issue 內容生成。
評估
- 技術堆疊
- cpp
- 領域
- robotics
- Issue 類型
- 功能
- 難度
- 4/5
- 預估耗時
- 3-5 天
- 活躍度
- 停滯
- 描述清晰度
- 基本清楚
- 新手友好度
- 35/100