将 SITL 与 Webots C/C++ 结合使用¶
Webots 是一款主要用于机器人技术的模拟器。使用它可以很容易地制作许多飞行器。ArduPilot 有专门为该模拟器制作的漫游车、四旋翼飞行器和三旋翼飞行器示例。
您可以从以下网址下载 Webots 模拟器 www.cyberbotics.com.要运行 Webots,只需在命令行中输入 webots 即可。
运行示例¶
使用命令行打开 Webots。
从 载具示例文件夹 例如
webots_quadPlus.wbt
.使用 Webots 图形用户界面,打开机器人控制器和 WorldInfo 物理插件的源文件 (ardupilot_SITL_QUAD.c 和 sitl_physics_env.c)并运行
建设 >; 建设
.有关使用 Webots 构建的更多信息,请参见 这里.在 Webots GUI 上按 Run(运行)键。现在模拟器正在运行。
运行 ArduPilot 的 SITL。 示例文件夹.
./图书馆/SITL/例子/Webots/dronePlus.吁
或
./工具/自动测试/模拟载具.py -v ArduCopter -w --模型 网点-四人:127.0.0.0.1:5599 --增加-停止-文件=图书馆/SITL/例子/Webots/quadPlus.调味料
警告
必须在 ArduPilot 的 SITL 之前运行 Webots,否则可能无法建立套接字连接。
截至发稿时,这些说明适用于 Webots 2021b。较新版本可能无法正常工作。
模拟参数¶
有两类参数,第一类传递给 SITL,第二类在 Webots 中配置。
SITL 使用 TCP 套接字与 Webots 通信,因此 SITL 的端口号应与 Webots 相同。通常不需要更改默认端口 5599,但运行多个机器人时,需要为每个模拟实例使用不同的端口。
Webots 的优势¶
控制器可以用 c、c++、python 和 MatLab 编写。
有很多传感器。
可添加自定义物理功能,模拟风等现象。
能够添加 OpenStreetMap 并在与现实非常相似的环境中运行模拟器。
如何用 ArduPilot 连接自己的世界¶
世界信息¶
在 WorldInfo 中设置以下参数非常重要
现场 "基本时间步骤" = 1 或 2
现场 "物理学" 用于附加物理插件文件 "sitl_physics_env" 用于以非常简单的方式模拟风和阻力。
载具机器人¶
您可以根据需要多次复制&粘贴载具机器人:
给新机器人起个新名字。
现场 "自定义数据" 应等于机器人索引号,即 1、2、3......等。
现场 "控制器" 应根据所使用的载具进行选择。
现场 "控制器参数 其中指定了许多重要因素,主要是 TCP 端口,该端口应等于 SITL 的 TCP 端口,以便在模拟器中连接到该机器人。