Niryo_robot_arm_commander¶
This package is the one dealing with all commander related stuff.
It is composed of only one node, which is running separately the arm commander and the tool commander.
Commander node¶
- The ROS Node is made to interact with:
- The Arm through MoveIt!
- The tools through the tool controller.
- All commands are firstly received on the actionlib server which:
- Handles concurrent requests.
- Checks if the command can’t be processed due to other factors (ex: learning mode).
- Validates parameters.
- Calls required controllers and returns appropriate status and message.
The namespace used is: /niryo_robot_arm_commander/
Parameters - Commander¶
Name | Description |
---|---|
reference_frame |
Reference frame used by MoveIt! for moveP.
Default : ‘world’
|
move_group_commander_name |
Name of the group that MoveIt is controlling. By default: “arm” |
jog_timer_rate_sec |
Publish rate for jog controller |
simu_gripper |
If you are using the simulated Gripper and want to control the Gripper |
Action Server - Commander¶
Name | Message Type | Description |
---|---|---|
robot_action |
RobotMove | Command the arm and tools through an action server |
Services - Commander¶
Name | Message Type | Description |
---|---|---|
is_active |
GetBool | Indicate whereas a command is actually running or not |
stop_command |
Trigger | Stop the actual command |
set_max_velocity_scaling_factor |
SetInt | Set a percentage of maximum speed |
/niryo_robot/kinematics/forward |
GetFK | Compute a Forward Kinematic |
/niryo_robot/kinematics/inverse |
GetIK | Compute a Inverse Kinematic |
Messages - Commander¶
Name | Description |
---|---|
ArmMoveCommand | Message to command the arm |
ShiftPose | Message for shifting pose |
PausePlanExecution | Pause movement execution |
All these services are available as soon as the node is started.
Action, services & messages files - Commander¶
RobotMove (Action)¶
# goal
niryo_robot_arm_commander/ArmMoveCommand cmd
---
# result
int32 status
string message
---
# feedback
niryo_robot_msgs/RobotState state
GetFK (Service)¶
float32[] joints
---
niryo_robot_msgs/RobotState pose
GetIK (Service)¶
niryo_robot_msgs/RobotState pose
---
bool success
float32[] joints
JogShift (Service)¶
int32 JOINTS_SHIFT = 1
int32 POSE_SHIFT = 2
int32 cmd
float32[] shift_values
---
int32 status
string message
ArmMoveCommand (Message)¶
int32 JOINTS = 0 # uses joints
int32 POSE = 1 # uses position and rpy
int32 POSITION = 2 # uses position
int32 RPY = 3 # uses rpy
int32 POSE_QUAT = 4 # uses position and orientation
int32 LINEAR_POSE = 5 # uses position and rpy
int32 SHIFT_POSE = 6 # uses shift
int32 SHIFT_LINEAR_POSE = 7 # uses shift
int32 EXECUTE_TRAJ = 8 # uses dist_smoothing, list_poses
int32 DRAW_SPIRAL = 9
int32 cmd_type
float64[] joints
geometry_msgs/Point position
niryo_robot_msgs/RPY rpy
geometry_msgs/Quaternion orientation
niryo_robot_arm_commander/ShiftPose shift
geometry_msgs/Pose[] list_poses
float32 dist_smoothing
PausePlanExecution (Message)¶
int8 STANDBY = 0
int8 PLAY = 1
int8 PAUSE = 2
int8 RESUME = 3
int8 CANCEL = 4
int8 state
ShiftPose (Message)¶
int32 axis_number
float64 value