add ExecuteBtAction.action and SkillCall.msg

This commit is contained in:
2025-10-24 13:54:43 +08:00
parent e6ff6a8900
commit c25c6d6267
3 changed files with 55 additions and 0 deletions

View File

@@ -30,6 +30,7 @@ set(msg_files
msg/ArmActionType.msg
msg/ArmErrCode.msg
msg/ArmDataLength.msg
msg/SkillCall.msg
)
set(action_files
action/MoveToPosition.action
@@ -44,6 +45,7 @@ set(action_files
action/MoveLeg.action
action/MoveWaist.action
action/MoveWheel.action
action/ExecuteBtAction.action
)
set(srv_files
srv/VisionObjectRecognition.srv

View File

@@ -0,0 +1,47 @@
###############################################################
# ExecuteBtAction
#
# Goal:
# action_name: A skill sequence or single skill name. For a single
# skill this is typically the canonical CamelCase name
# (e.g. "ArmSpaceControl"). Multiple skills may be
# separated by commas/semicolons/spaces.
#
# Result:
# success: Overall success flag for the entire (possibly multi)
# skill sequence.
# message: Human readable summary (e.g. "Seq{A,B}: A(OK), B(FAIL)[detail]").
# total_skills:How many skills were requested (after parsing).
# succeeded_skills: Number of skills that finished with success.
#
# Feedback (streamed):
# stage: Highlevel stage label: START | WAIT | RUN | END.
# current_skill:Name of the skill currently being processed.
# progress: Float in [0,1]. START of first skill => 0.0, END of last
# skill => 1.0. Intermediate values are proportional to
# (completed_skills + stage_offset)/total_skills where
# stage_offset is 0 for START/WAIT/RUN and 1 for END of a skill.
# detail: Optional detail (e.g. retry attempt, OK/FAIL, waiting cause).
###############################################################
# Goal
# epoch: Sequence epoch (monotonically increasing id assigned by Cerebrum). Used so the
# server can reject stale goals and stop publishing feedback from older epochs.
uint32 epoch
string action_name
interfaces/SkillCall[] calls
---
# Result
bool success
string message
int32 total_skills
int32 succeeded_skills
---
# Feedback
uint32 epoch
string stage
string current_skill
float32 progress
string detail

6
src/msg/SkillCall.msg Normal file
View File

@@ -0,0 +1,6 @@
# Generic skill call descriptor for ExecuteBtAction (scheme A)
string name # Skill name, e.g., "MoveWaist" / "MoveLeg"
string interface_type # e.g., "interfaces/action/MoveWaist" or "interfaces/srv/VisionObjectRecognition"
string call_kind # "action" | "srv"
string topic # optional topic/service override; empty => use defaults/parameters
string payload_yaml # YAML string of Goal/Request fields; may be empty for default goal