【RoadRunner】自动驾驶模拟3D场景构建 | 软件简介与视角控制

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

在这里插入图片描述

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

动图描述

文章目录

  • 引言
  • 一、RoadRunner 功能概述
    • 1.1 创建自定义3D场景
    • 1.2 交通信号与流量控制
    • 1.3 数据导入与导出
    • 1.4 素材库与场景构建
  • 二、视角控制基本操作
    • 2.1 旋转视角
    • 2.2 放大和缩小视角
    • 2.3 平移视角
      • (1) 水平移动视角
      • (2) 垂直移动视角
  • 三、视角框定
    • 3.1 将视角框在选定的对象上
    • 3.2 将视角置于光标上
  • 四、更改视图投影
  • 五、设置视角视图方向
  • 六、总结
  • 参考资料


在这里插入图片描述

引言

  在自动驾驶的世界里,模拟测试是确保车辆在各种复杂环境中安全行驶的关键。今天,我要给大家介绍一款超级强大的工具——RoadRunner,这是一个创新的交互式编辑器,专为自动驾驶系统的模拟和测试而设计。本篇博客主要介绍 RoadRunner 软件的视角控制。


一、RoadRunner 功能概述

1.1 创建自定义3D场景

  RoadRunner能够在一个完全自定义的 3 D 3D 3D 道路场景中,模拟自动驾驶车辆可能遇到的各种情况。RoadRunner 能够轻松地创建特定区域的路标和标记,无论是添加标志、信号灯、护栏,还是模拟道路损坏,甚至是添加树叶、建筑物等 3 D 3D 3D 模型。

1.2 交通信号与流量控制

  RoadRunner 提供了丰富的工具,能够细致地设置和配置交叉路口的交通信号计时、相位和车辆路径。这意味着可以在模拟环境中精确地控制交通流,从而更真实地测试自动驾驶系统的性能。

  此外,RoadRunner 还支持激光雷达点云、航拍图像和 GIS 数据的高清可视化,让模拟场景更加逼真。还可以使用 ASAM OpenDRIVE 导入和导出道路网络,确保场景与行业标准保持一致。

1.3 数据导入与导出

  使用RoadRunner构建的 3 D 3D 3D 场景可以导出为多种格式,包括 FBXglTFOpenFlightOpenSceneGraphOBJUSD ,这使得它们可用于各种自动驾驶模拟器和游戏引擎,如 CARLAVIRES VTDNVIDIA DRIVE SimSVLBaidu ApolloUnityUnreal Engine

1.4 素材库与场景构建

  RoadRunner的素材库提供了大量逼真且视觉一致的 3 D 3D 3D 模型,可快速填充场景。而RoadRunner Scene Builder更是能从高清地图自动生成 3 D 3D 3D 道路模型,极大地提高了效率。

  RoadRunner 使能够编辑跨越数公里或英里的 3 D 3D 3D 环境的大规模和小规模细节。交互式摄像机控制使能够快速有效地在这个巨大的 3 D 3D 3D 空间中导航。本篇博客以一个例子展示 RoadRunner 场景编辑环境中视角控制的基础知识,后续完成地图构建后可导入 Carla 内做自动驾驶模拟仿真。


二、视角控制基本操作

  打开一个基本场景来移动视角。从菜单栏中选择 File ,选择 Open Scene ,打开 FourWaySignal.rrscene,它是 RoadRunner 项目的 Scenes 文件夹中包含的默认场景之一。场景在屏幕中央自上而下展开,倾斜 45 45 45 度角。

在这里插入图片描述

2.1 旋转视角

  RoadRunner 中的视角控制基于极轴观察模型,其中视角以固定距离围绕兴趣点旋转。默认情况下,当打开新场景时,兴趣点位于原点上方 1.5 1.5 1.5 米,以近似站在场景中心的人的头部位置。该场景的兴趣点位于交叉路口的中心。

  可以随时从任何工具中按住 Alt 键或 Windows 键并移动指针,围绕兴趣点旋转视角。

按住 Win 键拖动指针,每次会弹出 windows 菜单,不好用,因此推荐使用 Alt 键。

  按住 Alt 键,点击场景中的任意位置,拖动指针。观察视角旋转相对于兴趣点的变化。

在这里插入图片描述

