Control Node¶
Robot controller node
Obtaining End-Effector Control Information¶
Topic¶
/wbc/motion_control_status
Message Type¶
genie_msgs::msg::MotionControlStatus.msg
std_msgs/Header header # frame id defaults to base_link, timestamp is the send time
# Feedback of end-effector pose status
string[] frame_names # Defined by the motion control parameter configuration
geometry_msgs/Pose[] frame_poses
# Feedback of self-collision status
# [collision_pair_1, collision_pair_2] form the frame names of a collision pair
string[] collision_pairs_1
string[] collision_pairs_2
# Motion control mode
uint8 MODE_STOP=0
uint8 MODE_SERVO=1
uint8 MODE_PLANNING=2
uint8 mode
# Motion control error code for real-time control
# 0: no error
uint8 error_code
string error_msg
geometry_msgs/Twist[] frame_twists
geometry_msgs/Wrench[] frame_wrenchs
Obtaining Joint Angles¶
Topic¶
/hal/joint_state
Message Type¶
genie_msgs::msg::JointState
# The state of each joint (revolute or prismatic) is defined by:
# * the control mode (csp 0, cst 1)
# * the position of the joint (rad or m),
# * the velocity of the joint (rad/s or m/s),
# * the effort that is applied in the joint (Nm or N),
# * the position of the motor (rad or m),
# * the velocity of the motor (rad/s or m/s),
# * the current of the motor (A),
# * the error_code of the joint.
#
# TODO: Error code description or joint error code page
std_msgs/Header header
string[] name
uint32[] mode
float64[] position
float64[] velocity
float64[] effort
float64[] motor_position
float64[] motor_velocity
float64[] motor_current
uint32[] error_code
Controlling the Robot via Joint Angles¶
Topic¶
/MotionControlService/JointPosition/request
Message Type¶
genie_msg::msg::CommonResponse.msg
# frame id is unused, timestamp is the send time
std_msgs/Header header
float64 lifetime
string[] joint_names
float64[] joint_positions
float64[] joint_velocities
string uuid
string details
Joint Angle Control Command Feedback¶
Topic¶
/MotionControlService/JointPosition/response
Message Type¶
genie_msg::msg::CommonResponse.msg
# frame id is unused, timestamp is the send time
std_msgs/Header header
uint8 data
string uuid
string detail