If you haven’t already done so, make sure you’ve completed the steps in Getting Started.
Open two shells and make sure you have re-sourced the setup files in both of them:
In the first shell start RViz and wait for everything to finish loading:
roslaunch mara_moveit_config demo.launch
In the Motion Planning plugin of RViz, enable Allow External Comm. checkbox in the Planning tab. Enable the Query Goal State robot display in the MoveIt! Motion Planning Plugins’ Planning Request section.
Now launch in the second shell, run the joystick_control.launch file:
roslaunch mara_moveit_config joystick_control.launch
The script defaults to using /dev/input/js0 for your game controller port. To customize, you can also use, for example:
roslaunch mara_moveit_config joystick_control.launch dev:=/dev/input/js1
This script can read four types of joysticks:
|Command||PS3 Controller||Xbox Controller||Arctic Controller|
|+-x/y||left analog stick||left analog stick||left analog stick|
|change planning group||select/start||Y/A||9/10|
|change end effector||triangle/cross||back/start||1/3|
Add “Pose” to RViz Displays and subscribe to /joy_pose in order to see the output from joystick.
Note that only planning groups that have IK solvers for all their End Effector parent groups will work.