当前位置: 首页 > news >正文

【RoadRunner】自动驾驶模拟3D场景构建 | 自定义交叉口工具详解

💯 欢迎光临清流君的博客小天地,这里是我分享技术与心得的温馨角落 💯

在这里插入图片描述

🔥 个人主页:【清流君】🔥
📚 系列专栏: 运动控制 | 决策规划 | 机器人数值优化 📚
🌟始终保持好奇心,探索未知可能性🌟

动图描述

文章目录

  • 引言
  • 一、功能说明
    • 1.1 自动交叉口
    • 1.2 锁定交叉口
    • 1.3 默认停靠位置
  • 二、创建交叉口
    • 2.1 在不重叠的道路之间创建交叉口
    • 2.2 在两条平行道路之间创建交叉口
    • 2.3 沿单条道路创建交叉口
  • 三、管理交叉口
    • 3.1 移除锁定的交叉口
    • 3.2 将自动交叉口转换为锁定交叉口
    • 3.3 将锁定交叉口转换为自动交叉口
  • 四、修改交叉口
    • 4.1 添加一条道路到锁定的交叉口
    • 4.2 从锁定的交叉口移除道路
    • 4.3 合并两个或多个交叉口
  • 五、调整交叉口设置
    • 5.1 调整默认停止位置
    • 5.2 更改默认停止位置的方向
  • 六、锁定交叉口故障排除
  • 七、总结
  • 参考资料


在这里插入图片描述

引言

  在自动驾驶技术的飞速发展下, 3 D 3D 3D 场景构建成为了模拟和测试自动驾驶系统的重要环节。 RoadRunner 作为一款功能强大的自动驾驶模拟 3 D 3D 3D 场景构建软件,为用户提供了丰富的工具和选项。

  本篇博客介绍自动驾驶模拟 3 D 3D 3D 场景构建软件 RoadRunner 中的自定义交叉口工具,可通过此工具自定义创建各种形态的交叉口,从而满足不同场景的需求。通过掌握这一工具的使用,我们可以在自动驾驶模拟中更真实地还原现实世界的交通环境,构建自动驾驶场景环境,为后续导入 Carla 作准备。


一、功能说明

  自定义交叉工具用于覆盖高级情况下的 RoadRunner 自动交叉口功能,可以创建不存在重叠的交叉口。

1.1 自动交叉口

  • RoadRunner 自动创建的连接点称为自动交叉口,这些交叉口会根据需要自动创建、更新和删除。

1.2 锁定交叉口

  • 由此工具手动创建的交汇点称为锁定交叉口,这些交叉口是手动创建的,必须手动删除。

  有时需要将自动交叉口转换为锁定交叉口,以便向交叉口添加更多道路或更改默认停靠位置。

1.3 默认停靠位置

  表示道路交叉口的起点或终点,这是新创建的机动道路自动停止的位置以及拐角开始的默认距离,默认停止位置的方向是从交叉口指向的,该方向用于确定哪些道路需要使用拐角连接。

  在 RoadRunner 工具栏上,点击 Custom Junction Tool 按钮打开自定义交叉口工具:

Custom Junction Tool button

  下面具体演示此工具的具体功能。


二、创建交叉口

2.1 在不重叠的道路之间创建交叉口

  1. 点击 Custom Junction Tool 按钮。
  2. 右键点击将成为交叉口一部分的每条道路的末端。
  3. 按空格键创建交叉口。

在这里插入图片描述

2.2 在两条平行道路之间创建交叉口

  1. 点击 Custom Junction Tool 按钮。
  2. 右键点击一条道路上交叉口的起点,然后右键点击同一条道路上交叉口的终点。
  3. 右键点击另一条道路上的交叉口起点,然后右键点击同一条道路上的交叉口终点。
  4. 按空格键创建交叉口。如果角点显示不正确,请参阅 锁定交叉口故障排除 部分。

在这里插入图片描述

2.3 沿单条道路创建交叉口

  沿单条道路创建交叉口对于创建独立的人行横道非常有用。要沿单条道路创建交叉口:

  1. 点击 Custom Junction Tool 按钮。
  2. 右键点击交叉口起点和交叉口终点处的道路。如果要走人行横道,则交叉口的起点和终点大致对应于人行横道的每一侧。
  3. 按空格键创建交叉口。
  4. 如果要过人行横道:
    1. 点击 Crosswalk and Stop Line Tool 按钮。
    2. 点击交界处的外侧。
    3. 右键点击交叉口的另一侧以创建人行横道。

在这里插入图片描述


三、管理交叉口

3.1 移除锁定的交叉口

  1. 点击 Custom Junction Tool 按钮。
  2. 点击所需的交叉口。
  3. 按删除。

3.2 将自动交叉口转换为锁定交叉口

  1. 点击 Custom Junction Tool 按钮。
  2. 点击所需的交叉口。
  3. Attributes 窗格中,点击 Convert to Locked Junction

在这里插入图片描述

3.3 将锁定交叉口转换为自动交叉口

  1. 点击 Custom Junction Tool 按钮。

  2. 点击所需的交叉口。

  3. Attributes 窗格中,点击 Convert to Automatic Junction

