Skip to content

Repository files navigation

LGDXRobot2 ROS 2

Overview

Demo

Demo video 1

Demo video 2

LGDXRobot2 fully uses GitLab CI/CD for builds.
Latest Release Release Strategy

LGDXRobot2 ROS 2 is an integration software for the LGDXRobot2 utilising ROS 2 ecosystem, especially navigation with the NAV2 stack. Also, it offers Docker images with ready-to-use ROS 2 environment on a web interface.

The project aims to support the latest ROS 2 LTS release (see the ROS 2 Support Policy).

LGDXRobot2 All Repositories

Getting Help

Which Web Interface Are You Looking For?

  • If you are looking to manage multiple robots and logistics tasks, please visit LGDXRobot Cloud (Another project).
  • If you are looking to use ROS 2 in a web browser on a single robot, please visit Docker Installation for LGDXRobot2 (This project).

Packages

The solution consists of the following packages:

  • lgdxrobot2_agent: LGDXRobot2 hardware integration for ROS 2 and LGDXRobot Cloud.
  • lgdxrobot2_bringup: LGDXRobot2 launch files.
  • lgdxrobot2_description: LGDXRobot2 visualisation package.
  • lgdxrobot2_msgs: LGDXRobot2 ROS 2 interfaces.
  • lgdxrobot2_navigation: LGDXRobot2 Nav2 stack integration.

Installation

1. APT

  1. Install ROS 2 (refer to the ROS 2 Support Policy for the supported versions).
  2. The packages are hosted in a self-hosted repository, install this package to add the repository and the public key.
curl -L -s -o /tmp/lgdxrobot-apt-source.deb https://packages.lgdxrobot.uk/lgdxrobot-apt-source.deb
sudo dpkg -i /tmp/lgdxrobot-apt-source.deb
sudo apt update
rm -f /tmp/lgdxrobot-apt-source.deb
  1. Install the packages. This will also install the required dependencies, including the Nav2 stack.
sudo apt install lgdxrobot2-udev \
  ros-${ROS_DISTRO}-lgdx-rplidar-c1 \
  ros-${ROS_DISTRO}-lgdxrobot2-*

2. Docker

docker run -d \
  --name lgdxrobot2 \
  -e PUID=1000 \
  -e PGID=1000 \
  -p 3000:3000 \
  -p 3001:3001 \
  lgdxrobot/lgdxrobot2-desktop:latest

Visit http://localhost:3000 to access the web interface. If the terminal is closed, you can right-click the desktop to relaunch it from the menu.

More information on Docker: https://lgdxrobot.uk/lgdxrobot2/docs/ros2/installation-docker/

How to use LGDXRobot2 ROS 2

Build from Source

Please refer to the ROS 2 Support Policy for the recommended system configurations.

Build

Clone the project and run the following commands:

mkdir -p ~/lgdx_ws/src
cd ~/lgdx_ws/src
git clone https://gitlab.com/lgdxrobotics/lgdxrobot2-rplidar-c1.git -b $ROS_DISTRO
git clone https://gitlab.com/lgdxrobotics/lgdxrobot2-ros2.git -b $ROS_DISTRO
cd ..

# Install build dependencies
rosdep update
rosdep install --from-paths src --ignore-src -y

# Ensure that interfaces is in the system
colcon build --packages-select lgdxrobot2_msgs --symlink-install
source install/setup.bash

colcon build --symlink-install

Configuration

First, configure the permissions for the hardwares.

curl -L -s -o rplidar.rules https://gitlab.com/lgdxrobotics/release-strategy-front/-/raw/main/lgdxrobot2-udev/usr/lib/udev/rules.d/99-rplidar.rules
curl -L -s -o lgdxrobot2.rules https://gitlab.com/lgdxrobotics/release-strategy-front/-/raw/main/lgdxrobot2-udev/usr/lib/udev/rules.d/99-lgdxrobot2.rules
sudo mv rplidar.rules /etc/udev/rules.d
sudo mv lgdxrobot2.rules /etc/udev/rules.d
sudo service udev reload
sudo service udev restart

Then, source the setup files for the ROS 2 workspaces.

source ~/lgdx_ws/install/setup.bash

License

This project is licensed under the MIT Licence.

Credits

Acknowledgements

ROS 2

S. Macenski, T. Foote, B. Gerkey, C. Lalancette, W. Woodall, “Robot Operating System 2: Design, architecture, and uses in the wild.”, Science Robotics vol. 7, May 2022.

S. Macenski, A. Soragna, M. Carroll, Z. Ge, “Impact of ROS 2 Node Composition in Robotic Systems”, IEEE Robotics and Autonomous Letters (RA-L), 2023.

NAV2

S. Macenski, F. Martín, R. White, J. Clavero. The Marathon 2: A Navigation System. IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), 2020.

S. Macenski, T. Moore, DV Lu, A. Merzlyakov, M. Ferguson, From the desks of ROS maintainers: A survey of modern & capable mobile robotics algorithms in the robot operating system 2, Robotics and Autonomous Systems, 2023

S. Macenski, M. Booker, J. Wallace, Open-Source, Cost-Aware Kinematically Feasible Planning for Mobile and Surface Robotics,

Selkies

Kim, S., Isla, D., Hejtmánek, L., et al., Selkies-GStreamer, (2024), GitHub repository, https://github.com/selkies-project/selkies-gstreamer

This project has been developed and is supported in part by the National Research Platform (NRP) and the Cognitive Hardware and Software Ecosystem Community Infrastructure (CHASE-CI) at the University of California, San Diego, by funding from the National Science Foundation (NSF), with awards #1730158, #1540112, #1541349, #1826967, #2138811, #2112167, #2100237, and #2120019, as well as additional funding from community partners, infrastructure utilization from the Open Science Grid Consortium, supported by the National Science Foundation (NSF) awards #1836650 and #2030508, and infrastructure utilization from the Chameleon testbed, supported by the National Science Foundation (NSF) awards #1419152, #1743354, and #2027170. This project has also been funded by the Seok-San Yonsei Medical Scientist Training Program (MSTP) Song Yong-Sang Scholarship, College of Medicine, Yonsei University, the MD-PhD/Medical Scientist Training Program (MSTP) through the Korea Health Industry Development Institute (KHIDI), funded by the Ministry of Health & Welfare, Republic of Korea, and the Student Research Bursary of Song-dang Institute for Cancer Research, College of Medicine, Yonsei University.

About

ROS 2 packages for LGDXRobot2, including teleoperation, navigation, simulation, as well as integration with LGDXRobot Cloud.

Topics

Resources

Stars

18 stars

Watchers

3 watching

Forks

Contributors

Languages