EFT X6120 산업용 드론 프레임 세트를 구입하여 직접 조립해 사용하였습니다. 해당 프레임 세트에는 Hobbywing X6 Plus 모터 6개가 포함되어 있으며, 모터의 정격 전압이 48V이기 때문에 프레임 구조에 맞추어 24V 배터리 2개를 직렬로 연결해 사용하였습니다. 드론 제어기는 Holybro의 Pixhawk Jetson Baseboard( Pixhawk 6X + Jetson Orin NX )를 사용하였으며, ROS 2 기반으로 시스템을 구성하였습니다. 베이스보드에 6축 모터를 연결하고, 무선 조종기 통신, 컴퓨터와의 Wi-Fi 통신, GPS 장착, Orin NX 보드 전원 인가, 쿨러 설치, 거리 센서 장착 등 전장 작업을 진행하였습니다.
드론 하부에는 배달 임무 수행을 위해 배달 박스를 구매하여 장착하였으며, 배달 박스에 장착된 서보 모터를 PX4에서 제어할 수 있도록 I/O를 지정하였습니다. 조종기에는 5개 이상의 비행 모드를 제어할 수 있도록 멀티 채널을 등록하고, 각종 기능을 설정하였습니다. QGroundControl(QGC) 프로그램을 이용해 드론 캘리브레이션을 수행하였으며, 6축 모터의 종류와 회전 방향을 설정하고 각종 파라미터 및 조종기 캘리브레이션을 완료하였습니다. 실내에서 Arming 및 모터 회전을 확인한 후, 야외로 이동하여 비행 테스트를 진행하였습니다. 초기에는 QGC를 이용해 이륙 및 착륙 기능을 테스트하였고, 이후 미션 기능을 활용해 경유점을 지정하여 드론이 경유점을 통과하며 비행하는 테스트를 수행하였습니다.
Pixhawk 6X의 펌웨어는 PX4 v1.15.x를 사용하였으며, ROS 2와 PX4 간의 통신은 uXRCE-DDS 브리지를 통해 px4_msgs 기반으로 제어를 구현하였습니다. 오프보드 모드에서 ROS 2가 드론의 경유점 비행을 제어하고, 특정 위치에서 정지한 후 지상 약 0.5m까지 하강하여 배달 박스를 열어 물건을 투하한 뒤 다시 상승하여 귀환 경유점을 거쳐 출발 지점에 착륙하도록 프로그램을 작성하고 야외 테스트를 진행하였습니다. 야외 테스트는 사람이 없는 공터에서 안전에 유의하여 수행하였으며, 경유점 비행 시 위치, 속도, 저크(Jerk) 제어를 상황에 따라 적용하도록 구현하였습니다. 또한 배달 박스 하부에 장착된 2개의 서보 모터를 ROS 2에서 열고 닫을 수 있도록 제어하였습니다.
장시간 야외 테스트를 진행하면서 경유점 이동 시 보다 부드러운 회전과 안정적인 고도 유지가 가능하도록 제어 프로그램을 지속적으로 수정하며 현장 튜닝을 수행하였습니다.
아래의 사진은 Pixhawk Jetson Baseboard입니다.

EFT X6120 산업용 드론 프레임 세트를 조립했습니다.
아래의 사진은 바디에 다리를 붙인 모습입니다.

6축 모터를 장착했습니다.

드론 하부의 다리도 고정했습니다.

모터 전원부와 신호 커넥터를 배치하였습니다.

신호 연결 보드를 장착하고 그 위해 댐퍼로 베이스 보드를 고정했습니다. 드론 바디의 아래쪽(사진에는 위쪽)의 8개 커넥터가 있는데 이 커넥터는 베이스 보드의 I/O에 ㅇ녀결하여 모터 제어 신호를 받게 됩니다.

드론 조정기에 통신 모듈을 등록하고 ㄷ오작 모드 서정, 스위치별 채널 등록, 가상 채널 등록 등 조정기 설정을 완료했습니다.

배달 미션을 수행하기 위해 배달 박스를 드론 하단부에 설치했습니다.


