ROS2 환경 구성
저작권: 쿼드(QUAD) 드론연구소 https://www.youtube.com/@quad-robotics
ROS2는 셸 환경을 사용하여 작업 공간을 결합한다는 개념에 의존합니다. "workspace"은 ROS2로 개발 중인 시스템의 위치를 나타내는 ROS 용어입니다. 핵심 ROS2 작업 공간을 언더레이라고 합니다. 후속 로컬 작업 공간을 오버레이라고 합니다. ROS2로 개발할 때 일반적으로 여러 작업 공간이 동시에 활성화됩니다.
작업 공간을 결합하면 다양한 버전의 ROS2 또는 다양한 패키지 세트에 대한 개발이 더 쉬워집니다. 또한 동일한 컴퓨터에 여러 ROS2 배포판(또는 "distros", 예: Dashing 및 Eloquent)을 설치하고 배포판 간에 전환할 수 있습니다.
1. ROS2 설치
소스 설정
ROS2 패키지 설치
2. 환경 설정
가. 설정파일 소싱
나. 쉘 시작 스크립트에 소싱 추가
새 셸을 열 때마다 설정 파일을 소싱하지 않으려면(작업 1 건너뛰기) 셸 시작 스크립트에 명령을 추가할 수 있습니다.
다. 환경변수 확인
ROS 2 설정 파일을 소싱하면 ROS 2 작동에 필요한 여러 환경 변수가 설정됩니다. ROS 2 패키지를 찾거나 사용하는 데 문제가 있는 경우 다음 명령을 사용하여 환경이 올바르게 설정되었는지 확인하십시오.
ROS_DISTRO
및 와 같은 변수가 ROS_VERSION
설정되어 있는지 확인하십시오. 예를 들어 Foxy를 사용하는 경우 다음과 같이 표시됩니다.
ROS_DOMAIN_ID
변수
ROS 2가 통신에 사용하는 기본 미들웨어는 DDS입니다. DDS에서 서로 다른 논리 네트워크가 물리적 네트워크를 공유하도록 하는 기본 메커니즘을 도메인 ID라고 합니다. 동일한 도메인에 있는 ROS 2 노드는 서로 자유롭게 메시지를 검색하고 보낼 수 있지만 다른 도메인에 있는 ROS 2 노드는 할 수 없습니다. 모든 ROS 2 노드는 기본적으로 도메인 ID 0을 사용합니다. 동일한 네트워크에서 ROS 2를 실행하는 서로 다른 컴퓨터 그룹 간의 간섭을 방지하려면 각 그룹에 대해 서로 다른 도메인 ID를 설정해야 합니다.
ROS 2 노드 그룹의 고유한 정수를 결정했으면 다음 명령을 사용하여 환경 변수를 설정할 수 있습니다.
ROS_LOCALHOST_ONLY
변수
기본적으로 ROS 2 통신은 localhost로 제한되지 않습니다. ROS_LOCALHOST_ONLY
환경 변수를 사용하면 ROS 2 통신을 localhost로만 제한할 수 있습니다. 이는 ROS 2 시스템과 해당 항목, 서비스 및 작업이 로컬 네트워크의 다른 컴퓨터에 표시되지 않음을 의미합니다. 를 사용하는 ROS_LOCALHOST_ONLY
것은 여러 로봇이 이상한 행동을 유발하는 동일한 주제에 대해 게시할 수 있는 교실과 같은 특정 설정에서 유용합니다. 다음 명령을 사용하여 환경 변수를 설정할 수 있습니다.
ROS2 명령alias 설정
Last updated
Was this helpful?