Skip to content

okitamisan01/sciurus17_ROS2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sciurus17 ROS 2 Humble on Ubuntu 22.04 with Docker

Initial Setup (One-time setup)

1. Install Docker on WSL (if not installed)

sudo apt update
sudo apt install -y docker.io

2. Start and enable Docker service

sudo systemctl start docker
sudo systemctl enable docker

3. Configure Xlaunch (VcXsrv)

  1. Launch Xlaunch
  2. Select "Multiple windows"
  3. Select "Start no client"
  4. Check "Disable access control"
  5. Click "Next" → "Finish" to start Xlaunch

4. Set DISPLAY in WSL (Ubuntu 20.04)

export DISPLAY=$(ip route | awk '/default/ {print $3}'):0.0
export DISPLAY=host.docker.internal:0

5. Create Dockerfile (Ubuntu 22.04 + ROS 2 Humble)

mkdir ~/ros2_docker && cd ~/ros2_docker
nano Dockerfile

Dockerfile content:

FROM ubuntu:22.04

ENV DEBIAN_FRONTEND=noninteractive

RUN apt update && apt install -y \
    locales curl gnupg2 lsb-release \
    software-properties-common sudo \
    mesa-utils x11-apps \
    libgl1-mesa-glx libxrender1 libxtst6 libxi6 \
    && rm -rf /var/lib/apt/lists/*

RUN locale-gen en_US.UTF-8
ENV LANG en_US.UTF-8
ENV LC_ALL en_US.UTF-8

# Install ROS 2 Humble
RUN curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key | apt-key add - \
    && sh -c 'echo "deb http://packages.ros.org/ros2/ubuntu $(lsb_release -cs) main" > /etc/apt/sources.list.d/ros2.list' \
    && apt update \
    && apt install -y ros-humble-desktop \
    && rm -rf /var/lib/apt/lists/*

ENV DISPLAY=:0
ENV QT_X11_NO_MITSHM=1
ENV ROS_DISTRO=humble
ENV PATH="/opt/ros/$ROS_DISTRO/bin:$PATH"

RUN echo "source /opt/ros/humble/setup.bash" >> ~/.bashrc
CMD [""]

6. Build Docker Image

docker build -t ros2_humble_gui .

Running the Container

Start Container and Set Up Sciurus17

docker run -it \
    --name ros2_gui \
    --net=host \
    -e DISPLAY=$DISPLAY \
    -e QT_X11_NO_MITSHM=1 \
    -v /tmp/.X11-unix:/tmp/.X11-unix \
    ros2_humble_gui bash

Start/Stop Container

docker start -ai ros2_gui
docker stop ros2_gui
docker start -ai ros2_gui

Tips: Useful Docker Commands

docker ps -a
docker inspect --format '{{.State.Pid}}' ros2_gui
sudo kill -9 <PID>

Load ROS 2 Environment

source /opt/ros/humble/setup.bash

Sciurus17 Setup

Clone Repository

mkdir -p ~/

git clone https://github.com/okitamisan01/Sciurus17_ROS2_humble_Ubuntu22.04.git

Build Sciurus17 Packages

cd ~/Sciurus17_ROS2_humble_Ubuntu22.04
colcon build --symlink-install
source ~/Sciurus17_ROS2_humble_Ubuntu22.04/install/setup.bash

Running Sciurus17

Navigate to Project Directory

cd Sciurus17_ROS2_humble_Ubuntu22.04/

Build the Package

colcon build --symlink-install

Test the Setup

ros2 launch sciurus17_examples demo.launch.py

Notes

  • Ensure Xlaunch is running before starting the Docker container.
  • If GUI applications do not display, check DISPLAY settings.
  • Use docker exec -it ros2_gui bash to enter an already running container.

This README provides step-by-step instructions for setting up Sciurus17 with ROS 2 Humble using Docker on Ubuntu 22.04. If you encounter any issues, refer to the official ROS 2 and Sciurus17 documentation.

About

My work record about Sciurus17_ROS2_humble_Ubuntu22.04

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors