지형 추적(자동, 안내 등) 안전 장치
Last updated
Last updated
Copter는 거의 모든 자율 모드 , , 및 에서 "지형 추적"을 지원합니다 . 사용 하거나 Google 지도와 같은 매핑 서비스를 사용하여 지상국에서 제공하는 데이터(지형 고도 데이터라고도 함) 를 사용하여 지형 위의 지정된 거리를 유지하기 위해 상승 또는 하강할 수 있습니다. "Terrain" 하위 디렉토리의 자동 조종 장치 SD 카드에 있습니다. SRTM 데이터의 사용 및 저장 방법에 대한 자세한 내용은
참조하십시오 .
, 및 모드는 표면 추적이라고 하는 저고도 지형 추적도 지원합니다. 위키 페이지를 참조하십시오.
하향식 LIDAR 에 의존하는 경우
GCS 제공 지형 데이터를 사용하는 경우 매개변수를 1로 설정합니다.
Flight Plan 화면에서 최신 버전의 Mission Planner(또는 지형 추적을 지원하는 다른 GCS)를 사용하여 고도 유형을 "Terrain"으로 설정합니다. 일단 설정되면 "Alt" 필드를 포함하는 모든 임무 명령은 지형 위의 고도로 해석됩니다.
에서 평소처럼 미션을 실행합니다.
지상국은 일반적으로 MAVLink를 통해 항공기로 전송되는 원시 지형 데이터를 제공할 책임이 있습니다. 현재 Mission Planner와 MAVProxy만이 다운로드 지원 지형에 필요한 필수 TERRAIN_DATA 및 TERRAIN_REQUEST MAVLink 메시지를 지원합니다. 다른 지상국을 사용하는 경우 지형 데이터를 다운로드하려면 ArduPilot이 지상 또는 비행 중에 지형 데이터를 보드에 로드할 수 있도록 두 지상국 중 하나를 사용하여 연결해야 합니다. 로드되면 microSD 카드에 영구적으로 저장됩니다.
지형 데이터는 이러한 지상국을 사용하여 로드된 임무를 저장하거나 연결할 때마다 다운로드되거나, 비행하는 경우 아직 다운로드되지 않은 지역으로 비행하는 경우 자동 조종 장치가 데이터를 요청합니다. 지상국이 그것을 제공할 수 있다고 가정합니다. 일반적으로 인터넷 연결은 지상국에서 필요합니다.
지리적 위치 주변에 지정된 반경에 대한 타일을 생성합니다. 그런 다음 다운로드하고 압축을 풀고 SD 카드의 APM/TERRAIN 폴더에 쓸 수 있습니다.
경고
다운로드한 지형 데이터 파일에서 가끔 지형 데이터가 누락되는 원인이 되었던 오랜 버그가 Plane 4.0.6, Copter 4.0.4 및 Rover 4.1에서 수정되었습니다. 호환되는 GCS에 연결되면 자동으로 다시 다운로드됩니다. 그러나 지역에 대한 SD 지형 데이터에 의존하고 있으며 GCS에 연결할 계획이 없거나 임무의 일부가 아닌 경우 위의 유틸리티를 사용하거나 다음에서 지역 데이터를 다운로드해야 합니다. 연결된 타일 데이터 저장소를 만들고 Terrain 디렉터리의 SD 카드에 배치합니다.
경고
차량이 지형 데이터가 필요한 임무 명령을 실행 중이지만 2초 동안 지형 데이터를 검색할 수 없는 경우(일반적으로 거리 측정기가 실패하거나 범위를 벗어나거나 지상국이 지형 데이터를 제공할 수 없기 때문에) 차량이 전환됩니다. RTL 모드(비행 중인 경우) 또는 무장 해제(착륙한 경우).
지상국에 항공기가 요청한 해상도로 사용할 수 있는 지형 데이터가 없는 경우 지상국은 요청된 그리드 크기를 제공하기 위해 필요에 따라 보간합니다.
지형 위 고도가 다른 명령을 포함하는 임무를 계획할 때 차량의 지형 위 고도가 웨이포인트 사이에서 점진적으로 변경된다는 점을 염두에 두십시오. 즉, 다음 웨이포인트를 향해 시작할 때 지형 위의 새로운 목표 고도로 즉시 상승하거나 하강하지 않습니다.
실제로는 초기 이륙 명령의 고도를 장애물을 피할 수 있을 만큼 충분히 높게 설정하는 것이 가장 좋습니다.
또는 매개변수를 설정하지 마십시오 EK3_ALT_SOURCE
. 이 매개변수는 "0"(기압계)에 두어야 합니다.
또는 매개변수를 설정하지 마십시오 . 이 매개변수는 "-1"로 두어야 합니다.
MissionPlanner와 MAVProxy는 모두 지형 데이터를 위한 글로벌 SRTM 데이터베이스를 지원합니다. MAVProxy 및 Mission Planner에서 사용하는 ArduPilot SRTM 서버는 100m 그리드 간격을 가집니다. 지상 관제소가 더 가까운 간격의 서버를 사용하지 않는 한 매개변수를 100m 미만으로 설정하면 더 나은 해상도를 제공하지 않으며 SD 카드에서 더 많은 공간만 소비합니다.
사용하여 예상 비행 영역에 대한 지형 데이터 타일 세트를 다운로드할 수 있습니다 .
에서 전체 대륙 또는 개별 타일에 대한 .zip 파일을 다운로드할 수도 있습니다 . ArduPilot 4.0.x와 4.1.x는 타일셋이 다릅니다. ArduPilot 4.0.x의 경우 "continents"/"tiles" 폴더를 사용하거나 ArduPilot 4.1.x의 경우 "continentsapm41"/"tilesapm41" 폴더를 사용하십시오.
ArduPilot 4.0.x 및 4.1.x는 서로 다른 지형 타일셋을 사용합니다. 4.0.x에서 4.1.x로 업그레이드할 때 SD 카드의 모든 타일을 다시 다운로드해야 합니다. 로드된 미션 및/또는 홈 위치가 포함된 영역에 대해 GCS가 인터넷에 연결되면 이 작업이 자동으로 수행됩니다. 그렇지 않으면 50으로 설정하여 이전 타일셋을 계속 사용할 수 있습니다.
및 비행 모드 에서 지형 데이터 사용을 활성화하려면 매개변수를 1로 설정합니다 . 설정된 경우 차량은 를 지형 위 고도로 해석하여 일반적으로 집으로 돌아가는 경로에서 언덕을 넘어갑니다. 마찬가지로 Land는 지형에서 10m 위에 있을 때 (일반적으로 50cm/s) 로 느려집니다 (집에서 10m 위에 있는 대신). 동안 지형 데이터를 검색할 수 없는 다소 가능성이 희박한 상황과 관련된 아래 언급된 극단적인 경우 때문에 권장되지 않습니다 . 이 경우 alt-above home으로 해석됩니다.
이 상황에서 지형 데이터에 즉시 액세스할 수 없기 때문에 "1"로 설정되었는지 여부 에 관계없이 를 고도 기준으로 해석하는 일반 RTL을 수행합니다.
사용자가 보고하는 일반적인 문제 중 하나는 차량이 지상에 있는 동안 사용자가 임무를 시작하기 위해 자동 모드로 전환하면 차량이 즉시 무장 해제된다는 것입니다. 원인은 거리 측정기(MP의 비행 데이터 화면의 상태 탭의 sonar_range 필드에서 확인할 수 있음)에서 보고된 고도가 RNGFNDx_MIN_CM(예: RNGFND1_MIN_CM ) 매개변수보다 짧기 때문 . . 해결 방법은 RNGFNDx_MIN_CM 값을 줄이는 것입니다(아마도 "5"로).
TERRAIN_SPACING 매개변수는 지상국에서 지형 고도를 요청할 때 사용되는 그리드의 크기를 제어합니다(Lidar를 사용하는 경우에는 사용되지 않음) 이것은 기본적으로 100m이지만 30으로 줄이면 GCS와 자동 조종 장치 사이의 더 많은 원격 측정 트래픽과 SD 카드의 9배 더 많은 파일 저장 공간을 희생하여 더 나은 정확도를 제공할 수 있지만 지상국이 해당 해상도의 서버를 사용하는 경우에만 가능합니다. MavProxy와 Mission Planner는 현재 그렇지 않습니다. 또한 차량이 매우 빠르게 이동하는 경우 자동 조종 장치는 향상된 해상도가 실제로 사용될 만큼 충분히 빠르게 데이터를 검색하고 캐시하지 못할 수 있습니다. 따라서 100미터의 사용하는 것이 좋습니다 .
SRTM 데이터베이스의 정확도는 지표면에 따라 다릅니다. 일반적인 정확도는 약 10m이지만 한 개발자는 스키 언덕 정상에서 35m의 부정확성을 발견했습니다. 따라서 60미터 이상의 고도에서 비행하는 항공기에 적합한 지형 추적이 가능합니다. 사용하는 것이 좋습니다 .