-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
priority-P1High priority - core completenessHigh priority - core completenessschemaRelated to schema parsing (msg, srv, action, IDL)Related to schema parsing (msg, srv, action, IDL)
Description
Issue Description
Robocodec does not support parsing ROS action definitions (.action files). Actions are used for long-running goal-oriented tasks in ROS (e.g., navigation, manipulation).
Background
A ROS action file defines three messages separated by "---":
# Example: Fibonacci.action
int32 order # Goal
---
int32[] sequence # Result
---
float32 progress # Feedback
The three parts are: Goal, Result, and Feedback.
Proposed Solution
Extend the schema parser to handle .action files with a new ActionSchema type.
Requirements
- Add action_parser.rs module in src/schema/parser/
- Parse action definition format (Goal --- Result --- Feedback)
- Support ROS1 actionlib and ROS2 action formats
- Integrate with unified parser (auto-detect .action files)
- Add ActionSchema type to src/schema/ast.rs
- Support action type references in message schemas
- Add unit tests for various action formats
- Add integration tests with real .action files
- Update documentation
Acceptance Criteria
- Can parse standard ROS action definitions
- Correctly separates Goal, Result, and Feedback messages
- Handles nested types and arrays in action definitions
- Round-trip parsing preserves all information
Test Cases
- Simple actions (primitive types only)
- Actions with arrays
- Actions with nested message types
- Real-world actions (e.g., control_msgs/FollowJointTrajectory, fibonacci/Fibonacci)
References
- Existing msg parser: src/schema/parser/msg_parser/
- ROS Actions documentation: https://wiki.ros.org/actionlib
- ROS2 Actions: https://docs.ros.org/en/humble/Tutorials/Intermediate/ROS2-Actions/Understanding-ROS2-Actions.html
Priority: P1 - Core ROS completeness
Estimated effort: Medium
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
priority-P1High priority - core completenessHigh priority - core completenessschemaRelated to schema parsing (msg, srv, action, IDL)Related to schema parsing (msg, srv, action, IDL)