GAAS installlation on Ubuntu 18.04


GAAS installlation on Ubuntu 18.04

GAAS 安裝教程: document

GAAS 中的安裝教程中提到的 ROS-Kinetic (LTS 版)並不是最新的版本,在 ROS官網 上說明有兩種 LTS 版本,其中一種版本是 Kinetic,另外一種是 Melodic 版本,這兩種版本都是 LTS版的。

一開始不知道這個 Kinetc 是什么意思,完全按照 GAAS 上面的教程安裝,一直提示找不到 ros-kinetic-* 相關的包。其實這就是個版本代號,類似 Ubuntu 18.04 代號 bionic,我們在 bionic 這個版本上就要安裝 Melodic 版本。

安裝 ROS

在 Ubuntu 18.04 上,我們跟着 ROS 官方教程 進行安裝(以下為官網步驟的翻譯):

  1. 設置 sources.list,以便可以從 packages.ros.org 下載已經編譯好的二進制文件:
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
  1. 設置密鑰
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
  1. 安裝

首先更新倉庫索引:

sudo apt update

Desktop-Full 安裝:

sudo apt install ros-melodic-desktop-full
  1. 初始化 rosdep

在使用 ROS 前,需要初始化 rosdep.

sudo rosdep init
rosdep update
  1. 設置環境變量

將 melodic 的環境變量導入到當前的 bash 環境中,並且每次打開新的終端時自動加載 melodic 的環境變量:

echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
source ~/.bashrc
  1. 構建軟件包所需的依賴

前面幾步設置好了運行 ROS 包的必要環境,要創建並管理自己的 ROS 工作環境,還有一些工具和依賴需要安裝。

sudo apt install python-rosinstall python-rosinstall-generator python-wstool build-essential

還有一些依賴項,在 GAAS 教程中提到的,也需要安裝:

pip install pandas jinja2 pyserial cerberus pyulog numpy toml  pyquaternion
sudo apt install -y ninja-build exiftool python-argparse python-empy python-toml python-numpy python-yaml python-dev python-pip ninja-build protobuf-compiler libeigen3-dev genromfs

如果你發現有些軟件安裝了,但是在后面運行 gazebo 時候又提示沒有找到相應軟件,可能需要換一種方式安裝:比如我用 pip 安裝了 empy,但是構建時提示我無法 import em,package not found,換用 python -m pip install empy,之后就正常了。

后面會用到 gazebo 相關的包,這里進行安裝:

sudo apt install ros-melodic-gazebo-*

這一步很關鍵,如果不安裝 gazebo 插件,那么后面運行 gazebo_ros 的一些命令的時候會提示一些依賴項或者資源無法找到,比如我這個:

至此,ROS 的基本環境已經搭建好了。

可以在終端中測試:roscore,正常的話這個命令應該輸出如下內容:

創建 catkin 工作目錄:

mkdir -p ~/catkin_ws/src

一切正常后,使用 apt 安裝 MAVROS,這是一個基於 MAVLink 的通訊節點:

sudo apt install ros-melodic-mavros ros-melodic-mavros-extras
wget https://raw.githubusercontent.com/mavlink/mavros/master/mavros/scripts/install_geographiclib_datasets.sh
chmod +x ./install_geographiclib_datasets.sh
sudo ./install_geographiclib_datasets.sh

PX4 固件

GAAS 給出的教程使用的是 PX4 v1.8.0:

cd ~/catkin_ws/src

git clone https://github.com/PX4/Firmware.git  # 后面需要用到 v1.8.0 標簽,因此此處 clone 的時候不要添加 --depth 1 選項

cd Firmware

git checkout v1.8.0

然后我們就可以使用 make 命令構建 gazebo 示例了,在此之前,先更新所有的 submodules,盡管 make 命令在執行過程中會自動檢查並更新子模塊,但如果受網速限制,git 更新速度較慢,我們可以使用 proxychains 進行代理更新,如果設置了正確的代理,這樣會快很多:

git submodule update --init --recursive
# proxychains git submodules update --init --recursive 

如果你訪問 github 的速度夠快,可以忽略掉這條指令。否則建議手動更新子模塊,如果你用 proxychains 代理 make 命令,最后生成 demo 示例時可能會出現無法打開 gazebo demo 的問題。

最后,運行 make 命令:

make posix_sitl_default gazebo

運行 Gazebo 模擬器

最后可以看一看 Gazebo 的運行效果:

roslaunch px4 posix_sitl.launch

接下來就可以繼續研究 GAAS 的軟件了。
這篇教程是我這兩天的安裝體驗的總結。按照官網給出的教程一步步來就沒有問題。另外說一個 ubuntu 上可能比較常見的問題:循環依賴。在安裝 python-ros* 的某個軟件時,提示我 A 軟件依賴 B,但是 B 不會安裝,我想要卸載掉 A,又提示 C 依賴於 A,用 apt remove A; apt remove C 會一直循環提示,最后又提示到 A 缺少依賴,解決方法就是將 A 和依賴於 A 的一起刪除:apt remove A C

教程列表

  1. GAAS document
  2. PX4 開發指南
  3. ROS Wiki


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM