将 SITL 与莫尔斯系统结合使用¶
莫尔斯 是一个开放的机器人平台,它使用 python API 和 blender 3D 环境来创建一个完整的机器人平台。
ArduPilot 有一个 Morse SITL 仿真后台,允许 ArduPilot 控制在 Morse 中创建的载具。
备注
莫尔斯仅在 Linux/Ubuntu 环境下进行过测试
安装莫尔斯¶
官方说明请访问 openrobots.com.Morse 使用 Blender 游戏引擎 API 来渲染构建脚本。如果用户在 Ubuntu 20.04 或更高版本上安装 Morse,请按照 Morse 安装页面(如上所述)的说明从源代码安装软件(手动安装)。但对于旧版本的 Ubuntu 安装,您只需要
苏都 适切 安装 马尔斯-模拟器
检查搅拌器版本¶
如上所述,莫尔斯依靠 Blender 游戏引擎来渲染模拟。鉴于较新版本的 Blender (v2.80 及以上版本)已停止对游戏引擎的支持,请用户确保已安装的 Blender 版本 之间 v2.65 至 v2.73 (官方版本限制由莫尔斯说明)。
备注
搅拌机 v2.74 - v2.79 也是有效的版本,因为这些版本也能访问稳定的 Blender 游戏引擎。下图显示的是使用 Blender 2.76 运行的 ArduPilot 四旋翼飞行器莫尔斯模拟。
生成器脚本¶
莫尔斯模拟器具有生成器脚本的概念,即在莫尔斯/Blender 环境中运行的 python 脚本。
中提供了一些与 ArduPilot 配合使用的生成器脚本示例。 ArduPilot/libraries/SITL/examples/Morse 目录.
这些例子包括
防滑车
独立的转向和油门漫游车
简单的四旋翼飞行器
装有扫描激光测距仪的漫游车
这些脚本设置了 ArduPilot 需要的标准传感器套件,并使用套接字应用程序接口导出它们。建议您阅读 rover.py 和 quadcopter.py 示例,以便更好地了解如何将 Morse 与 ArduPilot 连接起来。
运行示例¶
以下步骤将帮助您运行 Skid Rover 示例。
打开终端,在 /ardupilot 目录下启动漫游模拟器:
马尔斯 运行 图书馆/SITL/例子/莫尔斯/路虎防滑.py
打开/ardupilot 目录下的另一个终端,使用摩斯滑行模拟后端启动 ArduPilot SITL
工具/自动测试/模拟载具.py -v 无人车UGV --模型 马尔斯-防滑 --增加-停止-文件=图书馆/SITL/例子/莫尔斯/路虎防滑.调味料 --游戏机 --地图
以下步骤将帮助您运行分离式转向和油门漫游器示例。
马尔斯 运行 图书馆/SITL/例子/莫尔斯/无人车UGV.py
打开另一个终端,进入 /ardupilot 目录,使用摩斯漫游模拟后端启动 ArduPilot SITL
工具/自动测试/模拟载具.py -v 无人车UGV --模型 马尔斯-无人车UGV --增加-停止-文件=图书馆/SITL/例子/莫尔斯/无人车UGV.调味料 --游戏机 --地图
使用 ArduPilot SITL 控制台控制飞行器(例如,使用 "arm throttle "启动飞行器,使用 "rc 1 "控制转向,使用 "rc 3 "控制油门等)
运行四旋翼飞行器示例:
打开终端,在 /ardupilot 目录下启动四旋翼飞行器模拟器:
马尔斯 运行 图书馆/SITL/例子/莫尔斯/四旋翼.py
使用摩斯四象限模拟后端启动 ArduPilot SITL
工具/自动测试/模拟载具.py -v ArduCopter --模型 马尔斯-四人 --增加-停止-文件=图书馆/SITL/例子/莫尔斯/四旋翼.调味料 --游戏机 --地图
请注意,上图显示的是线框视图,而不是渲染后的 3D 视图。这是通过在 quadcopter.py 的 Environment() 声明中设置 fastmode=True 配置的。使用快速模式会大大降低 CPU 占用率,这对速度较慢的机器很有好处。
激光扫描仪支持¶
Morse SITL 后端支持激光扫描仪传感器。这样,您就可以将 ArduPilot 中的接近规避系统与用 Morse 创建的载具结合使用。
在 rover_scanner.py 脚本中有一个使用激光扫描仪设置漫游车的示例。像这样运行
马尔斯 运行 图书馆/SITL/例子/莫尔斯/漫游扫描仪.py
然后启动 ArduPilot SITL,使用莫尔斯防滑模拟后端
工具/自动测试/模拟载具.py -v 无人车UGV --模型 马尔斯-防滑 --增加-停止-文件=图书馆/SITL/例子/莫尔斯/漫游扫描仪.调味料 --游戏机 --地图
这样就能得到类似的结果:
红色区域显示的是激光扫描仪近距离传感器看到的范围。
蜂群支持¶
要启动三个UGV无人车蜂群,请打开两个终端并 cd 到 /ardupilot 目录:
运行以下命令,启动三辆漫游车并排行驶的莫尔斯系统
马尔斯 运行 图书馆/SITL/例子/莫尔斯/UGV无人车关注.py
用三个漫游器启动 ArduPilot SITL 环境:
图书馆/SITL/例子/莫尔斯/开始关注.吁
与任务规划师联系
在 Windows 机器上打开终端(在 Windows 机器上),然后键入
ipconfig
确定机器的 IP 地址在 Ubuntu 机器上
打开您最喜欢的编辑器并编辑
libraries/SITL/examples/Morse/start_follow.sh
修改脚本第 7 行,设置 Windows 机器的 IP 地址
GCS_IP=192.168.2.48 <-- 顶替 与 您的 窗口 机械\IP地址