Giter Club home page Giter Club logo

vrrw-ros's Introduction

Virtual Reality Robotic Workspace (ROS-Side Package)

Overview

This repository contains the ROS-side package to communicate and control a simulated or real (e.g., UR5e) robot through a Unity UI for the virtual reality robotic workspace software project.

Citation

If you find this project useful, then please consider citing our work.

@inproceedings{tram2023intuitive,
  title={Intuitive Robot Integration via Virtual Reality Workspaces},
  author={Tram, Minh Q. and Cloud, Joseph M. and Beksi, William J},
  booktitle={Proceedings of the IEEE International Conference on Robotics and Automation (ICRA)},
  pages={11654--11660},
  year={2023}
}

Quick Start

  1. Clone this repository and cd into it:
user@DESKTOP:~$ git clone https://github.com/robotic-vision-lab/VRRW-ROS.git
user@DESKTOP:~$ cd VRRW-ROS 
  1. Build or pull the Docker image:
user@DESKTOP:~$ docker pull mqt0029/robosim:noetic
  1. Run the Docker container:

A convenient script is provided to run the Docker container. The script will do the following:

  • Create a container if it does not exist.
  • If the container exists, then it will start the container and attach to it.
  • Mount the catkin_ws directory to the container.
  • Expose sufficient ports and devices for rendering and ROS communication.

A subsequent re-run of the script will just attach to the existing container.

user@DESKTOP:~$ ./run_container.sh

Several convenient aliases have also been defined in the container. They will be listed when a user attaches to the container.

user@DESKTOP:~$ ./run_container.sh
non-network local connections being added to access control list
predefined aliases: src_ros, run_rosdep, run_catkin, rebuild_catkin, kill_gazebo, kill_rviz

root ~/catkin_ws
>
  1. Install the dependencies and build the catkin workspace:
root ~/catkin_ws
> run_rosdep

[...]

root ~/catkin_ws
> run_catkin

[...]

root ~/catkin_ws
> src_ros

🗒️ In order for autocomplete to find all ROS commands and packages, for every new terminal or package rebuild you must run src_ros to source the ROS environment.

  1. Run the simulation or real robot control backend:
root ~/catkin_ws
> roslaunch rvl_unity_communicator start_backend.launch

or

root ~/catkin_ws
> roslaunch rvl_unity_communicator start_real_robot.launch

🗒️ Remember to modify the start_real_robot.launch file to match your robot's and control computer's IP addresses.

  1. Start the Unity-side application package:

Refer to the VRRW-Unity repository for more information.

Troubleshooting

In many cases, the most common issues are the following:

  1. Either the ROS-side, Unity-side, or physical robot (if applicable), does not have proper permissions to communicate through the LAN. To ensure that all devices are able to communicate with each other, a simple ping test may suffice:
user@DESKTOP:~$ ping <IP_ADDRESS>

Raw IP address i.e. 192.168.___.___ is preferred over hostname i.e. localhost or robot.local, however, we have not experienced any issues with the hostname.

  1. On the Unity-side application, the ROS configuration is incorrect. Ensure that the ROS IP Adress under Robotics > ROS Settings is set to the IP address of the ROS-side computer where this package is running.

License

license

vrrw-ros's People

Contributors

mqt0029 avatar wjbeksi avatar

Watchers

 avatar Joe Cloud avatar

vrrw-ros's Issues

Error running container

I can create an image and container from it. However, when I run ./run_container.sh, I get the following error:

Error invoking remote method 'docker-start-container’: Error: (HTTP code 500) server error - failed to create shim task OCI runtime create failed: runc create failed unable to start container process: error during container init error running hook #0, error running hook exit status 1, stdout, siderr. Auto-detected mode as ‘legacy' nvidia-container-cli: initialization error. WSL environment detected but no adapters were found: unknown

error

I tried to run on 3 different laptops (Mac Intel & Windows) & several debugging tips that I found online but to no avail.

I would highly appreciate it if you could look into the issue and suggest a solution.

Thank you!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.