This works has done by jimin lee and suhan park. All systems running in Ubuntu 14.04 LTS ROS indigo system.
Here is some guide line to use these packages.
-
Required Device
(1) Hokuyo UTM-30LX-EW
(2) Dynamixel MX-28(RS485 version)
(3) USB2Dynamixel -
Required Package and installation
(1) SMACH state machine package
$ sudo apt-get install ros-indigo-smach
(2) smach_viewer
$ sudo apt-get install ros-indigo-smach-viewer
(2) urg_node
$ sudo apt-get install ros-indigo-urg-node
(3) dynamixel motor
$ sudo apt-get install ros-indigo-dynamixel-motor -
How to use?
(1) rot_lidar package- sudo chmod a+rw /dev/ttyUSBX (X means number of ttyUSB number)
- in launch directory, do this command for start package
$ roslaunch start_system.launch - publish topic
cloud(sensor_msgs::PointCloud2) : one layer point cloud
assembled_cloud(sensor_msgs::PointCloud2) : multi layer point cloud when lidar in rotating - subscribe topic
sweep_cmd(std_msgs::Int32) : 1 means sweep other is nothing
(2) smach_usercase package - now under construction
(3) thormang_biped package - in launch directory, do this command for start package
$ roslaunch display.launch
(4) move_model package - test package for moving thormang model in rviz
- sudo chmod a+rw /dev/ttyUSBX (X means number of ttyUSB number)
##SMACH
State machine
##Vision
Vision
##Dynamixel PRO(Realtime)
Dynamixel Pro node (xenomai)
-
Required Device
(1) DS-MPE-SER4M
(2) Dynamixel PRO H54, H42 Series -
Required Package and installation
(1) Xenomai 2.4.6 kernel and libraries
(2) rosrt
$ sudo apt-get install ros-indigo-rosrt
(3) rt_dynamixel_msgs (included) -
How to use?
-
First boot
- Run serial_setup.sh
- Run serial_setup.sh
-
Service name
- Mode Setting (Server): /rt_dynamixel/mode
- Motor Setting (Server): /rt_dynamixel/motor_set
- Mode Setting (Server): /rt_dynamixel/mode
-
Topic name
- Joint State (Publish): /rt_dynamixel/joint_state
- Joint Set (Subscribe): /rt_dynamixel/joint_set
- Joint State (Publish): /rt_dynamixel/joint_state
(1) Setting Mode
- Call a ros service to change the mode (rt_dynamixel_msgs::ModeSettingRequest::SETTING)
- Call a ros service to set a motor (rt_dynamixel_msgs::MotorSetting)
- Modes<br />
mode = rt_dynamixel_msgs::MotorSettingRequest::SET_GOAL_POSITION<br />
id = target motor id<br />
fvalue = radian<br />
mode = rt_dynamixel_msgs::MotorSettingRequest::SET_TORQUE_ENABLE<br />
value = 1 or 0 (torque ON = 1, OFF = 0)<br />
(2) Freerun Mode (333.3 Hz, Duration 3ms)
- Call a ros service to change the mode (rt_dynamixel_msgs::ModeSettingRequest::CONTROL_RUN)
- Publish target angle datas(Radian) to joint_set
(3) Joint Data
- Current joint state datas are published via /rt_dynamixel/joint_state (333.3 Hz)
- If motor set service is called, data updating is stopped shortly.
##User Interface Qt based user interface
thanks for prepared package company ^.^