Skip to content

Introduction

Overview

ROS (Robot Operating System)는 복잡한 로봇 시스템 개발을 가능하게 하는 소프트웨어 프레임워크입니다. ROS2는 원래의 로봇 운영 시스템(ROS)의 성공을 기반으로 모듈성, 확장성 및 상호 운용성을 향상시켰습니다. 다양한 프로그래밍 언어와 플랫폼을 지원하도록 설계되었으며, 개발자와 사용자의 대규모 활발한 커뮤니티에 의해 지원됩니다.

Neuromeka에서 제공하는 ROS2 패키지는 [DCP3]를 통해 MobyFramework 와 통신합니다.

본 문서의 Moby ROS2 패키지는 ROS2 Humble에서 테스트되었습니다. ROS2 Humble 버전에 대한 자세한 내용은 ROS2 releases를 참조하십시오.

ROS 및 Neuromeka 패키지 설치

Moby ROS2는 Moby의 기본 구성에 포함되어있는 Navifra PC를 비활성화 또는 제거한 후 별도의 리눅스 환경 PC를 결합하여 사용해야 합니다.

Moby ROS2와 Navicore는 동시에 사용할 수 없습니다.

Neuromeka 패키지 설치

Moby ROS2에는 Neuromeka 패키지가 사용됩니다. Neuromeka 공식 Github 저장소에서 다운로드하거나, 아래의 명령어를 통해 설치할 수 있습니다.:

pip3 install neuromeka

ROS 패키지 설치

이 설치 매뉴얼은 Ubuntu 20.04를 기준으로 작성되었습니다. PC에 ROS2 Humble 버전을 설치하려면 다음 URL을 참조하세요 ROS2 Humble Installation

sudo apt install -y ros-humble-perception-pcl \
                    ros-humble-cartographer* \
                    ros-humble-xacro  \
                    ros-humble-ros2-control  \
                    ros-humble-ros2-controllers  \
                    ros-humble-controller-manager  \
                    ros-humble-joint-state-broadcaster \
                    ros-humble-joint-state-publisher-gui \
                    ros-humble-navigation2 \
                    ros-humble-nav2* \
                    ros-humble-geographic-msgs \
                    ros-humble-robot-localization \
                    ros-humble-joy-linux \
                    ros-humble-libg2o \
                    ros-humble-slam-toolbox \
                    ros-humble-ros-ign \
                    ros-humble-ros-ign-gazebo \
                    ros-humble-ign-ros2-control \
                    ros-humble-ros-ign-interfaces \
                    ros-humble-gazebo-ros-pkgs \
                    ros-humble-tf-transformations \
                    ros-humble-teleop-twist-keyboard \
                    ros-humble-rtabmap-ros \
                    ros-humble-octomap-ros \
                    ros-humble-octomap-rviz-plugins \
                    ros-humble-nav2-map-server \
                    ros-humble-sick-scan-xd \
                    ros-humble-librealsense2* \
                    ros-humble-realsense2-camera \
                    ros-humble-realsense2-description

&& sudo apt install -y python3-colcon-common-extensions \
&& sudo apt install python3-rosdep -y \
&& sudo apt install python3-rosdep2 -y \
&& sudo rosdep init

ROS 환경설정

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

Moby 패키지 다운로드 및 컴파일

  • 워크스페이스 생성

    mkdir -p ~/ros2_ws/src
    cd ~/ros2_ws/src
    git clone --branch humble-dcp3 https://github.com/neuromeka-robotics/moby-ros2.git
    

  • 소스코드 빌드

    cd ~/ros2_ws/
    colcon build
    

  • Setup 파일 소스 적용

    . install/setup.bash
    echo 'source $HOME/ros2_ws/install/setup.bash' >> ~/.bashrc
    

Moby 패키지 목록

├── moby-ros
    ├── src
        ├── moby_bringup
        ├── moby_description
        ├── moby_gazebo
        ├── moby_mapping
        ├── moby_navigation
        └──  ...
  • moby_bringup: ROS와 Moby간의 통신을 제공합니다.
  • moby_description: Moby의 모델(moby_rp, moby_rp_v3)을 제공합니다.
  • moby_gazebo: Moby의 Gazebo 시뮬레이션을 제공합니다.
  • moby_mapping: Moby의 맵핑 기능을 제공합니다.
  • moby_navigation: Moby의 주행 기능을 제공합니다.

ROS 매뉴얼 구성