This project is merged to jsk-ros-pkg/jsk_robot.
ROS package for SoftHand
This package depends on the branch below.
source /opt/ros/$ROS_DISTRO/setup.bash
mkdir ~/softhand_ws/src -p
cd ~/softhand_ws/src
wget https://raw.githubusercontent.com/knorth55/softhand_ros/master/fc.rosinstall -O .rosinstall
wstool up
rosdep install --ignore-src --from-paths . -y -r -i
cd ~/softhand_ws
catkin build
source ~/softhand_ws/devel/setup.bash
roscd softhand_ros
sudo cp udev/*.rules /etc/udev/rules.d
sudo service udev reload
sudo service udev restart
source ~/softhand_ws/devel/setup.bash
# for left softhand v1
roslaunch softhand_ros softhand_left.launch
# for right softhand v1
roslaunch softhand_ros softhand_right.launch
source ~/softhand_ws/devel/setup.bash
# for left softhand v2
roslaunch softhand_ros softhand_v2_left.launch
# for right softhand v2
roslaunch softhand_ros softhand_v2_right.launch
source ~/softhand_ws/devel/setup.bash
roscd softhand_ros/euslisp
roseus softhand-interface.l
# euslisp interactive mode
# (softhand-init)
# (send *ri* :start-grasp)
# (send *ri* :stop-grasp)
source ~/softhand_ws/devel/setup.bash
roscd softhand_ros/euslisp
roseus softhand-v2-interface.l
# euslisp interactive mode
# (softhand-v2-init)
# (send *ri* :close-thumb)
# (send *ri* :open-thumb)
# (send *ri* :start-grasp)
# (send *ri* :stop-grasp)
# set baud rate from 57600 to 1000000
rosrun dynamixel_driver set_servo_config.py -b 57600 -r 1 MOTOR_ID
# set baud rate from 57600 to 57143
rosrun dynamixel_driver set_servo_config.py -b 57600 -r 34 MOTOR_ID
rosrun dynamixel_driver change_id.py OLD_MOTOR_ID NEW_MOTOR_ID
- 1: Thumb
- 2: Index finger
- 3: Middle finger
- 1: Thumb rotate
- 2: Thumb
- 3: Index finger
- 4: Middle finger
import roslib
roslib.load_manifest('dynamixel_driver')
from dynamixel_driver import dynamixel_io
# for softhand v1
dxl_io = dynamixel_io.DynamixelIO("/dev/ttyUSB0", 1000000)
dxl_io.write(MOTOR_ID, 17, (4,))
dxl_io.write(MOTOR_ID, 18, (4,))
import roslib
roslib.load_manifest('dynamixel_driver')
from dynamixel_driver import dynamixel_io
# for softhand v2
dxl_io = dynamixel_io.DynamixelIO("/dev/ttyUSB0", 57600)
dxl_io.write(MOTOR_ID, 17, (4,))
dxl_io.write(MOTOR_ID, 18, (4,))
We distinguish left and right hand with product
field of FTDI chip on E151.
- Left softhand v1 E151's
product
:LEFT-E151
- Right softhand v1 E151's
product
:RIGHT-E151
- Left softhand v2 E151's
product
:LEFT-V2-E151
- Right softhand v2 E151's
product
:RIGHT-V2-E151
In order to change them, please follow jsk_apc doc.
If you don't have windows, you can do it with richardeoin/ftx-prog as follows.
git clone https://github.com/richardeoin/ftx-prog.git
cd ftx-prog/
make
# for left softhand v1
sudo ./ftx-prog --product LEFT-E151
# for right softhand v1
sudo ./ftx-prog --product RIGHT-E151
# for left softhand v2
sudo ./ftx-prog --product LEFT-V2-E151
# for right softhand v2
sudo ./ftx-prog --product RIGHT-V2-E151