Niryo_robot_arm_commander¶
This package is the one dealing with all commander related stuff.
It is composed of only one node, which runs 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.
It belongs to the ROS namespace: /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 files - Commander¶
RobotMove¶
# goal
niryo_robot_arm_commander/ArmMoveCommand cmd
---
# result
int32 status
string message
---
# feedback
niryo_robot_msgs/RobotState state
Services files - Commander¶
GetFK¶
float32[] joints
---
niryo_robot_msgs/RobotState pose
GetIK¶
niryo_robot_msgs/RobotState pose
---
bool success
float32[] joints
JogShift¶
int32 JOINTS_SHIFT = 1
int32 POSE_SHIFT = 2
int32 cmd
float32[] shift_values
---
int32 status
string message
Messages files - Commander¶
ArmMoveCommand¶
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 DRAW_CIRCLE = 10
int32 EXECUTE_FULL_TRAJ = 11
int32 EXECUTE_RAW_TRAJ = 12
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
trajectory_msgs/JointTrajectory trajectory
float64[] args
PausePlanExecution¶
int8 STANDBY = 0
int8 PLAY = 1
int8 PAUSE = 2
int8 RESUME = 3
int8 CANCEL = 4
float64 PAUSE_TIMEOUT = 30.0
int8 state
ShiftPose¶
int32 axis_number
float64 value