# ARK Flow

ARK Flow는 오픈 소스 UAVCAN 광류, 거리 센서 및 IMU 모듈입니다.

ARK Flow

# 구매처

이 모듈을 아래에서 주문하십시오.

# 사양

  • 오픈 소스 회로도와 BOM (opens new window)
  • PX4 오픈 소스 펌웨어 (opens new window) 실행
  • UAVCAN 펌웨어 업데이트 지원
  • 동적 UAVCAN 노드 열거
  • 센서
    • PixArt PAW3902 Optical Flow Sensor
      • 9lux 이상의 매우 낮은 조명 조건에서 트랙
      • 80mm에서 30m까지 넓은 작업 범위
      • 최대 7.4 rad/s
    • 9lux 이상의 매우 낮은 조명 조건에서 트랙
    • Broadcom AFBR-S50LV85D 비행시간 거리 센서
      • 통합 850nm 레이저 광원
      • 12.4 x 6.2°의 시야각 (FoV), 32 픽셀
      • 최대 30m의 일반적인 거리 범위
      • 최대 200k Lux 주변 조명 작동
      • 모든 표면 조건에서 잘 작동
      • 1~3 픽셀 사이를 비추는 2° x 2°의 송신기 빔
    • 최대 7.4 rad/sPixArt PAW3902 광학식 유량 센서
  • STM32F412CEU6 MCU
  • Pixhawk 표준 CAN 커넥터 2 개
    • 4 핀 JST GH
  • Pixhawk 표준 CAN 커넥터 2 개
    • 4 핀 JST GH
  • 소형 폼 팩터
    • 3cm x 3cm x 1.4cm
  • LED 표시기
  • 미국에서 제작

# 배선

ARK Flow는 Pixhawk 표준 4 핀 JST GH 케이블을 사용하여 CAN 버스에 연결됩니다. 추가 센서를 ARK Flow의 두 번째 CAN 커넥터에 연결하여 여러 센서를 연결할 수 있습니다.

UAVCAN 배선 방법은 UAVCAN > 배선을 참고하십시오.

# 장착 및 방향

권장 장착 방향은 다음 그림과 같이 보드의 커넥터가 차량 뒷면을 향하는 것입니다.

ARK Flow는 Pixhawk에 정렬

이는 매개변수 SENS_FLOW_ROT의 기본값 (0)에 해당합니다. 다른 방향을 사용시에는 매개변수를 적절하게 변경하십시오.

센서는 프레임의 어느 곳에 나 장착할 수 있지만, PX4 설정 중에 차량 무게 중심을 기준으로 초점 위치를 지정하여야 합니다.

# PX4 설정

# UAVCAN 활성화

ARK Flow 보드를 사용하려면 Pixhawk CAN 버스에 연결하고 동적 노드 할당을 위해 매개변수 UAVCAN_ENABLE2로 설정하여 UAVCAN 드라이버를 활성화합니다 (또는 <a href="../uavcan/escs.md">UAVCAN ESC</a>를 사용하는 경우 3).

단계는 아래와 같습니다:

활성화되면 부팅시 모듈이 감지됩니다. 유량 데이터는 10Hz에 도달하여야 합니다.

# PX4 설정

Optical Flow > 추정기 > EKF2 에서 EKF 광류 매개변수를 설정합니다.

또한 다음의 매개변수들을 설정할 수 있습니다.

매개변수 설명
CANNODE_TERM 광학 흐름에 의존시 지상 최소 높이.

# Ark Flow 펌웨어 빌드

Ark Flow is sold with a recent firmware build. Developers who want to update to the very latest version can build and install it themselves using the normal PX4 toolchain and sources.

The steps are:

  1. PX4 도구 모음을 설치합니다.
  2. git을 사용하여 Ark Flow를 포함한 PX4-Autopilot 소스를 복제합니다.
    git clone https://github.com/PX4/PX4-Autopilot --recursive
    cd PX4-Autopilot
    
  3. Ark Flow 펌웨어를 빌드합니다.
    make ark_can-flow
    
  4. build/ark_can-flow_defaultXX-X.X.XXXXXXXX.uavcan.bin이라는 바이너리가 생성됩니다. 이 바이너리를 비행 컨트롤러 SD 카드의 루트 디렉터리에 저장하여 Ark Flow를 플래시합니다. 다음으로 SD 카드가 설치된 상태에서 비행 컨트롤러의 전원을 켜면 Ark Flow가 자동으로 깜박이고 바이너리가 더 이상 루트 디렉터리에 없고 이제 SD 카드의 ufw 디렉토리에 80.bin이라는 파일이 생깁니다. :::note 전원을 켤 때 비행 컨트롤러에 SD 카드가 없으면, Ark Flow가 부팅되지 않습니다.

:::

# Ark Flow 부트로더 업데이트

The Ark Flow comes with the bootloader pre-installed. You can, however, rebuild and reflash it within the PX4-Autopilot environment.

The steps are:

  1. Ark Flow 부트로더 펌웨어를 빌드합니다.
    make ark_can-flow_canbootloader
    

VS

코드에서는 이렇게 하면, launch.json 파일이 설정됩니다. Black Magic Probe 및 VS 코드를 사용하는 경우 이 파일 내의 BMPGDBSerialPort를 디버거가 연결된 올바른 포트로 업데이트해야 합니다. MacOS에서 포트 이름은 cu.usbmodemE4CCA0E11과 같아야 합니다.

  1. Black Magic Probe와 같은 GNU 프로젝트 디버거(GDB) 사용을 지원하는 직렬 와이어 디버깅(SWD) 장치에 Ark Flow를 연결한 다음 CAN 포트 중 하나를 통해 Ark Flow에 전원을 연결합니다.
  2. ark_can-flow_canbootloader로 Ark Flow를 플래시합니다. VS 코드에서 그렇게 하려면, VS 코드의 하단 표시줄에 CMake: [ark_can-flow_canbootloader]: Ready가 표시되어 깜박이고 있음을 나타냅니다. 그런 다음, VS 코드의 실행 및 디버그 창에서 디버깅 시작을 선택한 다음 첫 번째 중단점 이후에 계속을 선택하여 부트로더를 플래시합니다.
  3. 부트로더가 플래시되면 위에서 설명한 대로 Ark Flow 펌웨어 ark_can-flow_default를 빌드하고 플래시할 준비가 된 것입니다.

# LED 신호의 의미

ARK Flow가 깜박일 때 빨간색과 파란색 LED가 모두 표시되고, 제대로 실행 중이면 파란색 LED가 계속 켜져 있습니다.

빨간색 LED가 계속 켜져 있으면, 오류가 있으므로 다음 사항들을 확인하여야 합니다.

  • 비행 콘트롤러에 SD 카드가 설치되어 있는지 확인하십시오.
  • ark_can-flow_default를 플래싱하기 전에 Ark Flow에 ark_can-flow_canbootloader가 설치되어 있는 지 확인하십시오.
  • SD 카드의 루트 및 ufw 디렉토리에서 바이너리를 제거하고 빌드 및 플래시를 다시 시도하십시오.

# 비디오

유튜브 (opens new window) 속도 추정을 위해 ARK Flow 센서를 사용한 PX4 고정 위치(위치 모드에서)