2.2 放大和缩小视角

  要放大视角,按住 Alt 和右键,向上或向右拖动指针。相反,要缩小视角,按住 Alt 和右键,向下或向左拖动指针。或者,可以使用鼠标滚轮来放大或缩小。

  按住 Alt 和右键,向下拖动指针以缩小。

在这里插入图片描述

  按住 Alt 和右键,向上拖动指针并一直放大到兴趣点,直到视角停止移动。

在这里插入图片描述

  按住 Alt 和左键可旋转视角。类似于人站在固定位置环顾四周。

在这里插入图片描述

2.3 平移视角

(1) 水平移动视角

  要沿地面( x y xy xy )平面水平移动视角,首先按住 Alt 键并按住鼠标左键和右键,拖动指针。或者,可以通过按住中键并拖动指针来移动视角。

(2) 垂直移动视角

  对于简单的环境,可以将视角兴趣点的高度设置为默认值。但是,对于更复杂的环境,可能需要向上或向下移动兴趣点。例如,如果正在设计带有桥梁的场景,则可能需要向下移动兴趣点,以便可以在桥下操纵视角。

  • 要向上移动视角,按住 Alt + Shift +鼠标左键+鼠标右键,向下拖动指针。
  • 要向下移动视角,按住这些键的同时,向上拖动指针。

或者,可以按住 Alt 、 Shift 和鼠标中键,上下拖动指针以获得相同的效果。


三、视角框定

3.1 将视角框在选定的对象上

  在任何工具中,都可以将视角居中或框定在当前选定的对象上。要将视角置于选定物体的中心,按 F 键。或者,从 View 菜单中,选择 Frame Selected

  1. 缩小场景。按住 Alt 和右键,将指针向下拖动。

在这里插入图片描述

  1. 点击 Road Plan Tool 按钮 在这里插入图片描述 以使道路可选。

  2. 选择较长的道路并按 F 键。视角以较长的道路为中心。

在这里插入图片描述

  1. 选择另一条道路并按下 F 。视角会放大到较短道路的中心。

在这里插入图片描述

  1. 点击 Prop Point Tool 按钮 在这里插入图片描述 以使交通灯道具可选。

  2. 选择一个点道具并按下 F 。视角将放大所选道具。

在这里插入图片描述

  按住 Alt 点击并拖动来旋转视角时,视角会围绕道具旋转。

在这里插入图片描述

  • 如果未选择任何视图或对象,按 F 键或从 View 菜单中选择 Frame Selected ,将框住场景中的所有数据,并保留视角角度位置。

  • 如果场景是空的,按 F 键或选择 Frame Selected ,将带回到场景编辑画布中的原点。

3.2 将视角置于光标上

  可以将视角居中或框定到光标当前所在的位置。要将视角置于光标中心,执行以下步骤:

  1. 缩小场景。将光标悬停在道路的一端。

在这里插入图片描述

  1. V 。视角拉近到道路的尽头。

在这里插入图片描述


四、更改视图投影

RoadRunner 视角可以使用 透视正交 投影。

  • 透视投影:默认的观看投影,它会导致远处的物体看起来比近处的物体小。

  • 正交投影:与 CAD 工具中的投影类似。它对于通常从自上而下的角度进行精确定位很有用。在正交模式下,对象在靠近或远离时不会改变外观尺寸。

视角控件在两种投影模式下的工作方式相同。

  移动视角,使整个交叉路口都在视野中。,按 O 切换到正字法模式。在此模式下,交通信号灯的大小均相同。要在正交模式下放大到特定位置,将光标悬停在该位置上并滚动。这将带到达所需的位置。

  按 P 切换回透视模式,远处的交通灯会显得更小。

