Redirecting...

This page has moved to https://docs.px4.io/master/ko/companion_computer/pixhawk_companion.html.

Click here if you are not redirected.

픽스호크 시리즈용 보조 컴퓨터

픽스호크 계열 보드에 보조 컴퓨터(라즈베리 파이, 오드로이드, 테그라 K1)를 붙이는 작업의 방식은 동일합니다. 보조 컴퓨터를 연결하려는 용도의 포트 TELEM 2에 시리얼 포트로 연결하면 됩니다. 이 연결의 메시지 형식은 MAVLink 입니다.

픽스호크 설정

설정 가능한 시리얼 포트에 MAVLink를 활성화하십시오.

보통 TELEM 2 포트는 보조 컴퓨터용으로 사용합니다.

TELEM 2의 기본 보조컴퓨터 메시지 스트림을 설정하려면 다음 매개변수를 설정하십시오:

  • MAV_1_CONFIG = TELEM 2 (MAV_1_CONFIGTELEM 2 포트 매핑 목적으로 주로 활용합니다)
  • MAV_1_MODE = Onboard
  • SER_TEL2_BAUD = 921600 (로그 스트리밍 또는 FastRTPS 활용 목적으로 921600 이상 값을 권장합니다)

더 많은 정보는 MAVLink 주변기기 편(GCS/OSD/Companion)을 참고하십시오.

보조 컴퓨터 설정

MAVLink 메시지를 받으려면, 보조 컴퓨터에서 직렬 포트로 통신하는 어떤 프로그램이 필요합니다. 대부분 일반적으로 선택할 수 있는 방안은 다음과 같습니다:

하드웨어 설정

다음 절차에 따라 직렬 포트를 연결하십시오. 모든 픽스호크 직렬 포트는 3.3V ~ 5V 레벨 호환으로 동작합니다.

대부분의 최근 보조 컴퓨터는 1.8V 레벨에서 하드웨어 UART가 동작하며 3.3V 레벨에서 손상을 입을 수 있습니다. 전압 변환 칩을 활용하십시오. 대부분의 경우 접근할 수 있는 하드웨어 직렬 포트에는 연결하려는 장비(모뎀 또는 콘솔)와 관련된 일부 기능이 있으며, 해당 장비를 사용할 수 있으려면 리눅스에서 재설정해야합니다.

확실히 안전한 방법은 아래의 결선표를 참고하여 FTDI 칩을 내장한 USB-to-serial 변환 보드를 사용하는 방법입니다. 얼마든지 동작하고, 설정하기도 쉽습니다.

| | TELEM2 | | FTDI | | | | ------ | -------- | ---- | ----------------- | | | 1 | +5V (적) | | 연결하지 마십시오! | | | 2 | Tx (출력) | 5 | FTDI RX (황) (입력) | | | 3 | Rx (입력) | 4 | FTDI TX (적황) (출력) | | | 4 | CTS (입력) | 6 | FTDI RTS (녹) (출력) | | | 5 | RTS (출력) | 2 | FTDI CTS (갈) (입력) | | | 6 | GND | 1 | FTDI GND (흑) |

리눅스 소프트웨어 설정

리눅스에서 USB FTDI 기본 명칭은 /dev/ttyUSB0와 같습니다. USB로 두번째 FTDI 칩을 연결했을 경우나, 아두이노에 연결했다면 /dev/ttyUSB1이 됩니다. 첫번째 연결 하드웨어와 두번째 연결 하드웨어의 혼동을 막으려면 ttyUSBx의 심볼릭 링크를 USB 장치의 제조사, 제폼 ID 에 따라 알기 쉬운 이름으로 만드시는 방안을 추천해드립니다.

lsusb를 사용하면 제조사와 제품 ID를 가져올 수 있습니다.

$ lsusb

Bus 006 Device 002: ID 0bda:8153 Realtek Semiconductor Corp.
Bus 006 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 002: ID 05e3:0616 Genesys Logic, Inc.
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 004: ID 2341:0042 Arduino SA Mega 2560 R3 (CDC ACM)
Bus 003 Device 005: ID 26ac:0011
Bus 003 Device 002: ID 05e3:0610 Genesys Logic, Inc. 4-port hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 002: ID 0bda:8176 Realtek Semiconductor Corp. RTL8188CUS 802.11n WLAN Adapter
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

여기서 아두이노는 Bus 003 Device 004: ID 2341:0042 Arduino SA Mega 2560 R3 (CDC ACM)입니다.

픽스호크 장비는 Bus 003 Device 005: ID 26ac:0011입니다.

장치를 찾지 못하겠다면, 뽑고 lsusb를 입력, 다시 연결한 후 lsusb를 다시 입력하여 추가 장치를 확인하십시오.

이 과정을 수행하여 /etc/udev/rules.d/99-pixhawk.rules 파일에 다음 내용에서 idVendor와 idProduct를 여러분의 장비에 맞게 바꾸어 추가한 새 UDEV 규칙을 만들 수 있습니다.

SUBSYSTEM=="tty", ATTRS{idVendor}=="2341", ATTRS{idProduct}=="0042", SYMLINK+="ttyArduino"
SUBSYSTEM=="tty", ATTRS{idVendor}=="26ac", ATTRS{idProduct}=="0011", SYMLINK+="ttyPixhawk"

마지막으로 reboot를 수행하면 방금 작성한 스크립트를 통해, 어떤 장치를 연결했을 때 /dev/ttyUSB0 대신 /dev/ttyPixhawk가 뜨는지 확인할 수 있습니다.

스크립트를 루트 계정으로 실행하는 일을 막기 위해 usermod 명령으로 tty 그룹과 dialout 그룹에 여러분 자신의 계정을 추가했는지 확인하십시오.

usermod -a -G tty ros-user
usermod -a -G dialout ros-user

results matching ""

    No results matching ""