Show EOL distros:
Package Summary
This Package enables remote controll of Care-O-bot via a joystick or keyboard. Currently tray, torso, arm and base are supported.
- Author: Florian Weisshardt
- License: LGPL
- Repository: care-o-bot
- Source: git https://github.com/ipa320/cob_apps.git
Package Summary
This Package enables remote controll of Care-O-bot via a joystick or keyboard. Currently tray, torso, arm and base are supported.
- Author: Florian Weisshardt
- License: LGPL
- Source: git https://github.com/ipa320/cob_command_tools.git (branch: release_electric)
Package Summary
This Package enables remote controll of Care-O-bot via a joystick or keyboard. Currently tray, torso, arm and base are supported.
- Author: Florian Weisshardt
- License: LGPL
- Source: git https://github.com/ipa320/cob_command_tools.git (branch: release_fuerte)
Package Summary
This Package enables remote controll of Care-O-bot via a joystick or keyboard. Currently tray, torso, arm and base are supported.
- Author: Florian Weisshardt
- License: LGPL
- Source: git https://github.com/ipa320/cob_command_tools.git (branch: groovy)
Package Summary
This Package enables remote controll of Care-O-bot via a joystick or keyboard. Currently tray, torso, arm and base are supported.
- Maintainer status: developed
- Maintainer: Florian Weisshardt <fmw AT ipa.fhg DOT de>
- Author: Florian Weisshardt <fmw AT ipa.fhg DOT de>
- License: LGPL
- Source: git https://github.com/ipa320/cob_command_tools.git (branch: hydro_release_candidate)
Package Summary
Teleop node
- Maintainer status: maintained
- Maintainer: Felix Messmer <felixmessmer AT gmail DOT com>
- Author: Florian Weisshardt, Maximilian Sieber <fmw AT ipa.fhg DOT de>
- License: Apache 2.0
- Source: git https://github.com/ipa320/cob_command_tools.git (branch: indigo_release_candidate)
Package Summary
Teleop node
- Maintainer status: developed
- Maintainer: Felix Messmer <felixmessmer AT gmail DOT com>
- Author: Florian Weisshardt, Maximilian Sieber <fmw AT ipa.fhg DOT de>
- License: Apache 2.0
- Source: git https://github.com/ipa320/cob_command_tools.git (branch: indigo_release_candidate)
Package Summary
Teleop node
- Maintainer status: maintained
- Maintainer: Felix Messmer <felixmessmer AT gmail DOT com>
- Author: Florian Weisshardt, Maximilian Sieber <fmw AT ipa.fhg DOT de>
- License: Apache 2.0
- Source: git https://github.com/ipa320/cob_command_tools.git (branch: indigo_release_candidate)
Package Summary
Teleop node
- Maintainer status: end-of-life
- Maintainer: Felix Messmer <felixmessmer AT gmail DOT com>
- Author: Florian Weisshardt, Maximilian Sieber <fmw AT ipa.fhg DOT de>
- License: Apache 2.0
- Source: git https://github.com/4am-robotics/cob_command_tools.git (branch: indigo_dev)
Contents
Hardware Requirements
This package uses a joystick or keyboard for teleoperation of Care-O-bot. To use this package you need either a real Care-O-bot or a simulated one (see cob_gazebo).
ROS API
The cob_teleop package provides both, a configurable node for teleoperation by joystick or by keyboard.
cob_teleop
The cob_teleop node takes in sensor_msgs/Joy messages and send direct commands to the hardware.Subscribed Topics
joy (sensor_msgs/Joy)- Receives joystick commands.
- Receives the joint states of all joints for initialization.
Published Topics
arm_controller/command (trajectory_msgs/JointTrajectory)- Publishes commands to the arm.
- Publishes commands to the torso.
- Publishes commands to the tray.
- Publishes commands to the base.
Parameters
~run_factor (float, default: 1.5)- Defines the factor to multiply velocities when run button is pressed.
- Joystick button for lower neck.
- Joystick button for upper neck.
- Joystick button for tray.
- Joystick button for joint 1 and 2 of arm.
- Joystick button for joint 3 and 4 of arm.
- Joystick button for joint 5 and 6 of arm.
- Joystick button for joint 7 of arm.
- Joystick button for deadman functionality.
- Joystick button run functionality.
- Joystick axis for base movements along x-axis.
- Joystick axis for base movements along y-axis.
- Joystick axis for base movements around tetha-axis.
- Step for lower tilt movements in rad/sec.
- Step for lower pan movements in rad/sec.
- Step for upper tilt movements in rad/sec.
- Step for upper pan movements in rad/sec.
- Step for tray movements in rad/sec.
- Step for left and right arm movements in rad/sec.
- Step for up and down arm movements in rad/sec.
- Maximum velocity for base movements along x-axis in m/sec.
- Maximum velocity for base movements along y-axis in m/sec.
- Maximum velocity for base movements around tetha-axis in rad/sec.
- Maximum acceleration for base movements along x-axis in m/sec^2.
- Maximum acceleration for base movements along y-axis in m/sec^2.
- Maximum acceleration for base movements around tetha-axis in rad/sec^2.
Usage/Examples
Starting teleoperation node
For starting the teleoperation with joystick
roslaunch cob_bringup teleop.launch
For including the teleoperation in your overall launch file use
<include file="$(find cob_bringup)/tools/teleop.launch" />
If you haven't got joystick you can move the base of the robot using the keyboard:
roslaunch cob_teleop teleop_keyboard.launch
Move components
To be able to use the joystick the deadman_button has to be pressed all the time, as soon as the button is released a stop will be send to all hardware components. Have a look at the following image to see which buttons command which components.
For moving the base: Hold the deadman button and use the base rotation and translation axis to move the base.
For moving the torso: Hold the deadman button and the upper or lower neck button, then use the up_down or left_right axis to move the torso.
For moving the tray: Hold the deadman button and the tray button, then use the up_down axis to move the tray.
For moving the arm: Hold the deadman button and one of the arm buttons, then use the up_down or left_right axis to move the selected arm joints.
Parameter file
A sample parameter file could look like this
# common params run_factor: 2.0 # buttons lower_neck_button: 6 upper_neck_button: 4 tray_button: 3 arm_joint12_button: 0 arm_joint34_button: 1 arm_joint56_button: 2 arm_joint7_button: 3 deadman_button: 5 run_button: 7 # axes axis_vx: 1 axis_vy: 0 axis_vth: 2 up_down: 5 #tray--up/down; tilt--front/back, here we just name up_down left_right: 4 #pan--left/right # velocities in rad/sec, m/sec lower_tilt_step: 0.05 lower_pan_step: 0.05 upper_tilt_step: 0.075 upper_pan_step: 0.075 tray_step: 0.15 arm_left_right_step: 0.1 arm_up_down_step: 0.1 max_vx: 0.3 max_ax: 0.5 max_vy: 0.2 max_ay: 0.5 max_vth: 0.3 max_ath: 0.7