Show EOL distros:
Package Summary
This package is used to start a server that provides the current joint state values received from the CyberGloves via ROS topics
- Maintainer: Meißner Pascal <asr-ros AT lists.kit DOT edu>
- Author: Heller Florian, Meißner Pascal, Nguyen Trung, Yi Xie
- License: BSD
- Source: git https://github.com/asr-ros/asr_cyberglove_lib.git (branch: master)
Package Summary
This package is used to start a server that provides the current joint state values received from the CyberGloves via ROS topics
- Maintainer: Meißner Pascal <asr-ros AT lists.kit DOT edu>
- Author: Heller Florian, Meißner Pascal, Nguyen Trung, Yi Xie
- License: BSD
- Source: git https://github.com/asr-ros/asr_cyberglove_lib.git (branch: master)
Package Summary
This package is used to start a server that provides the current joint state values received from the CyberGloves via ROS topics
- Maintainer: Meißner Pascal <asr-ros AT lists.kit DOT edu>
- Author: Heller Florian, Meißner Pascal, Nguyen Trung, Yi Xie
- License: BSD
- Source: git https://github.com/asr-ros/asr_cyberglove_lib.git (branch: master)
Contents
Description
The asr_cyberglove_lib package is used to start a server that provides the current joint state values received from the Cybergloves via ROS topics.
Usage
Needed packages
This package depends on the following packages:
Needed hardware
The following hardware components are needed:
- Cybergloves
Start system
After ensuring that the Cybergloves are turned on, the asr_cyberglove_lib server can be started directly from the PC to which the hardware is connected:
roslaunch asr_cyberglove_lib glove_lib.launch
Instead of using the preconfigured .launch-file, the server can also be started via rosrun, e.g. with:
rosrun asr_cyberglove_lib gloveServer_node -r --calibration-file-right $(find asr_cyberglove_lib)/cfg/GloveCalibrationRight.cal --tty-right /dev/ttyD2 -d 0
Alternatively, the server can also be started from remote if the hardware is connected to another Lab-PC. The following command will also use a preconfigured .launch-file:
rosrun asr_cyberglove_lib glove_lib_remote.sh
Start system from remote using different ROS distributions
If the hardware is connected to a ROS Indigo Lab-PC and it is needed to start the asr_cyberglove_lib server from a remote ROS Kinetic Lab-PC, some workarounds / dirty hacks are needed. For the following, it is assumed that both ROS systems use the same file system and that the corresponding catkin workspaces are ~/indigo_ws and ~/kinetic_ws.
Open the terminal and source Kinetic (if not already sourced via ~/.bashrc):
source /opt/ros/kinetic/setup.bash
source ~/kinetic_ws/devel/setup.bash
Additional ssh environment setups are needed (https://github.com/sigproc/qbo_sigproc/wiki/Detailed-environment-setup):
ssh-agent bash
ssh-add ~/.ssh/id_rsa
A ssh connection can now be established, but the ~/.bashrc needs to be modified to be able to start the server on ROS Indigo:
Add: source /opt/ros/indigo/setup.bash
Add: source ~/indigo_ws/devel/setup.bash
Comment out: source /opt/ros/kinetic/setup.bash
Comment out: source ~/kinetic_ws/devel/setup.bash
The asr_cyberglove_lib server can now be started from remote:
rosrun asr_cyberglove_lib glove_lib_remote.sh
To listen to the publishing ROS-Topic in a new terminal, ROS Kinetic has to be sourced again (or modify the ~/.bashrc again before opening the new terminal):
source /opt/ros/kinetic/setup.bash
source ~/kinetic_ws/devel/setup.bash
rostopic echo /rightGloveData_radian
Alternatively, the glove movements can also be visualized with the asr_cyberglove_visualization package (Kinetic needs to be sourced again):
source /opt/ros/kinetic/setup.bash
source ~/kinetic_ws/devel/setup.bash
roslaunch asr_cyberglove_visualization demo_glove.launch
ROS Nodes
Published Topics
The sensor data of the Cybergloves are published as asr_msgs::AsrGlove messages to the following topics:
/rightGloveData
/leftGloveData
/rightGloveData_radian
/leftGloveData_radian
Parameters
As mentioned in subsection 2.3, the asr_cyberglove_lib server can be started directly via rosrun without using the preconfigured .launch-file. For this case, it is needed to specify the rosrun arguments. The following arguments can be passed:
glove-right/r: Indicates that the right glove should be used.
glove-left/l: Indicates that the left glove should be used.
calibration-file-right: If the right glove should be used, specify the path to its calibration file. Default: "$(find asr_cyberglove_lib)/cfg/GloveCalibrationRight.cal"
calibration-file-left: If the left glove should be used, specify the path to its calibration file. Default: "$(find asr_cyberglove_lib)/cfg/GloveCalibrationLeft.cal"
tty-right: If the right glove should be used, specify its device path. Default: "/dev/ttyD2"
tty-left: If the left glove should be used, specify its device path. Default: "/dev/ttyD3"
debug-level/d: Defines the debug level. The higher, the more debug infomation. Default: "0"