ROS 2 interface package providing custom messages for the IsyHand.
- Package manifest: package.xml
- Build file: CMakeLists.txt
Messages
isyhand_interface/msg/JointState.msg— current state of hand joints (header, joint ids, encoder/radian/scale positions, currents, temperatures).isyhand_interface/msg/CommandJointPos.msg— commanded joint positions (header, joint ids, encoder or scaled positions). RL policies can be trained to output actions between -1 and 1. In this case, use scaled positions.
Quick overview of the messages
isyhand_interface/msg/JointState.msgstd_msgs/Header header— ROS header for timestamps/frame.string[] joint_names- Dynamixel motor IDsint32[] absolute_positions— encoder unitsfloat32[] radian_positionsfloat32[] scale_positions- units scaled between -1 and +1 corresponding to the ranges of the motors defined by the robot urdf.int32[] currentsint32[] temperatures
isyhand_interface/msg/CommandJointPos.msgstd_msgs/Header headerstring[] joint_namesint32[] absolute_positionsfloat32[] scaled_positions
Build / install
- Place this package in a ROS 2 workspace
src/directory. - From the workspace root:
colcon build - Source the install setup:
source install/setup.bash
Example:
# Publish a JointState (one-shot)
ros2 topic pub /isyhand/joint_states isyhand_interface/msg/JointState "{ header: {stamp: {sec: 0, nanosec: 0}, frame_id: ''}, joint_names: ['thumb'], absolute_positions: [123], radian_positions: [1.57], scale_positions: [0.5], currents: [100], temperatures: [30] }"
# Echo the topic
ros2 topic echo /isyhand/joint_states
License
- Apache License 2.0 (see package.xml).
Contact
- Maintainer: Ben Richardson (ben.richardson.830@gmail.com)