LCAS / limo_ros2

limo ros2 packages
2 stars 9 forks source link

LIMO ROS2

This repository contains code for ROS2 development with the LIMO robot. Please note that:

Since the onboard computer equipped on the LIMO robot is Nvidia Jetson Nano which only works with Jetpack v4.x (Ubuntu 18.04), there is no easy way to do native development with an active ROS2 LTS release on the robot (REP2000). Thus the packages within this repository are developed and only tested in a ROS Humble Docker container (docker image: westonrobot/limo_ros:humble).

Changelog

2023-08-22

Setup development environment

You can set up the development environment either on the Jetson Nano or your desktop/laptop PC. The steps for the setup are the same:

$ git clone https://github.com/westonrobot/limo_ros2.git
$ cd limo_ros2

Latest image: westonrobot/limo_ros:humble_22082023

You can find more information about development inside containers here

Use limo_ros2 packages

Once you're inside the container, the commands to build or launch ROS packages are the same as those in a native environment:

Running your own navigation stack or simulation on local PC

Note: Limo container is running on cyclone DDS, you need to set the following environment variable

# Install package
sudo apt install ros-humble-rmw-cyclonedds-cpp
# Export environment variable
export RMW_IMPLEMENTATION=rmw_cyclonedds_cpp

Sample gazebo and navigation are provided for differential motion model in the repo, to use them

* Clone the repo into your local pc
* Feel free to use provided Dockerfile as a reference
* Rebuild new container for local PC

Displaying GUI from Docker Machine On LIMO Screen

To get display out of docker and on the LIMO screen;

Viewing the output of the camera

Note: Tested on Ubuntu 22 (POP) and Jetpack 4.6 w/docker

To get over the permission error, WITH THE CAMERA UNPLUGGED

cd limo_ros2/src/ros2_astra_camera/astra_camera/scripts
sudo cp 56-orbbec-usb.rules /etc/udev/rules.d/
sudo udevadm control --reload-rules

This example rviz workspace has everything working.

ros@agilex:/workspaces/limo_ros2/src/ros2_astra_camera/astra_camera/rviz$ rviz2 -d pointcloud.rviz 

Process for getting to teleop with the cameras diplaying in rviz2 on LIMO

In addition to the steps above regarding udev rules and exporting the displays;

Notes.

To Do:

Issues:

Jeston Crashed - Possibly overheating. Was remoting in with a display scaled to my laptop. everything running! Didn't happen for the rest of session after restart

Getting errors about QOS incompatibility.