diff --git a/eus_teleop/README.md b/eus_teleop/README.md index f75db5242..93455f1c7 100644 --- a/eus_teleop/README.md +++ b/eus_teleop/README.md @@ -25,15 +25,11 @@ This package depends on these branches below: ### Build environment -#### Ubuntu 16.04 + ROS Kinetic +#### Ubuntu 20.04 + ROS Noetic -- NVidia driver: `396.37` -- OpenVR: `1.3.22` -- Steam VR: `1.6.10` - -#### Ubuntu 18.04 + ROS Melodic +Steam does not work on Melodic or Kinetic now. -- NVidia driver: `390.116` +- NVidia driver: `525.105` - OpenVR: `1.3.22` - Steam VR: `1.6.10` @@ -92,6 +88,12 @@ sudo apt install nvidia-396 Follow [here](https://github.com/knorth55/vive_ros) +#### Remove libcurl packages in Steam (for Vive) + +```bash +rm -r ~/.steam/steam/ubuntu12_32/steam-runtime/usr/lib/x86_64-linux-gnu/libcurl* +``` + #### Install kodak 4k pro camera and ELP usb camera udev (for Baxter) ```bash @@ -252,13 +254,29 @@ https://user-images.githubusercontent.com/9300063/213144997-0d224d5c-b462-43a7-b #### Baxter + Vive in JSK 73B2 +##### Baxter control PC + ```bash rossetip rossetmaster baxter -# HMD mode -roslaunch eus_teleop baxter_vive.launch +roslaunch eus_teleop baxter_remote.launch +``` + +##### Vive PC + +```bash +rossetip +rossetmaster baxter + # No HMD mode -roslaunch eus_teleop baxter_vive.launch head:=false +roslaunch eus_teleop baxter_vive_remote.launch +# for display +roslaunch eus_teleop baxter_display_remote.launch + +# HMD mode +roslaunch eus_teleop baxter_vive_remote.launch head:=true +# for display +roslaunch eus_teleop baxter_display_remote.launch head:=true ``` #### Baxter + Vive in Gazebo diff --git a/eus_teleop/baxter.rosinstall.noetic b/eus_teleop/baxter.rosinstall.noetic new file mode 100644 index 000000000..0035bc3ae --- /dev/null +++ b/eus_teleop/baxter.rosinstall.noetic @@ -0,0 +1,4 @@ +- git: + local-name: strands-project/mongodb_store + uri: https://github.com/strands-project/mongodb_store.git + version: noetic-devel diff --git a/eus_teleop/euslisp/lib/baxter-teleop-interface.l b/eus_teleop/euslisp/lib/baxter-teleop-interface.l index f0d553720..74ff5b35b 100644 --- a/eus_teleop/euslisp/lib/baxter-teleop-interface.l +++ b/eus_teleop/euslisp/lib/baxter-teleop-interface.l @@ -70,7 +70,9 @@ (let (coords) (send tfl :wait-for-transform base-frame-id head-frame-id (ros::time 0) 0.1) (setq coords (send tfl :lookup-transform base-frame-id head-frame-id (ros::time 0))) - (if coords (send coords :rotate pi/2 :y :world)) + (if coords + (setq coords (make-coords :pos (send coords :worldpos) + :rpy (float-vector 0 pi/2 0)))) coords)) (:angle-vector (&rest args) (send* robot-interface :angle-vector-raw args)) diff --git a/eus_teleop/euslisp/lib/baxter-vive-interface.l b/eus_teleop/euslisp/lib/baxter-vive-interface.l index 089b08c51..36bf40438 100644 --- a/eus_teleop/euslisp/lib/baxter-vive-interface.l +++ b/eus_teleop/euslisp/lib/baxter-vive-interface.l @@ -23,11 +23,11 @@ (send self :set-val 'menu-wait-count 5) (send self :set-val 'trackpad-wait-count 5) (send self :set-val 'grip-wait-count 5))) - (:get-hmd->vive-coords (arm) - (let* ((coords (send-super :get-hmd->vive-coords arm)) - (bvive->hmd-coords (send self :get-bvive->hmd-coords)) + (:get-hmd->controller-coords (arm) + (let* ((coords (send-super :get-hmd->controller-coords arm)) + (vrbase->hmd-coords (send self :get-vrbase->hmd-coords)) (rpy-angle - (if bvive->hmd-coords (car (send bvive->hmd-coords :rpy-angle))))) + (if vrbase->hmd-coords (car (send vrbase->hmd-coords :rpy-angle))))) (if (and coords rpy-angle) (progn (setq coords diff --git a/eus_teleop/euslisp/lib/robot-move-base-vive-interface.l b/eus_teleop/euslisp/lib/robot-move-base-vive-interface.l index 5c1ffaa3a..6902b2a72 100644 --- a/eus_teleop/euslisp/lib/robot-move-base-vive-interface.l +++ b/eus_teleop/euslisp/lib/robot-move-base-vive-interface.l @@ -14,7 +14,7 @@ (defmethod robot-vive-interface ;; overwrite controller button callbacks (:controller-button-cb (arm msg) - (send :controller-button-cb-move-base-vive-org arm msg) + (send self :controller-button-cb-move-base-vive-org arm msg) (cond ((eq arm :larm) (send self :set-val 'vw diff --git a/eus_teleop/euslisp/lib/robot-teleop-interface.l b/eus_teleop/euslisp/lib/robot-teleop-interface.l index 4c06ebd7c..1d2aa8229 100644 --- a/eus_teleop/euslisp/lib/robot-teleop-interface.l +++ b/eus_teleop/euslisp/lib/robot-teleop-interface.l @@ -708,10 +708,16 @@ (if (or (equal button-prefix "larm-") (equal button-prefix "rarm-")) (read-from-string - (format nil "~Aprev-~A" button-prefix (subseq (format nil "~A" 5)))) + (format nil "~Aprev-~A" button-prefix (subseq (format nil "~A" button) 5))) (read-from-string (format nil "prev-~A" button)))) (button-counter (read-from-string (format nil "~A-count" button))) - (button-wait-counter (read-from-string (format nil "~A-wait-count" button))) + (button-wait-counter + (read-from-string + (format nil "~A-wait-count" + (if (or (equal button-prefix "larm-") + (equal button-prefix "rarm-")) + (subseq (format nil "~A" button) 5) + button)))) (button-p (send self :get-val button)) (prev-button-p (send self :get-val prev-button)) (button-count (send self :get-val button-counter)) diff --git a/eus_teleop/fc.rosinstall b/eus_teleop/fc.rosinstall index 0e18c0f6e..067379935 100644 --- a/eus_teleop/fc.rosinstall +++ b/eus_teleop/fc.rosinstall @@ -28,11 +28,10 @@ uri: https://github.com/jsk-ros-pkg/jsk_visualization.git version: master # need fixed version of rviz_camera_stream -# https://github.com/knorth55/rviz_camera_stream/commit/ca7ffb379946710a3045dea2d191ba0218a8fd08 - git: local-name: knorth55/rviz_camera_stream uri: https://github.com/knorth55/rviz_camera_stream - version: master + version: noetic-devel # use larger image for vr # https://github.com/knorth55/vive_ros/commit/67fa4803ac324846608b062b44c618335bfa0c45 - git: @@ -45,3 +44,8 @@ local-name: UTNuclearRoboticsPublic/rviz_textured_sphere uri: https://github.com/knorth55/rviz_textured_sphere.git version: vive-control +# for pr2_moveit_config in noetic +- git: + local-name: ros-planning/moveit_pr2 + uri: https://github.com/ros-planning/moveit_pr2.git + version: melodic-devel diff --git a/eus_teleop/launch/pr2/pr2_teleop_display.launch b/eus_teleop/launch/pr2/pr2_teleop_display.launch index 6e5c04583..638d1c4cd 100644 --- a/eus_teleop/launch/pr2/pr2_teleop_display.launch +++ b/eus_teleop/launch/pr2/pr2_teleop_display.launch @@ -12,12 +12,11 @@ - - - - - - + + + + + - + diff --git a/eus_teleop/sample/vive/baxter/baxter_vive_mirror.launch b/eus_teleop/sample/vive/baxter/baxter_vive_mirror.launch index ec3fab73e..95978130f 100644 --- a/eus_teleop/sample/vive/baxter/baxter_vive_mirror.launch +++ b/eus_teleop/sample/vive/baxter/baxter_vive_mirror.launch @@ -2,7 +2,7 @@ - + diff --git a/eus_teleop/sample/vive/baxter/baxter_vive_remote.launch b/eus_teleop/sample/vive/baxter/baxter_vive_remote.launch index f933191bf..5755dbd46 100644 --- a/eus_teleop/sample/vive/baxter/baxter_vive_remote.launch +++ b/eus_teleop/sample/vive/baxter/baxter_vive_remote.launch @@ -2,7 +2,7 @@ - +