이전 버전(1.33.4)의 문서를 보고 있습니다. 이 버전은 계속 지원됩니다.
최신 버전 정보는 1.33.5에서 확인하세요.

1.3.4 Linux(Ubuntu) 환경(64비트)

참고

  • 지원 Ubuntu 버전: 18.04, 20.04, 22.04, 24.04

  • 지원 아키텍처: AMD64, ARM64

  • 시뮬레이터: RViz

A. 작업 디렉터리 만들기

mkdir API-DRFL
cd API-DRFL

B. DRFL 저장소 복제하기

공식 DRFL 저장소를 복제한 다음 저장소 루트로 이동하세요.

git clone https://github.com/doosan-robotics/API-DRFL.git
cd API-DRFL

C. 시뮬레이터 실행하기(가상 모드)

예제를 빌드하고 실행하기 전에 반드시 Docker와 ROS2로 RViz 시뮬레이터를 시작해야 합니다.

새 터미널을 열고 두산 RViz 시뮬레이터를 가상 모드로 실행하세요. 이 터미널이 로봇 시뮬레이터 역할을 하므로 계속 실행해 두세요.

cd ~/ros2_ws
ros2 launch dsr_bringup2 dsr_bringup2_rviz.launch.py mode:=virtual host:=127.0.0.1 port:=12345 model:=m0609

참고

  • 시스템에 doosan-robot2 ROS2 패키지가 설치되어 있지 않다면, 아래 공식 저장소를 참고해 설치를 마친 다음 시뮬레이터를 실행하세요.

    doosan-robot2 저장소 보기

  • 저장소의 README.md에 있는 설치 안내를 따른 다음, 이 절에서 설명하는 시뮬레이터 실행 단계를 진행하세요.

  • mode:=virtual: 가상(시뮬레이션) 모드로 실행

  • host:=127.0.0.1: 로컬호스트 연결

  • port:=12345: 기본 컨트롤러/에뮬레이터 포트

  • model:=m0609: 로봇 모델 선택(예: M0609)

실제 로봇에 연결한다면 매개변수를 다음과 같이 바꾸세요.

ros2 launch dsr_bringup2 dsr_bringup2_rviz.launch.py mode:=real host:=192.168.137.100 port:=12345 model:=m0609
  • 로봇 컨트롤러와 PC가 같은 네트워크 서브넷에 있는지 확인하세요.

  • 로봇이 API 명령을 받으려면 자동(원격) 모드여야 합니다.

팁

빌드 스크립트를 실행하기 전에 Docker와 가상 포트(12345)가 활성 상태인지 확인하세요.

sudo docker ps
nc -vz 127.0.0.1 12345
  • 위 명령에서 활성 컨테이너와 연결 성공이 확인되면 시뮬레이터가 제대로 실행 중이며 API 통신을 할 준비가 된 것입니다.

  • 빌드 스크립트는 활성 소켓 포트(12345)에 의존하므로 RViz 시뮬레이터를 실행한 후에 실행해야 합니다.

D. 프로젝트 빌드하기

빌드 스크립트

이제 API 작업 디렉터리를 연 터미널로 돌아가 DRFL 예제를 빌드하세요. API-DRFL 저장소 루트에서 ./API_DRFL_BUILD.sh를 실행하면 스크립트가 직접 example/Linux_64로 이동합니다.

./API_DRFL_BUILD.sh

이 스크립트는 다음 작업을 자동으로 처리합니다.

  • Ubuntu 버전과 아키텍처 감지

  • 디렉터리 안의 모든 .cpp 파일 검색

  • 빌드할 파일 선택(1, 2, 3…)

  • 라이브러리 링크 자동 처리

  • out/ 디렉터리에 실행 파일 생성

  • 빌드한 실행 파일 실행(선택 사항)

팁

빌드한 뒤 연결 실패가 발생하면 다음을 확인하세요.
1. 소스 파일의 IP 주소가 로봇이나 에뮬레이터의 주소와 일치하는지 확인합니다.
2. 컨트롤러나 DART 에뮬레이터가 포트 12345/TCP에서 실행 중인지 확인합니다.
3. 방화벽이나 Docker 격리로 네트워크 접근이 막혀 있지 않은지 확인합니다.

정리 스크립트

빌드 결과물과 실행 파일을 삭제하려면 다음을 실행하세요.

./API_DRFL_CLEAN.sh

이 스크립트는 다음 작업을 합니다.

  • 모든 .o 오브젝트 파일 삭제

  • out/ 디렉터리와 모든 실행 파일 삭제

  • 정리하기 전에 확인 요청

팁

자동 빌드 스크립트는 DRFL 예제를 컴파일하는 가장 빠르고 안전한 방법입니다. Ubuntu 버전이나 CPU 아키텍처를 바꿔 가며 작업할 때 특히 유용합니다.


참고

예전에는 Ubuntu 릴리스마다 라이브러리 버전이 달랐지만, 이제 Ubuntu 24.04는 호환성을 위해 Ubuntu 22.04와 같은 libPoco.80 버전을 사용합니다.