welcom ! Handel home

2025年4月15日 星期二

Ros2 Humble Dev Dockerfile(MoveIt2 + Gazebo + ros2_control)

 # ROS 2 Humble 開發環境 Dockerfile

# 含 micro-ROS Agent、MoveIt2、Gazebo 支援


=========================================================

# Dockerfile: ROS 2 Humble + MoveIt2 + Gazebo + micro-ROS Agent (source build)

FROM osrf/ros:humble-desktop-full


ENV DEBIAN_FRONTEND=noninteractive


# === 安裝基礎工具與依賴 ===

RUN apt update && apt install -y \

    build-essential \

    cmake \

    git \

    curl \

    wget \

    lsb-release \

    gnupg2 \

    python3-pip \

    python3-colcon-common-extensions \

    libboost-system-dev \

    libtinyxml2-dev \

    libyaml-cpp-dev \

    nano tmux net-tools iputils-ping \

    ros-humble-rmw-fastrtps-cpp \

    ros-humble-moveit \

    ros-humble-moveit-setup-assistant \

    ros-humble-gazebo-ros-pkgs \

    ros-humble-ros2-control \

    ros-humble-ros2-controllers && \

    rm -rf /var/lib/apt/lists/*


# === 建立 micro-ROS Agent workspace ===

ENV UROS_WS=/root/uros_ws

RUN mkdir -p $UROS_WS/src

WORKDIR $UROS_WS


# === Clone micro-ROS Agent + msgs ===

RUN git clone -b humble https://github.com/micro-ROS/micro-ROS-Agent.git src/micro_ros_agent && \

    git clone -b humble https://github.com/micro-ROS/micro_ros_msgs.git src/micro_ros_msgs


# === Build Agent ===

RUN /bin/bash -c "source /opt/ros/humble/setup.bash && colcon build"


# === Source setup 環境 ===

RUN echo 'source /opt/ros/humble/setup.bash' >> ~/.bashrc && \

    echo 'source /root/uros_ws/install/setup.bash' >> ~/.bashrc


# === 工作目錄為 ROS2 開發空間 ===

WORKDIR /root/ros2_ws

RUN mkdir -p src


CMD ["bash"]


=========================================================

✅ 已幫你重建 Dockerfile,內容包含:

  • ROS 2 Humble desktop-full

  • MoveIt2 + Gazebo + ros2_control

  • micro-ROS Agent(含 micro_ros_msgs)從原始碼編譯

  • 自動加入環境設定 source /root/uros_ws/install/setup.bash

🚀 使用方式

1. 建立映像:

bash
docker build -t ros2-humble-microros .

2. 執行 container(支援 GUI + serial):

bash
xhost +local:root docker run -it --rm \ --net=host \ --privileged \ --env="DISPLAY" \ --volume="/tmp/.X11-unix:/tmp/.X11-unix:rw" \ ros2-humble-microros

3. 啟動 micro-ROS Agent:

bash
ros2 run micro_ros_agent micro_ros_agent serial --dev /dev/ttyACM0











沒有留言: