본문 바로가기
  • 경제적 자유를 얻는 그날까지
엔지니어링/임베디드

[PX4 개발자] Ubuntu 18.04에 ROS(Melodic)/Gazebo 설치하기

by 베니스상인 2020. 11. 25.

The supported/tested Linux OS versions for PX4 development are Ubuntu Linux LTS (opens new window) 18.04 (Bionic Beaver) and 20.04 (Focal Fossa). These allow you to build for the most PX4 targets (NuttX based hardware, Qualcomm Snapdragon Flight hardware, Linux-based hardware, Simulation).

 

PX4 개발자 사이트에 가면 현재 리눅스에서 개발하는 OS 버전은 Ubuntu Linux LTS 18.04에  ROS는 Melodic 버전을 사용한다.

이전에 Ubuntu 16.04에서 ROS  Kinetic ROS를 사용하였다.

 

 

swiftcam.tistory.com/53?category=785805

 

[PX4 개발자] PX4 Firmware 컴파일하기

오늘은 PX4 펌웨어를 다운받아서 직접 컴파일해보고자 한다. 펌웨어 컴파일이 정상적으로 되면 다음 과정으로 SITL 환경을 구축할 수 있다. 먼저 펌웨어를 컴파일하기 위해서는 필요한 라이브러

swiftcam.tistory.com

 

swiftcam.tistory.com/54?category=785805

 

[PX4 개발자] ROS 설치 및 SITL

지난번 포스팅에 px4_sitl_default을 컴파일해보았다. 이 타겟을 이용하면 하드웨어가 없더라도 펌웨어만으로 SITL(Software In-the Loop)을 구현할 수가 있다. SITL이란 순수 소프트웨어로 하드웨어의 기능

swiftcam.tistory.com

 

 

 

swiftcam.tistory.com/57?category=785805

 

[PX4 개발자] SITL 미션 수행

지난 시간에 SITL을 gazebo 환경에서 동작해보았다. 몇가지 간단한 명령으로 제어가 가능하다. 하지만 그라운드 스테이션에서 제어명령을 주게되면 더욱 다양한 미션 수행이 가능하다. 여기서 사

swiftcam.tistory.com

 

 

 

swiftcam.tistory.com/56?category=785805

 

 

 

 

하지만 환경이 업그레이드된 만큼 새로운 펌웨어 기능을 확인하기 위해 개발자 환경을 맞춰주어야 한다.

 

오늘은 Ubuntu 18.04에 Melodic ROS 설치과정을 살펴보기로 한다.

 

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
sudo apt update
 sudo apt install python-rosdep

sudo apt install ros-melodic-desktop-full
apt search ros-melodic
sudo rosdep init
rosdep update
echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
source ~/.bashrc
sudo apt install python-rosinstall python-rosinstall-generator python-wstool build-essential

 

모두 설치가 완료되면 Turtlesim으로 ROS가 제대로 동작하는지 확인할 수 있다.

 

 

새로운 창을 열어서 ROS core를 구동한다.

 

$ roscore

 

 

 

 

새로운 창을 열어서 ROS 노드를 실행해준다. 그러면 Turtlesim 이 나타난다.

 

$ rosrun turtlesim turtlesim_node

 

 

 

 

세번째 새로운 창을 열어서 Turtlesim을 제어할 키 노드를 실행해준다.

 

$ rosrun turtlesim turtle_teleop_key

 

 

 

 

 

방향키를 사용하여 Turtlesim을 제어할 수 있다. 여기까지 실행이 되면 ROS Melodic이 정상적으로 설치된 것이다.

 

 

위와 같은 과정으로 ROS를 설치할 수 있지만 PX4 펌웨어를 개발하거나 SITL 환경을 구축하기 위해서는 ROS 외에도 catkin_tools, gazebo등 필요한 툴체인들이 많이 있다.

 

이러한 툴체인을 하나씩 설치해야 리눅스 기반의 개발환경을 구축할 수 있지만, PX4개발자사이트에서는 ROS와 툴체인들을 쉽게 설치할 수 있는 bash를 제공하고 있다.

 

 

docs.px4.io/master/en/dev_setup/dev_env_linux_ubuntu.html#rosgazebo

 

Development Environment on Ubuntu LTS / Debian Linux | PX4 User Guide

Development Environment on Ubuntu LTS / Debian Linux The supported/tested Linux OS versions for PX4 development are Ubuntu Linux LTS (opens new window) 18.04 (Bionic Beaver) and 20.04 (Focal Fossa). These allow you to build for the most PX4 targets (NuttX

docs.px4.io

 

$ wget https://raw.githubusercontent.com/PX4/Devguide/master/build_scripts/ubuntu_sim_ros_melodic.sh

$ bash ubuntu_sim_ros_melodic.sh

 

설치가 완료되면 아래와 같이 설치결과를 확인할 수 있고, catkin_tools로 컴파일된 mavlink, mavros 등 라이브러리들을 확인할 수 있다. 

 

 

ROS Melodic에는 Gazebo9이 기본적으로 설치된다. Gazebo를 실행하여 정상적으로 동작하는지 확인해본다.

 

 

 

$ gazebo

 

 

728x90

댓글