Offboard Control - (1) Pixhawk h/w
DJI F450 쿼드콥터 하드웨어를 기반으로 Pixhawk와 Raspberry Pi(ROS)를 이용하여 자율비행 드론 구현
Offboard Control - (1) Pixhawk h/w
Offboard Control - (2) Raspberry Pi
Offborad Control - (3) MarvROS
Offboard Control - (4) Test Flight
1. DJI F450기반 쿼드콥터 제작 (◀쿼드콥터 H/W 제작(조립) 참조)
2. Pixhawk 드론 DJI F450 연결
(1) 전체 연결구성도
(2) 픽스호크 부품
(3) 픽스호크 부품 리스트
Package Included:
- PX4 V2.4.7 Flight board x1
- safety switch x1
- Buzzer x1
- Original Case x1
- 4GB SD Card x1
- SD Card Adapter x1
- External LED light board X 1
- PPM Module w/ shell x1
- Pixhawk-I2C Splitter Expand Module X 1
- Neo-M8N Gps Module x1
- Black Gps Holder x1
- Power Module x1
- Minim OSD w/ shell x1
- 433 telemetry w/ shell x1
- DF13 4Pin Cable x1
- DF13 5Pin Cable x1
- DF13 6Pin Cable x1
픽스호크 보드 자체의 세부 사항은 다음과 같습니다. (현재는 Pixhawk 2가 있음)
Processor
- 32bit STM32F427 Cortex M4 core with FPU
- 168 MHz
- 256 KB RAM
- 2 MB Flash
- 32 bit STM32F103 failsafe co-processor
Sensors
- ST Micro L3GD20H 16 bit gyroscope
- ST Micro LSM303D 14 bit accelerometer / magnetometer
- MEAS MS5611 barometer
위 부품 리스트 중에서 픽스호크 보드에 GPS, buzzer, switch, power module, ppm module을 연결해주고 각 리시버, esc를 연결한 후에 쿼드콥터 프레임 위에 올려줍니다. 아래 두번째 그림에서 맨 왼쪽에 RC 부분에 PPM encoder를 연결해주시면 됩니다. 바로 밑의 그림이 픽스호크에 PPM encoder와 ESC선들을 연결한 사진입니다. 세 줄이 있는데 제일 위 줄은 ground이고 두 번째 줄은 +이고 세 번째는 signal선입니다. 그거에 맞춰서 RC라고 써져있는 곳에 PPM encoder를 연결하고 Mainout 1,2,3,4에 ESC를 연결해주면 됩니다. (위 사진참조)
(4) 픽스호크 연결구성
※ 프로펠러의 회전방향을 보면 확인이 가능한데, 배터리를 연결하여 Arming상태에서 1번~4번 위치를 확인 할 수 있습니다.(Arming 본 포스팅 하단에서 설명한 내용을 참고하시기 바랍니다.)
(5) 픽스호크 보드 포트정보
(6) 픽스호크 LED 상태정보
적색&청색 깜박임 | 자이로 센서 초기화 중. 기체를 평행하게 유지하세요!! |
청색 깜박임 | 시동꺼짐(Disarmed), No GPS. GPS유관 비행모드에서 시동 불가! 녹색이 깜박일때 까지 대기 하세요! |
청색 점등 | No GPS상태에서 시동걸림(Armed) |
녹색 깜박임 | GPS 3D fix되고 시동꺼짐 상태(Disarmed), 시동준비상태. 시동상태에서 시동끌때 빠른 더블톤 |
녹색 빨리 깜박임 | 위와 같은 상태. 단, GPS는 SBAS 사용 중(보다 좋은 위치 정확도 제공) |
녹색 점등 – 시동 시 긴 톤과 함께 | 시동걸림, GPS 3D fix됨. 비행준비됨! |
황색 두번 깜박임 | 시동 불가 체크요. No GPS. GPS유관 비행모드에서 시동 불가! 녹색이 깜박일때 까지 대기 하세요! |
황색 깜박임 | 조종기(RC 수신기) Failsafe. 조종기(송&수신기)를 켰는지 확인하세요! |
황색 깜박임 – 빠른 비프톤과 함께 | Battery failsafe. 배터리 다 됬어요~~~ |
황색 & 청색 깜박임 – 고-고-고-저 톤과 함께 | GPS 문제 발생 or GPS failsafe activated. 배터리를 뽑았다가 다시 연결해 보세요~~ |
적색 & 황색 깜박임 – 상승 톤과 함께 | EKF or Inertial Nav failure. GPS와 각종센서에 문제가 있습니다. 절대 비행하지 마시고 시스템을 처음부터 차근차근 점검하세요! |
보라색 & 황색 깜박임 | 기압센서 불량. 껏다가 다시켜 보시고 그래도 문제가 있으면 점검하세요! |
적색 점등 | Error, 비행금지!! 즉시 점검 하세요! |
적색 점등 – SOS톤과 함께 | SD Card missing (or other SD error like bad format etc.) |
3. GCS설치 및 환경셋팅, 테스트
해당 설정 및 테스트 ▶ DJI F450기반 쿼드콥터(4) - GCS 환경설정 및 Flying
※ 시동걸기 (http://ardupilot.org/copter/docs/arming_the_motors.html)
- 1) 조종기의 전원을 넣는다.
- 2) 기체의 LiPo 배터리를 연결한다. 자이로가 초기화되면서 적색/청색 불이 깜박입니다. 이때 기체를 움직이면 안됩니다.
- 3) Pixhawk가 시동전 점검(http://ardupilot.org/copter/docs/prearm_safety_check.html)을 실시합니다. 문제가 발생할 경우 LED가 노란색으로 점멸하게 됩니다. 이때는 GCS를 연결하여 점검해야 합니다.
- 4) 비행모드는 Stabilize/Acro/AltHold/Loiter로 설정되어 있어야 합니다. 다른 모드에서는 시동이 걸리지 않습니다.
- 5) Pixhawk의 안전 스위치를 1초 정도 눌러주면 빨간색이 고정됩니다.
- 6) GPS와 관련있는 조종(Loiter, RTL, Auto 등)을 사용하려면 GPS를 고정(LED가 초록색으로 깜박임??)시키고 나서, 30초 정도 후에 시동을 걸어야 합니다. GPS 위치를 안정화시키기 위한 목적입니다.
- 7) throttle 최하단, rudder 최우측으로 한 후, 5초정도 지나면 시동(Arming)이 걸립니다. (이 시간동안 자이로와 기압계를 재초기화시킵니다.) 참고로 15초 이상 스틱을 이 상태로 고정하고 있으면 Auto Trim 모드로 들어가게 되므로 주의하세요.
- 8) 시동이 걸리면 LED가 빨강색으로 깜박이고 프롭이 돌아갑니다. 시동이 걸리지 않을 경우 시동전 점검에서 문제가 발생한 것이므로, 먼저 조치를 취한 후 다시 시도해야 합니다.
- 9) 이제 Throttle을 올리면 기체를 이륙시킬 수 있습니다.
- (유투브 참조 : https://youtu.be/KiNOgcpcXjg)
※ 시동끄기
- 1) 비행모드가 Stabilize/Acro/AltHold/Loiter 중 하나로 설정되어 있어야 합니다.
- 2) Throttle 최하단, rudder 최좌측으로 2초정도 위치시키면 모터가 꺼집니다.
- 3) Pixhawk의 LED가 초록색으로 점멸합니다.
- 4) 안전스위치를 눌러주면 LED가 점멸합니다.
- 5) LiPo 배터리를 분리합니다.
- 6) 송신기를 끕니다.
[TIP] http://ardupilot.org/copter/docs/ac_tipsfornewpilots.html
※ 처음 시동 시 테스트
- 1) 우선은 Throttle을 천천히 밀어올려서 살짝만 띄웁니다.
- 2) 만약 이 상태에서 기체가 흔들린다던지 이상 징후가 발생되면 즉시 착륙시킵니다. 기체를 손으로 단단히 잡고(프롭에 닿지 않도록 유지하면서) Throttle을 천천히 밀어보면서 기체가 어떻게 반응하는지 살피고, 우측 스틱을 전후좌우로 움직이면 기체가 그 방향으로 기울어지는지 확인해 봅니다. 만약 다른 방향으로 움직인다면 모터를 잘못 결합했거나, 프롭 방향이 바뀌는 등의 문제가 있으니 확인합니다. (모터 및 ESC 테스트 확인)
- 3) Pitch와 Roll이 반대로 움직일 때는 RC 송신기에서 해당 채널을 Reverse 시켜줍니다.
- 4) 약간 띄우면 Yaw가 약간 돌아가는데 30도 이상 돌아가면 안됩니다. 좀 더 날리면 스스로 방향을 잡습니다. (기체가 기우뚱 거리면 안됩니다. 만약 그렇다면 프롭이나 모터에 이상이 있다는 것입니다.)
- 5) 이륙시키면 (바람이 없다면) 제자리에 그냥 떠 있어야 합니다. 전후좌우로 흐름이 있더라도 Trim으로 조종하지 마십시오. 평평하지 않은 곳에서 이륙시키면 이런 현상이 발생하고, 프레임이 잘못되었을 (모터 하나만 기울어짐) 가능성이 있습니다.
- 6) 그래도 문제가 있다면 troubleshooting guide(http://ardupilot.org/copter/docs/troubleshooting.html)를 읽어보시기 바랍니다.
- 7) 이 정도가 문제가 없다면 이제 Loiter, AltHold 등을 사용할 수 있습니다.
※ 첫 비행을 위한 조언
- 1) 바람이 없는 환경에서 날릴 것. (바람이 있으면 Auto Trim이 불가능함)
- 2) 수신기에 있는 Trim은 사용하지 말것
- 3) 1 미터 정도만 띄우면 Ground Effect는 없다고 봐도 됨.
- 4) Auto Trim을 시도하기 전에 미리 충분히 연습해서 송신기 스틱만으로 기체를 한 지점에 고정시킬 수 있는 위치를 찾아둘 것.
- 5) Simple모드로 시작하지 말고 Stabilize 모드로 시작할 것.
- 6) Home 위치(RTL에서 돌아오는 위치)는 처음 시동을 거는 지점임.
End of Posting
'Tech Story > QuadCopter ROS' 카테고리의 다른 글
Offboard Control - (4) Test Flight (2) | 2018.08.22 |
---|---|
Offboard Control - (2) Raspberry Pi (0) | 2018.08.22 |
Pixhawk와 ROS를 이용한 자율주행 드론(수정중) (29) | 2018.04.04 |
ROS 용어정리 (1) | 2018.04.04 |
ROS(Robot OS)란? (0) | 2018.04.04 |