求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Modeler   Code  
会员   
要资料
 
追随技术信仰

随时听讲座
每天看新闻
 
 
目录
Autoware.Auto
安装
系统依赖性和目标环境
使用 ADE 安装
使用 ADE 安装 arm64 系统
没有使用 ADE 安装
SVL 仿真器
使用
自动代客泊车示范
F1Tenth 演示1
F1Tenth 演示2
启动和测试行为计划
启动和测试全局计划
地图创建
初始化 NDT 定位器
运行 EKF 过滤器进行本地化
3D感知堆栈
记录/回放计划
使用rosbag进行本地化演示
Autoware Auto启动场景仿真器
建立
设计
Autoware Auto常见的设计-1
Autoware Auto常见的设计-2
Autoware.Auto 控制器设计
Autoware.Auto 驱动程序设计
Autoware.Auto 设计融合
Autoware.Auto 本地化
Autoware.Auto 的地图
Perception设计
Autoware.Auto 的 设计计划
Autoware.Auto 的 设计跟踪
Autoware.Auto 的 预测
Autoware.Auto 的系统
Autoware.Auto 的工具
Autoware.Auto 提供的指南
 
 
SVL 仿真器
李澎涛,俎涛 翻译(火龙果软件工程)
1376 次浏览
7次  

SVL 仿真器:与 Autoware.Auto 一起运行 SVL 仿真器

SVL 是面向自动驾驶汽车开发人员的基于 Unity 的多机器人仿真器。 它提供了一个仿真世界

  • 为 Autoware.Auto 创建传感器输入,
  • 允许用户手动驾驶自我车辆,类似于电脑游戏,
  • 将其他移动的交通参与者放置在场景中。

有关仿真器的更多信息,请参阅 https://www.svlsimulator.com/docs/getting-started/getting-started/

要求

以下指南假定 SVL 仿真器将从 ADE 容器内运行,但并非严格要求。

使用仿真器

使用仿真器涉及以下步骤:

  1. 启动它
  2. 配置集群(一步)
  3. 选择或创建仿真
  4. 开始仿真

本节概述了这些步骤。 您还需要一个 SVL 帐户才能使用仿真器,如果您没有,请立即在 https://wise.svlsimulator.com/ .

启动仿真器

按照安装部分 中的说明安装 ADE :

使用 SVL 卷启动 ADE:

$ cd ~/adehome/AutowareAuto
$ ade --rc .aderc-amd64-foxy-lgsvl 开始 --update --enter

选择不同的 .aderc-*-lgsvl 文件以手动选择 ROS 版本。

要启动 SVL 仿真器,请在同一终端窗口中:

ade$ /opt/lgsvl/仿真器

故障排除

如果仿真器窗口以黑屏打开并且应用程序立即终止,请查看日志文件

~/.config/unity3d/LGElectronics/SVLSimulator/Player.log

一种可能的解决方法是从 ADE 中删除冲突的图形驱动程序

ade$ sudo apt remove mesa-vulkan-drivers

并再次启动仿真器。

如果点云数据或图像数据未在 rviz 中可视化,但边界框等其他数据可见,请在 ade 中运行以下命令,

ade$ sudo apt remove mesa-vulkan-drivers

配置集群

您需要使您的 ADE 环境成为有效的 SVL 集群才能启动任何仿真。 这是一次性配置步骤。

在您第一次运行仿真器时,应该有一个只有一个按钮的窗口: LINK TO CLOUD . 单击它, https://wise.svlsimulator.com/ 应该会打开一个 Web 浏览器。 您可以通过提供集群名称并单击 Create cluster 按钮在那里创建一个新集群。

有关链接到云的更多信息: 文档

创建仿真

只需在浏览器中单击几下即可创建仿真。 以下步骤假设启动成功,并通过 Autonomous Valet Parking Demonstration 的设置说明配置过程。

启动浏览器并转到 SVL 仿真器 Web 界面 。 您应该已经设置了您的帐户,因此请使用屏幕右上角的按钮登录。

选择地图

目标是将 AutonomouStuff 停车场地图添加到您的图书馆。 如果该地图已经在您的图书馆中,则无需执行任何操作。

将地图添加到您的图书馆:

  • 转到 Store -> Maps 。
  • 单击地图 + 旁边的按钮 AutonomouStuff (您可以使用搜索栏按名称过滤)。

选择地图

配置车辆

目标是将 AWFLexus2016RXHybrid 车辆添加到您的图书馆。 如果这辆车已经在您的图书馆中,则无需执行任何操作。

将车辆添加到您的图书馆:

  • 转到 Store -> Vehicles 。
  • 单击车辆 + 旁边的按钮 AWFLexus2016RXHybrid (您可以使用搜索栏按名称过滤)。

添加车辆

添加 ROS2ForUnitySVLBridge

目标是将原生 ROS2 桥添加到您的库中。 如果此桥已在您的库中,则无需执行任何操作:

您也可以 ROS2ForUnitySVLBridge 使用搜索栏进行搜索。

配置车辆传感器

将车辆添加到库后:

  • 转到 Library -> Vehicles 。
  • 点击 AWFLexus2016RXHybrid 头像。 您将被转至车辆编辑页面。
  • 单击 Sensor Configurations 部分附近的按钮以修改传感器配置。

配置传感器

请注意,已经有一个 Autoware.Auto 配置。 为了确保我们运行的是最新版本,最好创建一个新版本并使用最新版本的传感器配置文件:

  • 点击 + Create New Configuration 页面底部的按钮。
  • 设置配置名称并选择 ROS2ForUnitySVLBridge 作为网桥。 这是 ROS2 桥接器的本机实现。
  • 确认。

