One of good news about ROS community is that the maintenance of MoveIt! got revitalized where TORK is contributing to as well. In 2016 there has already been three binary update releases so far. No more building from source if you were forced to!
Running the feature is as simple as joystick. On RViz on the host where the joystick is plugged, check “Planning” tab –> “AllowExternalExecution” (see the image below).
Then run a launch file, either the one in your XXXX_moveit_config package if there’s already the aforementioned launch file, or simply make a launch file with the following:
<!-- https://github.com/ros-planning/moveit_setup_assistant/pull/90 --> <launch> <arg name="dev" default="/dev/input/js0" /> <!-- Launch joy node --> <node pkg="joy" type="joy_node" name="joy"> <param name="dev" value="$(arg dev)" /> <!-- Customize this to match the location your joystick is plugged in on--> <param name="deadzone" value="0.2" /> <param name="autorepeat_rate" value="40" /> <param name="coalesce_interval" value="0.025" /> </node> <!-- Launch python interface --> <node pkg="moveit_ros_visualization" type="moveit_joy.py" output="screen" name="moveit_joy"/> </launch>
For the detail follow the usage page.
roslaunch nextage_moveit_config joystick_control.launch dev:=/dev/input/js1
(At the top window, the human operator plans the movement on RViz visualizer. Once the plan looks good then operator executes the plan so that the simulated robot in the bottom window conducts the movement. This is a screen capture so joystick isn’t invisible, but yes, all the robot’s movement is commanded from a Sony PS3 joystick.)