ubuntu18.04 下安装ros melodic+px4仿真环境
本篇主要是参考语雀的教程来安装的,有些容易出错的地方,我写了一些方法,大家可以去语雀论坛和同事的帖子看看。小白一枚,描述不清之处还请多多指教!
语雀官网直通车:https://www.yuque.com/xtdrone
PX4官网:https://docs.px4.io/master/zh/
1 .系统安装及环境建立
下载ubuntu-18.04.5-desktop-amd64.iso并安装,链接: http://ftp.sjtu.edu.cn/ubuntu-cd/18.04.5/
进入系统后先不要更新任何东西,找到 “软件和更新”设置,
将软件源切换为清华源http://mirrors.tuna.tsinghua.edu.cn/ubuntu
然后执行
sudo apt update
sudo apt-get update
2 .依赖安装
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 xmlstarlet libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
pip2 install pandas jinja2 pyserial cerberus pyulog numpy toml pyquaternion
pyulog安装报错,下载pyulog 0.9.0压缩包,网址https://pypi.org/project/pyulog/#files
解压文件,根据报错信息可以知道,是因为versioneer.py文件的print是python3的语法,而我们是用python2编译的,所以在解压后的文件夹里,找到并打开versioneer.py,在文档开头加上
from __future__ import print_function
然后保存退出。
在当前pyulog-0.9.0目录下,打开终端,输入:
python setup.py install
此时如果提示configparser找不到,运行
pip install configparser
python setup.py install
然后再执行
此时再运行pip2语句进行安装,注意删去pyulog,基本可以通过
pip2 install pandas jinja2 pyserial cerberus numpy toml pyquaternion
sudo apt install python3-pip
pip3 install packaging numpy empy toml pyyaml jinja2
3 .ros安装
#清华源
sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu/ `lsb_release -cs` main" > /etc/apt/sources.list.d/ros-latest.list'
#设置keys
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
#更新
sudo apt update
#安装
sudo apt install ros-melodic-desktop-full
#添加环境变量
echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
source ~/.bashrc
#安装ros管理工具
sudo apt install python-rosdep python-rosinstall python-rosinstall-generator python-wstool build-essential
#配置rosdep
sudo apt install python-rosdep
打开hosts文件
sudo vim /etc/hosts
#在文档末尾添加
151.101.84.133 raw.githubusercontent.com
保存退出
sudo rosdep init
rosdep update
rosdep update 此句执行3次仍报错,请移步