ROS Teleop

From wikidb
Revision as of 17:28, 28 December 2015 by Edc (Talk | contribs)

Jump to: navigation, search

Investigate

Background

Packages

 aptitude search joy
 aptitude search teleop
 ros-indigo-joy-teleop package       - A (to be) generic joystick interface to control a robot
 ros-indigo-teleop-twist-joy package - Generic joystick teleop for twist robots.
 ros-indigo-key-teleop               - A text-based interface to send a robot movement commands
 ros-indigo-teleop-tools             - A set of generic teleoperation tools for any robot.
 ros-indigo-teleop-tools-msgs        - The teleop_tools_msgs package 
 ros-indigo-teleop-twist-keyboard    - The teleop_twist_keyboard package
 ros-indigo-turtlebot-teleop         - Provides teleoperation using joysticks or keyboard.

ros-indigo-teleop-twist-joy

References

Primary

Others

Install

 sudo apt-get install ros-indigo-teleop-twist-joy

Setup

For the Logitech G-UF13A (PID VV811) joystick.

In <somewhere>/launch put the file teleop.launch.

In /opt/ros/indigo/share/teleop_twist_joy/config/ put the file floorHugger.config.yaml.

Run

In first terminal.

 roscore

In second terminal.

 cd <somewhere>/launch
 roslaunch teleop.launch

In a third terminal.

 rosrun phidgets motor_control_hc

Experiments

The following experiments were done to determine how the package worked.

 dpkg -L ros-indigo-teleop-twist-joy
 emacs /opt/ros/indigo/share/teleop_twist_joy/launch/teleop.launch&
 cd catkin_ws_indigo/
 mkdir launch
 cd launch/
 sudo cp /opt/ros/indigo/share/teleop_twist_joy/launch/teleop.launch .
 apt-cache show ros-indigo-teleop-twist-joy

Running experiments

 roslaunch teleop.launch

In another terminal I tried these

 rostopic list

The above listed the cmd_vel and joy messages.

 rostopic echo joy

The above showed continuous snapshots of the joy message.

 rostopic echo cmd_vel 

The above showed expected twist messages but only when the "9" bittpm (or 10 internal) was pressed in conjunction with the left joystick. See below for example output. How do you make it work without pressing the button?

     linear: 
       x: 0.7
       y: 0.0
       z: 0.0
     angular: 
       x: 0.0
       y: 0.0
       z: 0.111364662647

ros-indigo-joy-teleop

The following is not used but appears for reference only.

References

Install

 sudo apt-get install ros-indigo-joy-teleop

Run

Did the following to find executables:

The result was joy_leleop.py which lead to the rosrun command below.

 dpkg -L ros-indigo-joy-teleop
     ...
     /opt/ros/indigo/lib/joy_teleop
     /opt/ros/indigo/lib/joy_teleop/joy_teleop.py
     /opt/ros/indigo/lib/joy_teleop/incrementer_server.py
     ...

In the first terminal.

 rosparam set joy_node/dev "/dev/input/js0"
 rosrun joy joy_node

In the second terminal.

 rosrun joy_teleop joy_teleop.py
     [FATAL] [WallTime: 1450196955.332980] no configuration was found, taking node down

This should be fixable using the above reference links. Chose the twist package above because it may be a better option based on those links.

To Investigate

ros-indigo-teleop-tools