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
swiftcam.tistory.com/54?category=785805
swiftcam.tistory.com/57?category=785805
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
$ 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
'엔지니어링 > 임베디드' 카테고리의 다른 글
우분투 리눅스에서 Could not get lock /var/lib/dpkg/lock-frontend 에러 해결방법 (0) | 2021.03.14 |
---|---|
Ubuntu 22.04에 NVIDIA 그래픽 드라이버 설치 (0) | 2020.11.28 |
Betaflight 이클립스 개발환경 설정 - 2 (0) | 2020.04.15 |
Betaflight 이클립스 개발환경 설정 - 1 (0) | 2020.04.15 |
ESC 프로토콜 (0) | 2020.04.14 |
댓글