Robotics35 ROS2 × PX4로 시작하는 자율비행 드론 제어 (6) 쿼드로터 운동 모델 이 블로그 시리즈에서는 Gazebo + ROS 2 + PX4(MAVROS)를 활용해 드론을 제어하고, 최적 제어 알고리즘 Model Predictive Path Integral (MPPI) 를 직접 구현하는 과정을 기록합니다. 이후에는 더 진화된 강화학습(RL) 기반 제어로까지 확장하며, 최신 오픈소스 생태계가 실제 연구·개발 파이프라인에서 어떻게 유기적으로 엮이는지 보여드릴 예정입니다.지난 글(5편) 에서는 MPPI Controller에 대해 간단히 살펴보았습니다. 이번글에서는 이제 MPPI (Model Predictive Path Integral) 에서 Model Predictive에 대해 알아보겠습니다. 살짝 긴 설명 글이 될 것 같은데요, 이 개념을 잘 이해하고 넘어가야 MPPI에 대해 완전히 이.. 2025. 5. 13. ROS2 × PX4로 시작하는 자율비행 드론 제어 (5) MPPI Controller 란? 이 블로그 시리즈에서는 Gazebo + ROS 2 + PX4(MAVROS)를 활용해 드론을 제어하고, 최적 제어 알고리즘 Model Predictive Path Integral (MPPI) 를 직접 구현하는 과정을 기록합니다. 이후에는 더 진화된 강화학습(RL) 기반 제어로까지 확장하며, 최신 오픈소스 생태계가 실제 연구·개발 파이프라인에서 어떻게 유기적으로 엮이는지 보여드릴 예정입니다.지난 글(4편) 에서는 코드를 ROS2 패키지로 묶어, ros2 launch 한 줄로 실행하는 방법에 대해 알아 보았습니다. 이번 시간에는 MPPI 제어기의 개념에 대해 한번 알아보겠습니다.1. MPPI (Model Predictive Path Integral) 제어기란?MPPI를 처음 들으면 복잡한 수식이 먼저 눈에 .. 2025. 5. 7. ROS2 × PX4로 시작하는 자율비행 드론 제어 (4) ROS2 패키지 생성 이 블로그 시리즈에서는 Gazebo + ROS 2 + PX4(MAVROS)를 활용해 드론을 제어하고, 최적 제어 알고리즘 Model Predictive Path Integral (MPPI) 를 직접 구현하는 과정을 기록합니다. 이후에는 더 진화된 강화학습(RL) 기반 제어로까지 확장하며, 최신 오픈소스 생태계가 실제 연구·개발 파이프라인에서 어떻게 유기적으로 엮이는지 보여드릴 예정입니다.지난 글(3편) 에서는 파이썬 스크립트 하나로 PX4 Offboard 모드에서 자동 이륙하는 방법에 대해 알아보았습니다. 이번 글에서는 그 코드를 ROS2 패키지로 묶어, ros2 launch 한 줄로 실행하는 방법에 대해 살펴보겠습니다.1. 패키지화 (+ ros2 launch)의 중요성지난 시간에 작성한 offboard.. 2025. 5. 5. ROS2 × PX4로 시작하는 자율비행 드론 제어 (3) Offboard Mode 기초 이 블로그 시리즈에서는 Gazebo + ROS 2 + PX4(MAVROS)를 활용해 드론을 제어하고, 최적 제어 알고리즘 Model Predictive Path Integral (MPPI) 를 직접 구현하는 과정을 기록합니다. 이후에는 더 진화된 강화학습(RL) 기반 제어로까지 확장하며, 최신 오픈소스 생태계가 실제 연구·개발 파이프라인에서 어떻게 유기적으로 엮이는지 보여드릴 예정입니다. 시리즈 1·2 편에서 gazebo 시뮬레이터에서 px4를 연동방법하는 방법에 대해 알아보았습니다. 이번글에서는 PX4 Offboard모드를 통해 Gazebo 시뮬레이션 환경에서 드론을 이륙하는 과정까지 살펴보기로 합니다. 이번 글은 실기체로의 확장까지 염두에 두고 있기 때문에 Qgroundcontrol의 사용을 배제한 .. 2025. 5. 4. ROS2 × PX4로 시작하는 자율비행 드론 제어 (2) PX4 + Ignition Gazebo + MAVROS2 연동 전체 형태 구성 이 블로그 시리즈에서는 Gazebo + ROS 2 + PX4(MAVROS)를 활용해 드론을 제어하고, 최적 제어 알고리즘 Model Predictive Path Integral (MPPI) 를 직접 구현하는 과정을 기록합니다. 이후에는 더 진화된 강화학습(RL) 기반 제어로까지 확장하며, 최신 오픈소스 생태계가 실제 연구·개발 파이프라인에서 어떻게 유기적으로 엮이는지 보여드릴 예정입니다.드론을 직접 들고 야외로 나가기 전에, 시뮬레이터 상에서 테스트해볼 수 있다면, 개발 속도를 수직 상승시킬 수 있습니다. 이 글에서는 PX4 SITL, Ignition Gazebo, MAVROS2를 하나의 파이프라인으로 엮어 드론을 관찰·제어하도록 만드는 과정을 단계별로 정리합니다.1. PX4 SITL + Ignition.. 2025. 5. 2. ROS2 × PX4로 시작하는 자율비행 드론 제어 (1) 프로젝트 소개와 환경 세팅 (Ubuntu 24.04 + ROS2 Jazzy) 이 블로그 시리즈에서는 Gazebo + ROS 2 + PX4(MAVROS)를 활용해 드론을 제어하고, 최적 제어 알고리즘 Model Predictive Path Integral (MPPI) 를 직접 구현하는 과정을 기록합니다. 이후에는 더 진화된 강화학습(RL) 기반 제어로까지 확장하며, 최신 오픈소스 생태계가 실제 연구·개발 파이프라인에서 어떻게 유기적으로 엮이는지 보여드릴 예정입니다.기술 스택 한눈에 보기시뮬레이션 환경Ignition Gazebo (Harmonic)가상 드론·센서 모델, 물리 엔진비행 펌웨어PX4 v1.16 (SITL)실시간 제어·상태 추정미들웨어MAVROS 2MAVLink → ROS 2 브리지제어 노드ROS 2 JazzyMPPI 및 RL 알고리즘 실행[Gazebo (Ignition).. 2025. 5. 1. Gazebo Simulation 1. PX4-Autopilot 준비 참고 px4 developer guideGazebo와 ROS를 이용해 드론 시뮬레이션을 진행하는 방법을 알아본다. 이 과정에서 추가적인 센서를 통합하고, 사용자가 원하는 sensor set과 환경에서 시뮬레이션을 수행할 수 있도록 주변 환경도 구축해본다. Ubuntu 18.04/20.04 ROS melodic/noetic 환경에서 테스트 되었다1. 아래의 명령어로 PX4 오토파일럿의 최신 코드를 복제git clone https://github.com/PX4/PX4-Autopilot.git2. requirements 설치pip3 install kconfiglib3. geographiclib_dataset 설치https://github.com/mavlink/mavros/blob/ros2/mavros/scr.. 2024. 3. 21. ACADO Toolkit 이란? 2. Code Generation 폴더 변경 방법 참고: ACADO homepage-making your own projects using Cmake ACADO 기본 패키지를 사용하면 code generation할때 /examples/code_generation/mpc_mhe 와 같이 복잡한 폴더 속에 넣어야 한다. 그래서 내가 원하는 폴더로 변경하기 위해 몇가지 작업을 해줄 필요가 있다. 1. /examples 안의 CMakeLists.txt 변경 CMakeLists.txt 안을 보면 33번째 줄부터 example directory를 입력하게 되어 있다. SET( EXAMPLE_DIRS basic_data_structures/curve basic_data_structures/function basic_data_structures/matrix_vecto.. 2022. 3. 4. 이전 1 2 3 4 5 다음