正交模式(按 O O O透视模式(按 P P P
在这里插入图片描述在这里插入图片描述

五、设置视角视图方向

  可以将摄像机的视图方向设置为正北、南、东、西或自上而下。要更改视图方向,在 View 菜单上选择 Direction ,选择所需的视图方向。或者,可以使用数字键盘快捷键。

  使用数字键盘上的这些键更改场景的视图方向。此表显示了当摄像机位于场景及其相应数字键盘快捷键的交叉路口时的示例视图方向。在自上而下的视图中,视角也会旋转到指向北方,相对位置关系如下表所示。

 

北( 8 键)

Camera at intersection and pointed north

 

西 ( 4 键)

Camera at intersection and pointed west

自上而下( 5 键)

Camera at intersection and viewing it from a top-down perspective

东 ( 6 键)

Camera at intersection and pointed east

 

南( 2 键)

Camera at intersection and pointed south

 

六、总结

  在使用 RoadRunner 进行场景编辑时,视角控制是一个重要的功能,能够帮助用户高效地导航和操控复杂的 3 D 3D 3D 环境。通过上述方法,用户可以轻松地旋转、放大、缩小以及移动视角,从而准确定位和调整场景元素。掌握如何将视角框定在选定对象上以及根据光标位置调整视角,有助于提升工作效率。此外,用户可以根据需要切换透视和正交投影,以实现不同的视觉效果和精确度。

  通过快捷键和鼠标操作的结合,用户能够灵活地设置视图方向,确保以最佳的角度进行场景设计。这些技巧不仅使得编辑过程更加流畅,还增强了用户对场景整体布局的理解。掌握这些视角控制的基本技能,将大大提高在 RoadRunner 中进行高效设计的能力,使其在交通仿真和规划领域的应用更加得心应手。


参考资料

  RoadRunner 官方帮助文档


后记:

🌟 感谢您耐心阅读这篇关于 RoadRunner 软件简介与视角控制 的技术博客。 📚

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

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

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

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

动图描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/893762.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

IDEA下载安装

文章目录 1、下载安装包2、安装IDEA3、全局配置4、安装插件5、关闭合并菜单栏 1、下载安装包 IDEA官网下载最新IDEA。 上面的ULtimate是旗舰版,试用30天,之后是需要收费的,下面黑色区域的Community是社区版,功能不如旗舰版丰富&a…

nuScenes数据集使用的相机的外参和内参

因为需要用不同数据集测试对比效果,而一般的模型代码里实现的检测结果可视化都是使用open3d的Visualizer在点云上画的3d框,展示出来的可视化效果很差,可能是偷懒,没有实现将检测结果投影到各相机的图像上,所以检测效果…

删除链表的倒数第 N 个结点 | LeetCode-19 | 双指针 | 递归 | 栈 | 四种方法

🙋大家好!我是毛毛张! 🌈个人首页: 神马都会亿点点的毛毛张 这道题还可以用递归法,你想到了吗?毛毛张介绍四种方法 LeetCode链接:19. 删除链表的倒数第 N 个结点 1.题目描述 给你一个链表&a…

【机器学习(十三)】机器学习回归案例之股票价格预测分析—Sentosa_DSML社区版

文章目录 一、背景描述二、Python代码和Sentosa_DSML社区版算法实现对比(一) 数据读入(二) 特征工程(三) 样本分区(四) 模型训练和评估(五) 模型可视化 三、总结 一、背景描述 股票价格是一种不稳定的时间序列,受多种因素的影响。影响股市的外部因素很多,主要有经济因素、政治因…

C++11新特性(4)

目录 1.包装器 2.线程库 2.1thread类的简单介绍 2.2线程函数参数 2.3原子性操作库(atomic) 2.4lock_guard与unique_lock 2.5mutex的种类 1. std::mutex 2. std::recursive_mutex 3. std::timed_mutex 4. std::recursive_timed_mutex 2.6lock_guard 2.7unique_lock 3.支持两个线…

鼠标市场洞察:数据分析揭示消费趋势!

鼠标整体数据分析 一. 概述 本报告基于从淘宝商品搜索接口和淘宝精确月销量接口中提取的数据,分析了前百个品牌在销售额上的占比情况。分析涵盖了销售额和占比的数据,为决策提供了依据。(以上两个接口有需求的可以找我要链接)(数…

概率 随机变量以及分布

一、基础定义及分类 1、随机变量 随机变量是一个从样本空间(所有可能结果的集合)到实数集的函数。(随机变量的值可以是离散的,也可以是连续的。 ) 事件可以定义为随机变量取特定值的集合。 2、离散型随机变量 随机变…

Unity开发Hololens项目

Unity打包Hololens设备 目录Visual Studio2019 / Visual Studio2022 远端部署设置Visual Studio2019 / Visual Studio2022 USB部署设置Hololens设备如何查找自身IPHololens设备门户Unity工程内的打包设置 目录 记录下自己做MR相关:Unity和HoloLens设备的历程。 Vi…

软件企业选择第三方软件检测机构有哪些好处?

在软件开发的当今时代,确保软件的质量和性能是每个企业面临的挑战,因此软件检测公正必不可少。随着市场的需求,越来越多企业会选择将该项工作交由第三方软件检测机构进行。第三方软件检测机构指独立于软件开发方和需求方的第三方机构&#xf…

5、JavaScript(二)

17.对象 1、对象:⽤来存储多个数据的 是由多个键值对/key value对组成的 ⽤来描述⼀个事物的 相当于多个变量的集合 2、格式 :{key:value,key:value} 键/值对 属性名:属性值 3、对象的属性值是不限制数据类型的,甚至还可以是对…

CEEMDAN +组合预测模型(BiLSTM-Attention + ARIMA)

往期精彩内容: 时序预测:LSTM、ARIMA、Holt-Winters、SARIMA模型的分析与比较 全是干货 | 数据集、学习资料、建模资源分享! EMD、EEMD、FEEMD、CEEMD、CEEMDAN的区别、原理和Python实现(一)EMD-CSDN博客 EMD、EEM…

JavaWeb合集05-SpringBoot基础知识

五、SpringBoot基础知识 0、实用方法 0.1 动态获取某个文件路径 //getResource( name:" emp.txt") 更具名称获取资源链接;getFile() 获取文件对象 String filePaththis.getClass().getClassLoader().getResource( name:" emp.txt").getFile(…

数仓建设:如何设计数据治理考评规则?

目录 0 为什么要数据治理? 2 什么是数据治理? ​​​​​​​3 如何数据治理如何落地? ​​​​​​​4 数据考评的指标 5 考核指标列表 6 数仓团队应如何建设? 6.1 ​​​​​​​考评指标分析 6.2 ​​​健康分计算规则…

[Linux#67][IP] 报头详解 | 网络划分 | CIDR无类别 | DHCP动态分配 | NAT转发 | 路由器

目录 一. IP协议头格式 学习任何协议前的两个关键问题 IP 报头与有效载荷分离 分离方法 为什么需要16位总长度 如何交付 二. 网络通信 1.IP地址的划分理念 2. 子网管理 3.网络划分 CIDR(无类别域间路由) 目的IP & 当前路由器的子网掩码 …

ubuntu服务器监控程序崩溃自动重启

环境:监控程序运行情况分为两种情况,一种带界面,一种控制台程序,带界面程序采用脚本监控方式,不带界面采用Supervisor工具监控。 1. 自动重启带界面程序: #!/bin/sh while true; do processExistps aux | …

一些简单的编程题(Java与C语言)

引言: 这篇文章呢,小编将会举一些简单的编程题用来帮助大家理解一下Java代码,并且与C语言做个对比,不过这篇文章所出现的题目小编不会向随缘解题系列里面那样详细的讲解每一到题,本篇文章的主要目的是帮助小编和读者们…

【YOLOv11改进[CONV]】使用SAconv模块魔改YOLOv11 + 含全部代码和详细修改方式

本文将进行在YOLOv11中使用SAconv魔改v11,文中含全部代码、详细修改方式。助您轻松理解改进的方法。 改进前和改进后的参数对比如下: 目录 一 SAconv 二 使用SAconv魔改v11

构建 effet.js 人脸识别交互系统的实战之路

构建 effet.js 人脸识别交互系统的实战之路 文章目录 构建 effet.js 人脸识别交互系统的实战之路前言一、什么是effet.js二、为什么需要使用effet.js四、effet.js能做什么五、使用步骤1.引入库2.main.js中注册全局2.使用3.效果图 六、其他模式讲解人脸打卡人脸添加睡眠检测 在h…

[产品管理-46]:产品组合管理中的项目平衡与管道平衡的区别

目录 一、项目平衡 1.1 概述 1.2 项目的类型 1、根据创新程度和开发方式分类 2、根据产品开发和市场周期分类 3、根据风险程度分类 4、根据市场特征分类 5、根据产品生命周期分类 1.3 产品类型的其他分类 1、按物理形态分类 2、按功能或用途分类 3、按技术或创新程…

OpenCV高级图形用户界面(12)用于更改指定窗口的大小函数resizeWindow()的使用

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 cv::resizeWindow() 函数用于更改指定窗口的大小。这使得你可以根据需要调整窗口的宽度和高度。 注释 指定的窗口大小是指图像区域的大小。工具栏…