Using a joystick or a gamepad

I am sure that, at one point or another, you have used a joystick or a gamepad of a video console.

A joystick is nothing more than a series of buttons and potentiometers. With this device, you can perform or control a wide range of actions.

In ROS, a joystick is used to telecontrol a robot to change its velocity or direction.

Before we start, we are going to install some packages. To install these packages in Ubuntu, execute the following command:

    $ sudo apt-get install ros-kinetic-joystick-drivers
    $ rosstack profile & rospack profile  

In these packages, you will find code to learn how to use the joystick and a guide to create our packages.

First of all, connect your joystick to your computer. Now, we are going to check whether the joystick is recognized using the following command:

    $ ls /dev/input/  

We will see the following output:

    by-id event0 event2 event4 event6 event8 js0 mouse0
    by-path event1 event3 event5 event7 event9 mice  

The port created is js0; with the jstest command, we can check whether it is working, using the following code:

    $ sudo jstest /dev/input/js0
    
    Axes: 0: 0 1: 0 2: 0 Buttons: 0:off 1:off 2:off 3:off 4:off 5:off 6:off 7:off 8:off 9:off 10:off 

Our joystick, Logitech F710, has 8 axes and 11 buttons, and if we move the joystick, the values change.

Once you have checked the joystick, we are going to test it in ROS. To do this, you can use the joy and joy_node packages:

    $ rosrun joy joy_node  

If everything is OK, you will see the following output:

    [ INFO] [1357571588.441808789]: Opened joystick: /dev/input/js0. deadzone_: 0.050000.  
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.118.163.159