赞
踩
ps:为避免出现错误,在进行新的一步时,需要关闭由于上一步操作打开的终端,并开启一个新的终端。例如:在开始第5步(安装MAVROS)之前,关闭由于第3步(安装ROS)打开的终端,并开启一个新的终端!!!
图1 实验流程图
Windows10安装ubuntu18.04双系统教程 - 不妨不妨,来日方长 - 博客园https://www.cnblogs.com/masbay/p/11627727.html
若原系统不是win10,请自行网上查询安装双系统方法,切记要安装ubuntu18.04。
需通过B站、CSDN等方式自行进行Ubuntu系统的学习。
ROS(Robot Operating System)是一个在机器人领域应用非常广泛的框架,它包含了很多有用的库以及工具,在Ubuntu 18.04下安装ROS Melodic版本。
3.1 打开终端,输入如下命令安装依赖项:
- 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
- pip install \
- pandas \
- jinja2 \
- pyserial \
- cerberus \
- pyulog \
- numpy \
- toml \
- pyquaternion
3.2 输入如下命令,实现ROS Melodic的安装:
- 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'
- #此处使用国内的ROS镜像源(注释)
- sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
- sudo apt-get update
- sudo apt-get install ros-melodic-desktop-full
- sudo rosdep init
- rosdep update
- echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
- source ~/.bashrc
- sudo apt install python-rosinstall python-catkin-tools python-rosinstall-generator python-wstool build-essential
-
- # install ros-gazebo plugins(注释)
- sudo apt install ros-melodic-gazebo-*
注意:
(1) sudo rosdep init出现如下情况时(出现了网络问题):
执行如下操作:
- 输入以下代码:
- sudo gedit /etc/hosts;
- 将下面一行代码添加到打开的文本文档中:
- 151.101.84.133 raw.githubusercontent.com
(2) rosdep update报错(网络问题)时,执行如下操作:
将群里发送的rosdep压缩包解压,并复制到home/.ros文件夹下,.ros文件夹是一个隐藏文件,通过ctrl+h调出。
3.3 完成上列步骤后,可以通过下面的命令来测试是否成功安装:
roscore
如果ROS安装成功,可以看到下列结果,然后按ctrl+c杀死该进程:
- ... logging to /home/.ros/log/6a1b2330-2eb3-11e9-a39c-9cb6d0e498fb/roslaunch-gishr-XPS-15-9560-4452.log
- Checking log directory for disk usage. This may take awhile.
- Press Ctrl-C to interrupt
- Done checking log file disk usage. Usage is <1GB.
-
- started roslaunch server http://XPS-15:44361/
- ros_comm version 1.12.14
-
-
- SUMMARY
- ========
-
- PARAMETERS
- * /rosdistro: melodic
- * /rosversion: 1.12.14
- NODES
-
- auto-starting new master
- process[master]: started with pid [4463]
- ROS_MASTER_URI=http://XPS-15:11311/
-
- setting /run_id to 6a1b2330-2eb3-11e9-a39c-*********
- process[rosout-1]: started with pid [4476]
- started core service [/rosout
3.4 接下来,需要生成catkin工作空间,你所有的基于ROS的库都可以存放在此。
mkdir -p ~/catkin_ws/src
以上链接是ROS 21讲的内容,可以参考该视频进行ROS系统的相关学习。
MAVROS是一层MAVLink与ROS通信的封装,旨在方便无人机与机载电脑通信。若安装,你可以选择通过apt安装,或者从源码编译。推荐方法1,请参考如下步骤:
- # 你可以使用下列任何一种方法(注释)
-
-
- # 方法 1(注释)
- sudo apt-get install ros-melodic-mavros ros-melodic-mavros-extras
-
- # 安装geographic lib :(注释)
- wget https://raw.githubusercontent.com/mavlink/mavros/master/mavros/scripts/install_geographiclib_datasets.sh
- sudo chmod a+x install_geographiclib_datasets.sh
- sudo ./install_geographiclib_datasets.sh
-
- # 方法1(注释)
-
-
-
- # 方法 2(注释)
- cd ~/catkin_ws
- catkin init && wstool init src
- rosinstall_generator --rosdistro melodic mavlink | tee /tmp/mavros.rosinstall
- rosinstall_generator --upstream mavros | tee -a /tmp/mavros.rosinstall
- wstool merge -t src /tmp/mavros.rosinstall
- wstool update -t src -j4
- rosdep install --from-paths src --ignore-src -y
-
- # 安装geographic lib :(注释)
- sudo ./src/mavros/mavros/scripts/install_geographiclib_datasets.sh
- sudo apt install ros-melodic-catkin python-catkin-tools
- catkin build
- # 方法 2(注释)
6.1 本实验采用PX4 v1.8.0固件
- cd ~/catkin_ws/src
-
- # 请保证网络连接正常,此步骤耗时较长,必要时需要挂加速器,实验提供加速器pigcha,账号密码会在群里发布,但由于同时只能在线两个账户,同学们也可以采用自己熟悉的加速器,或合理选择使用加速器时间(注释)
- git clone https://github.com/PX4/Firmware.git
- cd Firmware
- git checkout v1.8.0
- make posix_sitl_default gazebo
若以上步骤通过,此时会弹出Gazebo模拟器窗口,你会看到一架无人机出现在环境中,现在将窗口关闭即可。
6.2 修改环境变量,这样每次打开新的终端都可以保持环境变量一致:
- # Use your favorite editor, we will be using gedit(注释)
- # NOTE: you will need to use ROOT to edit bashrc(注释)
- sudo gedit ~/.bashrc
-
- # 在bashrc中,拷贝以下内容到bashrc尾端(注释)
- source ~/catkin_ws/src/Firmware/Tools/setup_gazebo.bash ~/catkin_ws/src/Firmware/ ~/catkin_ws/src/Firmware/build/posix_sitl_default
- export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:~/catkin_ws/src/Firmware
- export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:~/catkin_ws/src/Firmware/Tools/sitl_gazebo
6.3 打开一个新终端,输入:
roslaunch px4 mavros_posix_sitl.launch
一个如下图所示的窗口会弹出:
6.4 在一个新终端输入:
rostopic echo /mavros/state
你可以看到:
- header:
- seq: 1
- stamp:
- secs: 730
- nsecs: 280000000
- frame_id: ''
- connected: True
- armed: False
- guided: False
- mode: "MANUAL"
- system_status: 3
- ---
如果你看到上面的connected为True,那就代表你的Gazebo仿真环境配置成功,同时你的MAVROS通信也成功设置。
如果出现上述错误信息,但不影响Gazebo正常运行,则可忽略该错误!!!
7.1 将仿真需要的文件获取到本地环境,文件包括无人机模型、世界模型以及其他一些你会用的内容。通过如下命令实现:
- # 请保证网络连接正常,此步骤耗时较长,必要时需要挂加速器,实验提供加速器pigcha,账号密码会在群里发布,但由于同时只能在线两个账户,同学们也可以采用自己熟悉的加速器,或合理选择使用加速器时间(注释)
- git clone https://github.com/generalized-intelligence/GAAS.git
7.2 将模型文件所在地址更新到环境变量中:
echo "export GAZEBO_MODEL_PATH=${GAZEBO_MODEL_PATH}:~/GAAS/deprecated/simulator/models" >> ~/.bashrc
7.3 将模型以及配置文件拷贝到对应文件夹中:
- cp -r ~/GAAS/deprecated/simulator/models/* ~/catkin_ws/src/Firmware/Tools/sitl_gazebo/models/
- cp -r ~/GAAS/deprecated/simulator/worlds/* ~/catkin_ws/src/Firmware/Tools/sitl_gazebo/worlds/
- cp -r ~/GAAS/deprecated/simulator/posix-config/* ~/catkin_ws/src/Firmware/posix-configs/SITL/init/ekf2/
7.4 通过下列命令构建仿真环境,打开一个终端,输入:
roslaunch px4 mavros_posix_sitl.launch
7.5 检查MAVROS连接情况:
rostopic echo /mavros/state
7.6 如果Gazebo仿真环境成功启动且MAVROS连接成功,在一个新的终端,改变路径到GAAS下的demo文件夹,执行python脚本:
- cd ~/GAAS/deprecated/demo/tutorial_1/1_px4_mavros_offboard_controller
- python px4_mavros_run.py
你可以看到一个无人机逐渐起飞到3米高并悬停在此。
7.7 在另外一个终端中输入:
- cd ~/GAAS/deprecated/demo/tutorial_1/1_px4_mavros_offboard_controller
- python commander.py
你可以看到一个无人机按照下面的顺序飞行:
向右飞一米;
逆时针旋转90度;
降落。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。