{"id":19134174,"url":"https://github.com/um-arm-lab/vr_teleop","last_synced_at":"2025-04-19T07:33:56.435Z","repository":{"id":50958332,"uuid":"143747040","full_name":"UM-ARM-Lab/vr_teleop","owner":"UM-ARM-Lab","description":"[ROS 1] Teleop control of dual arm robots using virtual reality devices","archived":true,"fork":false,"pushed_at":"2024-01-22T15:46:29.000Z","size":18167,"stargazers_count":25,"open_issues_count":1,"forks_count":7,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-02-22T17:47:24.237Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"CMake","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/UM-ARM-Lab.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-08-06T15:21:02.000Z","updated_at":"2025-02-07T21:12:07.000Z","dependencies_parsed_at":"2024-11-09T06:26:20.311Z","dependency_job_id":"53a76aa3-f70d-401f-b925-ff57dca94b3c","html_url":"https://github.com/UM-ARM-Lab/vr_teleop","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UM-ARM-Lab%2Fvr_teleop","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UM-ARM-Lab%2Fvr_teleop/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UM-ARM-Lab%2Fvr_teleop/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UM-ARM-Lab%2Fvr_teleop/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/UM-ARM-Lab","download_url":"https://codeload.github.com/UM-ARM-Lab/vr_teleop/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249638251,"owners_count":21304305,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-09T06:25:43.807Z","updated_at":"2025-04-19T07:33:51.425Z","avatar_url":"https://github.com/UM-ARM-Lab.png","language":"CMake","funding_links":[],"categories":[],"sub_categories":[],"readme":"This repo is old, and connects to ROS 1 only.\nFor ROS2 connectivity, use https://github.com/UM-ARM-Lab/vr_ros2_bridge\n\n\n# VR teleop for unity:\nThis is the ROS portion of the armlabs VR teleopeartion suite. You will also need the [Unity package](https://github.com/UM-ARM-Lab/unity_victor_teleop).\nYou can find further explanation on the [wiki](https://github.com/UM-ARM-Lab/unity_victor_teleop/wiki).\n\n![flow diagram](flow_diagram.png)\n\nVideos of the Robot operated using this software can be found on Youtube:\n- [Making pancakes](https://www.youtube.com/watch?v=EahUsJKVfw8)\n- [Filling a shopping bag](https://www.youtube.com/watch?v=EvpxsqET01c)\n\n## Installation\nDependencies\n- moveit (planning interface, visual-tools)\n- kuka_iiwa_interface (https://github.com/UM-ARM-Lab/kuka_iiwa_interface)\n- robotiq (https://github.com/UM-ARM-Lab/robotiq)\n\n\n## How to run:\n(This is a quick reference. See the [tutorials](https://github.com/UM-ARM-Lab/unity_victor_teleop/wiki/Tutorial-1:-Set-up-Unity-package) for more detailed instructions)\n\nYou will need \n- A windows computer with unity connected to the Vive with the [Unity package](https://github.com/UM-ARM-Lab/unity_victor_teleop)\n- A linux computer (or virtual machine) with ROS\n- (optionally) A linux computer connected to the physical robot, exposing the proper interface\n- (optionally) A linux computer connected to a kinect publishing a pointcloud\n\nCurrently in the armlab you will need the computer `armor`. You will also need the computer `realtime` and `loki` if you are running the physical robot.\n\n### On the windows computer (Armor) \n1. Connect HTC Vive to computer (or plug in battery if using wireless)\n2. (If using wireless) Launch VIVE Wireless\n3. Launch SteamVR\n   1. Launch Steam\n   2. Click on Library \u003e VR\n   3. Select SteamVR and click play\n   \n   If you are running SteamVR for first time, please start the SteamVR room setup to calibrate the device.\n\n\n### On the linux computer running ROS (The linux VM inside Armor)\nNote in this example the computer `loki` is connected to the Kinect. `realtime` provides the interface to the physical robot.\n\nTerminal 1:\n```\nssh loki\nroscore\n```\n\nTerminal 2:\n```\nssh realtime\nexport ROS_MASTER_URI=http://loki.local:11311\nroslaunch victor_hardware_interface dual_arm_lcm_bridge.launch\n```\n\nTerminal 3:\n```\nssh loki\nroslaunch mps_launch_files kinect_vicon_real_robot.launch pov:=\"victor_head\" fps_limit:=\"10\"\n```\n\nTerminal 4:\n```\nexport ROS_MASTER_URI=http://loki.local:11311\nrosrun dual_arm_teleop make_victor_fast.py\nroslaunch unity_launch_files unity_setup.launch\n```\nNote: Current version mismatch. Need to edit `victor_utils`. Delete the `/` from the service call name. Then `export ROS_NAMESPACE=/victor`\n\n(Note, if `make_victor_fast` fails, check that the Victor robot is in impedance mode)\n\n### Back on the Windows computer (Armor)\n1. Launch unity, and open the project `unity_victor_teleop`\n2. Check that the IP is correct. `RosBridgeSettings` from the unity panel must match the IP from the linux computer running the unity setup (The IP of the vm on armor, which you can see using `ifconfig`). The form is `ws://10.10.10.124:9090`\n3. `Play` the unity environment\n\n\n\n## Controls\n![alt-text][vive-controller-layout]\n\nThe controls for operating the robot are as follows:\n1. **Menu button** - \n2. **Trackpad**  \n   Teleportation\n3. **System button**\n4. **Status light**\n5. **Micro-USB port**\n6. **Tracking sensor**\n7. **Trigger** - open and close the grippers\n8. **Grip button** - \"Grab\" the robot arm\n\n\n## Troubleshooting\n* If SteamVR is having trouble detecting the Vive headset, try switching on/off the SteamVR beta\n\n   Found by right clicking SteamVR \u003e Properties \u003e Betas \u003e  Select the beta you would like to opt into\n* Read the SteamVR for Linux guide to make sure everything is configured properly\n\n   [SteamVR for Linux guide](https://github.com/ValveSoftware/SteamVR-for-Linux)\n\n* If Unity is not detecting any input from ROS (kinematics, kinect), check the ip address match between the Unity RosConnector node and the ubuntu VM (run `ifconfig`)\n\n\n[vive-controller-layout]: https://www.vive.com/media/filer_public/17/5d/175d4252-dde3-49a2-aa86-c0b05ab4d445/guid-2d5454b7-1225-449c-b5e5-50a5ea4184d6-web.png \"Vive Controller Layout\"\n\n* If errors about missing packages, make sure you installed everything needed for ROS-sharp. e.g. `cannot find rosbridge_websocket` means you missed installing `sudo apt-get install ros-kinetic-rosbridge-server`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fum-arm-lab%2Fvr_teleop","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fum-arm-lab%2Fvr_teleop","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fum-arm-lab%2Fvr_teleop/lists"}