Skip to content

Add messages for motion primitives #228

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Jul 19, 2025
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion control_msgs/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,9 @@ set(msg_files
msg/JointTolerance.msg
msg/JointTrajectoryControllerState.msg
msg/MecanumDriveControllerState.msg
msg/MotionArgument.msg
msg/MotionPrimitive.msg
msg/MotionPrimitiveSequence.msg
msg/MultiDOFCommand.msg
msg/MultiDOFStateStamped.msg
msg/PidState.msg
Expand All @@ -35,10 +38,11 @@ set(msg_files
)

set(action_files
action/ParallelGripperCommand.action
action/ExecuteMotionPrimitiveSequence.action
action/FollowJointTrajectory.action
action/GripperCommand.action
action/JointTrajectory.action
action/ParallelGripperCommand.action
action/PointHead.action
action/SingleJointPosition.action
)
Expand Down
10 changes: 10 additions & 0 deletions control_msgs/action/ExecuteMotionPrimitiveSequence.action
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
MotionPrimitiveSequence trajectory
---
int32 SUCCESSFUL = 0
int32 INVALID_GOAL = -1
int32 OLD_HEADER_TIMESTAMP = -3

int32 error_code
string error_string
---
uint8 current_primitive_index # How far are we in the actual trajectory?
2 changes: 2 additions & 0 deletions control_msgs/msg/MotionArgument.msg
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
string argument_name
float64 argument_value
17 changes: 17 additions & 0 deletions control_msgs/msg/MotionPrimitive.msg
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
int8 UNKNOWN=-1
int8 LINEAR_JOINT=0 # Often referred as PTP
int8 LINEAR_CARTESIAN=50 # Often referred as LIN
int8 CIRCULAR_CARTESIAN=51 # Often referred as CIRC
# potentially more, such as spline motion

int8 type -1 # one of the above

float64 blend_radius

MotionArgument[] additional_arguments # (max) velocity, (max) acceleration, efficiency

# Targets should be either specified through joint configurations or Cartesian poses.
# Depending on the motion type and implementation, there might be multiple poses allowed.
# For example, circular motions are often specified as via and target
geometry_msgs/PoseStamped[] poses
float64[] joint_positions
1 change: 1 addition & 0 deletions control_msgs/msg/MotionPrimitiveSequence.msg
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
MotionPrimitive[] motions