OpenHRC
Loading...
Searching...
No Matches
OpenHRC

GitHub release (latest by date) GitHub

OpenHRC Logo

OpenHRC: Open Human-Robot Collaboration Library

Aiming to enhance research on human-robot interaction, we develop this open ROS2 package for offering easy implementation of HRC software such as interaction and teleoperation. OpenHRC includes some tools for HRC like a robot controller for multiple robots with (self-)collision avoidance, human skeleton detection, imitation learning and so on. We hope this package helps you implement your HRC ideas instantly.

Documentation by Doxygen is under construction.

Requirements

OpenHRC has been developed and tested in the following environments:

  • Development Environment: Ubuntu 22.04 (ROS 2 Humble)

CI Build Status

ROS 2 Distribution Humble Jazzy
Build Status humble-build jazzy-build

**If you want to use ROS1 version, please checkout the noetic branch, which is no longer maintained.**

Quick Start with Docker

You can quickly test UR5e + marker teleoperation on docker environment. We use rocker here to simply run the docker container with GUI support.

Build

$ git clone https://github.com/OpenHRC/OpenHRC.git -b ros2
$ docker build -t openhrc:ros2 docker/.

Run

Now you can control the end-effector of UR5e with an interactive marker.

$ sudo apt install python3-rocker # if you don't have rocker. You can also use "pip install rocker".
$ rocker --x11 openhrc:ros2 marker_teleoperation_ur5e

## Native Installation

Step-by-step instructions for installing OpenHRC on your local machine. In the following instruction, the ros2 workspace directory is assumed to be `~/ros2_ws` on host.

### Clone the Source Code and install dependencies ```bash $ mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src $ git clone https://github.com/OpenHRC/OpenHRC.git -b ros2 --recursive $ rosdep update && rosdep install -i -y --from-paths ./

Build

$ cd ~/ros2_ws
$ colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release

Getting Started

You can first try the teleoperation node for UR5e.

First, run the following command to start the UR5e gazebo simulation, which has been installed automatically with OpenHRC:

$ ros2 launch ur_simulation_gz ur_sim_control.launch.py initial_joint_controller:=forward_velocity_controller launch_rviz:=false

We offer several teleoperation interfaces to control the robot remotely.

1. Interactive Marker

You can try Interactive Marker on Rviz.

$ ros2 launch ohrc_teleoperation marker_teleoperation.launch.py

2. keyboard

You can operate the robot via keyboard as well.

  • Translation -> (UP/DOWN, LEFT/RIGHT, PageUP/PageDOWN)
  • Rotation -> (NK8/NK2, NK4/NK6, NK+/NK-) NK:Numeric Keypad
    $ ros2 launch ohrc_teleoperation joy_topic_teleoperation.launch.py device:=keyboard

3. 3D mouse (spacenav)

If you have 3D mouse (spacenav), you can also use it.

$ sudo apt install ros-humble-spacenav # if you don't have spacenav package
$ ros2 launch ohrc_teleoperation joy_topic_teleoperation.launch.py device:=spacenav

Controller Structure

*Under development

see ohrc_control/README.md

Tutorials

*Under development

  1. Teleoperation library: ohrc_teleoperation/README.md
  2. Imitation Learning library: ohrc_imitation_learning/README.md

Citation

If you use this package in your academic research, we would appreciate it if you could cite the following paper.

@software{openhrc,
author = {Shunki Itadera},
title = {OpenHRC},
url = {https://github.com/OpenHRC/OpenHRC},
year = {2024},
}

License

This software is released under dual license of LGPL-v2.1 and individual license. About the individual license, please make a contact to the author.

Author

Shunki Itadera (https://itadera.github.io/) - Researcher at AIST, Japan

We welcome any feedback and contributions. Please feel free to contact us if you have any questions or comments.

Besides, we are looking for research collaborators and students who are interested in Human-Robot Interaction using OpenHRC. If you are interested, please send me a message.