Tech Story/QuadCopter ROS

Offboard Control - (1) Pixhawk h/w

슈퍼맨짱 2018. 8. 22. 16:35
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. 1) 조종기의 전원을 넣는다.
  2. 2) 기체의 LiPo 배터리를 연결한다. 자이로가 초기화되면서 적색/청색 불이 깜박입니다. 이때 기체를 움직이면 안됩니다.
  3. 3) Pixhawk가 시동전 점검(http://ardupilot.org/copter/docs/prearm_safety_check.html)을 실시합니다. 문제가 발생할 경우 LED가 노란색으로 점멸하게 됩니다. 이때는 GCS를 연결하여 점검해야 합니다.
  4. 4) 비행모드는 Stabilize/Acro/AltHold/Loiter로 설정되어 있어야 합니다. 다른 모드에서는 시동이 걸리지 않습니다.
  5. 5) Pixhawk의 안전 스위치를 1초 정도 눌러주면 빨간색이 고정됩니다.
  6. 6) GPS와 관련있는 조종(Loiter, RTL, Auto 등)을 사용하려면 GPS를 고정(LED가 초록색으로 깜박임??)시키고 나서, 30초 정도 후에 시동을 걸어야 합니다. GPS 위치를 안정화시키기 위한 목적입니다. 
  7. 7) throttle 최하단, rudder 최우측으로 한 후, 5초정도 지나면 시동(Arming)이 걸립니다. (이 시간동안 자이로와 기압계를 재초기화시킵니다.) 참고로 15초 이상 스틱을 이 상태로 고정하고 있으면 Auto Trim 모드로 들어가게 되므로 주의하세요.
  8. 8) 시동이 걸리면 LED가 빨강색으로 깜박이고 프롭이 돌아갑니다. 시동이 걸리지 않을 경우 시동전 점검에서 문제가 발생한 것이므로, 먼저 조치를 취한 후 다시 시도해야 합니다.
  9. 9) 이제 Throttle을 올리면 기체를 이륙시킬 수 있습니다.
  10. (유투브 참조 : https://youtu.be/KiNOgcpcXjg)

 

 

※ 시동끄기

  1. 1) 비행모드가 Stabilize/Acro/AltHold/Loiter 중 하나로 설정되어 있어야 합니다.
  2. 2) Throttle 최하단, rudder 최좌측으로 2초정도 위치시키면 모터가 꺼집니다.
  3. 3) Pixhawk의 LED가 초록색으로 점멸합니다.
  4. 4) 안전스위치를 눌러주면 LED가 점멸합니다. 
  5. 5) LiPo 배터리를 분리합니다.
  6. 6) 송신기를 끕니다.

   [TIP] http://ardupilot.org/copter/docs/ac_tipsfornewpilots.html

 

 

※ 처음 시동 시 테스트

pixhawk와 qgroundcontrol로 px4 stack을 설치 및 환경이 기본 셋팅되면 바로 조종기를 통하여 쿼드콥터를 비행시킬 수 있습니다. 다음 단계로 넘어가기 위해서는 살짝 조종기술에 대해서 간략하게 설명하고자 합니다. (더 많은 정보는 인터넷에서 찾아보고 본인이 이해하기 쉬운 설명을 보시면 됩니다.)
 
  1. 1) 우선은 Throttle을 천천히 밀어올려서 살짝만 띄웁니다.
  2. 2) 만약 이 상태에서 기체가 흔들린다던지 이상 징후가 발생되면 즉시 착륙시킵니다. 기체를 손으로 단단히 잡고(프롭에 닿지 않도록 유지하면서) Throttle을 천천히 밀어보면서 기체가 어떻게 반응하는지 살피고, 우측 스틱을 전후좌우로 움직이면 기체가 그 방향으로 기울어지는지 확인해 봅니다. 만약 다른 방향으로 움직인다면 모터를 잘못 결합했거나, 프롭 방향이 바뀌는 등의 문제가 있으니 확인합니다. (모터 및 ESC 테스트 확인)
  3. 3) Pitch와 Roll이 반대로 움직일 때는 RC 송신기에서 해당 채널을 Reverse 시켜줍니다. 
  4. 4) 약간 띄우면 Yaw가 약간 돌아가는데 30도 이상 돌아가면 안됩니다. 좀 더 날리면 스스로 방향을 잡습니다. (기체가 기우뚱 거리면 안됩니다. 만약 그렇다면 프롭이나 모터에 이상이 있다는 것입니다.)
  5. 5) 이륙시키면 (바람이 없다면) 제자리에 그냥 떠 있어야 합니다. 전후좌우로 흐름이 있더라도 Trim으로 조종하지 마십시오평평하지 않은 곳에서 이륙시키면 이런 현상이 발생하고, 프레임이 잘못되었을 (모터 하나만 기울어짐) 가능성이 있습니다.
  6. 6) 그래도 문제가 있다면 troubleshooting guide(http://ardupilot.org/copter/docs/troubleshooting.html)를 읽어보시기 바랍니다. 
  7. 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