在配置编辑视图中:

  • 单击 {...} 可视化编辑器(预览)窗口附近的符号。
  • 将avp-sensors.json 文件的内容粘贴 到编辑窗口中。 Configurator 窗口现在应该填充一堆传感器。
  • 单击 Save 以保存配置。

json配置文件

而已。 现在您拥有一辆具有有效配置的车辆。

选择/创建仿真

SVL 仿真器允许您存储和重复使用多个仿真配置。 要使用现有仿真,请导航到 Simulations 选项卡并按所需实例的“运行仿真”按钮。 仿真器现在应该在 SVL 窗口中启动。

要创建新的仿真,请按照以下步骤操作。

笔记 可能有一些 AutowareAuto 演示默认使用自己的预设仿真,这利用了 LGSVL API。 这将自动将仿真配置为演示的推荐设置。 对于这种情况,您需要创建一个仅 API 仿真。
  • 切换到 Simulations 选项卡,点击 Add new 按钮;
  • 输入名称、描述并选择一个集群。 点击 Next ;
  • 对于预设仿真:
    • API Only 从下拉菜单中 选择运行时模板。

    或自定义仿真:

    • Random Traffic 从下拉菜单中 选择运行时模板;
    • 使用您的传感器配置 选择 AutonomouStuff 地图和车辆。 AWFLexus2016RXHybrid 点击 Next ;
    • 选择 Other ROS 2 Autopilot 自动驾驶仪并保留 Bridge Connection 默认值。
  • 单击 Next ,然后单击 Publish 。

您可以访问 SVL 文档 以获得更深入的描述。

开始仿真

创建仿真后,您可以通过单击 视图 Run Simulation 中仿真配置小部件旁边的按钮来运行它。 Simulations

开始仿真,预设仿真

开始仿真,自定义仿真

预设仿真

API Ready 文本应出现在 SVL Simulator 窗口中(而不是浏览器中) 。

API Ready 仿真器视图

恭喜,如果到目前为止一切正常。 SVL 设置完成。

自定义仿真

雷克萨斯应该出现在 SVL Simulator 窗口中(而不是在浏览器中)。

下一步是控制雷克萨斯并四处行驶。 按下 F1 可查看快捷方式列表,然后按下左下角的 cookie 按钮以获取更多 UI 控件。

基本命令是使用箭头键来转向和加速,使用 Page Up 和 Page Down 键在前进和后退之间切换。

恭喜,如果到目前为止一切正常。 SVL 设置完成。

控制雷克萨斯

与 Autoware.Auto 桥接

SVL 使用与 ROS 2 约定不直接一致的约定。 实现的行为的完整列表 lgsvl_interface 是:

  1. 将 CCW 正向旋转的控制输入转换为 SVL 仿真器所期望的 CCW 负向输入
  2. VehicleControlCommand 通过可参数化的一维查找表提供从 RawControlCommand SVL 预期 的映射

lgsvl_interface 手动运行,请在新的终端窗口中输入以下内容:

$ ade 输入
ade$ source /opt/AutowareAuto/setup.bash

ade$ ros2 运行 lgsvl_interface lgsvl_interface_exe --ros-args --params-file /opt/AutowareAuto/share/lgsvl_interface/param/lgsvl.param.yaml

Autoware.Auto 使用 PointCloud2 消息 x,y,z,intensity 而不是 x,y,z,intensity,timestamp 字段。

该节点将转换 points_xyzi

运行 point_type_adapter 以转换消息。

$ ade 输入
ade$ source /opt/AutowareAuto/setup.bash
ade$ ros2 启动点_type_adapter point_type_adapter.launch.py

有关使用 VehicleControlCommand SVL 的示例,请在新的终端窗口中运行以下演示:

$ ade 输入
ade$ source /opt/AutowareAuto/setup.bash
ade$ ros2 启动 lgsvl_interface lgsvl_vehicle_control_command.launch.py

在 LGSVL 上运行 Autoware 操纵杆演示

要测试 Autoware 和 LGSVL 安装,请按照以下说明使用 Autoware 在 LGSVL 中使用操纵杆驾驶车辆。

准备一个操纵杆。 大多数游戏杆都可以在 /dev/input/js0 . Autoware 原生支持罗技 F310 摇杆,其映射文件可以在 joystick_vehicle_interface_nodes 包中找到。

对于其他游戏杆,需要创建类似的映射文件。

停止任何正在运行的 ADE 容器:

停止

启动一个新的 ADE 容器并将操纵杆设备传递给它,假设 js0 是您的操纵杆设备。 然后启动仿真器:

$ ade --rc .aderc-amd64-foxy-lgsvl 开始 --update --enter -- --device /dev/input/js0
ade$ /opt/lgsvl/仿真器

在 LGSVL 中,创建并启动上述仿真场景。

最后,在新终端中启动 Autoware 操纵杆演示:

$ ade 输入
ade$ source /opt/AutowareAuto/setup.bash
# 如果您使用的是罗技 F310 操纵杆:
ade$ ros2 启动 joystick_vehicle_interface_nodes lgsvl_joystick.launch.py
# 或者,如果您有自定义操纵杆映射:
ade$ ros2 启动 joystick_vehicle_interface_nodes lgsvl_joystick.launch.py​​ joy_translator_param:=/path/to/your/joystick/config.param.yaml


您可以捐助,支持我们的公益事业。

1元 10元 50元





认证码: 验证码,看不清楚?请点击刷新验证码 必填



1376 次浏览
7次
欢迎参加课程:
MBSE(基于模型的系统工程)
系统思维与系统工程
系统工程方法与实践