추가로 전원부, 전원공급 보드, 쿨링 팬, GPS 안테나 등을 설치했습니다.
드론 바디 상단에 부품들을 고정하기 위해 아크릴판을 케이스 모양을 참고하여 오려서 부착했습니다.
아래의 그림은 조립을 오나료한 후에 야외에서 이/착륙 테스트를 수행하는 모습니다. 배달 박스에는 2kg 정도 무게의 박스를 넣어 놓고 테스트를 수행했습니다. 드론이 비행 시 배달 박스의 흔들림을 방지하기 위해 하드보드지로 둘레를 고정했습니다.

야외의 넓은 공터엣 드론 비행 테스트를 수행했습니다. 테스트 과정도 촬영하고 드론의 비행 모습도 촬영했습니다.


인적이 드문 밤에도 드론의 비행 테스트를 수행했습니다.

ROS2 드론 비행 알고리즘을 수행하면서 수차례 반복적인 비행 테스트를 수행했습니다.

아래의 링크들은 드론 개발을 진행하면서 촬영한 동영상들입니다. 즐감하시기 바랍니다.
[사무실 테스트]
드론을 조립한 후 캘리브레이션을 완료하고, 각종 파라미터를 설정한 뒤 사무실 내에서 드론 구동 테스트를 진행했습니다.

동영상 링크 : 드론개발-사무실 테스트
[QGC 프로그램 이용 테스트]
QGroundControl 프로그램을 이용해 이착륙 테스트를 수행했으며, 미션 메뉴에서 다수의 경유점을 설정하고 미션을 실행하여 드론의 자율 주행을 테스트했습니다. 경유점은 여러 가지 서로 다른 경로로 구성했습니다.

동영상 링크 : 드론개발-QGC 테스트 #1

동영상 링크 : 드론개발-QGC 테스트 #2

동영상 링크 : 드론개발-QGC 테스트 #3

동영상 링크 : 드론개발-QGC 테스트 #4
[ROS2 드론 비행 시뮬레이션]
px4_sitl의 Gazebo Classic을 이용해 리눅스 환경에서 드론 비행을 시뮬레이션할 수 있도록 개발 환경을 구성했습니다. 드론 비행 알고리즘의 1차 테스트는 해당 시뮬레이터를 활용하여 수행했습니다.

동영상 링크 : 드론 개발-ROS2 시뮬레이션
[ROS2 드론 비행 및 배달 임무 수행 알고리즘 테스트]
3종의 경유점 파일을 생성하여 실행 시 선택적으로 적용할 수 있도록 시스템을 구성했습니다. 드론이 경유점을 일정한 속도로 추종하도록 제어 알고리즘을 개발했으며, 지정된 위치에서 물건을 투하하는 배달 동작도 구현했습니다. 야외 비행 테스트를 반복 수행하며 알고리즘을 수정·보완하고 전반적인 비행 성능을 개선했습니다.

동영상 링크 : 드론개발-ROS2 테스트 #1

동영상 링크 : 드론개발-ROS2 테스트 #1

동영상 링크 : 드론개발-ROS2 테스트 #2

동영상 링크 : 드론개발-ROS2 테스트 #3

동영상 링크 : 드론개발-ROS2 테스트 #4

동영상 링크 : 드론개발-ROS2 테스트 #5

동영상 링크 : 드론개발-ROS2 테스트 #6

동영상 링크 : 드론개발-ROS2 테스트 #7

동영상 링크 : 드론개발-ROS2 테스트 #8

동영상 링크 : 드론개발-ROS2 테스트 #9

동영상 링크 : 드론개발-ROS2 테스트 #10

동영상 링크 : 드론개발-ROS2 테스트 #11

동영상 링크 : 드론개발-ROS2 테스트 #12

동영상 링크 : 드론개발-ROS2 테스트 #13

동영상 링크 : 드론개발-ROS2 테스트 #14

동영상 링크 : 드론개발-ROS2 테스트 #15

동영상 링크 : 드론개발-ROS2 테스트 #16

동영상 링크 : 드론개발-ROS2 테스트 #17

동영상 링크 : 드론개발-ROS2 테스트 #18

동영상 링크 : 드론개발-ROS2 테스트 #19

동영상 링크 : 드론개발-ROS2 테스트 #20