edy ros-related packages
The ivaEdy package has dependency on a ros package named dynamixel_motor. There is a repository named ivaDynamixel which is a modified verison of dynamixel_motor in ivaROS. You should clone this package to your workspace.
go to ~/YOUR/ROS_WORKING_SPACE
cd src/
git clone https://github.com/ivaROS/ivaEdy.git
git clone https://github.com/ivaROS/ivaDynamixel.git
cd ..
catkin_make
Note: you may see error when generating cmakelist, please install any missing packages according to the error messages.
ex. you will need dynamixel_motor
git clone https://github.com/ivaROS/ivaDynamixel.git
- edy_dualarm_control: package used for control part of Edy. Mainly responsible for launching node of controller manager and controllers specified in configuration file.
- edy_dualarm_description: package maintains all model-related codes. Mainly urdf file which defines the robot model and mesh files
- edy_dualarm_moveit_config: MoveIt! configuration package that generated by moveit setup assistant.
- edy_dualarm_experiment: package contains experiment codes for real world task for Edy.
- edy_singlearm_control: package used for control part of Edy with only a single arm. Mainly responsible for launching node of controller manager and controllers specified in configuration file.
- edy_singlearm_description: package maintains all model-related codes. But it only models a single arm of Edy. Mainly urdf file which defines the robot model and mesh files
- edy_singlearm_moveit_config: MoveIt! configuration package that generated by moveit setup assistant for Edy with only a single arm.
- edy_singlearm_experiment: package contains experiment codes for real world task for Edy with only a single arm.
Source the pacakges
source devel/setup.bash
First, launch the node of controller manager which will manage all loaded controllers
roslaunch edy_dualarm_control controller_manager.launch
If you get the problem of permission denied, try to do sudo chmod 666 /dev/ttyUSB0
or sudo chmod 666 /dev/ttyUSB1
since there are two OpenCM for Edy.
Then, load joint position controllers and action controllers seperately to avoid synchrinization problem since action controller has the dependency on its own joint position controllers.
roslaunch edy_dualarm_control start_joint_position_controller.launch
roslaunch edy_dualarm_control start_trajectory_action_controller_l.launch
roslaunch edy_dualarm_control start_trajectory_action_controller_r.launch
After starting all controllers, you need to publish tf
information of robot
roslaunch edy_dualarm_description robot_state_pub.launch
The rest things you need to do is about setup for moveit,
roslaunch edy_dualarm_moveit_config move_group.launch
roslaunch edy_dualarm_moveit_config moveit_rviz.launch
Right now you should be good to go, you can launch any file from edy_dualarm_experiment or write your own code to let edy do something For example:
roslaunch edy_dualarm_experiment pick.launch
If you only want to use one single arm (e.g., the left one), follow the same commands but change package name of dualarm to singlearm. For example, roslaunch edy_singlearm_control control_manager.launch