Difference between revisions of "ROS Teleop"
(→Experiments) |
|||
(30 intermediate revisions by the same user not shown) | |||
Line 3: | Line 3: | ||
=== Background === | === Background === | ||
− | * [http://wiki.ros.org/joy/Tutorials/WritingTeleopNode Writing TelopNode | + | * [http://wiki.ros.org/joy/Tutorials/WritingTeleopNode Writing TelopNode Tutorial] |
+ | * [http://wiki.ros.org/joystick_drivers/Tutorials/TeleopNode Write a Generic Teleoperation Node Tutorial] | ||
=== Packages === | === Packages === | ||
Line 18: | Line 19: | ||
ros-indigo-turtlebot-teleop - Provides teleoperation using joysticks or keyboard. | ros-indigo-turtlebot-teleop - Provides teleoperation using joysticks or keyboard. | ||
− | + | == ros-indigo-teleop-twist-joy == | |
− | + | === References === | |
− | + | Primary | |
+ | * [http://wiki.ros.org/teleop_twist_joy ROS Page] | ||
− | * [http://repos.ros.org/repos/building/pool/main/r/ros-indigo-teleop-twist-joy/ Repository] | + | Others |
+ | * [http://repos.ros.org/repos/building/pool/main/r/ros-indigo-teleop-twist-joy/ ROS Repository] | ||
+ | * [https://github.com/ros-teleop/teleop_twist_joy Git] | ||
+ | * [http://docs.ros.org/indigo/api/teleop_twist_joy/html/ ROS Docs] | ||
+ | * [http://docs.ros.org/indigo/api/teleop_twist_joy/html/teleop__twist__joy_8cpp_source.html teleop_twist_joy.cpp] | ||
* [https://aur.archlinux.org/packages/ros-indigo-teleop-twist-joy/ Arch Linux Documentation] | * [https://aur.archlinux.org/packages/ros-indigo-teleop-twist-joy/ Arch Linux Documentation] | ||
* [http://apt.dellin.net/pool/wheezy/main/r/ros-indigo-teleop-twist-joy/ Raspberry Pi] | * [http://apt.dellin.net/pool/wheezy/main/r/ros-indigo-teleop-twist-joy/ Raspberry Pi] | ||
+ | |||
+ | === 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. | ||
+ | |||
+ | roslaunch floor_hugger js_motor_control.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 floor_hugger js_motor_control.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 === | ||
+ | |||
+ | * [http://wiki.ros.org/teleop_twist_joy ROS Documentation] | ||
+ | * [http://answers.ros.org/question/205495/params-for-joy_teleop-package/ Setting Parameters] | ||
+ | * [https://github.com/ros-teleop/teleop_tools/issues/10 Launching joy-teleop] | ||
+ | * [https://github.com/pal-robotics/reem_robot/blob/hydro-devel/reem_bringup/launch/joystick_teleop.launch example launch file] | ||
+ | * [https://github.com/ros-teleop/teleop_tools/blob/indigo-devel/joy_teleop/config/joy_teleop.yaml example yams file] | ||
+ | |||
+ | === 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 === | ||
+ | |||
+ | * [http://apt.dellin.net/pool/wheezy/main/r/ros-indigo-teleop-tools/ Raspberry Pi] |
Latest revision as of 11:41, 26 April 2016
Contents
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.
roslaunch floor_hugger js_motor_control.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 floor_hugger js_motor_control.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.