서론
개요
ROS (Robot Operating System)는 복잡한 로봇 시스템 개발을 가능하게 하는 소프트웨어 프레임워크입니다. ROS는 로봇 애플리케이션을 구축하기 위한 견고하고 모듈식이며 유연한 아키텍처를 제공하고 있습니다. 여러 프로그래밍 언어와 플랫폼을 지원하며, 개발자와 사용자로 구성된 크고 활발한 커뮤니티의 지원을 받고 있습니다.
Neuromeka에서 제공하는 ROS 패키지는 [DCP3]를 통해 Moby 프레임워크와 통신합니다.
본 문서에서 제공하는 ROS 패키지는 ROS Noetic에서 테스트되었습니다. ROS Noetic 버전에 대한 자세한 내용은 ROS releases를 참조하십시오.
ROS 및 Neuromeka 패키지 설치
Moby ROS는 Moby의 기본 구성에 포함되어있는 Navifra PC를 비활성화 또는 제거한 후 별도의 리눅스 환경 PC를 결합하여 사용해야 합니다.
Moby ROS와 Navicore는 동시에 사용할 수 없습니다.
Neuromeka 패키지 설치
Moby ROS에는 Neuromeka 패키지가 사용됩니다. Neuromeka 공식 Github 저장소에서 다운로드하거나, 아래의 명령어를 통해 설치할 수 있습니다.:
ROS 패키지 설치
이 설치 매뉴얼은 Ubuntu 20.04를 기준으로 작성되었습니다. PC에 ROS1 Noetic 버전을 설치하려면 다음 URL을 참조하세요 ROS Noetic Installation.
sudo apt install ros-noetic-ira-laser-tools \
ros-noetic-teb-local-planner \
ros-noetic-sick-scan-xd \
ros-noetic-slam-toolbox \
ros-noetic-robot-localization \
ros-noetic-navigation \
ros-noetic-joint-state-controller \
ros-noetic-joint-state-publisher-gui \
ros-noetic-teleop-twist-joy \
ros-noetic-teleop-twist-keyboard \
ros-noetic-realsense2-camera \
ros-noetic-librealsense2 \
ros-noetic-realsense2-description \
ros-noetic-rtabmap-ros \
ros-noetic-octomap-ros \
ros-noetic-octomap-rviz-plugins \
ros-noetic-gazebo-ros \
ros-noetic-gazebo-ros-pkgs \
ros-noetic-gazebo-ros-control
라이브러리 설치:
sudo apt install v4l-utils
sudo apt install libsdl-image1.2-dev
sudo apt install libsdl-dev
sudo apt install -y libgazebo11-dev
ROS 환경설정
Moby 패키지 다운로드 및 컴파일
- 워크스페이스 생성 및 소스코드 빌드
git clone https://github.com/neuromeka-robotics/moby-ros.git
cd ~/moby-ros/
catkin_init_workspace src/
sudo chmod +x src/moby_bringup/src/*
sudo chmod +x src/moby_gazebo/src/*
catkin_make
- Setup 파일 소스 적용
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의 주행 기능을 제공합니다.