ROBOWORKS Robofleet 다중 에이전트 알고리즘
명세서
- 제품명 : 로보웍스
- 버전: 20240501
- 작성자: Wayne Liu & Janette Lin
- 날짜 : 1 5 월 2024
제품 정보
ROBOWORKS는 로봇의 조정과 소통을 위한 다양한 알고리즘을 구현할 수 있는 다중 에이전트 시스템입니다.
자주 묻는 질문
질문: 로봇이 자동으로 Wi-Fi에 연결되지 않으면 어떻게 해야 하나요?
답변: 로봇이 자동으로 연결되지 않을 경우, 네트워크 카드를 뽑았다가 다시 꽂은 후 다시 연결을 시도해 보세요.
요약
본 문서에서는 휠텍_멀티(wheeltec_multi)라는 다중 로봇 구성 기능 패키지의 사용법을 주로 설명합니다.
이 문서는 네 부분으로 나누어져 있습니다:
- 첫 번째 부분은 주로 다중 로봇 형성 방법의 소개에 관한 것입니다.
- 두 번째 부분은 주로 ROS 다중 머신 통신 설정을 설명하는데, 여기에는 ROS 구성 다중 머신 통신과 ROS 통신 과정에서 발생할 수 있는 문제 등이 포함됩니다.
- 세 번째 부분은 주로 다중 기계 시간 동기화의 작업 단계를 설명합니다.
- 네 번째 부분에서는 다중 머신 형성 기능 패키지의 구체적인 사용법을 설명합니다.
본 문서의 목적은 다중 에이전트 로봇 시스템을 소개하고 사용자가 다중 로봇 편대 프로젝트를 신속하게 시작할 수 있도록 하는 것입니다.
다중 에이전트 알고리즘 소개
다중 에이전트 형성 알고리즘
이 ROS 패키지는 형성 드라이브 중에 협력 제어에서 다중 에이전트의 전형적인 문제를 제시합니다. 이 튜토리얼은 이 주제에 대한 향후 개발을 위한 기반을 마련합니다. 형성 제어 알고리즘은 작업을 수행하기 위해 특정 형성을 형성하도록 여러 에이전트를 제어하는 알고리즘을 말합니다. 협력은 특정 제약 관계를 사용하여 작업을 완료하기 위해 여러 에이전트 간의 협력을 말합니다. 다중 로봇 형성 드라이브를 ex로 취합니다.ample, 협업은 여러 로봇이 함께 원하는 포메이션을 형성하는 것을 의미합니다. 그 본질은 각 로봇의 위치 사이에서 충족되는 특정 수학적 관계입니다. 포메이션 방법은 주로 중앙 집중형 포메이션 제어와 분산형 포메이션 제어로 나뉩니다. 중앙 집중형 포메이션 제어 방법에는 주로 가상 구조 방법, 그래픽 이론 방법, 모델 예측 방법이 포함됩니다. 분산형 포메이션 제어 방법에는 주로 리더-팔로워 방법, 행동 기반 방법, 가상 구조 방법이 포함됩니다.
이 ROS 패키지는 분산형 포메이션 제어 방법에서 리더-팔로워 방법을 적용하여 다중 로봇 포메이션 드라이브를 실행합니다. 포메이션의 한 로봇은 리더로 지정되고 다른 로봇은 리더를 따르는 슬레이브로 지정됩니다. 이 알고리즘은 선두 로봇의 이동 궤적을 사용하여 특정 방향과 속도로 후속 로봇이 추적할 좌표를 설정합니다. 추적 좌표와의 위치 편차를 수정함으로써 팔로워는 결국 포메이션 드라이브의 목표를 달성하기 위해 팔로워와 예상 추적 좌표 간의 편차를 0으로 줄일 것입니다. 이런 식으로 알고리즘은 비교적 덜 복잡합니다.
장애물 회피 알고리즘
일반적인 장애물 회피 알고리즘은 인공 퍼텐셜 필드 방법입니다. 물리적 환경에서 로봇의 움직임은 가상 인공 힘 필드에서의 움직임으로 간주됩니다. 가장 가까운 장애물은 LiDAR에 의해 식별됩니다. 장애물은 로봇에 반발력을 생성하는 반발력 필드를 제공하고 목표 지점은 로봇에 중력력을 생성하는 중력장을 제공합니다. 이런 식으로 반발력과 인력의 결합된 작용으로 로봇의 움직임을 제어합니다.
이 ROS 패키지는 인공 퍼텐셜 필드 방법을 기반으로 한 개선 사항입니다. 첫째, 형성 알고리즘은 슬레이브 팔로워의 선형 및 각속도를 계산합니다. 그런 다음 장애물 회피 요구 사항에 따라 선형 및 각속도를 증가 또는 감소시킵니다. 슬레이브 팔로워와 장애물 사이의 거리가 가까울수록 장애물이 슬레이브 팔로워에 반발하는 힘이 커집니다. 한편, 선형 속도의 변화와 각속도 변화가 커집니다. 장애물이 슬레이브 팔로워의 전면에 가까울수록 장애물이 슬레이브 팔로워에 반발하는 힘이 커집니다(전면 반발이 가장 크고 측면 반발이 가장 작음). 결과적으로 선형 속도와 각속도의 변화가 커집니다. 인공 퍼텐셜 필드 방법을 통해 로봇이 장애물 앞에서 반응을 멈출 수 있는 경우 솔루션을 개선합니다. 이는 장애물 회피를 개선하는 목적에 부합합니다.
멀티 에이전트 통신 설정
다중 에이전트 통신은 다중 로봇 형성을 완성하는 핵심 단계 중 하나입니다. 여러 로봇의 상대적 위치가 알려지지 않은 경우 로봇은 통신을 통해 서로의 정보를 공유하여 연결을 용이하게 해야 합니다. ROS 분산 아키텍처와 네트워크 통신은 매우 강력합니다. 프로세스 간 통신뿐만 아니라 서로 다른 장치 간의 통신에도 편리합니다. 네트워크 통신을 통해 모든 노드는 모든 컴퓨터에서 실행될 수 있습니다. 데이터 처리와 같은 주요 작업은 호스트 측에서 완료됩니다. 슬레이브 머신은 다양한 센서에서 수집한 환경 데이터를 수신할 책임이 있습니다. 여기서 호스트는 ROS에서 마스터 노드를 실행하는 관리자입니다. 현재 다중 에이전트 통신 프레임워크는 노드 관리자와 매개변수 관리자를 통해 여러 로봇 간의 통신을 처리합니다.
다중 에이전트 통신을 설정하는 단계
- 동일한 네트워크에 ROS 제어 설정
- 동일한 네트워크에서 마스터/슬레이브 ROS 컨트롤을 설정하는 방법에는 두 가지가 있습니다.
옵션 1:
마스터 호스트는 마스터 노드 관리자를 실행하여 로컬 Wi-Fi를 생성합니다. 일반적으로 마스터로 지정된 로봇 중 하나가 이 Wi-Fi 네트워크를 생성합니다. 다른 로봇이나 가상 머신은 이 Wi-Fi 네트워크에 슬레이브로 가입합니다.
옵션 2 :
로컬 와이파이 네트워크는 정보 릴레이 센터로서 제3자 라우터에 의해 제공됩니다. 모든 로봇은 동일한 라우터에 연결됩니다. 라우터는 인터넷 연결 없이도 사용할 수 있습니다. 로봇 중 하나를 마스터로 선택하고 마스터 노드 관리자를 실행합니다. 다른 로봇은 슬레이브로 지정되고 마스터에서 마스터 노드 관리자를 실행합니다.
어떤 옵션을 선택할지에 대한 결정은 프로젝트 요구 사항에 따라 달라집니다. 통신해야 하는 로봇의 수가 많지 않은 경우 비용을 절감하고 설정이 쉬운 옵션 1을 권장합니다. 로봇의 수가 많은 경우 옵션 2를 권장합니다. ROS 마스터 컨트롤의 컴퓨팅 파워에 대한 제약과 제한된 온보드 Wi-Fi 대역폭은 쉽게 지연과 네트워크 중단을 일으킬 수 있습니다. 라우터는 이러한 문제를 쉽게 해결할 수 있습니다. 다중 에이전트 통신을 수행할 때 가상 머신을 ROS 슬레이브로 사용하는 경우 네트워크 모드를 브리지 모드로 설정해야 합니다.
마스터/슬레이브 환경 변수 구성
모든 ROS 마스터가 모두 동일한 네트워크에 있으면 다중 에이전트 통신을 위한 환경 변수를 설정해야 합니다. 이 환경 변수는 기본 디렉토리의 .bashrc 파일에서 구성됩니다. gedit ~/.bashrc 명령을 실행하여 시작합니다. 다중 에이전트 통신에서 마스터와 슬레이브의 .bashrc 파일을 모두 구성해야 합니다. 변경해야 할 사항은 파일 끝의 IP 주소입니다. 그림 2-1-4와 같이 두 줄은 ROS_MASTER_URI와 ROS_HOSTNAME입니다. ROS 호스트의 ROS_MASTER_URI와 ROS_HOSTNAME은 모두 로컬 IP입니다. ROS 슬레이브 .bashrc 파일의 ROS_MASTER_URI를 호스트의 IP 주소로 변경해야 하지만 ROS_HOSTNAME은 로컬 IP 주소로 유지해야 합니다.
ROS 다중 머신 통신은 ROS 릴리스 버전에 의해 제한되지 않습니다. 다중 머신 통신 과정에서 다음 사항을 알고 있어야 합니다.
- ROS 슬레이브 프로그램의 작동은 ROS 마스터 장치의 ROS 마스터 프로그램에 따라 달라집니다. ROS 마스터 프로그램은 슬레이브 장치에서 슬레이브 프로그램을 실행하기 전에 먼저 마스터 장치에서 시작해야 합니다.
- 다중 시스템 통신에서 마스터 및 슬레이브 시스템의 IP 주소는 동일한 네트워크에 있어야 합니다. 이는 IP 주소와 서브넷 마스크가 동일한 네트워크에 있음을 의미합니다.
- 환경 구성 파일 .bashrc의 ROS_HOSTNAME은 localhost를 사용하는 것이 좋지 않습니다. 특정 IP 주소를 사용하는 것이 좋습니다.
- 슬레이브 IP 주소가 올바르게 설정되지 않은 경우 슬레이브 장치는 ROS 마스터에 접속할 수 있지만 제어 정보를 입력할 수 없습니다.
- 가상 머신이 다중 에이전트 통신에 참여하는 경우 해당 네트워크 모드를 브리지 모드로 설정해야 합니다. 네트워크 연결에는 고정 IP를 선택할 수 없습니다.
- 다중 기계 통신은 불가능합니다 view 또는 로컬에 존재하지 않는 메시지 데이터 유형의 주제를 구독합니다.
- Little Turtle 시뮬레이션 데모를 사용하여 로봇 간의 통신이 성공적인지 확인할 수 있습니다.
- a. 마스터에서 실행
- rescore #ROS 서비스 시작
- rostrum turtles turtlesim_node #거북이 인터페이스 시작
- b. 노예로부터 도망치다
- 거북이를 다시 실행 turtle_teleop_key # 거북이를 위한 키보드 제어 노드 시작
- a. 마스터에서 실행
슬레이브의 키보드로 거북이의 움직임을 조작할 수 있다면 마스터/슬레이브 통신이 성공적으로 이루어진 것입니다.
ROS에서 자동 Wi-Fi 연결
아래 절차에서는 로봇이 호스트 네트워크 또는 라우터 네트워크에 자동으로 연결되도록 구성하는 방법을 설명합니다.
Jetson Nano를 위한 자동 Wi-Fi 연결 설정
- VNC 원격 도구를 통해 Jetson Nano를 연결하거나 컴퓨터 화면에 직접 연결합니다. 오른쪽 상단 모서리에 있는 wifi 아이콘을 클릭한 다음 "연결 편집"을 클릭합니다.
- 네트워크 연결에서 + 버튼을 클릭합니다.
- "연결 유형 선택" 창에서 드롭다운 메뉴를 클릭하고 "만들기…" 버튼을 클릭합니다.
- 제어판에서 Wi-Fi 옵션을 클릭합니다. "연결 이름" 및 SSID 필드에 연결할 Wi-Fi 이름을 입력합니다. "모드" 드롭다운 메뉴에서 "클라이언트"를 선택하고 "장치" 드롭다운 메뉴에서 "wlan0"을 선택합니다.
- 제어판에서 "일반" 옵션을 클릭하고 "이 네트워크에 자동으로 연결..."을 체크합니다. "자동 활성화를 위한 연결 우선순위" 옵션에서 연결 우선순위를 1로 설정합니다. "모든 사용자가 이 네트워크에 연결할 수 있음" 옵션을 체크합니다. 다른 Wi-Fi에 대해 "자동 활성화를 위한 연결 우선순위"에서 옵션이 0으로 설정된 경우 이는 과거에 선호했던 Wi-Fi 네트워크라는 것을 의미합니다.
- 제어판에서 "Wi-Fi 보안" 옵션을 클릭합니다. "보안" 필드에서 "WPA & WPA2 개인"을 선택합니다. 그런 다음 "비밀번호" 필드에 Wi-Fi 비밀번호를 입력합니다.
메모: 영어: wifi 우선순위가 0으로 설정된 경우 로봇이 부팅 후 wifi 네트워크에 자동으로 연결할 수 없는 경우 wifi 신호가 약한 문제로 인해 발생할 수 있습니다. 이 문제를 피하기 위해 과거에 연결된 모든 wifi 옵션을 삭제하도록 선택할 수 있습니다. 호스트 또는 라우터에서 만든 wifi 네트워크만 유지하세요. 네트워크 설정 제어판에서 "IPv4 설정" 옵션을 클릭합니다. "방법" 필드에서 "수동" 옵션을 선택합니다. 그런 다음 "추가"를 클릭하고 "주소" 필드에 슬레이브 머신의 IP 주소를 입력합니다. "넷마스크" 필드에 "24"를 입력합니다. "게이트웨이"에 IP 네트워크 세그먼트를 입력합니다. IP 네트워크 세그먼트의 마지막 세 자리를 "1"로 변경합니다. 이 단계의 주요 목적은 IP 주소를 수정하는 것입니다. 이것이 처음으로 완료된 후에는 이후에 동일한 WIFI에 연결할 때 IP 주소가 변경되지 않습니다.
모든 설정이 구성되면 "저장"을 클릭하여 설정을 저장합니다. 저장이 성공적으로 완료되면 로봇이 전원이 켜지면 호스트 또는 라우터의 네트워크에 자동으로 연결됩니다.
메모:
- 여기에 설정된 IP 주소는 섹션 2.1의 .bashrc 파일에 설정된 IP 주소와 동일해야 합니다.
- 마스터와 각 슬레이브의 IP 주소는 고유해야 합니다.
- 마스터 및 슬레이브 IP 주소는 동일한 네트워크 세그먼트에 있어야 합니다.
- 슬레이브 로봇의 전원을 켜고 자동으로 WiFi 네트워크에 연결하려면 호스트나 라우터가 WiFi 신호를 보낼 때까지 기다려야 합니다.
- 설정을 마친 후, 로봇이 켜졌을 때 자동으로 WiFi에 연결되지 않을 경우, 네트워크 카드를 꽂았다가 뽑은 후 다시 연결을 시도해 보세요.
Raspberry Pi를 위한 자동 Wi-Fi 연결 설정
Raspberry Pi의 절차는 Jetson Nano와 동일합니다.
Jetson TX1에 대한 자동 Wi-Fi 연결 설정
Jetson TX1의 설정은 Jetson Nano와 거의 동일하지만, 한 가지 예외가 있습니다. Jetson TX1은 네트워크 설정 제어판의 "장치"에서 "wlan1" 장치를 선택해야 합니다.
다중 에이전트 동기화 설정
다중 에이전트 형성 프로젝트에서 다중 에이전트 시간 동기화 설정은 중요한 단계입니다. 형성 과정에서 각 로봇의 비동기 시스템 시간으로 인해 많은 문제가 발생합니다. 다중 에이전트 시간 동기화는 마스터 로봇과 슬레이브 로봇이 모두 네트워크에 연결된 상황과 둘 다 네트워크에서 분리된 상황의 두 가지 상황으로 나뉩니다.
성공적인 마스터/슬레이브 네트워크 연결
멀티 에이전트 통신이 구성된 후 마스터 및 슬레이브 머신이 네트워크에 성공적으로 연결할 수 있으면 네트워크 시간이 자동으로 동기화됩니다. 이 경우 시간 동기화를 달성하기 위해 추가 작업이 필요하지 않습니다.
네트워크 연결 끊김 문제 해결
멀티 에이전트 통신이 구성된 후 마스터 및 슬레이브 장치가 네트워크에 성공적으로 연결할 수 없는 경우 시간을 수동으로 동기화해야 합니다. date 명령을 사용하여 시간 설정을 완료합니다.
먼저 터미네이터 도구를 설치합니다. 터미네이터 도구에서 창 분할 도구를 사용하여 마스터와 슬레이브의 제어 터미널을 동일한 터미널 창에 배치합니다(마우스 오른쪽 버튼을 클릭하여 분할 창을 설정하고 다른 창에서 SSH를 통해 마스터 및 슬레이브 시스템에 로그인). .
- sudo apt-get install terminator # 터미널 창을 분할하기 위해 terminator를 다운로드합니다.
좌측 상단의 버튼을 클릭하고 [모두에게 브로드캐스트]/[모두에게 브로드캐스트] 옵션을 선택한 후 다음 명령을 입력합니다. 그런 다음 종료 도구를 사용하여 마스터와 슬레이브에 동일한 시간을 설정합니다.
- sudo date -s “2022-01-30 15:15:00” # 수동 시간 설정
다중 에이전트 ROS 패키지
ROS 패키지 소개
슬레이브 이름 설정
wheeltec_multi 함수 패키지에서는 오류를 피하기 위해 각 슬레이브 로봇에 대해 고유한 이름을 설정해야 합니다. 예를 들어ample, slave1의 경우 1번, slave2의 경우 2번 등. 다른 이름을 설정하는 목적은 실행 중인 노드를 그룹화하고 다른 네임스페이스로 구분하기 위한 것입니다. 예를 들어ample, 슬레이브 1의 레이더 토픽은 /slave1/scan이고, 슬레이브 1의 LiDAR 노드는 /slave1/laser입니다.
슬레이브 좌표 설정
wheeltec_multi 패키지는 사용자 정의 포메이션을 구현할 수 있습니다. 다른 포메이션이 필요한 경우 슬레이브 로봇의 원하는 좌표를 수정하기만 하면 됩니다. Slave_x 및 slave_y는 마스터를 원래 참조점으로 하는 슬레이브의 x 및 y 좌표입니다. 마스터의 앞면은 x 좌표의 양의 방향이고 왼쪽은 y 좌표의 양의 방향입니다. 설정이 완료되면 TF 좌표 slave1이 슬레이브의 예상 좌표로 발급됩니다. 마스터가 하나이고 슬레이브가 두 개인 경우 다음 포메이션을 설정할 수 있습니다.
- 수평적 구성: 왼쪽 슬레이브의 좌표를 slave_x:0, slave_y: 0.8로 설정하고, 오른쪽 슬레이브의 좌표를 slave_x:0, slave_y:-0.8로 설정할 수 있습니다.
- 열 구성: 한 슬레이브의 좌표는 다음과 같이 설정될 수 있습니다: Slave_x:-0.8, Slave_y:0, 다른 슬레이브의 좌표는: Slave_x:-1.8, Slave_y:0으로 설정할 수 있습니다.
- 삼각형 형성: 한 슬레이브의 좌표는 다음과 같이 설정할 수 있습니다: Slave_x:-0.8, Slave_y: 0.8, 다른 슬레이브의 좌표는: Slave_x:-0.8, Slave_y:-0.8로 설정할 수 있습니다.
필요에 따라 다른 구성을 사용자 정의할 수 있습니다.
메모:
- 두 로봇 사이의 권장 거리는 0.8로 설정되어 있으며, 0.6보다 낮지 않는 것이 좋습니다. 슬레이브와 마스터 사이의 거리는 2.0 이하로 설정하는 것이 좋습니다. 마스터에서 멀어질수록 마스터가 회전할 때 슬레이브의 선형 속도는 더 커집니다. 최대 속도의 제한으로 인해 슬레이브의 속도가 요구 사항을 충족하지 못하면 속도가 벗어나게 됩니다. 로봇 대형은 혼란스러워질 것입니다.
슬레이브 위치 초기화
- 슬레이브의 초기 위치는 기본적으로 예상 좌표에 있습니다. 프로그램을 실행하기 전에 슬레이브 로봇을 예상 좌표에 가깝게 배치하여 초기화를 완료합니다. 이 기능은 그림 4-1-3에서 볼 수 있듯이 wheeltec_multi 패키지의 turn_on_wheeltec_robot.launch라는 파일에 있는 pose_setter 노드에 의해 구현됩니다.
사용자가 슬레이브의 초기 위치를 사용자 정의하려면 Wheeltec_slave.launch에서 그림 4-1-4와 같이 Slave_x 및 Slave_y 값만 설정하면 됩니다. slave_x 및slave_y값은turn_on_wheeltec_robot.launch에 전달되고pose_setter노드에 할당됩니다. 프로그램을 실행하기 전에 로봇을 사용자 정의 위치에 배치하기만 하면 됩니다.
위치 구성
다중 에이전트 형성에서 해결해야 할 첫 번째 문제는 마스터와 슬레이브의 위치입니다. 마스터는 먼저 2D 맵을 구성합니다. 맵을 만들고 저장한 후 2D 탐색 패키지를 실행하고 2D 탐색 패키지의 적응형 몬테카를로 위치 지정 알고리즘(amcl positioning)을 사용하여 마스터의 위치를 구성합니다. 마스터와 슬레이브는 동일한 네트워크에 있고 동일한 노드 관리자를 공유하므로 마스터는 2D 탐색 패키지에서 맵을 시작했으므로 모든 슬레이브는 동일한 노드 관리자 아래에서 동일한 맵을 사용할 수 있습니다. 따라서 슬레이브는 맵을 만들 필요가 없습니다. wheeltec_slave.launch에서 몬테카를로 위치 지정(amcl positioning)을 실행하면 슬레이브는 마스터가 만든 맵을 사용하여 위치를 구성할 수 있습니다.
대형을 만들고 유지하는 방법
포메이션 이동 과정에서 마스터 이동은 Rviz, 키보드, 원격 제어 및 기타 방법으로 제어할 수 있습니다. 슬레이브는 slave_tf_listener 노드를 통해 속도를 계산하여 이동을 제어하고 포메이션의 목표를 달성합니다. slave_tf_listener 노드는 노드 계산에 의한 과도한 속도를 방지하기 위해 슬레이브 속도를 제한하여 일련의 영향을 발생시킵니다. 특정 값은 wheeltec_slave.launch에서 수정할 수 있습니다.
형성 알고리즘의 관련 매개변수는 다음과 같습니다.
장애물 회피 정보
다중 에이전트 형성에서 마스터는 move_base 노드를 사용하여 장애물 회피를 완료할 수 있습니다. 그러나 슬레이브의 초기화는 move_base 노드를 사용하지 않습니다. 이 시점에서 multi_avoidance 노드는 슬레이브 프로그램에서 호출되어야 합니다. 장애물 회피 노드는 패키지에서 기본적으로 활성화됩니다. 필요한 경우 avoidance를 "false"로 설정하여 장애물 회피 노드를 비활성화할 수 있습니다.
장애물 회피 노드의 일부 관련 매개변수는 아래 그림에 나와 있습니다. 여기서 safe_distance는 장애물 안전 거리 한계이고 danger_distance는 장애물 위험 거리 한계입니다. 장애물이 안전 거리와 위험 거리 내에 있을 때 슬레이브는 장애물을 피하기 위해 위치를 조정합니다. 장애물이 위험 내에 있을 때 슬레이브는 장애물에서 멀어집니다.
작업 절차
실행 명령을 입력하세요
다중 에이전트 형성을 시작하기 전 준비 사항:
- 마스터와 슬레이브가 동일한 네트워크에 연결되어 멀티 에이전트 통신을 올바르게 설정합니다.
- 마스터가 미리 2D 지도를 제작해서 저장해 두는데요
- 마스터는 맵의 시작점에 배치되고, 슬레이브는 초기화 위치(기본 슬레이브 형성 위치) 근처에 배치됩니다.
- Jetson Nano/Raspberry Pi에 원격으로 로그인한 후 시간 동기화를 수행하세요.
sudo 날짜 -s “2022-04-01 15:15:00”
- 1단계: 마스터에서 2D 지도를 엽니다.
roslaunch Turn_on_wheeltec_robot Navigation.launch
- 2단계: 모든 슬레이브에서 형성 프로그램을 실행합니다.
roslaunch 휠tec_멀티 휠tec_slave.launch
- 3단계: 마스터에서 키보드 제어 노드를 열거나 조이스틱을 사용하여 마스터 동작을 원격으로 제어합니다.
wheeltec_robot_rc keyboard_teleop.launch를 다시 시작합니다.
- 4단계: (선택 사항) Rviz에서 로봇의 움직임을 관찰합니다.
리비즈
메모:
- 프로그램을 실행하기 전에 반드시 시간 동기화 작업을 완료하십시오.
- 다중 에이전트 포메이션의 마스터를 제어할 때 각속도는 너무 빨라서는 안 됩니다. 권장 선형 속도는 0.2m/s, 각속도 정도는 0.3rad/s 미만입니다. 마스터가 회전할 때 슬레이브가 마스터에서 멀수록 더 큰 선형 속도가 필요합니다. 패키지의 선형 속도와 각속도에 대한 제한으로 인해 슬레이브 카가 필요한 속도에 도달할 수 없으면 포메이션이 혼란스러워집니다. 전반적으로 과도한 선형 속도는 로봇을 쉽게 손상시킬 수 있습니다.
- 슬레이브 수가 1개 이상일 경우 ROS 호스트의 온보드 wifi 대역폭이 제한되어 다중 에이전트 통신이 크게 지연되고 연결이 끊어지기 쉽습니다. 라우터를 사용하면 이 문제를 잘 해결할 수 있습니다.
- 다중 로봇 구성(2개의 슬레이브)의 TF 트리는 다음과 같습니다. rqt_tf_tree
- 다중 로봇 구성(2개의 슬레이브)의 노드 관계 다이어그램은 다음과 같습니다.
문서 / 리소스
![]() |
ROBOWORKS Robofleet 다중 에이전트 알고리즘 [PDF 파일] 사용자 매뉴얼 Robofleet 멀티 에이전트 알고리즘, Robofleet, 멀티 에이전트 알고리즘, 에이전트 알고리즘, 알고리즘 |