Learning Space

    [Autonomous Navigation] Path Planning

    * 본 문서는 MATLAB 강의를 보면서 정리한 내용입니다. 자율주행에 있어서 경로를 생성하고 적합한 방법으로 구동하게 해야 한다. 휴리스틱 기법(Heuristic Approach) 불충분한 시간이나 정보로 인하여 합리적인 판단을 할 수 없을 때 체계적이면서 합리적인 판단이 필요하지 않을 때 최적 기법(Optimal Approach) 더 많은 정보가 필요 최적화 과정을 통해 플래닝 진행 Path Planning Algorithm Graph Based Method 1. A* Algorithm 주어진 출발 꼭짓점에서 목표 꼭짓점까지 가는 최단 경로를 찾아내는 알고리즘

    [Autonomous DRONE] PX4 Models Error

    Github를 통해 PX4-Autopilot을 불러오면 기본적으로 제공하는 모델을 사용할 수 있다. make px4_sitl gazebo 하지만 이때 지속적으로 발생하는 에러코드가 있다. Warning [parser.cc: ] XML Attribute[version] in element[sdf] not defined in SDF, ignoring. 해당 문제를 무시하고 실행할 경우에도 GAZEBO 상에 기본 모델(iris)가 불러와진다. 하지만 기타 모델을 불러올 때 문제를 야기할 수 있어 해결방법을 찾았다. 명시된 바와 같이 XML Attribute에 문제가 있는 것으로 확인된다. PX4-Autopilot > Tools > Simulation > gazebo-classic > sitl_gazebo-cl..

    [Autonomous DRONE] ENV(환경) 구축

    roscd offboard_py mkdir launch cd launch touch start_offb.launch Required Ubuntu 20.04 ROS Noetic(ROS 1) GAZEBO 11(ROS 설치 시 기본 탑재) 자율주행 드론 제작에 앞서... 드론의 제어 메커니즘을 개발하기 위함이 아닌 자율주행을 가능토록 함에 있으므로 수년간 개발된 PX4를 기반으로 한다. 글쓴이도 드론이나 비행기를 제작할 때 PX4가 탑재된 Pixhawk4를 사용해왔으며 Manual Control이 아닌 자율주행을 구행하기 위해 Companion Computer를 추가적으로 설치하여 진행할 계획이다. 자율주행 드론을 제작하기에 앞서 가상환경에서 알고리즘을 분석하고 적용하는 과정을 선제적으로 진행하려 한다. 시뮬..

    [C++ NOTE] <iostream> Header

    Input/Output Stream에서 I,O를 따서 iostream 이라 불린다. 이름에서 알 수 있듯이 입출력을 담당하는 헤더파일이다. 주로 사용되는 함수는 cin, cout가 있다. cout(출력) #include using namespace std; int main() { cout

    좌표계의 이해(Coordinate Frame)

    항공기의 운동을 기술하는 데 있어서 좌표계에 대한 정의가 우선적으로 이뤄져야 한다. 우리가 흔히 말하는 x, y 축 또한 특정한 기준을 정하고 좌표를 설명하게 된다. 항공기에서 흔히 사용되는 좌표계를 알아보고 정리해보고자 한다. 관성 좌표계(Inertial reference frame) 뉴턴의 제 2법칙을 적용할 수 있는 유일한 좌표계이다. 뉴턴의 제 2법칙 : 물체의 운동량의 시간에 따른 변화율은 그 물체에 작용하는 힘과 같다. 즉 가속도에 대해 정의를 내릴 수 있는 좌표계라 볼 수 있다. 지구 중심에 원점을 두는 경우는 ECI(Earth Centered Inertial reference frame) 좌표계라 한다. 회전하지 않는 좌표계 항성에 대해 고정된 좌표계의 방향 xI 축 : 춘분점 방향, zI..

    [ROS1 NOTE] mavros_msgs.msg

    mavros_msgs를 사용하기 위해서는 우선적으로 mavros가 무엇인지 알아야 한다. This package provides communication driver for various autopilots with MAVLink communication protocol. Additional it provides UDP MAVLink bridge for ground control stations (e.g. QGroundControl). 공식 문서를 보게 되면, MAVLink 통신 프로토콜임을 알 수 있다. 자율주행 드론이나 GCS(Ground Control Station)을 통해 제어를 하기 위해서는 제어 컴퓨터를 통해 명령을 보내야 한다. 이러한 명령을 무분별하게 보내는 것이 아닌 특정한 형식을 갖춰서..