드론 개발 사례

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개 커넥터가 있는데 이 커넥터는 베이스 보드의 … Read more

드론 시뮬레이션 환경 구축 #3

PX4는 Gazebo Classic용 헥사 모델 Typhoon H480을 제공합니다.  헥사콥터를 시뮬레이션하기 위해서는 아래와 같은 명령어를 실행하여 새로운 드론 모델을 컴파일 해야 합니다. 컴파일 전에 위치 조기화를 export 하여 사용할 수 있습니다.  위의 그림과 같이 정상적으로 실행될 경우 gazebo에 헥사콥터 드론이 출력됩니다. 다음른 헥사콥터 드론의 ROS2 제어 샘플코드를 테스트 해 보겠습니다. 아래의 압축 파일을 ~/ros2_ws/src에 복사하여 압축을 해제합니다. … Read more