在这里插入图片描述

  注意:锁定的交叉口并不总是可以转换为自动交叉口,如果不可能自动交叉口,则该交叉口将在转换过程中被删除。


四、修改交叉口

4.1 添加一条道路到锁定的交叉口

  1. 点击 Custom Junction Tool 按钮。
  2. 右键点击道路末端以添加到交叉口。
  3. 右键点击交叉口。
  4. 按空格键添加道路。

在这里插入图片描述

4.2 从锁定的交叉口移除道路

  1. 点击 Custom Junction Tool 按钮。
  2. 点击所需的交叉口。
  3. 点击要删除的道路的 Default Stopline
  4. 按删除。

在这里插入图片描述

4.3 合并两个或多个交叉口

  1. 点击 Custom Junction Tool 按钮。
  2. 右键点击要合并的每个交叉口。
  3. 按空格键将交叉口合并在一起。
  4. 点击交叉口内侧任意多余的默认停车线,然后按删除。

在这里插入图片描述


五、调整交叉口设置

5.1 调整默认停止位置

  1. 点击 Custom Junction Tool 按钮。
  2. 点击所需的交叉口。
  3. 如果交叉口是自动的,请将交叉口转换为锁定状态。
  4. 点击并拖动所需的停止位置。

在这里插入图片描述

5.2 更改默认停止位置的方向

  1. 点击 Custom Junction Tool 按钮。
  2. 点击所需的交叉口。
  3. 点击所需的默认停止位置。
  4. Attributes 窗格中,点击 Flip Direction

在这里插入图片描述


六、锁定交叉口故障排除

  RoadRunner 尝试根据指定的默认停靠位置来创建合理的锁定交叉口,但软件可能无法确定创建合理交叉口所需的角落。如果未正确计算锁定交叉口的角点,请执行以下几个步骤:

  • 检查所有默认停靠点是否都从交叉口指向外侧。如果已在道路上手动放置默认停止位置,则初始方向可能会翻转。

  • 检查默认停止位置是否距离太近。尝试将位置拖得更远,然后点击 Sort Rays 以重新确定角落。

  • 尝试使用多个较小的锁定交叉口而不是一个大的交叉口。必要时从交叉口移除道路。

  • 尝试使用重叠而不是手动交叉口。


七、总结

  本篇博客详细介绍了 RoadRunner 软件中自定义交叉口工具的强大功能。该工具不仅可以帮助我们创建不重叠的交叉口,还能实现自动交叉口与锁定交叉口的相互转换,以及交叉口的各种管理与调整操作。

  掌握这一工具,对于在自动驾驶模拟场景构建中实现精确、多样化的交叉口设计具有重要意义。在实际应用中,可以根据不同的场景需求,灵活运用自定义交叉口工具,提高自动驾驶系统的适应性和可靠性。


参考资料

  RoadRunner官方帮助文档


后记:

🌟 感谢您耐心阅读这篇关于 RoadRunner 自定义交叉口工具详解 的技术博客。 📚

🎯 如果您觉得这篇博客对您有所帮助,请不要吝啬您的点赞和评论 📢

🌟您的支持是我继续创作的动力。同时,别忘了收藏本篇博客,以便日后随时查阅。🚀

🚗 让我们一起期待更多的技术分享,共同探索移动机器人的无限可能!💡

🎭感谢您的支持与关注,让我们一起在知识的海洋中砥砺前行 🚀

动图描述


http://www.mrgr.cn/news/55126.html

相关文章:

  • 微信小程序考试系统(lw+演示+源码+运行)
  • 01-编程入门
  • vue3使用ref动态获取组件,并对动态表单组件进行校验
  • 滚雪球学Redis[7.0讲]:Redis在Web应用中的会话管理:实现、优化与安全性!
  • STM32嵌入式移植GmSSL库
  • 营销新境界:解码品牌增长策略
  • Android SELinux——添加策略实例(十五)
  • 组装电脑主板配置全解析:从入门到精通
  • SSDF攻击及防御PPT及讲稿
  • 【漏洞复现】华望云 会议管理平台 deptactionlist 后台SQL注入漏洞
  • 基于单片机的多功能鱼缸控制系统设计
  • Java数组的特性与实现、与其他语言的区别、多维数组的遍历、底层实现及其内存管理
  • YoloV9改进策略:归一化改进| ContraNormYoloV8中的创新应用(全网首发)
  • Java反射深入学习
  • c语言字符串函数strstr,strtok,strerror
  • AIGC实战——世界模型(World Model)
  • MiniConda 的安装与使用
  • 【学术会议投稿】Java Web开发实战:从零到一构建动态网站
  • 【学术会议投稿】机器学习框架终极指南:PyTorch vs TensorFlow vs Keras vs Scikit-learn
  • Anomalib 1.x 系列之二:自定义数据
  • 手动部署Java项目、nginx前端和mysql数据库到centos虚拟机
  • 简单的界面用于控制自动点击器
  • 二叉树算法之 Fenwick 树(Binary Indexed Tree, BIT)详细解读
  • 在Smarty模板中如何用自定义函数
  • C#/.NET/.NET Core技术前沿周刊 | 第 10 期(2024年10.14-10.20)
  • JS数组去重