-
Notifications
You must be signed in to change notification settings - Fork 0
Hubo ROS API (Design)
-
Report the state of Hubo (joints, motors, sensors, and system)
-
Provide joint level position setting (single-joint and multi-joint)
-
Provide trajectory-level control (single limb and whole-body)
-
Provide online and offline kinematic (FK, per-limb IK, and whole-body IK)
-
Provide low-level input to ZMP walking controller
-
Provide high-level input to ZMP walking controller
-
Provide commands to the hands
Wherever possible, the Hubo API should match the API available for the PR2 to provide ease-of-use and easy migration from PR2-targeted code. In particular, message, service, and actionlib conventions should be followed as closely as possible to match existing documentation and example code.
(Message) [hubo_controller/<joint name>/state] {sensor_msgs/JointState}
(Message) [hubo_controller/l_arm/state] {sensor_msgs/JointState}
(Message) [hubo_controller/r_arm/state] {sensor_msgs/JointState}
(Message) [hubo_controller/full_body/state] {sensor_msgs/JointState}
(Message) [hubo_controller/<motor name>/status] {hubo_msgs/MotorStatus} *Message not defined
(Message) F-T sensors, "IMU" sensors, (?)
Environmental
(Message) Temperatures, other environmental sensors (?)
Power system
(Message) Raw voltages, battery information, estimated battery life
Network state
(Message(s)) IP address(s), link statistics, (?)
Calibration
(Message) Calibration states of all joints
(Service call) Command calibration (?)
(TF Frames) Complete tree for **all** links, joints, cameras (physical link + optical frame), and sensors.
(RobotState) Robot state for Rviz
(Actionlib) [hubo_controller/<joint name>/command_action] {hubo_msgs/JointCommandAction}
(Actionlib) [hubo_controller/l_arm/command_action] {hubo_msgs/JointCommandAction}
(Actionlib) [hubo_controller/r_arm/command_action] {hubo_msgs/JointCommandAction}
(Actionlib) [hubo_controller/full_body/command_action] {hubo_msgs/JointCommandAction}
(Actionlib call) [hubo_controller/l_arm/joint_trajectory_action] {hubo_msgs/JointTrajectoryAction}
(Actionlib call) [hubo_controller/r_arm/joint_trajectory_action] {hubo_msgs/JointTrajectoryAction}
(Actionlib call) [hubo_controller/head/joint_trajectory_action] {hubo_msgs/JointTrajectoryAction}
(Actionlib call) [hubo_controller/full_body/joint_trajectory_action] {hubo_msgs/JointTrajectoryAction}
(Service call) [hubo_kinematics/l_arm/get_fk] {kinematics_msgs/GetPositionFK}
(service call) [hubo_kinematics/r_arm/get_fk] {kinematics_msgs/GetPositionFK}
(Service call) [hubo_kinematics/full_body/get_fk] {kinematics_msgs/GetPositionFK}
(Service call) [hubo_kinematics/l_arm/get_ik] {kinematics_msgs/GetPositionIK}
(Service call) [hubo_kinematics/r_arm/get_ik] {kinematics_msgs/GetPositionIK}
(Service call) [hubo_kinematics/full_body/get_ik] {kinematics_msgs/GetPositionIK}
(Service call) [hubo_walk/check_footsteps] {hubo_walk_msgs/CheckFootstepPath} *Service not defined
(Actionlib call) [hubo_walk/follow_footsteps_action] {hubo_walk_msgs/FootstepPath} *Action not defined
(Actionlib call) [hubo_walk/walk_to_action] {hubo_walk_msgs/WalkingGoal} *Action not defined
(Actionlib call) [hubo_walk/walk_to_action_collision_free] {hubo_walk_msgs/WalkingGoal} *Action not defined
(Actionlib) Control the hands (force/position?) *Action not defined