|
Package Summary
Tags | No category tags. |
Version | 0.1.17 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/jsk-ros-pkg/jsk_control.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2024-01-22 |
Dev Status | DEVELOPED |
CI status | Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Shingo Kitagawa
Authors
- Shingo Kitagawa
eus_teleop
Multi robot teleoperation system with Vive/SpaceNav/Oculus/Tablis Cockpit
Note
This package depends on these branches below:
- For PR2 and Baxter
- For Baxter only
- For Dragon only
Tested Environment
Build environment
Ubuntu 16.04 + ROS Kinetic
- NVidia driver:
396.37
- OpenVR:
1.3.22
- Steam VR:
1.6.10
Ubuntu 18.04 + ROS Melodic
- NVidia driver:
390.116
- OpenVR:
1.3.22
- Steam VR:
1.6.10
User interface devices
Vive
- Arm motion tracking
- Controller button interface
- HMD visual interface
- Vibration interface
- Sound interface
Tablis
- Arm motion tracking
- Controller button interface
- HMD visual interface
- Vibration interface
- Sound interface
SpaceNav (3D mouse)
- Arm motion tracking
- Controller button interface
Oculus
- Arm motion tracking
- Controller button interface
- HMD visual interface
- Vibration interface
- Sound interface
Installation
Dependency installation
Install dependencies (for Vive)
sudo apt-get install --reinstall xserver-xorg-video-intel-hwe-18.04 libgl1-mesa-glx libgl1-mesa-dri xserver-xorg-core
sudo dpkg-reconfigure xserver-xorg
Install nvidia-driver (for Vive)
# for melodic, run command below
sudo apt install nvidia-driver-390
# for kinetic, install cuda-9.2 deb (local) manually and run command below.
sudo apt install nvidia-396
Install OpenVR
, steam
and steamVR
(for Vive)
Follow here
Install kodak 4k pro camera and ELP usb camera udev (for Baxter)
sudo cp udev/99-kodak.rules /etc/udev/rules.d/
sudo udevadm control --reload-rules && sudo udevadm trigger
ROS Workspace build
Build jsk_apc
workspace (Only for baxter users)
source /opt/ros/$ROS_DISTRO/setup.bash
mkdir ~/jsk_apc_ws/src -p
cd ~/jsk_apc_ws/src
wstool init . https://raw.githubusercontent.com/start-jsk/jsk_apc/master/fc.rosinstall.${ROS_DISTRO}
wstool up
rosdep install -y -r --from-paths .
cd ~/jsk_apc_ws
catkin config
catkin build
Build eus_teleop
workspace
source /opt/ros/$ROS_DISTRO/setup.bash
mkdir ~/teleop_ws/src -p
cd ~/teleop_ws/src
wstool init . https://raw.githubusercontent.com/knorth55/eus_teleop/master/fc.rosinstall
# Only for baxter users
wstool merge https://raw.githubusercontent.com/knorth55/eus_teleop/master/baxter.rosinstall
wstool merge https://raw.githubusercontent.com/knorth55/eus_teleop/master/baxter.rosinstall.$ROS_DISTRO
# Only for dragon users
wstool merge https://raw.githubusercontent.com/knorth55/eus_teleop/master/dragon.rosinstall
wstool up
rosdep install --ignore-src --from-path . -y -r -i
# Only for baxter users
source ~/jsk_apc_ws/devel/setup.bash
cd ~/teleop_ws
catkin config
catkin build
How to start
Start procedure
- Connect Vive HMD and Lighthouse and power on the controller.
- Place Lighthouse B in front of you.
- Start one of launch files below.
- If you don’t use HMD, press
Calibrate
button and do arm calibration. - Press
Enable
button in GUI to start teleoperation.
Arm calibration (Only for no HMD mode)
The arm calibration is required for no HMD mode in order to measure your position and your arm length.
- Press
Calibrate l/rarm
button in GUI - Listen to the voice instruction.
- Stretch your left/right arm and Press Trigger after the first instruction.
- Listen to the voice instruction again.
- Fold your left/right arm and Press Trigger after the second instruction.
- If calibration failed, please try again.
PR2 + Vive
https://user-images.githubusercontent.com/9300063/213145161-4b2acb89-9545-460a-b5cc-d05a111a187b.mp4
PR2 + Vive in JSK 73B2 or 610
rossetip
rossetmaster pr1040
# HMD mode
roslaunch eus_teleop pr2_vive.launch
# No HMD mode
roslaunch eus_teleop pr2_vive.launch head:=false
PR2 + Vive in Gazebo
roslaunch pr2_gazebo pr2_empty_world.launch
roslaunch eus_teleop pr2_vive_gazebo.launch
PR2 + Tablis
https://user-images.githubusercontent.com/9300063/208720417-176d698e-3789-42a8-931f-2a9fc9e062a0.mp4
PR2 + Tablis in JSK 73B2 or 610
rossetip
rossetmaster pr1040
roslaunch eus_teleop pr2_tablis.launch
PR2 + Tablis in Gazebo
Launch Tablis in Choreonoid
roscd eus_teleop/scripts/tablis
./start-tablis-sim.sh
roscd eus_teleop/scripts/tablis
ipython -i tablis_setup.py
hcf.servoOn()
hcf.hc_svc.startHapticsController()
Launch bridge
roscd eus_teleop/scripts/tablis
./start-bridge-sim.sh
Launch PR2 in Gazebo
roslaunch pr2_gazebo pr2_empty_world.launch
roslaunch eus_teleop pr2_tablis_gazebo.launch
PR2 + SpaceNav
https://user-images.githubusercontent.com/9300063/213137459-ce5f7075-acee-4a47-934a-97a4296fdc49.mp4
PR2 + SpaceNav in JSK 73B2
rossetip
rossetmaster pr1040
roslaunch eus_teleop pr2_spacenav.launch
PR2 + SpaceNav in Gazebo
roslaunch pr2_gazebo pr2_empty_world.launch
roslaunch eus_teleop pr2_spacenav_gazebo.launch
Baxter + Vive
https://user-images.githubusercontent.com/9300063/213144997-0d224d5c-b462-43a7-b759-0233fff41d94.mp4
Baxter + Vive in JSK 73B2
rossetip
rossetmaster baxter
# HMD mode
roslaunch eus_teleop baxter_vive.launch
# No HMD mode
roslaunch eus_teleop baxter_vive.launch head:=false
Baxter + Vive in Gazebo
roslaunch baxter_gazebo baxter_world.launch
roslaunch eus_teleop baxter_vive_gazebo.launch
Baxter + Tablis
https://user-images.githubusercontent.com/9300063/208720482-b7ef0abb-e948-448c-be51-521c0c7af8a2.mp4
Baxter + Tablis in JSK 73B2 or 610
rossetip
rossetmaster baxter
roslaunch eus_teleop baxter_tablis.launch
Baxter + Tablis in Gazebo
Launch Tablis in Choreonoid
roscd eus_teleop/scripts/tablis
./start-tablis-sim.sh
roscd eus_teleop/scripts/tablis
ipython -i tablis_setup.py
hcf.servoOn()
hcf.hc_svc.startHapticsController()
Launch bridge
roscd eus_teleop/scripts/tablis
./start-bridge-sim.sh
Launch Baxter in Choreonoid
roslaunch baxter_gazebo baxter_world.launch
roslaunch eus_teleop baxter_tablis_gazebo.launch
Baxter + SpaceNav
Baxter + SpaceNav in JSK 73B2
rossetip
rossetmaster baxter
roslaunch eus_teleop baxter_spacenav.launch
Baxter + SpaceNav in Gazebo
roslaunch baxter_gazebo baxter_world.launch
roslaunch eus_teleop baxter_spacenav_gazebo.launch
Baxter + MoveIt!
Real Robot in JSK 73B2
rossetip
rossetmaster baxter
roslaunch eus_teleop baxter_moveit.launch
Dragon + SpaceNav
https://user-images.githubusercontent.com/9300063/210754022-7df92fd5-4875-4465-9738-7efdf5649093.mp4
Dragon + SpaceNav in Gazebo
roslaunch dragon bringup.launch simulation:=true real_machine:=false headless:=false
roslaunch eus_teleop dragon_spacenav_gazebo.launch
JAXON + SpaceNav
https://user-images.githubusercontent.com/9300063/212047815-e1f2a5ed-cf51-4782-b892-66752effe41d.mp4
JAXON + SpaceNav in Choreonoid
Launch JAXON in Choreonoid
roscd eus_teleop/scripts/jaxon
./start-jaxon_with_rhp3hand-sim.sh
roscd eus_teleop/scripts/jaxon
ipython -i jaxon_with_rhp3hand_setup.py
hcf.ast_svc.startAutoBalancer()
hcf.ast_svc.startStabilizer()
hcf.ast_svc.startWholeBodyMasterSlave()
Launch eus_vive for SpaceNav
roslaunch eus_teleop jaxon_spacenav_choreonoid.launch
JAXON + Tablis
https://user-images.githubusercontent.com/9300063/212932317-407102d1-093f-4729-b00a-f367bbbcb40d.mp4
JAXON + Tablis in Choreonoid
Launch Tablis in Choreonoid
roscd eus_teleop/scripts/tablis
./start-tablis-sim.sh
roscd eus_teleop/scripts/tablis
ipython -i tablis_setup.py
hcf.servoOn()
hcf.hc_svc.startHapticsController()
Launch JAXON in Choreonoid
roscd eus_teleop/scripts/jaxon
./start-jaxon_with_rhp3hand-sim.sh
roscd eus_teleop/scripts/jaxon
ipython -i jaxon_with_rhp3hand_setup.py
hcf.ast_svc.startAutoBalancer()
hcf.ast_svc.startStabilizer()
hcf.ast_svc.startWholeBodyMasterSlave()
Launch bridge and wbms core
roscd eus_teleop/scripts/jaxon
./start-jaxon-eus-teleop-sim.sh
Launch eus_vive for Tablis
roslaunch eus_teleop jaxon_tablis_choreonoid.launch
Demo & Experiments
Miraikan Demo 2019/08/23-24
rossetip
rossetmaster baxter
roslaunch eus_teleop baxter_vive_mirror.launch
Miraikan Demo 2020/09/11-13
Robot control PC (Robot side)
rossetip
rossetmaster baxter
roslaunch eus_teleop baxter_remote.launch
Vive control PC (Pilot side)
rossetip
rossetmaster baxter
roslaunch eus_teleop baxter_vive_remote.launch
Visualization, display and feedback PC (Pilot side)
rossetip
rossetmaster baxter
roslaunch eus_teleop baxter_display_remote.launch
How to use Vive controller
PR2
Button | Usage |
---|---|
1 / Menu | Control toggle: base/arm (Default: base) |
3 / Stream Menu | Steam Menu |
8 / Grip | Not used |
Arm mode
You can enable arm mode of right and left arm separately.
Command | Usage |
---|---|
7 / Trigger | Gripper toggle: open/close in Toggle grasp mode (Default: open) |
7 / Trigger | Gripper toggle: open only when trigger is pressed in Hold grasp mode |
Controller pose | robot end effector’s pose |
Base mode
Base mode is enabled when both arms are disabled in Arm mode.
Command | Usage |
---|---|
2 / Trackpad | Torso control: right: down / left: up |
2 / Trackpad + 7 / Trigger (right) | Safe base control: right: x, y / left: w |
2 / Trackpad + 7 / Trigger (right + left) | Unsafe base control: right: x, y / left: w |
Baxter
Button | Usage |
---|---|
2 / Trackpad | Control toggle: stop / arm (Default: stop) |
3 / Stream Menu | Steam Menu |
8 / Grip | Not used |
Arm mode
You can enable arm mode of right and left arm separately.
Command | Usage |
---|---|
7 / Trigger | Gripper toggle: open/close (Default: open) |
Controller pose | robot end effector’s pose |
How to use GUI control
Teleoperation control buttons
Button | Usage |
---|---|
Reset | Diable and reset robot to initial posture |
Enable | Enable robot |
Disable | Disable robot |
Calibrate larm/rarm | Calibrate with left/right arm |
Arm & Gripper control buttons
Button | Usage |
---|---|
Reset larm/rarm | Reset only left/right arm |
Enable larm/rarm | Enable only left/right arm |
Disable larm/rarm | Disable only left/right arm |
Start grasp lgripper/rgripper | Start grasp only left/right gripper |
Stop grasp lgripper/rgripper | Stop grasp only left/right gripper |
Toggle grasp mode | Change to Toggle grasp mode |
Hold grasp mode | Change to Hold grasp mode |
Tips
Baxter Network Configuration
Open Field Service Menu and change network configuration
VPNC Install
sudo apt install libgcrypt20-dev libgnutls28-dev
git clone https://github.com/streambinder/vpnc.git
cd vpnc
git checkout 1cf24ed6aa4a04b4b01cc9ebfacbad723eed04f5
make
sudo make install
cd ..
git clone git://git.infradead.org/users/dwmw2/vpnc-scripts.git
cd vpnc-scripts
sudo cp vpnc-script /etc/vpnc
VPNC Command for Fortigate
sudo vpnc --local-port 0 --gateway <gateway> --id ipsecvpn --username <username> --pfs dh5 --dh dh5 --auth-mode psk --no-detach --vendor fortigate --dh dh5
Demo Video
PR2 Fridge demo
Baxter APC demo
Changelog for package eus_teleop
0.1.17 (2023-05-28)
- add eus_teleop
- Contributors: Shingo Kitagawa
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
message_generation | |
std_msgs | |
catkin | |
actionlib_msgs | |
baxter_core_msgs | |
baxtereus | |
influxdb_store | |
jsk_interactive_marker | |
jsk_topic_tools | |
libuvc_camera | |
message_runtime | |
pr2eus | |
roseus | |
sensor_msgs | |
softhand_ros | |
topic_tools | |
video_stream_opencv | |
vive_ros | |
pr2_moveit_config |
System Dependencies
Dependant Packages
Launch files
- launch/tablis/tablis_bridge_follower.launch
- launch/tablis/tablis_bridge_leader.launch
-
- filtered [default: false]
- launch/include/respeaker.launch
- launch/include/vive.launch
-
- hmd_left_image [default: /virtual_camera/left/rviz_image]
- hmd_right_image [default: /virtual_camera/right/rviz_image]
- launch/include/elp_usb.launch
-
- camera_name [default: elp_head]
- index [default: 0]
- machine [default: localhost]
- load_machinepath [default: false]
- machinepath [default: false]
- launch/include/rqt_gui.launch
- launch/include/realsense_d435.launch
-
- camera_ns [default: realsense]
- manager [default: realsense_camera_manager]
- publish_tf [default: false]
- color_width [default: 640]
- color_height [default: 480]
- depth_width [default: 640]
- depth_height [default: 480]
- launch/include/realsense_l515.launch
-
- camera_ns [default: realsense]
- manager [default: realsense_camera_manager]
- publish_tf [default: false]
- color_width [default: 960]
- color_height [default: 540]
- depth_width [default: 640]
- depth_height [default: 480]
- launch/include/kinfu.launch
-
- CAMERA_INFO
- IMAGE_DEPTH
- IMAGE_COLOR
- launch/include/audio_play.launch
-
- audio_ns [default: remote_audio]
- format [default: wave]
- dst [default: alsasink]
- do_timestamp [default: false]
- launch/include/realsense.launch
-
- camera_ns
- manager
- publish_tf
- color_width
- color_height
- depth_width
- depth_height
- launch/include/kodak_pixpro.launch
-
- camera_name [default: kodak_head]
- launch/include/insta360_air.launch
-
- camera_name [default: insta_head]
- launch/include/mask_rcnn.launch
-
- INPUT_IMAGE
- gpu [default: 0]
- launch/pr2/pr2_teleop_display.launch
-
- kinfu [default: false]
- respeaker [default: true]
- DECOMP_CAMERA_INFO [default: /kinect_head_decompressed/depth_registered/camera_info]
- DECOMP_RGB_CAMERA_INFO [default: /kinect_head_decompressed/rgb/camera_info]
- DECOMP_IMAGE_DEPTH [default: /kinect_head_decompressed/depth_registered/image_rect]
- DECOMP_IMAGE_COLOR [default: /kinect_head_decompressed/rgb/image_rect_color]
- DECOMP_POINTS [default: /kinect_head_decompressed/depth_registered/points]
- CAMERA_INFO
- RGB_CAMERA_INFO
- IMAGE_COLOR
- IMAGE_DEPTH
- IMAGE_DEPTH_TYPE
- launch/pr2/pr2_teleop.launch
-
- main [default: true]
- vive [default: true]
- spacenav [default: false]
- tablis [default: false]
- device [default: vive]
- head [default: true]
- respeaker [default: true]
- mirror [default: false]
- logging [default: true]
- kinfu [default: false]
- display [default: true]
- home_dir [default: $(env HOME)]
- button_toggle [default: true]
- workspace_max_x [default: false]
- workspace_min_x [default: false]
- workspace_max_y [default: false]
- workspace_min_y [default: false]
- workspace_max_z [default: false]
- workspace_min_z [default: false]
- hmd_left_image [default: /virtual_camera/left/rviz_image]
- hmd_right_image [default: /virtual_camera/right/rviz_image]
- DECOMP_CAMERA_INFO [default: /kinect_head_decompressed/depth_registered/camera_info]
- DECOMP_RGB_CAMERA_INFO [default: /kinect_head_decompressed/rgb/camera_info]
- DECOMP_IMAGE_DEPTH [default: /kinect_head_decompressed/depth_registered/image_rect]
- DECOMP_IMAGE_COLOR [default: /kinect_head_decompressed/rgb/image_rect_color]
- DECOMP_POINTS [default: /kinect_head_decompressed/depth_registered/points]
- CAMERA_INFO [default: /kinect_head/depth_registered/camera_info]
- RGB_CAMERA_INFO [default: /kinect_head/rgb/camera_info]
- IMAGE_COLOR [default: /kinect_head/rgb/image_rect_color]
- IMAGE_DEPTH [default: /kinect_head/depth_registered/image_rect]
- IMAGE_DEPTH_TYPE [default: compressedDepth]
- COMP_IMAGE_COLOR [default: /kinect_head/rgb/image_rect_color/compressed]
- COMP_IMAGE_DEPTH [default: /kinect_head/depth_registered/image_rect/compressedDepth]
- launch/pr2/pr2_logging.launch
-
- CAMERA_INFO
- RGB_CAMERA_INFO
- COMP_IMAGE_COLOR
- COMP_IMAGE_DEPTH
- home_dir [default: $(env HOME)]
- compress [default: false] — whether compress rosbag or not.
- launch/pr2/pr2_teleop_gazebo.launch
-
- main [default: true]
- vive [default: true]
- spacenav [default: false]
- tablis [default: false]
- device [default: vive]
- head [default: false]
- mirror [default: false]
- display [default: true]
- button_toggle [default: true]
- workspace_max_x [default: false]
- workspace_min_x [default: false]
- workspace_max_y [default: false]
- workspace_min_y [default: false]
- workspace_max_z [default: false]
- workspace_min_z [default: false]
- launch/baxter/baxter_db_client.launch
-
- camera [default: true]
- camera_ns [default: realsense_torso]
- spherical_camera [default: true]
- spherical_stereo [default: true]
- spherical_camera_ns [default: kodak_head]
- spherical_left_camera_ns [default: elp_head_left]
- spherical_right_camera_ns [default: elp_head_right]
- output [default: screen]
- log_rate [default: 5.0]
- respawn [default: true]
- enable_monitor [default: false]
- vital_check [default: true]
- debug [default: false]
- launch/baxter/baxter_realsense_torso.launch
-
- launch_transformable_server [default: true]
- launch_tabletop_detector [default: false]
- launch_grasp_mask_rcnn [default: false]
- camera_ns [default: realsense_torso]
- camera_type [default: l515]
- camera_frame_id [default: $(arg camera_ns)_color_optical_frame]
- manager [default: $(arg camera_ns)_camera_manager]
- input_cloud [default: /$(arg camera_ns)/depth_registered/quarter/points]
- input_image [default: /$(arg camera_ns)/depth_registered/quarter/image]
- launch/baxter/baxter_teleop_display.launch
-
- head [default: true]
- respeaker [default: true]
- mirror [default: false]
- republish [default: false]
- logging [default: true]
- rqt_gui [default: true]
- home_dir [default: $(env HOME)]
- compress [default: false] — whether compress rosbag or not.
- main_name [default: /baxter_teleop_main]
- camera_ns [default: realsense_torso]
- spherical_camera_ns [default: kodak_head]
- spherical_stereo [default: true]
- spherical_left_camera_ns [default: elp_head_left]
- spherical_right_camera_ns [default: elp_head_right]
- hmd_left_image [default: /virtual_camera/left/rviz_image]
- hmd_right_image [default: /virtual_camera/right/rviz_image]
- REALSENSE_IMAGE_TYPE [default: x264]
- REALSENSE_DEPTH_TYPE [default: compressedDepth]
- SPHERICAL_IMAGE_TYPE [default: x264]
- SPHERICAL_STEREO_IMAGE_TYPE [default: x264]
- launch/baxter/baxter_logging.launch
-
- twitter [default: true]
- influxdb [default: true]
- debug [default: false]
- camera [default: true]
- camera_ns [default: realsense_torso]
- spherical_camera [default: true]
- spherical_stereo [default: true]
- spherical_camera_ns [default: kodak_head]
- spherical_left_camera_ns [default: elp_head_left]
- spherical_right_camera_ns [default: elp_head_right]
- twitter_image_topics [default: /$(arg camera_ns)/color/image_rect_color]
- home_dir [default: $(env HOME)]
- compress [default: false] — whether compress rosbag or not.
- position_diff_threshold [default: 0.01]
- launch/baxter/baxter_tabletop_object_detector.launch
-
- input_cloud
- input_image
- camera_frame_id
- manager
- launch_transformable_server [default: true]
- clip [default: true]
- launch/baxter/baxter.launch
-
- head [default: true]
- respeaker [default: true]
- logging [default: true]
- twitter [default: true]
- influxdb [default: true]
- debug [default: false]
- home_dir [default: $(env HOME)]
- mask_rcnn [default: false]
- custom_xdisplay [default: true]
- launch_xdisplay [default: false]
- realsense_camera [default: false]
- spherical_camera [default: true]
- spherical_stereo [default: true]
- lgripper_type [default: softhand]
- rgripper_type [default: softhand]
- launch_tabletop_detector [default: false]
- launch_grasp_mask_rcnn [default: false]
- arm_interpolation [default: bezier_with_velocity]
- arm_control_mode [default: velocity]
- moveit [default: false]
- finger [default: standard_narrow]
- finger_tip [default: paddle_tip]
- xdisplay_max_width [default: 1024]
- xdisplay_max_width [default: 1920]
- xdisplay_max_height [default: 600]
- xdisplay_max_height [default: 1200]
- camera_ns [default: realsense_torso]
- camera_type [default: l515]
- spherical_camera_ns [default: kodak_head]
- spherical_left_camera_ns [default: elp_head_left]
- spherical_right_camera_ns [default: elp_head_right]
- launch/baxter/baxter_visualization.launch
- launch/baxter/baxter_teleop.launch
-
- main [default: true]
- vive [default: true]
- spacenav [default: false]
- tablis [default: false]
- device [default: vive]
- head [default: true]
- respeaker [default: true]
- mirror [default: false]
- logging [default: true]
- twitter [default: true]
- debug [default: false]
- home_dir [default: $(env HOME)]
- mask_rcnn [default: false]
- display [default: true]
- custom_xdisplay [default: true]
- launch_baxter [default: true]
- launch_xdisplay [default: false]
- realsense_camera [default: false]
- spherical_camera [default: true]
- spherical_stereo [default: true]
- republish [default: false]
- lgripper_type [default: softhand]
- rgripper_type [default: softhand]
- button_toggle [default: true]
- workspace_max_x [default: false]
- workspace_min_x [default: false]
- workspace_max_y [default: false]
- workspace_min_y [default: false]
- workspace_max_z [default: false]
- workspace_min_z [default: false]
- arm_interpolation [default: bezier_with_velocity]
- arm_control_mode [default: velocity]
- moveit [default: false]
- finger [default: standard_narrow]
- finger_tip [default: paddle_tip]
- camera_ns [default: realsense_torso]
- camera_type [default: l515]
- spherical_camera_ns [default: kodak_head]
- spherical_left_camera_ns [default: elp_head_left]
- spherical_right_camera_ns [default: elp_head_right]
- hmd_left_image [default: /virtual_camera/left/rviz_image]
- hmd_right_image [default: /virtual_camera/right/rviz_image]
- launch/baxter/baxter_teleop_gazebo.launch
-
- main [default: true]
- vive [default: true]
- spacenav [default: false]
- tablis [default: false]
- device [default: vive]
- head [default: false]
- mirror [default: false]
- display [default: true]
- button_toggle [default: true]
- workspace_max_x [default: false]
- workspace_min_x [default: false]
- workspace_max_y [default: false]
- workspace_min_y [default: false]
- workspace_max_z [default: false]
- workspace_min_z [default: false]
- launch/baxter/baxter_rosbag_play.launch
-
- rosbag
- camera_ns [default: realsense_torso]
- gui [default: true]
- loop [default: true]
- lgripper_type [default: softhand]
- rgripper_type [default: softhand]
- manager [default: rosbag_play_nodelet_manager]
- finger [default: standard_narrow]
- finger_tip [default: paddle_tip]
- left_electric_gripper [default: $(eval arg('lgripper_type') == 'parallel')]
- right_electric_gripper [default: $(eval arg('rgripper_type') == 'parallel')]
- launch/baxter/baxter_grasp_mask_rcnn.launch
-
- input_image
- input_cloud
- manager
- sampling [default: false]
- data_collection [default: true]
- target_grasp [default: false]
- model_file [default: $(find dualarm_grasping)/models/dualarm_occluded_grasp/self_anno/20181227_model_iter_4559.npz]
- config_yaml [default: $(find dualarm_grasping)/models/dualarm_occluded_grasp/self_anno/20181227_params.yaml]
- target_yaml [default: $(find eus_teleop)/config/baxter/grasp_mask_rcnn_target_names.yaml]
- label_yaml [default: $(find dualarm_grasping)/yaml/dualarm_occluded_grasping_label_names.yaml]
- launch/baxter/baxter_rosbag_record.launch
-
- output_prefix [default: baxter]
- compress [default: false] — whether compress rosbag or not.
- camera_ns [default: realsense_torso]
- spherical_camera_ns [default: kodak_head]
- spherical_left_camera_ns [default: elp_head_left]
- spherical_right_camera_ns [default: elp_head_right]
- launch/dragon/dragon_teleop_gazebo.launch
-
- main [default: true]
- vive [default: true]
- spacenav [default: true]
- device [default: spacenav]
- head [default: false]
- mirror [default: false]
- button_toggle [default: true]
- workspace_max_x [default: false]
- workspace_min_x [default: false]
- workspace_max_y [default: false]
- workspace_min_y [default: false]
- workspace_max_z [default: false]
- workspace_min_z [default: false]
- launch/dragon/dragon_teleop.launch
-
- main [default: true]
- vive [default: true]
- spacenav [default: true]
- device [default: spacenav]
- head [default: false]
- mirror [default: false]
- button_toggle [default: true]
- workspace_max_x [default: false]
- workspace_min_x [default: false]
- workspace_max_y [default: false]
- workspace_min_y [default: false]
- workspace_max_z [default: false]
- workspace_min_z [default: false]
- launch/jaxon/jaxon_teleop.launch
-
- main [default: true]
- vive [default: false]
- spacenav [default: true]
- device [default: spacenav]
- head [default: false]
- mirror [default: false]
- button_toggle [default: true]
- workspace_max_x [default: false]
- workspace_min_x [default: false]
- workspace_max_y [default: false]
- workspace_min_y [default: false]
- workspace_max_z [default: false]
- workspace_min_z [default: false]
- launch/jaxon/jaxon_teleop_choreonoid.launch
-
- main [default: true]
- vive [default: false]
- spacenav [default: true]
- device [default: spacenav]
- head [default: false]
- mirror [default: false]
- button_toggle [default: true]
- workspace_max_x [default: false]
- workspace_min_x [default: false]
- workspace_max_y [default: false]
- workspace_min_y [default: false]
- workspace_max_z [default: false]
- workspace_min_z [default: false]
- sample/tablis/pr2/pr2_tablis.launch
-
- main [default: true]
- vive_set [default: default]
- head [default: true]
- button_toggle [default: true]
- kinfu [default: false]
- mirror [default: false]
- display [default: true]
- sample/tablis/pr2/pr2_tablis_gazebo.launch
-
- main [default: true]
- vive_set [default: default]
- head [default: true]
- button_toggle [default: true]
- mirror [default: false]
- display [default: true]
- sample/tablis/baxter/baxter_tablis.launch
-
- main [default: true]
- vive_set [default: default]
- head [default: true]
- mirror [default: false]
- realsense_camera [default: false]
- spherical_camera [default: true]
- spherical_stereo [default: true]
- republish [default: false]
- lgripper_type [default: softhand]
- rgripper_type [default: softhand]
- button_toggle [default: true]
- sample/tablis/baxter/baxter_tablis_remote.launch
-
- main [default: true]
- vive [default: true]
- head [default: true]
- mirror [default: false]
- vive_set [default: default]
- lgripper_type [default: softhand]
- rgripper_type [default: softhand]
- button_toggle [default: true]
- sample/tablis/baxter/baxter_tablis_gazebo.launch
-
- main [default: true]
- vive_set [default: default]
- head [default: true]
- button_toggle [default: true]
- mirror [default: false]
- display [default: true]
- sample/tablis/jaxon/jaxon_tablis.launch
-
- main [default: true]
- button_toggle [default: true]
- sample/tablis/jaxon/jaxon_tablis_choreonoid.launch
-
- main [default: true]
- button_toggle [default: true]
- sample/other/baxter/baxter_moveit.launch
-
- realsense_camera [default: true]
- spherical_camera [default: false]
- logging [default: true]
- arm_interpolation [default: minjerk]
- arm_control_mode [default: position_w_id]
- moveit [default: true]
- gui [default: true]
- lgripper_type [default: softhand]
- rgripper_type [default: softhand]
- launch_tabletop_detector [default: true]
- sample/vive/pr2/pr2_vive.launch
-
- main [default: true]
- vive [default: true]
- vive_set [default: default]
- head [default: true]
- button_toggle [default: true]
- kinfu [default: false]
- display [default: true]
- sample/vive/pr2/pr2_vive_gazebo.launch
-
- main [default: true]
- vive [default: true]
- vive_set [default: default]
- button_toggle [default: true]
- display [default: true]
- sample/vive/baxter/baxter_vive_mirror.launch
-
- main [default: true]
- vive [default: true]
- vive_set [default: default]
- head [default: true]
- realsense_camera [default: false]
- spherical_camera [default: true]
- spherical_stereo [default: true]
- republish [default: false]
- lgripper_type [default: softhand]
- rgripper_type [default: softhand]
- button_toggle [default: true]
- sample/vive/baxter/baxter_vive.launch
-
- main [default: true]
- vive [default: true]
- vive_set [default: default]
- head [default: true]
- mirror [default: false]
- realsense_camera [default: false]
- spherical_camera [default: true]
- spherical_stereo [default: true]
- republish [default: false]
- lgripper_type [default: softhand]
- rgripper_type [default: softhand]
- button_toggle [default: true]
- sample/vive/baxter/baxter_vive_gazebo.launch
-
- main [default: true]
- vive [default: true]
- vive_set [default: default]
- head [default: true]
- mirror [default: false]
- button_toggle [default: true]
- display [default: true]
- sample/vive/baxter/baxter_vive_remote.launch
-
- main [default: true]
- vive [default: true]
- vive_set [default: default]
- head [default: true]
- mirror [default: false]
- lgripper_type [default: softhand]
- rgripper_type [default: softhand]
- button_toggle [default: true]
- sample/spacenav/pr2/pr2_spacenav.launch
-
- main [default: true]
- spacenav [default: true]
- button_toggle [default: true]
- kinfu [default: false]
- display [default: true]
- sample/spacenav/pr2/pr2_spacenav_gazebo.launch
-
- main [default: true]
- spacenav [default: true]
- button_toggle [default: true]
- display [default: true]
- sample/spacenav/baxter/baxter_spacenav.launch
-
- main [default: true]
- head [default: false]
- mirror [default: false]
- logging [default: false]
- display [default: true]
- realsense_camera [default: false]
- spherical_camera [default: true]
- spherical_stereo [default: true]
- lgripper_type [default: softhand]
- rgripper_type [default: softhand-v2]
- button_toggle [default: true]
- sample/spacenav/baxter/baxter_spacenav_gazebo.launch
-
- main [default: true]
- button_toggle [default: true]
- display [default: true]
- sample/spacenav/dragon/dragon_spacenav.launch
-
- main [default: true]
- spacenav [default: true]
- button_toggle [default: true]
- sample/spacenav/dragon/dragon_spacenav_gazebo.launch
-
- main [default: true]
- spacenav [default: true]
- button_toggle [default: true]
- sample/spacenav/jaxon/jaxon_spacenav.launch
-
- main [default: true]
- spacenav [default: true]
- button_toggle [default: true]
- sample/spacenav/jaxon/jaxon_spacenav_choreonoid.launch
-
- main [default: true]
- spacenav [default: true]
- button_toggle [default: true]
- sample/common/baxter_moveit_remote.launch
-
- head [default: true]
- respeaker [default: true]
- logging [default: true]
- twitter [default: true]
- influxdb [default: true]
- debug [default: false]
- home_dir [default: $(env HOME)]
- mask_rcnn [default: false]
- custom_xdisplay [default: true]
- launch_xdisplay [default: false]
- realsense_camera [default: true]
- spherical_camera [default: true]
- spherical_stereo [default: true]
- lgripper_type [default: softhand]
- rgripper_type [default: softhand]
- arm_interpolation [default: minjerk]
- arm_control_mode [default: position_w_id]
- moveit [default: true]
- finger [default: standard_narrow]
- finger_tip [default: paddle_tip]
- camera_ns [default: realsense_torso]
- camera_type [default: l515]
- spherical_camera_ns [default: kodak_head]
- spherical_left_camera_ns [default: elp_head_left]
- spherical_right_camera_ns [default: elp_head_right]
- gui [default: true]
- launch_tabletop_detector [default: true]
- launch_grasp_mask_rcnn [default: false]
- sample/common/baxter_remote.launch
-
- head [default: true]
- respeaker [default: true]
- logging [default: true]
- twitter [default: true]
- influxdb [default: true]
- debug [default: false]
- home_dir [default: $(env HOME)]
- mask_rcnn [default: false]
- custom_xdisplay [default: true]
- launch_xdisplay [default: false]
- realsense_camera [default: false]
- spherical_camera [default: true]
- spherical_stereo [default: true]
- lgripper_type [default: softhand]
- rgripper_type [default: softhand]
- arm_interpolation [default: bezier_with_velocity]
- arm_control_mode [default: velocity]
- moveit [default: false]
- finger [default: standard_narrow]
- finger_tip [default: paddle_tip]
- camera_ns [default: realsense_torso]
- camera_type [default: l515]
- spherical_camera_ns [default: kodak_head]
- spherical_left_camera_ns [default: elp_head_left]
- spherical_right_camera_ns [default: elp_head_right]
- sample/common/baxter_display_remote.launch
-
- head [default: false]
- respeaker [default: true]
- mirror [default: false]
- republish [default: true]
- logging [default: true]
- rqt_gui [default: true]
- camera_ns [default: realsense_torso]
- spherical_camera_ns [default: kodak_head]
- spherical_stereo [default: true]
- spherical_left_camera_ns [default: elp_head_left]
- spherical_right_camera_ns [default: elp_head_right]
- sample/oculus/pr2/pr2_oculus_gazebo.launch
-
- main [default: true]
- button_toggle [default: true]
- display [default: true]
- sample/oculus/pr2/pr2_oculus.launch
-
- main [default: true]
- kinfu [default: false]
- button_toggle [default: true]
- display [default: true]
- sample/oculus/baxter/baxter_oculus_gazebo.launch
-
- main [default: true]
- button_toggle [default: true]
- display [default: true]
- sample/oculus/baxter/baxter_oculus.launch
-
- main [default: true]
- head [default: false]
- mirror [default: false]
- realsense_camera [default: false]
- spherical_camera [default: true]
- spherical_stereo [default: true]
- lgripper_type [default: softhand]
- rgripper_type [default: softhand]
- button_toggle [default: true]
Services
Plugins
Recent questions tagged eus_teleop at Robotics Stack Exchange
|
Package Summary
Tags | No category tags. |
Version | 0.1.17 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/jsk-ros-pkg/jsk_control.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2024-01-22 |
Dev Status | DEVELOPED |
CI status |
|
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Shingo Kitagawa
Authors
- Shingo Kitagawa
eus_teleop
Multi robot teleoperation system with Vive/SpaceNav/Oculus/Tablis Cockpit
Note
This package depends on these branches below:
- For PR2 and Baxter
- For Baxter only
- For Dragon only
Tested Environment
Build environment
Ubuntu 16.04 + ROS Kinetic
- NVidia driver:
396.37
- OpenVR:
1.3.22
- Steam VR:
1.6.10
Ubuntu 18.04 + ROS Melodic
- NVidia driver:
390.116
- OpenVR:
1.3.22
- Steam VR:
1.6.10
User interface devices
Vive
- Arm motion tracking
- Controller button interface
- HMD visual interface
- Vibration interface
- Sound interface
Tablis
- Arm motion tracking
- Controller button interface
- HMD visual interface
- Vibration interface
- Sound interface
SpaceNav (3D mouse)
- Arm motion tracking
- Controller button interface
Oculus
- Arm motion tracking
- Controller button interface
- HMD visual interface
- Vibration interface
- Sound interface
Installation
Dependency installation
Install dependencies (for Vive)
sudo apt-get install --reinstall xserver-xorg-video-intel-hwe-18.04 libgl1-mesa-glx libgl1-mesa-dri xserver-xorg-core
sudo dpkg-reconfigure xserver-xorg
Install nvidia-driver (for Vive)
# for melodic, run command below
sudo apt install nvidia-driver-390
# for kinetic, install cuda-9.2 deb (local) manually and run command below.
sudo apt install nvidia-396
Install OpenVR
, steam
and steamVR
(for Vive)
Follow here
Install kodak 4k pro camera and ELP usb camera udev (for Baxter)
sudo cp udev/99-kodak.rules /etc/udev/rules.d/
sudo udevadm control --reload-rules && sudo udevadm trigger
ROS Workspace build
Build jsk_apc
workspace (Only for baxter users)
source /opt/ros/$ROS_DISTRO/setup.bash
mkdir ~/jsk_apc_ws/src -p
cd ~/jsk_apc_ws/src
wstool init . https://raw.githubusercontent.com/start-jsk/jsk_apc/master/fc.rosinstall.${ROS_DISTRO}
wstool up
rosdep install -y -r --from-paths .
cd ~/jsk_apc_ws
catkin config
catkin build
Build eus_teleop
workspace
source /opt/ros/$ROS_DISTRO/setup.bash
mkdir ~/teleop_ws/src -p
cd ~/teleop_ws/src
wstool init . https://raw.githubusercontent.com/knorth55/eus_teleop/master/fc.rosinstall
# Only for baxter users
wstool merge https://raw.githubusercontent.com/knorth55/eus_teleop/master/baxter.rosinstall
wstool merge https://raw.githubusercontent.com/knorth55/eus_teleop/master/baxter.rosinstall.$ROS_DISTRO
# Only for dragon users
wstool merge https://raw.githubusercontent.com/knorth55/eus_teleop/master/dragon.rosinstall
wstool up
rosdep install --ignore-src --from-path . -y -r -i
# Only for baxter users
source ~/jsk_apc_ws/devel/setup.bash
cd ~/teleop_ws
catkin config
catkin build
How to start
Start procedure
- Connect Vive HMD and Lighthouse and power on the controller.
- Place Lighthouse B in front of you.
- Start one of launch files below.
- If you don’t use HMD, press
Calibrate
button and do arm calibration. - Press
Enable
button in GUI to start teleoperation.
Arm calibration (Only for no HMD mode)
The arm calibration is required for no HMD mode in order to measure your position and your arm length.
- Press
Calibrate l/rarm
button in GUI - Listen to the voice instruction.
- Stretch your left/right arm and Press Trigger after the first instruction.
- Listen to the voice instruction again.
- Fold your left/right arm and Press Trigger after the second instruction.
- If calibration failed, please try again.
PR2 + Vive
https://user-images.githubusercontent.com/9300063/213145161-4b2acb89-9545-460a-b5cc-d05a111a187b.mp4
PR2 + Vive in JSK 73B2 or 610
rossetip
rossetmaster pr1040
# HMD mode
roslaunch eus_teleop pr2_vive.launch
# No HMD mode
roslaunch eus_teleop pr2_vive.launch head:=false
PR2 + Vive in Gazebo
roslaunch pr2_gazebo pr2_empty_world.launch
roslaunch eus_teleop pr2_vive_gazebo.launch
PR2 + Tablis
https://user-images.githubusercontent.com/9300063/208720417-176d698e-3789-42a8-931f-2a9fc9e062a0.mp4
PR2 + Tablis in JSK 73B2 or 610
rossetip
rossetmaster pr1040
roslaunch eus_teleop pr2_tablis.launch
PR2 + Tablis in Gazebo
Launch Tablis in Choreonoid
roscd eus_teleop/scripts/tablis
./start-tablis-sim.sh
roscd eus_teleop/scripts/tablis
ipython -i tablis_setup.py
hcf.servoOn()
hcf.hc_svc.startHapticsController()
Launch bridge
roscd eus_teleop/scripts/tablis
./start-bridge-sim.sh
Launch PR2 in Gazebo
roslaunch pr2_gazebo pr2_empty_world.launch
roslaunch eus_teleop pr2_tablis_gazebo.launch
PR2 + SpaceNav
https://user-images.githubusercontent.com/9300063/213137459-ce5f7075-acee-4a47-934a-97a4296fdc49.mp4
PR2 + SpaceNav in JSK 73B2
rossetip
rossetmaster pr1040
roslaunch eus_teleop pr2_spacenav.launch
PR2 + SpaceNav in Gazebo
roslaunch pr2_gazebo pr2_empty_world.launch
roslaunch eus_teleop pr2_spacenav_gazebo.launch
Baxter + Vive
https://user-images.githubusercontent.com/9300063/213144997-0d224d5c-b462-43a7-b759-0233fff41d94.mp4
Baxter + Vive in JSK 73B2
rossetip
rossetmaster baxter
# HMD mode
roslaunch eus_teleop baxter_vive.launch
# No HMD mode
roslaunch eus_teleop baxter_vive.launch head:=false
Baxter + Vive in Gazebo
roslaunch baxter_gazebo baxter_world.launch
roslaunch eus_teleop baxter_vive_gazebo.launch
Baxter + Tablis
https://user-images.githubusercontent.com/9300063/208720482-b7ef0abb-e948-448c-be51-521c0c7af8a2.mp4
Baxter + Tablis in JSK 73B2 or 610
rossetip
rossetmaster baxter
roslaunch eus_teleop baxter_tablis.launch
Baxter + Tablis in Gazebo
Launch Tablis in Choreonoid
roscd eus_teleop/scripts/tablis
./start-tablis-sim.sh
roscd eus_teleop/scripts/tablis
ipython -i tablis_setup.py
hcf.servoOn()
hcf.hc_svc.startHapticsController()
Launch bridge
roscd eus_teleop/scripts/tablis
./start-bridge-sim.sh
Launch Baxter in Choreonoid
roslaunch baxter_gazebo baxter_world.launch
roslaunch eus_teleop baxter_tablis_gazebo.launch
Baxter + SpaceNav
Baxter + SpaceNav in JSK 73B2
rossetip
rossetmaster baxter
roslaunch eus_teleop baxter_spacenav.launch
Baxter + SpaceNav in Gazebo
roslaunch baxter_gazebo baxter_world.launch
roslaunch eus_teleop baxter_spacenav_gazebo.launch
Baxter + MoveIt!
Real Robot in JSK 73B2
rossetip
rossetmaster baxter
roslaunch eus_teleop baxter_moveit.launch
Dragon + SpaceNav
https://user-images.githubusercontent.com/9300063/210754022-7df92fd5-4875-4465-9738-7efdf5649093.mp4
Dragon + SpaceNav in Gazebo
roslaunch dragon bringup.launch simulation:=true real_machine:=false headless:=false
roslaunch eus_teleop dragon_spacenav_gazebo.launch
JAXON + SpaceNav
https://user-images.githubusercontent.com/9300063/212047815-e1f2a5ed-cf51-4782-b892-66752effe41d.mp4
JAXON + SpaceNav in Choreonoid
Launch JAXON in Choreonoid
roscd eus_teleop/scripts/jaxon
./start-jaxon_with_rhp3hand-sim.sh
roscd eus_teleop/scripts/jaxon
ipython -i jaxon_with_rhp3hand_setup.py
hcf.ast_svc.startAutoBalancer()
hcf.ast_svc.startStabilizer()
hcf.ast_svc.startWholeBodyMasterSlave()
Launch eus_vive for SpaceNav
roslaunch eus_teleop jaxon_spacenav_choreonoid.launch
JAXON + Tablis
https://user-images.githubusercontent.com/9300063/212932317-407102d1-093f-4729-b00a-f367bbbcb40d.mp4
JAXON + Tablis in Choreonoid
Launch Tablis in Choreonoid
roscd eus_teleop/scripts/tablis
./start-tablis-sim.sh
roscd eus_teleop/scripts/tablis
ipython -i tablis_setup.py
hcf.servoOn()
hcf.hc_svc.startHapticsController()
Launch JAXON in Choreonoid
roscd eus_teleop/scripts/jaxon
./start-jaxon_with_rhp3hand-sim.sh
roscd eus_teleop/scripts/jaxon
ipython -i jaxon_with_rhp3hand_setup.py
hcf.ast_svc.startAutoBalancer()
hcf.ast_svc.startStabilizer()
hcf.ast_svc.startWholeBodyMasterSlave()
Launch bridge and wbms core
roscd eus_teleop/scripts/jaxon
./start-jaxon-eus-teleop-sim.sh
Launch eus_vive for Tablis
roslaunch eus_teleop jaxon_tablis_choreonoid.launch
Demo & Experiments
Miraikan Demo 2019/08/23-24
rossetip
rossetmaster baxter
roslaunch eus_teleop baxter_vive_mirror.launch
Miraikan Demo 2020/09/11-13
Robot control PC (Robot side)
rossetip
rossetmaster baxter
roslaunch eus_teleop baxter_remote.launch
Vive control PC (Pilot side)
rossetip
rossetmaster baxter
roslaunch eus_teleop baxter_vive_remote.launch
Visualization, display and feedback PC (Pilot side)
rossetip
rossetmaster baxter
roslaunch eus_teleop baxter_display_remote.launch
How to use Vive controller
PR2
Button | Usage |
---|---|
1 / Menu | Control toggle: base/arm (Default: base) |
3 / Stream Menu | Steam Menu |
8 / Grip | Not used |
Arm mode
You can enable arm mode of right and left arm separately.
Command | Usage |
---|---|
7 / Trigger | Gripper toggle: open/close in Toggle grasp mode (Default: open) |
7 / Trigger | Gripper toggle: open only when trigger is pressed in Hold grasp mode |
Controller pose | robot end effector’s pose |
Base mode
Base mode is enabled when both arms are disabled in Arm mode.
Command | Usage |
---|---|
2 / Trackpad | Torso control: right: down / left: up |
2 / Trackpad + 7 / Trigger (right) | Safe base control: right: x, y / left: w |
2 / Trackpad + 7 / Trigger (right + left) | Unsafe base control: right: x, y / left: w |
Baxter
Button | Usage |
---|---|
2 / Trackpad | Control toggle: stop / arm (Default: stop) |
3 / Stream Menu | Steam Menu |
8 / Grip | Not used |
Arm mode
You can enable arm mode of right and left arm separately.
Command | Usage |
---|---|
7 / Trigger | Gripper toggle: open/close (Default: open) |
Controller pose | robot end effector’s pose |
How to use GUI control
Teleoperation control buttons
Button | Usage |
---|---|
Reset | Diable and reset robot to initial posture |
Enable | Enable robot |
Disable | Disable robot |
Calibrate larm/rarm | Calibrate with left/right arm |
Arm & Gripper control buttons
Button | Usage |
---|---|
Reset larm/rarm | Reset only left/right arm |
Enable larm/rarm | Enable only left/right arm |
Disable larm/rarm | Disable only left/right arm |
Start grasp lgripper/rgripper | Start grasp only left/right gripper |
Stop grasp lgripper/rgripper | Stop grasp only left/right gripper |
Toggle grasp mode | Change to Toggle grasp mode |
Hold grasp mode | Change to Hold grasp mode |
Tips
Baxter Network Configuration
Open Field Service Menu and change network configuration
VPNC Install
sudo apt install libgcrypt20-dev libgnutls28-dev
git clone https://github.com/streambinder/vpnc.git
cd vpnc
git checkout 1cf24ed6aa4a04b4b01cc9ebfacbad723eed04f5
make
sudo make install
cd ..
git clone git://git.infradead.org/users/dwmw2/vpnc-scripts.git
cd vpnc-scripts
sudo cp vpnc-script /etc/vpnc
VPNC Command for Fortigate
sudo vpnc --local-port 0 --gateway <gateway> --id ipsecvpn --username <username> --pfs dh5 --dh dh5 --auth-mode psk --no-detach --vendor fortigate --dh dh5
Demo Video
PR2 Fridge demo
Baxter APC demo
Changelog for package eus_teleop
0.1.17 (2023-05-28)
- add eus_teleop
- Contributors: Shingo Kitagawa
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
message_generation | |
std_msgs | |
catkin | |
actionlib_msgs | |
baxter_core_msgs | |
baxtereus | |
influxdb_store | |
jsk_interactive_marker | |
jsk_topic_tools | |
libuvc_camera | |
message_runtime | |
pr2eus | |
roseus | |
sensor_msgs | |
softhand_ros | |
topic_tools | |
video_stream_opencv | |
vive_ros | |
pr2_moveit_config |
System Dependencies
Dependant Packages
Launch files
- launch/tablis/tablis_bridge_follower.launch
- launch/tablis/tablis_bridge_leader.launch
-
- filtered [default: false]
- launch/include/respeaker.launch
- launch/include/vive.launch
-
- hmd_left_image [default: /virtual_camera/left/rviz_image]
- hmd_right_image [default: /virtual_camera/right/rviz_image]
- launch/include/elp_usb.launch
-
- camera_name [default: elp_head]
- index [default: 0]
- machine [default: localhost]
- load_machinepath [default: false]
- machinepath [default: false]
- launch/include/rqt_gui.launch
- launch/include/realsense_d435.launch
-
- camera_ns [default: realsense]
- manager [default: realsense_camera_manager]
- publish_tf [default: false]
- color_width [default: 640]
- color_height [default: 480]
- depth_width [default: 640]
- depth_height [default: 480]
- launch/include/realsense_l515.launch
-
- camera_ns [default: realsense]
- manager [default: realsense_camera_manager]
- publish_tf [default: false]
- color_width [default: 960]
- color_height [default: 540]
- depth_width [default: 640]
- depth_height [default: 480]
- launch/include/kinfu.launch
-
- CAMERA_INFO
- IMAGE_DEPTH
- IMAGE_COLOR
- launch/include/audio_play.launch
-
- audio_ns [default: remote_audio]
- format [default: wave]
- dst [default: alsasink]
- do_timestamp [default: false]
- launch/include/realsense.launch
-
- camera_ns
- manager
- publish_tf
- color_width
- color_height
- depth_width
- depth_height
- launch/include/kodak_pixpro.launch
-
- camera_name [default: kodak_head]
- launch/include/insta360_air.launch
-
- camera_name [default: insta_head]
- launch/include/mask_rcnn.launch
-
- INPUT_IMAGE
- gpu [default: 0]
- launch/pr2/pr2_teleop_display.launch
-
- kinfu [default: false]
- respeaker [default: true]
- DECOMP_CAMERA_INFO [default: /kinect_head_decompressed/depth_registered/camera_info]
- DECOMP_RGB_CAMERA_INFO [default: /kinect_head_decompressed/rgb/camera_info]
- DECOMP_IMAGE_DEPTH [default: /kinect_head_decompressed/depth_registered/image_rect]
- DECOMP_IMAGE_COLOR [default: /kinect_head_decompressed/rgb/image_rect_color]
- DECOMP_POINTS [default: /kinect_head_decompressed/depth_registered/points]
- CAMERA_INFO
- RGB_CAMERA_INFO
- IMAGE_COLOR
- IMAGE_DEPTH
- IMAGE_DEPTH_TYPE
- launch/pr2/pr2_teleop.launch
-
- main [default: true]
- vive [default: true]
- spacenav [default: false]
- tablis [default: false]
- device [default: vive]
- head [default: true]
- respeaker [default: true]
- mirror [default: false]
- logging [default: true]
- kinfu [default: false]
- display [default: true]
- home_dir [default: $(env HOME)]
- button_toggle [default: true]
- workspace_max_x [default: false]
- workspace_min_x [default: false]
- workspace_max_y [default: false]
- workspace_min_y [default: false]
- workspace_max_z [default: false]
- workspace_min_z [default: false]
- hmd_left_image [default: /virtual_camera/left/rviz_image]
- hmd_right_image [default: /virtual_camera/right/rviz_image]
- DECOMP_CAMERA_INFO [default: /kinect_head_decompressed/depth_registered/camera_info]
- DECOMP_RGB_CAMERA_INFO [default: /kinect_head_decompressed/rgb/camera_info]
- DECOMP_IMAGE_DEPTH [default: /kinect_head_decompressed/depth_registered/image_rect]
- DECOMP_IMAGE_COLOR [default: /kinect_head_decompressed/rgb/image_rect_color]
- DECOMP_POINTS [default: /kinect_head_decompressed/depth_registered/points]
- CAMERA_INFO [default: /kinect_head/depth_registered/camera_info]
- RGB_CAMERA_INFO [default: /kinect_head/rgb/camera_info]
- IMAGE_COLOR [default: /kinect_head/rgb/image_rect_color]
- IMAGE_DEPTH [default: /kinect_head/depth_registered/image_rect]
- IMAGE_DEPTH_TYPE [default: compressedDepth]
- COMP_IMAGE_COLOR [default: /kinect_head/rgb/image_rect_color/compressed]
- COMP_IMAGE_DEPTH [default: /kinect_head/depth_registered/image_rect/compressedDepth]
- launch/pr2/pr2_logging.launch
-
- CAMERA_INFO
- RGB_CAMERA_INFO
- COMP_IMAGE_COLOR
- COMP_IMAGE_DEPTH
- home_dir [default: $(env HOME)]
- compress [default: false] — whether compress rosbag or not.
- launch/pr2/pr2_teleop_gazebo.launch
-
- main [default: true]
- vive [default: true]
- spacenav [default: false]
- tablis [default: false]
- device [default: vive]
- head [default: false]
- mirror [default: false]
- display [default: true]
- button_toggle [default: true]
- workspace_max_x [default: false]
- workspace_min_x [default: false]
- workspace_max_y [default: false]
- workspace_min_y [default: false]
- workspace_max_z [default: false]
- workspace_min_z [default: false]
- launch/baxter/baxter_db_client.launch
-
- camera [default: true]
- camera_ns [default: realsense_torso]
- spherical_camera [default: true]
- spherical_stereo [default: true]
- spherical_camera_ns [default: kodak_head]
- spherical_left_camera_ns [default: elp_head_left]
- spherical_right_camera_ns [default: elp_head_right]
- output [default: screen]
- log_rate [default: 5.0]
- respawn [default: true]
- enable_monitor [default: false]
- vital_check [default: true]
- debug [default: false]
- launch/baxter/baxter_realsense_torso.launch
-
- launch_transformable_server [default: true]
- launch_tabletop_detector [default: false]
- launch_grasp_mask_rcnn [default: false]
- camera_ns [default: realsense_torso]
- camera_type [default: l515]
- camera_frame_id [default: $(arg camera_ns)_color_optical_frame]
- manager [default: $(arg camera_ns)_camera_manager]
- input_cloud [default: /$(arg camera_ns)/depth_registered/quarter/points]
- input_image [default: /$(arg camera_ns)/depth_registered/quarter/image]
- launch/baxter/baxter_teleop_display.launch
-
- head [default: true]
- respeaker [default: true]
- mirror [default: false]
- republish [default: false]
- logging [default: true]
- rqt_gui [default: true]
- home_dir [default: $(env HOME)]
- compress [default: false] — whether compress rosbag or not.
- main_name [default: /baxter_teleop_main]
- camera_ns [default: realsense_torso]
- spherical_camera_ns [default: kodak_head]
- spherical_stereo [default: true]
- spherical_left_camera_ns [default: elp_head_left]
- spherical_right_camera_ns [default: elp_head_right]
- hmd_left_image [default: /virtual_camera/left/rviz_image]
- hmd_right_image [default: /virtual_camera/right/rviz_image]
- REALSENSE_IMAGE_TYPE [default: x264]
- REALSENSE_DEPTH_TYPE [default: compressedDepth]
- SPHERICAL_IMAGE_TYPE [default: x264]
- SPHERICAL_STEREO_IMAGE_TYPE [default: x264]
- launch/baxter/baxter_logging.launch
-
- twitter [default: true]
- influxdb [default: true]
- debug [default: false]
- camera [default: true]
- camera_ns [default: realsense_torso]
- spherical_camera [default: true]
- spherical_stereo [default: true]
- spherical_camera_ns [default: kodak_head]
- spherical_left_camera_ns [default: elp_head_left]
- spherical_right_camera_ns [default: elp_head_right]
- twitter_image_topics [default: /$(arg camera_ns)/color/image_rect_color]
- home_dir [default: $(env HOME)]
- compress [default: false] — whether compress rosbag or not.
- position_diff_threshold [default: 0.01]
- launch/baxter/baxter_tabletop_object_detector.launch
-
- input_cloud
- input_image
- camera_frame_id
- manager
- launch_transformable_server [default: true]
- clip [default: true]
- launch/baxter/baxter.launch
-
- head [default: true]
- respeaker [default: true]
- logging [default: true]
- twitter [default: true]
- influxdb [default: true]
- debug [default: false]
- home_dir [default: $(env HOME)]
- mask_rcnn [default: false]
- custom_xdisplay [default: true]
- launch_xdisplay [default: false]
- realsense_camera [default: false]
- spherical_camera [default: true]
- spherical_stereo [default: true]
- lgripper_type [default: softhand]
- rgripper_type [default: softhand]
- launch_tabletop_detector [default: false]
- launch_grasp_mask_rcnn [default: false]
- arm_interpolation [default: bezier_with_velocity]
- arm_control_mode [default: velocity]
- moveit [default: false]
- finger [default: standard_narrow]
- finger_tip [default: paddle_tip]
- xdisplay_max_width [default: 1024]
- xdisplay_max_width [default: 1920]
- xdisplay_max_height [default: 600]
- xdisplay_max_height [default: 1200]
- camera_ns [default: realsense_torso]
- camera_type [default: l515]
- spherical_camera_ns [default: kodak_head]
- spherical_left_camera_ns [default: elp_head_left]
- spherical_right_camera_ns [default: elp_head_right]
- launch/baxter/baxter_visualization.launch
- launch/baxter/baxter_teleop.launch
-
- main [default: true]
- vive [default: true]
- spacenav [default: false]
- tablis [default: false]
- device [default: vive]
- head [default: true]
- respeaker [default: true]
- mirror [default: false]
- logging [default: true]
- twitter [default: true]
- debug [default: false]
- home_dir [default: $(env HOME)]
- mask_rcnn [default: false]
- display [default: true]
- custom_xdisplay [default: true]
- launch_baxter [default: true]
- launch_xdisplay [default: false]
- realsense_camera [default: false]
- spherical_camera [default: true]
- spherical_stereo [default: true]
- republish [default: false]
- lgripper_type [default: softhand]
- rgripper_type [default: softhand]
- button_toggle [default: true]
- workspace_max_x [default: false]
- workspace_min_x [default: false]
- workspace_max_y [default: false]
- workspace_min_y [default: false]
- workspace_max_z [default: false]
- workspace_min_z [default: false]
- arm_interpolation [default: bezier_with_velocity]
- arm_control_mode [default: velocity]
- moveit [default: false]
- finger [default: standard_narrow]
- finger_tip [default: paddle_tip]
- camera_ns [default: realsense_torso]
- camera_type [default: l515]
- spherical_camera_ns [default: kodak_head]
- spherical_left_camera_ns [default: elp_head_left]
- spherical_right_camera_ns [default: elp_head_right]
- hmd_left_image [default: /virtual_camera/left/rviz_image]
- hmd_right_image [default: /virtual_camera/right/rviz_image]
- launch/baxter/baxter_teleop_gazebo.launch
-
- main [default: true]
- vive [default: true]
- spacenav [default: false]
- tablis [default: false]
- device [default: vive]
- head [default: false]
- mirror [default: false]
- display [default: true]
- button_toggle [default: true]
- workspace_max_x [default: false]
- workspace_min_x [default: false]
- workspace_max_y [default: false]
- workspace_min_y [default: false]
- workspace_max_z [default: false]
- workspace_min_z [default: false]
- launch/baxter/baxter_rosbag_play.launch
-
- rosbag
- camera_ns [default: realsense_torso]
- gui [default: true]
- loop [default: true]
- lgripper_type [default: softhand]
- rgripper_type [default: softhand]
- manager [default: rosbag_play_nodelet_manager]
- finger [default: standard_narrow]
- finger_tip [default: paddle_tip]
- left_electric_gripper [default: $(eval arg('lgripper_type') == 'parallel')]
- right_electric_gripper [default: $(eval arg('rgripper_type') == 'parallel')]
- launch/baxter/baxter_grasp_mask_rcnn.launch
-
- input_image
- input_cloud
- manager
- sampling [default: false]
- data_collection [default: true]
- target_grasp [default: false]
- model_file [default: $(find dualarm_grasping)/models/dualarm_occluded_grasp/self_anno/20181227_model_iter_4559.npz]
- config_yaml [default: $(find dualarm_grasping)/models/dualarm_occluded_grasp/self_anno/20181227_params.yaml]
- target_yaml [default: $(find eus_teleop)/config/baxter/grasp_mask_rcnn_target_names.yaml]
- label_yaml [default: $(find dualarm_grasping)/yaml/dualarm_occluded_grasping_label_names.yaml]
- launch/baxter/baxter_rosbag_record.launch
-
- output_prefix [default: baxter]
- compress [default: false] — whether compress rosbag or not.
- camera_ns [default: realsense_torso]
- spherical_camera_ns [default: kodak_head]
- spherical_left_camera_ns [default: elp_head_left]
- spherical_right_camera_ns [default: elp_head_right]
- launch/dragon/dragon_teleop_gazebo.launch
-
- main [default: true]
- vive [default: true]
- spacenav [default: true]
- device [default: spacenav]
- head [default: false]
- mirror [default: false]
- button_toggle [default: true]
- workspace_max_x [default: false]
- workspace_min_x [default: false]
- workspace_max_y [default: false]
- workspace_min_y [default: false]
- workspace_max_z [default: false]
- workspace_min_z [default: false]
- launch/dragon/dragon_teleop.launch
-
- main [default: true]
- vive [default: true]
- spacenav [default: true]
- device [default: spacenav]
- head [default: false]
- mirror [default: false]
- button_toggle [default: true]
- workspace_max_x [default: false]
- workspace_min_x [default: false]
- workspace_max_y [default: false]
- workspace_min_y [default: false]
- workspace_max_z [default: false]
- workspace_min_z [default: false]
- launch/jaxon/jaxon_teleop.launch
-
- main [default: true]
- vive [default: false]
- spacenav [default: true]
- device [default: spacenav]
- head [default: false]
- mirror [default: false]
- button_toggle [default: true]
- workspace_max_x [default: false]
- workspace_min_x [default: false]
- workspace_max_y [default: false]
- workspace_min_y [default: false]
- workspace_max_z [default: false]
- workspace_min_z [default: false]
- launch/jaxon/jaxon_teleop_choreonoid.launch
-
- main [default: true]
- vive [default: false]
- spacenav [default: true]
- device [default: spacenav]
- head [default: false]
- mirror [default: false]
- button_toggle [default: true]
- workspace_max_x [default: false]
- workspace_min_x [default: false]
- workspace_max_y [default: false]
- workspace_min_y [default: false]
- workspace_max_z [default: false]
- workspace_min_z [default: false]
- sample/tablis/pr2/pr2_tablis.launch
-
- main [default: true]
- vive_set [default: default]
- head [default: true]
- button_toggle [default: true]
- kinfu [default: false]
- mirror [default: false]
- display [default: true]
- sample/tablis/pr2/pr2_tablis_gazebo.launch
-
- main [default: true]
- vive_set [default: default]
- head [default: true]
- button_toggle [default: true]
- mirror [default: false]
- display [default: true]
- sample/tablis/baxter/baxter_tablis.launch
-
- main [default: true]
- vive_set [default: default]
- head [default: true]
- mirror [default: false]
- realsense_camera [default: false]
- spherical_camera [default: true]
- spherical_stereo [default: true]
- republish [default: false]
- lgripper_type [default: softhand]
- rgripper_type [default: softhand]
- button_toggle [default: true]
- sample/tablis/baxter/baxter_tablis_remote.launch
-
- main [default: true]
- vive [default: true]
- head [default: true]
- mirror [default: false]
- vive_set [default: default]
- lgripper_type [default: softhand]
- rgripper_type [default: softhand]
- button_toggle [default: true]
- sample/tablis/baxter/baxter_tablis_gazebo.launch
-
- main [default: true]
- vive_set [default: default]
- head [default: true]
- button_toggle [default: true]
- mirror [default: false]
- display [default: true]
- sample/tablis/jaxon/jaxon_tablis.launch
-
- main [default: true]
- button_toggle [default: true]
- sample/tablis/jaxon/jaxon_tablis_choreonoid.launch
-
- main [default: true]
- button_toggle [default: true]
- sample/other/baxter/baxter_moveit.launch
-
- realsense_camera [default: true]
- spherical_camera [default: false]
- logging [default: true]
- arm_interpolation [default: minjerk]
- arm_control_mode [default: position_w_id]
- moveit [default: true]
- gui [default: true]
- lgripper_type [default: softhand]
- rgripper_type [default: softhand]
- launch_tabletop_detector [default: true]
- sample/vive/pr2/pr2_vive.launch
-
- main [default: true]
- vive [default: true]
- vive_set [default: default]
- head [default: true]
- button_toggle [default: true]
- kinfu [default: false]
- display [default: true]
- sample/vive/pr2/pr2_vive_gazebo.launch
-
- main [default: true]
- vive [default: true]
- vive_set [default: default]
- button_toggle [default: true]
- display [default: true]
- sample/vive/baxter/baxter_vive_mirror.launch
-
- main [default: true]
- vive [default: true]
- vive_set [default: default]
- head [default: true]
- realsense_camera [default: false]
- spherical_camera [default: true]
- spherical_stereo [default: true]
- republish [default: false]
- lgripper_type [default: softhand]
- rgripper_type [default: softhand]
- button_toggle [default: true]
- sample/vive/baxter/baxter_vive.launch
-
- main [default: true]
- vive [default: true]
- vive_set [default: default]
- head [default: true]
- mirror [default: false]
- realsense_camera [default: false]
- spherical_camera [default: true]
- spherical_stereo [default: true]
- republish [default: false]
- lgripper_type [default: softhand]
- rgripper_type [default: softhand]
- button_toggle [default: true]
- sample/vive/baxter/baxter_vive_gazebo.launch
-
- main [default: true]
- vive [default: true]
- vive_set [default: default]
- head [default: true]
- mirror [default: false]
- button_toggle [default: true]
- display [default: true]
- sample/vive/baxter/baxter_vive_remote.launch
-
- main [default: true]
- vive [default: true]
- vive_set [default: default]
- head [default: true]
- mirror [default: false]
- lgripper_type [default: softhand]
- rgripper_type [default: softhand]
- button_toggle [default: true]
- sample/spacenav/pr2/pr2_spacenav.launch
-
- main [default: true]
- spacenav [default: true]
- button_toggle [default: true]
- kinfu [default: false]
- display [default: true]
- sample/spacenav/pr2/pr2_spacenav_gazebo.launch
-
- main [default: true]
- spacenav [default: true]
- button_toggle [default: true]
- display [default: true]
- sample/spacenav/baxter/baxter_spacenav.launch
-
- main [default: true]
- head [default: false]
- mirror [default: false]
- logging [default: false]
- display [default: true]
- realsense_camera [default: false]
- spherical_camera [default: true]
- spherical_stereo [default: true]
- lgripper_type [default: softhand]
- rgripper_type [default: softhand-v2]
- button_toggle [default: true]
- sample/spacenav/baxter/baxter_spacenav_gazebo.launch
-
- main [default: true]
- button_toggle [default: true]
- display [default: true]
- sample/spacenav/dragon/dragon_spacenav.launch
-
- main [default: true]
- spacenav [default: true]
- button_toggle [default: true]
- sample/spacenav/dragon/dragon_spacenav_gazebo.launch
-
- main [default: true]
- spacenav [default: true]
- button_toggle [default: true]
- sample/spacenav/jaxon/jaxon_spacenav.launch
-
- main [default: true]
- spacenav [default: true]
- button_toggle [default: true]
- sample/spacenav/jaxon/jaxon_spacenav_choreonoid.launch
-
- main [default: true]
- spacenav [default: true]
- button_toggle [default: true]
- sample/common/baxter_moveit_remote.launch
-
- head [default: true]
- respeaker [default: true]
- logging [default: true]
- twitter [default: true]
- influxdb [default: true]
- debug [default: false]
- home_dir [default: $(env HOME)]
- mask_rcnn [default: false]
- custom_xdisplay [default: true]
- launch_xdisplay [default: false]
- realsense_camera [default: true]
- spherical_camera [default: true]
- spherical_stereo [default: true]
- lgripper_type [default: softhand]
- rgripper_type [default: softhand]
- arm_interpolation [default: minjerk]
- arm_control_mode [default: position_w_id]
- moveit [default: true]
- finger [default: standard_narrow]
- finger_tip [default: paddle_tip]
- camera_ns [default: realsense_torso]
- camera_type [default: l515]
- spherical_camera_ns [default: kodak_head]
- spherical_left_camera_ns [default: elp_head_left]
- spherical_right_camera_ns [default: elp_head_right]
- gui [default: true]
- launch_tabletop_detector [default: true]
- launch_grasp_mask_rcnn [default: false]
- sample/common/baxter_remote.launch
-
- head [default: true]
- respeaker [default: true]
- logging [default: true]
- twitter [default: true]
- influxdb [default: true]
- debug [default: false]
- home_dir [default: $(env HOME)]
- mask_rcnn [default: false]
- custom_xdisplay [default: true]
- launch_xdisplay [default: false]
- realsense_camera [default: false]
- spherical_camera [default: true]
- spherical_stereo [default: true]
- lgripper_type [default: softhand]
- rgripper_type [default: softhand]
- arm_interpolation [default: bezier_with_velocity]
- arm_control_mode [default: velocity]
- moveit [default: false]
- finger [default: standard_narrow]
- finger_tip [default: paddle_tip]
- camera_ns [default: realsense_torso]
- camera_type [default: l515]
- spherical_camera_ns [default: kodak_head]
- spherical_left_camera_ns [default: elp_head_left]
- spherical_right_camera_ns [default: elp_head_right]
- sample/common/baxter_display_remote.launch
-
- head [default: false]
- respeaker [default: true]
- mirror [default: false]
- republish [default: true]
- logging [default: true]
- rqt_gui [default: true]
- camera_ns [default: realsense_torso]
- spherical_camera_ns [default: kodak_head]
- spherical_stereo [default: true]
- spherical_left_camera_ns [default: elp_head_left]
- spherical_right_camera_ns [default: elp_head_right]
- sample/oculus/pr2/pr2_oculus_gazebo.launch
-
- main [default: true]
- button_toggle [default: true]
- display [default: true]
- sample/oculus/pr2/pr2_oculus.launch
-
- main [default: true]
- kinfu [default: false]
- button_toggle [default: true]
- display [default: true]
- sample/oculus/baxter/baxter_oculus_gazebo.launch
-
- main [default: true]
- button_toggle [default: true]
- display [default: true]
- sample/oculus/baxter/baxter_oculus.launch
-
- main [default: true]
- head [default: false]
- mirror [default: false]
- realsense_camera [default: false]
- spherical_camera [default: true]
- spherical_stereo [default: true]
- lgripper_type [default: softhand]
- rgripper_type [default: softhand]
- button_toggle [default: true]