모바일 로봇 팀은 종종 연구실에서 안정적으로 통신한 다음 명령 지연, 센서 업데이트 누락 또는 메시 경로 변경 시 복구 속도 저하를 개발합니다. 에이 ROS 2 무선 메시는 변동하는 대역폭, 패킷 손실, 홉 수 변경을 추가하는 반면, DDS는 이미 오래된 데이터를 재전송하거나 대기열에 추가할 수 있습니다. QoS 설정은 각 항목의 안정성, 기록, 깊이, 내구성, 기한 및 수명을 제어하는 데 도움이 되지만 호환되지 않는 게시자 및 구독자 정책은 전달을 완전히 중단할 수 있습니다.
핵심은 모든 샘플이 필요한 스트림, 최신 샘플만 필요한 스트림, 그리고 대용량 페이로드가 복구 링크를 압도하는 것을 방지하는 방법을 아는 것입니다.
먼저 메시지가 분실되면 어떻게 되는지, 메시지가 늦게 도착하면 어떻게 되는지 물어보세요. LiDAR 스캔, 카메라 프레임, 주행 거리 측정, 현지화 업데이트 및 모션 원격 측정이 지속적으로 교체됩니다. 하나의 샘플을 잃는 것은 허용될 수 있지만, 여러 개의 새로운 샘플 이후에 이를 전달하면 현지 결정이 손상되거나 처리 시간이 낭비될 수 있습니다.
임무 전환, 작업 할당, 구성 변경, 안전 이벤트 및 일부 지도 전송에는 요구 사항이 다릅니다. 개별 이벤트가 누락되면 로봇이 일관되지 않은 작동 상태에 놓일 수 있으므로 제한된 재전송이 정당화될 수 있습니다. 이러한 구별은 페이로드 유형보다 더 중요합니다. 작은 속도 명령은 오래된 경우 위험할 수 있지만 큰 지도 스냅샷은 지연 후에도 여전히 유용할 수 있습니다.
신선도와 완전성에 따라 트래픽을 분류하면 일반적인 ROS 2 무선 메시 실수를 방지할 수 있습니다. 신뢰할 수 있는 사운드가 더 안전하기 때문에 모든 항목을 RELIABLE로 설정합니다. 신뢰할 수 있는 DDS는 확인되지 않은 샘플을 유지하고 누락된 데이터를 재전송하여 최선의 통신이 방지할 수 있는 오버헤드를 생성합니다. 따라서 표준 ROS 2 센서 데이터 프로필은 더 작은 대기열로 최선의 신뢰성을 사용합니다. 여기서 적시 전달은 일반적으로 모든 판독값을 수신하는 것보다 더 중요합니다.
각 로봇 간 주제에는 최대 유효 메시지 수명, 허용 가능한 손실률, 필요한 업데이트 빈도 및 연결 끊김 후 최대 복구 시간이라는 네 가지 제한이 필요합니다. 이러한 제한은 '낮은 대기 시간'과 같은 모호한 기대를 테스트 가능한 요구 사항으로 바꿔줍니다. 명령 스트림에는 수십 밀리초 단위로 측정된 수명 제한이 필요할 수 있는 반면, 지도 스냅샷은 로봇이 로컬 복사본을 사용하여 계속 안전하게 작동하는 경우 몇 초를 허용할 수 있습니다.
직렬화된 페이로드 크기, 게시 속도 및 대상 수를 통해 제공되는 로드를 추정합니다. 그런 다음 해당 수치를 무선의 공칭 데이터 속도가 아닌 측정된 다중 홉 유효 처리량과 비교하십시오. 승인, 재전송, 검색 트래픽, 경로 관리 트래픽 및 동시 게시자를 위한 용량을 남겨두세요.
모든 ROS 2 주제가 로봇 경계를 넘어야 하는 것은 아닙니다. 원시 카메라 피드, 풀 포인트 클라우드, 디버깅 데이터 및 중간 인식 출력은 종종 이를 생성하는 로봇 내부에 속합니다. 탐지, 개체 추적, 로컬 계획, 클라우드 감소 또는 지도 변경 사항만 게시하면 DDS 동작을 변경하지 않고도 공유 채널 수요가 낮아집니다.
이 필터링 단계는 하나의 불필요한 고속 스트림이 여러 조정 주제에 필요한 용량을 소비할 수 있는 다중 로봇 ROS 2 무선 메시에서 특히 중요합니다. 트래픽을 제거하면 일반적으로 더 깊은 대기열과 추가 재시도로 오버로드된 링크를 보호하려고 시도하는 것보다 더 예측 가능한 시스템이 생성됩니다.
고속 센서 및 상태 주제에는 일반적으로 완전한 기록 시퀀스가 아닌 사용 가능한 최신 샘플이 필요합니다. 실제 시작 프로필은 BEST_EFFORT, VOLATILE 및 KEEP_LAST이며 깊이는 1에서 5 사이입니다. 깊이 1은 즉시 대체되는 데이터에 적합한 반면, 약간 더 큰 대기열은 긴 백로그를 구축하지 않고도 짧은 콜백 예약 지연을 흡수할 수 있습니다.
LIFESPAN은 유효 기간이 지나면 메시지가 만료되도록 하여 또 다른 보호 장치를 추가할 수 있습니다. DEADLINE은 다른 목적으로 사용됩니다. 즉, 메시지 사이의 예상 간격을 표현하고 해당 기대가 빗나갈 경우 이벤트를 트리거할 수 있습니다. 두 정책 모두 링크 용량을 늘리지는 않지만, 둘 다 오래되거나 중단된 스트림을 더 쉽게 감지하고 처리할 수 있도록 해줍니다.
정확한 프로필은 소비자를 반영해야 합니다. 로컬 장애물 회피 노드는 최소 수명으로 빈번한 스캔이 필요할 수 있지만 차량 대시보드는 더 낮은 업데이트 속도를 수용할 수 있습니다. 동일한 ROS 2 무선 메시를 통해 둘 다 전송한다고 해서 동일한 신뢰성, 깊이 또는 수명 설정이 필요하다는 의미는 아닙니다.
함대 주제 |
신뢰할 수 있음 |
내구성 |
역사와 깊이 |
주요 목표 |
LiDAR, 카메라, 주행 거리계 |
최선의 노력 |
휘발성 물질 |
마지막으로 유지, 1~5 |
신선도 유지 |
연속 동작 명령 |
최선의 노력 또는 신중하게 제한된 신뢰성 |
휘발성 물질 |
마지막으로 유지, 1 |
오래된 제어 방지 |
작업 및 모드 이벤트 |
믿을 수 있는 |
휘발성 물질 |
제한된 마지막 유지 |
유효한 전환 제공 |
현재 지도 또는 구성 |
믿을 수 있는 |
일시적인 로컬 |
마지막으로 유지, 자주 1 |
늦게 합류하는 사람들을 지원하세요 |
역사적 사건 기록 |
믿을 수 있는 |
애플리케이션별 |
자원에 의해 제한됨 |
필수 이벤트 유지 |
지속적인 명령과 개별 조정 이벤트는 하나의 기본 프로필을 공유해서는 안 됩니다. 속도, 조향 및 대형 수정 스트림은 반복적으로 새로 고쳐지므로 오래된 샘플이 재전송 뒤에 대기해서는 안 됩니다. 얕은 기록, 짧은 수명 및 애플리케이션 수준 제한 시간은 새로운 명령이 사라질 때 로봇이 정의된 대체 모드를 중지하거나 입력하도록 보장합니다.
작업 수락, 작동 모드 변경 및 임무 전환에는 각 이벤트가 공유 상태를 변경하므로 안정적인 전달이 필요할 수 있습니다. 그럼에도 불구하고 역사는 제한되어 있어야 합니다. 경로가 복구된 후 대체된 명령의 긴 시퀀스를 재생하는 것은 중단을 보고하고 현재 미션 상태를 다시 동기화하는 것보다 더 해로울 수 있습니다.
DDS 신뢰성은 보호의 한 계층일 뿐입니다. 모든 모바일 로봇은 네트워크와 독립적으로 로컬 명령 만료, 동작 제한 및 통신 손실 동작을 시행해야 합니다. ROS 2 무선 메시는 도달 범위와 경로 탄력성을 향상시킬 수 있지만 이전 명령이 여전히 안전한지 여부를 결정할 수는 없습니다.
로봇에 합류하거나 다시 연결하는 데 가장 최근에 게시된 상태가 필요한 경우 TRANSIENT_LOCAL과 함께 RELIABLE을 사용하세요. 현재 지도, 지오펜스, 공유 운영 모드, 구성 스냅샷이 이 패턴에 맞는 경우가 많습니다. KEEP_LAST(1)는 일반적으로 최신 전체 스냅샷만 운영 관련성을 유지하므로 모든 버전을 유지하는 것보다 더 적합합니다.
KEEP_ALL은 전체 시퀀스가 실제로 중요하고 리소스 요구 사항이 알려진 데이터용으로 예약되어야 합니다. Keep-all 스토리지에는 미들웨어 리소스 제한이 적용되므로 무제한으로 보장되지는 않습니다. 일시적인 로컬 내구성으로 인해 게시자는 나중에 가입하는 구독에 대한 샘플을 유지해야 합니다.
양쪽에서 호환성을 확인해야 합니다. 최선의 게시자는 신뢰할 수 있는 구독자를 만족시킬 수 없으며, 휘발성 게시자는 임시 로컬 구독을 만족시킬 수 없습니다. 신뢰할 수 있는 게시자는 최선의 구독자에게 서비스를 제공할 수 있는 반면 임시 로컬 게시자는 변동성이 큰 구독자에게 새 메시지를 보낼 수 있습니다. 보관된 기록 전달에는 호환되는 임시 로컬 설정이 필요합니다.
이미지, 점유 그리드 및 밀집 포인트 클라우드는 네트워크를 통과하기 전에 여러 전송 단위로 나뉩니다. 대규모 UDP 데이터그램이 IP 계층에서 조각화되면 하나의 조각이 손실되면 전체 데이터그램을 재구성할 수 없습니다. 나머지 조각은 만료될 때까지 커널 버퍼를 차지할 수 있으므로 연결이 중단된 것처럼 보이고 새로운 트래픽을 차단할 수 있습니다.
무선 ROS 2 연결을 통한 대규모 페이로드 성능 저하는 일반적으로 과도한 IP 조각화, 비효율적인 재전송 타이밍, 혼잡한 버퍼 버스트 등 세 가지 연결 메커니즘과 관련이 있습니다. 표준 호환 DDS 매개변수 변경은 다른 애플리케이션 프로토콜을 요구하지 않고도 이러한 영향을 줄일 수 있습니다.
암호화, 터널, 가상 인터페이스 및 모든 라우팅된 세그먼트를 포함하여 전체 ROS 2 무선 메시에서 실제 경로 MTU를 측정합니다. 전송 구성이 허용하는 경우 네트워크 계층 조각화를 방지할 수 있을 만큼 RTPS 또는 UDP 메시지 크기를 줄입니다. 헤더와 캡슐화로 인해 사용 가능한 크기가 줄어들 수 있으므로 1500바이트 이더넷 MTU에서 계산된 값은 시작 가설일 뿐입니다.
경로가 중단되는 동안 신뢰할 수 있는 게시자는 승인 도착이 중지되는 동안 계속해서 메시지를 생성할 수 있습니다. 확인되지 않은 샘플은 리소스 제한에 도달할 때까지 기록에 누적됩니다. 연결이 복구되면 복원된 경로는 현재 게시, 제어 트래픽 및 보관된 백로그를 동시에 전달해야 합니다.
다시 연결한 후에도 유용하게 남아 있는 샘플 수에서 기록 깊이를 선택합니다. 유효 기간이 250밀리초인 20Hz 상태 스트림에는 대기열에 있는 수십 개의 샘플이 거의 필요하지 않습니다. 대부분은 이미 오래되었을 것입니다. 교체 가능 상태는 최신 샘플을 선호해야 하며 필수 이벤트 시퀀스에는 제한적인 복구 계획이 필요합니다.
신뢰할 수 있는 대규모 샘플에는 추가 확인이 필요합니다. 예상되는 가장 약한 경로가 현재 트래픽을 지연시키지 않고 대기열을 비울 수 있습니까? 깊은 기록은 즉각적인 데이터 손실을 줄일 수 있지만 메모리 사용, 복구 시간 및 중단 후 트래픽 급증 가능성도 증가시킵니다. 과도한 보유 기록은 연결이 반환된 후 정체를 악화시키는 버퍼 버스트를 생성할 수 있습니다.
신뢰할 수 있는 DDS는 하트비트 및 승인 교환을 사용하여 누락된 샘플을 식별하고 재전송을 트리거합니다. 드문 복구 주기로 인해 여러 손실이 다시 전송되기 전에 누적되어 링크의 순간 용량을 초과하는 짧은 버스트가 발생할 수 있습니다. 하트비트 기간, 조각화 및 재전송 간격도 손실이 있는 무선 조건에서 밀접하게 상호 작용합니다.
하나의 값을 전체에 적용하는 대신 각 주제의 게시 간격에 대해 재전송 타이밍을 테스트하세요. 모든 변경 후 복구 지연, 테일 대기 시간, 지터, 제어 패킷 오버헤드 및 CPU 로드를 측정합니다. 복구 신호가 빨라지면 지연과 버스트 크기가 줄어들 수 있지만 제어 트래픽이 과도하면 처리 및 대역폭이 소모될 수 있습니다.
지속적으로 제공되는 로드가 사용 가능한 굿풋을 초과하는 ROS 2 무선 메시를 타이밍 조정으로 구제할 수는 없습니다. 링크가 포화 상태로 유지되면 재시도를 통해 이미 오버로드된 경로에 트래픽을 추가합니다.
QoS 튜닝은 애플리케이션 아키텍처가 더 큰 문제가 되는 곳에서 끝나야 합니다. 시각적 스트림이 채널을 지배하는 경우 이미지 해상도, 인코딩 품질 또는 프레임 속도를 줄입니다. 전송하기 전에 포인트 클라우드를 자르거나 다운샘플링하고, 팀원이 원시 관찰이 필요하지 않은 경우 개체 추적, 이동성 결과 또는 로컬 지도 업데이트를 게시합니다.
가장자리 처리는 종종 가장 깨끗한 솔루션을 제공합니다. 각 로봇은 고대역폭 센서 데이터를 로컬에 보관하고 조정에 필요한 정보만 배포할 수 있습니다. 이는 DDS 신뢰성에 대한 타협이 아닙니다. 통신 수요를 모바일 네트워크의 물리적 용량에 맞추는 것은 의도적인 결정입니다.
고정된 원홉 테스트는 모바일 ROS 2 무선 메시를 나타낼 수 없습니다. 검증에는 최단 경로, 계획된 최대 홉 수, 릴레이 위치 간 이동, 간섭 증가, 비대칭 트래픽, 단기 중단, 장기 중단, 재연결, 늦은 참여 및 여러 로봇에 의한 동시 게시가 포함되어야 합니다.
평균 대기 시간보다 더 많은 시간을 기록합니다. 유용한 측정에는 다음이 포함됩니다.
● 수신된 업데이트 빈도 및 메시지 손실률.
● 메시지 수명, 중간 대기 시간, 꼬리 대기 시간 및 지터.
● 경로 변경 후 검색 또는 재연결 시간.
● 중단 중 작성자 및 판독기 대기열이 증가합니다.
● 유용한 보유 데이터를 삭제하는 데 필요한 시간.
● 게시자와 구독자 모두에서 CPU 및 메모리를 사용합니다.
이전에 생성된 배송 예산과 비교하여 각 결과를 평가합니다. 모든 샘플이 최종적으로 도착하더라도 업데이트 빈도가 제어 요구 사항보다 낮기 때문에 현지화 주제가 실패할 수 있습니다. 반대로, 허용된 복구 기간 내에 완료되면 지연 시간이 길어지더라도 지도 전송이 통과될 수 있습니다.
ROS 2 측정항목은 애플리케이션이 어떤 경험을 하는지 보여주고, 메쉬 원격 측정은 왜 그런 일이 일어났는지 설명하는 데 도움이 됩니다. 홉 수, 토폴로지 변경, 신호 강도, 신호 대 잡음비, 업로드 및 다운로드 트래픽, 경로 전환 타이밍을 통해 주제 성능을 비교합니다. 두 레이어를 상호 연결하면 팀이 무선 경로 변경에 대해 QoS를 비난하거나 호환되지 않는 게시자 및 구독자 설정에 대해 메시를 비난하는 것을 방지할 수 있습니다.
WDS MIMOmesh OEM/ODM 모듈 및 경량 항공 장치는 분산형, 센터리스 동적 라우팅 및 멀티 홉 릴레이 모드를 갖춘 all-IP 아키텍처를 사용합니다. 네트워크 관리 기능은 엔지니어가 ROS 2 대기 시간, 손실 및 대기열 동작과 비교할 수 있는 토폴로지, 전계 강도, SNR, 트래픽, 노드 거리 및 작동 상태 정보를 제공합니다.
제품 데이터 속도 및 단일 홉 지연 수치는 보장된 애플리케이션 성능보다는 계획 참조로 유지되어야 합니다. 실제 종단 간 동작에는 경로 깊이, 채널 점유, 패킷 복구, 직렬화, 미들웨어 대기열 및 노드 처리도 포함됩니다. 에서 ROS 2 무선 메시를 이동하면 가장 약한 운영 경로에서 측정된 굿풋이 게시 속도와 기록 제한을 유도해야 합니다.
주제 이름, 메시지 유형 및 QoS 호환성을 확인하는 것부터 시작하세요. 피어를 결코 발견하지 못하는 노드는 일치하는 엔드포인트가 패킷을 잃는 것과는 다른 실패를 가지기 때문에 데이터 전송과 별도로 발견을 테스트하십시오. 호환되지 않는 QoS 이벤트는 애플리케이션이 오류를 설명하지 않은 상태로 두는 대신 정책 불일치를 감지하는 데 도움이 될 수 있습니다.
반복 가능한 경로와 이동 패턴을 설정한 다음 실행당 하나의 변수를 조정합니다. 신뢰성, 깊이, 내구성, 수명, 게시 속도, 페이로드 크기 또는 조각화 임계값을 독립적으로 변경합니다. 동일한 시나리오를 반복하면 QoS 변경으로 인해 명백한 개선이 발생하는지 아니면 더 나은 무선 경로에서 발생하는지 식별할 수 있습니다.
테스트하기 전에 합격 조건을 설정하세요. 예를 들어 최대 명령 기간, 최소 위치 파악 빈도, 다시 연결하는 로봇이 현재 지도를 수신하는 최대 시간, 백로그 배출 시간 제한 등이 있습니다. 최종 프로필은 단순히 테스트 벤치에서 인상적인 평균을 제공하는 것이 아니라 가장 약한 현실적인 경로를 통과해야 합니다.
안정적인 차량 통신은 DDS 동작을 각 주제의 목적에 일치시키는 데 달려 있습니다. 새로운 센서 스트림에는 일반적으로 얕은 최선형 대기열이 필요한 반면, 임무 이벤트 및 로봇 재연결에는 제한된 신뢰성이나 일시적인 로컬 내구성이 필요할 수 있습니다. 단편화, 백로그 증가, 측정된 멀티 홉 굿풋이 최종 프로필을 형성해야 합니다.
ROS 2 무선 메시를 구축하는 팀을 위해 Shenzhen Sinosun Technology Co., Ltd.는 모바일, 멀티홉 배포를 위한 MIMOmesh OEM/ODM 모듈과 경량 항공 무선 장치를 제공합니다. 엄격한 QoS 테스트와 결합된 이러한 플랫폼은 오래된 트래픽을 줄이고, 복구 시간을 단축하며, 공유 대역폭을 운영상 유용한 데이터에 집중시키는 데 도움이 될 수 있습니다.
A: 예. 하지만 무선 링크에는 주제별 QoS 설정이 필요합니다. 안정성, 대기열 깊이, 내구성 및 페이로드 속도에는 패킷 손실, 대기 시간, 이동성 및 사용 가능한 대역폭이 반영되어야 합니다.
A: 자주 새로 고쳐지는 센서 스트림과 누락되어서는 안되는 명령, 임무 이벤트, 지도 또는 구성 데이터에 대한 제한적이고 안정적인 전달을 위해 최선을 다하십시오.
A: 호환되지 않는 QoS 정책으로 인해 통신이 방해될 수 있습니다. 일반적인 불일치에는 게시자가 제공한 프로필과 구독자가 요청한 프로필 간의 안정성, 내구성, 기한 또는 활성 설정이 포함됩니다.
A: 페이로드 크기를 줄이고, IP 조각화를 방지하고, 게시 속도를 제한하고, 대기열을 얕게 유지하세요. 로컬 처리 또는 압축 출력은 모든 원시 센서 샘플을 전송하는 것보다 성능이 더 좋은 경우가 많습니다.
A: 메시지 수명과 복구 요구 사항에 따라 깊이를 선택하세요. 교체 가능한 상태에는 깊이 1을 사용하고 필수 이벤트에는 더 크지만 엄격하게 제한된 대기열이 필요할 수 있습니다.