APM无人机软件在环仿真环境搭建

2023-05-16

题记:最近做毕业设计得用到无人机仿真,重操旧业,搞一搞SITL仿真。
给个传送门参考:无人机SITL仿真
APM软件在环仿真
我的环境:ubuntu18.04虚拟机

1.官方教程

ardupilot官网和官方git帐号,里面有很多东西可以学习。

  • APM官方教程
  • APM官方git
  • AmovLab案例

1)先安装编译环境,Setting up the Build Environment;
具体步骤如下:

# 1.更新并安装git
sudo apt-get update
sudo apt-get install git
sudo apt-get install gitk git-gui
# 2.clone repo
cd ~/
git clone https://github.com/ArduPilot/ardupilot.git
cd ardupilot
git submodule update --init --recursive
# 3.install some required packages
Tools/environment_install/install-prereqs-ubuntu.sh -y
. ~/.profile

成功后应该是这样的,此后就可以进行仿真了。

在这里插入图片描述接下来可以按照BUILD.md中的进行waf编译。

# 编译SITL
./waf configure --board sitl
./waf copter

这里记录一下我遇到的一个关于Mavproxy的问题。
这个在这里插入图片描述
从APM官方git中,下载安装Mavproxy即可,注意之后将build/scripts2.7/中的文件拷贝到~/.local/lib/python2.7/site-packages/MAVProxy-1.8.18.dist-info/scripts/下,问题解决。

附加:查看可用的板子命令
./waf list_boards
结果如下:
在这里插入图片描述

# 4.Add some directories to your search path (Facultative)
# 把下面语句加入~/.bashrc文件中
export PATH=$PATH:$HOME/ardupilot/Tools/autotest
export PATH=/usr/lib/ccache:$PATH
# 然后使用点命令重新载入
. ~/.bashrc

接下来:

在这里插入图片描述
2)开始SITL simulator

# 1.启动SITL仿真
cd ardupilot/ArduCopter
# 以下语句擦出缓存,并且采用默认配置
sim_vehicle.py -w 
# ctrl+c推出并且按下
sim_vehicle.py --console --map

# 附加:安装并更新pymavlink和mavproxy
pip install --upgrade pymavlink MAVProxy --user

默认配置时会弹出一个窗口,取消后再sim_vehicle.py --console --map之后会有三个窗口,表示SITL成功运行啦。如下:
在这里插入图片描述

3)使用gazebo仿真器
APM_Gazebo官方教程
得先git clone ardupilot_gazebo

# 1.安装并更新gazebo,原文建议用gazebo9;推荐在ubuntu18.04下操作啦
sudo sh -c 'echo "deb http://packages.osrfoundation.org/gazebo/ubuntu-stable `lsb_release -cs` main" > /etc/apt/sources.list.d/gazebo-stable.list'
wget http://packages.osrfoundation.org/gazebo.key -O - | sudo apt-key add -
sudo apt update

sudo apt install gazebo9 libgazebo9-dev
# 以下打开一个gazebo新world
gazebo --verbose

# 虚拟机中若遇到问题
echo “export SVGA_VGPU10=0” >> ~/.bashrc # 关闭硬件加速
source ~/.bashrc #执行以下终端配置文件,其实最好重启终端

# 2.Plugin installation
git clone https://github.com/khancyr/ardupilot_gazebo
cd ardupilot_gazebo
mkdir build
cd build
cmake ..
make -j4
sudo make install

# 3.启动仿真器
cd ~/ardupilot_gazebo
gazebo --verbose worlds/iris_arducopter_runway.world

# another terminal
cd ~/ardupilot/ArduCopter
../Tools/autotest/sim_vehicle.py -f gazebo-iris --console --map

启动APM在gazebo中的SITL,如下:
在这里插入图片描述分别是map和Xterm、显示面板三个窗口。在终端可以输入命令:

mode guided # 引导模式
arm throttle # 解锁油门
takeoff 10 #起飞至10m高度
# ...更多命令参考官方教程...

2.APM仿真使用

APM的指令暂时没找,记录一下常用的指令。更多内容可以参考最上方给出的传送门。

官方demoOctomapPlanner,官方git主页,官方在ubuntu16.04测试,基于opencv3,我在18.04虚拟机上做的,基于opencv4.1.1。

# 1.参考OctomapPlanner readme进行编译与安装
# ...
# 此处略去一大堆第三方库的安装。
# ...

git clone https://github.com/ardupilot/OctomapPlanner
cd OctomapPlanner
mkdir build
cd build
cmake ..
make
cp -r ../models/* ~/.gazebo/models/


# 2.使用
# 2.1 terminal 1 启动gazebo
cd ~/OctomapPlanner/
gazebo --verbose worlds/iris_gas_station_demo.world
# 2.2 terminal 2 启动APM SITL仿真
sim_vehicle.py -v ArduCopter -f gazebo-iris
# 输入以下指令起飞:
mode guided
arm throttle
takeoff 1 
# 输入help即可查看更多命令及使用方法。

# 3 terminal 3 启动项目节点
./build/main_node

正常进入gazebo如下:
在这里插入图片描述启动项目节点后如下,将弹出视差图窗口,并且无人机自主移动。
在这里插入图片描述自主规划路径:
在这里插入图片描述之后,我发现它自杀了,哈哈哈
在这里插入图片描述

记录一个问题,arm throttle之后会自动加锁,暂时不知道为何。

在这里插入图片描述
通过ROS话题来获取gazebo中双目相机的图片,gazebo双目相机

附上OctomapPlanner的两篇博客地址:
1)OctomapPlanner1
2)OctomapPlanner2
另外几个关于APM和avoidance的包.

  • HAWK

  • Obstacle_Avoidance_for_UAV

  • STOBA

  • APM精准降落

**APM官方的避障:object avoidance
**

3.mavros

关于APM飞控,使用ros和gazebo进行SITL仿真似乎还在开发中,GG。
详情参考:https://ardupilot.org/dev/docs/ros.html
另外这一块还有伴生嵌入式板子等内容,参考以上链接。

4.XTDrone

肖昆XTDrone:

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

APM无人机软件在环仿真环境搭建 的相关文章

  • pixhawk(APM)与树莓派的接线

    当然我之前也专门写过TX2 树莓派和pixhawk的接线 xff0c 但那时默认用的PX4固件 xff0c 这回是APM固件 见https blog csdn net sinat 16643223 article details 10776
  • APM无人机软件在环仿真环境搭建

    题记 xff1a 最近做毕业设计得用到无人机仿真 xff0c 重操旧业 xff0c 搞一搞SITL仿真 给个传送门参考 xff1a 无人机SITL仿真 APM软件在环仿真 我的环境 xff1a ubuntu18 04虚拟机 1 官方教程 a
  • px4.launch apm.launch放哪儿

    安装了MAVROS之后 xff0c 经常要启动px4 launch 或 apm launch 有时候修改其中内容为默认更方便 但是文件在哪里呢 xff1f span class token function sudo span span c
  • PX4 APM ROS MAVROS Gazebo之间关系

    https www cnblogs com yilangUAV p 14476923 html 1 PX4与APM 参考 https bbs amovlab com forum php mod 61 viewthread amp tid 6
  • 富斯FS-T6 APM飞控四种飞行模式设置方法_MIX混控设置

    来源于5iMX论坛的这篇帖子 富斯FS T6 APM飞控两种飞行模式设置方法点击打开链接 但是我按照作者的设置MIX的方法 xff0c 怎么都只有三种通道 先上图吧 xff1a 1 我的混控设置 xff1a OFFSET是偏移量 xff0c
  • Mission Planner中级应用(APM或PIX飞控)4——无人机APM飞控硬件故障简单维修(上)

    目录 一 飞控USB口针脚脱落 二 科教类装调无人机塑料桨射桨 一 飞控USB口针脚脱落 xff08 以apm为例 xff09 出现的问题主要原因一是USB口那一侧不要装接收机 xff0c 要装另外一侧 xff0c 免得连线的时候变形 xf
  • APM的解锁(ARM)流程

    解锁检测函数 解锁检测函数是arm motors check xff08 xff09 xff0c 作为scheduler每秒运行10此 xff0c 定义在motors cpp中 xff0c 定义如下 define ARM DELAY 20
  • APM/PIXhawk 最全资料总汇(欢迎补充更新)

    转载请注明出处 http www amovauto com cat 61 11 AMOV社区玩也要玩的专业 xff01 欢迎加入社区QQ群 APM PIX UAV 相关中英文网站链接总汇 xff1a 1 国内外知名论坛 无人机开源基金会 D
  • APM代码调试知识点汇总

    由于项目的需要 xff0c 对ardupilot的源码进行二次开发 本文记录在二次开发中遇到的问题以及注意事项 xff1a CUAV V5 实测 apm 串口 xff0c 对于姿态数据的发送和接收在200Hz的时候 xff0c 是没有问题的
  • 使用simulink分析APM日志信息

    一 将bin转化成mat文件 使用mission planner将bin文件转化成mat文件 二 将工作区变量转化成timeserial对象 RCIN TimeSerial 61 timeseries RCIN 3 RCIN 2 1e6 三
  • APM 路径规划笔记

    20180711 xff1a 类名 xff1a AC WPNav 功能 xff1a 完成Auto Loiter Abmode模式中的路径规划 为计算方便设置默认值 xff0c 实际值有可能又变化 wp accel cms 61 100 wp
  • APM-3.5.2-EKF2笔记(未完待续)

    20180704 xff1a 一 EKF2 InitialiseFilter 全过程 1 记录开始时间 xff0c 预期步长时间 frameTimeUsec 61 2500 xff0c 每次融合读取IMU次数 framesPerPredic
  • 基于apm、pix无人坦克、无人车自动控制与自动驾驶教程

    基于apm pix无人坦克 无人车自动控制与自动驾驶教程 目前玩无人机的玩家较多 xff0c 但是无人车 无人机坦克的玩家少之又少 xff0c 本人经过一段时间的琢磨 xff0c 实现了无人车与无人坦克自动控制 xff0c 自动驾驶 xff
  • APM飞控修改数传模块方法

    APM飞控修改数传模块方法 硬件 ARDUCOPTER第二代数传模块 USB接口 数传模块 telem接口 usb ttl模块 修改方法 注意 xff1a APM固件版本和数传模块估计版本是分开的 xff0c 但有一定的对应关系 xff0c
  • APM与Pixhawk间的关系

    1 APM 本文APM指代 xff1a https github com ArduPilot ardupilot 2 Pixhawk 本文Pixhawk指代 xff1a https github com PX4 Firmware 3 关系
  • APM 学习 6 --- ArduPilot 线程

    ArduPilot 学习之路 6 xff0c 线程 英文原文地址 xff1a https ardupilot org dev docs learning ardupilot threading html 理解 ArduPilot 线程 线程
  • 蓝牙飞控数传套装(适合APM/Pixhaw/Pixhack/Pixhawk2飞控)

    SSC FK BL900是迅瞻电子初创的一款蓝牙 43 射频模块一体的飞控数传套装电台 xff0c 它内嵌入Digi的900HP模块和蓝牙模块 xff0c 对外提供XT60的电池供电接口 xff0c 支持5 28V的宽电压工作 xff0c
  • ArduPilot/APM源码学习笔记(一)

    最近开始学习ArduPilot APM飞控的源码 xff0c 源码托管在github上 源码链接 xff1a https github com diydrones ardupilot 飞控主页 xff1a http ardupilot co
  • 百度商业大规模微服务分布式监控系统-凤睛

    导读 作为凤睛早期的接入方 后期的核心成员 笔者经历了整个项目前后四年的变迁 看过项目的艰难开端 中期的默默积累以及后期的蓬勃发展 每一次架构的变迁都带着技术浪潮的烙印 也看到项目成员利用有限资源来解决实际问题而持续不断的创新 凤睛是百度商
  • 一次APM32替换STM32的经历分享

    系列文章目录 这几年相信大家知道STM32系列的芯片价格翻倍的涨 自己玩都快玩不起了 要是用于生产 这得多掏多少钱 所以现在大家都选择了国产芯片 哈哈不能说多差吧 价格你没得说 这是我的一次APM32代替STM32的经历 你是不是也会遇到这

随机推荐