Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions chrono/undergraduate/content/chapter2.tex
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ \subsubsection{多智能体一体化仿真能力}

\subsubsection{本土化高保真开源数字资产库}

平台使用UE4引擎创建了具有影视级3D场景渲染和物理模拟能力的系统,能支持Carla所有的数字资产,并且有自己的开放式非国标开放数字资产管理库(CARTA),包含了按照中国道路标准建好的城镇规划图、建筑物、交通标志标识线以及20种具备完整的动力学参数的国产车、187个带有骨骼动作的行人模型及各种各样的道路器材\cite{zhao2025carlascene}。所有的资产都遵守了统一的物理尺寸的规定10,使用git-lfs来处理大型文件资产,并且为了提高渲染速度以及视觉效果,在保证准确性的前提下尽量保持大小不变,可以直接应用于国内交通场景的算法测试当中\cite{li2025virtual}。
平台使用UE4引擎创建了具有影视级3D场景渲染和物理模拟能力的系统,能支持Carla所有的数字资产,并且有自己的开放式非国标开放数字资产管理库(CARTA),包含了按照中国道路标准建好的城镇规划图、建筑物、交通标志标识线以及20种具备完整的动力学参数的国产车、187个带有骨骼动作的行人模型及各种各样的道路器材\cite{zhao2025carlascene}。所有的资产都遵守了统一的物理尺寸的规定,使用git-lfs来处理大型文件资产,并且为了提高渲染速度以及视觉效果,在保证准确性的前提下尽量保持大小不变,可以直接应用于国内交通场景的算法测试当中\cite{li2025virtual}。

\subsubsection{全栈式传感器仿真与扩展能力}

Expand All @@ -35,11 +35,11 @@ \subsection{基于hutb的仿真场景搭建流程}

\subsubsection{预编译版本快速部署流程}

根据一般的算法测试要求,可以直接使用平台上预编译的完整的环境,不需要源码编译,主要过程如下:首先从官方发布的页面下载对应的平台预编译安装包并解压运行启动脚本CarlaUE4.exe(Windows)或者Linux中的CarlaUE4.sh来开启hutb-carlaue4仿真服务器,在终端环境中输入命令'pip install hutb'to一键安装Python API工具包以达到客户端环境的搭建目的,再利用客户端API与本地仿真服务器进行连接(默认IP:127.0.0.1,端口:2000),然后设定各种各样的环境参数如天气、光照、时间等,并且加载相应的中国城镇道路网地图到仿真中去,在此基础上我们还可以创建出一个目标点的主车及多个传感器套件出来,并对其所有的硬件设备以及采集的数据进行设置和追踪功能的操作加以配置之后,就可以按照所设定好的条件和顺序来进行一系列复杂而又繁重的路况模拟试验任务了,而这一切都是依靠着ScenarioRunner这个应用程序程序实现起来的。
根据一般的算法测试要求,可以直接使用平台上预编译的完整的环境,不需要源码编译,主要过程如下:首先从官方发布的页面下载对应的平台预编译安装包并解压运行启动脚本CarlaUE4.exe(Windows)或者Linux中的CarlaUE4.sh来开启hutb-carlaue4仿真服务器,在终端环境中输入命令"pip install hutb"to一键安装Python API工具包以达到客户端环境的搭建目的,再利用客户端API与本地仿真服务器进行连接(默认IP:127.0.0.1,端口:2000),然后设定各种各样的环境参数如天气、光照、时间等,并且加载相应的中国城镇道路网地图到仿真中去,在此基础上我们还可以创建出一个目标点的主车及多个传感器套件出来,并对其所有的硬件设备以及采集的数据进行设置和追踪功能的操作加以配置之后,就可以按照所设定好的条件和顺序来进行一系列复杂而又繁重的路况模拟试验任务了,而这一切都是依靠着ScenarioRunner这个应用程序程序实现起来的。

\subsubsection{源码编译与自定义场景全流程开发}

针对不同的测试场景需求,平台提供完整的源代码编译和自定义场景开发流程:第一步用 git clone 拉取 htb 分支下的最新源码,依照官方中文文档对 UE4 引擎进行适配、环境搭建和全编译,最终得到可供自定义开发的仿真服务器;第二步使用 RoadRunner 工具根据 OpenDRIVE 标准绘制符合中国道路规范的道路中心线、车道线、交通标志、信号灯等要素图,保存为 OpenDRIVE 地形文件,并将其提交到本地路径下以供编辑;第三部将地形文件导入 UE4 引擎并配置完成本土化的 3D 场景资源,从指定版本包下载静态物体及环境设置(例如建筑模型),然后设定材质样式以及光源参数组合效果,并给各个碰撞体添加必要的属性;第四部利用 Hutb Python/C++ API 编写场景运行程序,实现不同类型车辆之间的交互作用,譬如如何让汽车跟随行人行动,或怎样把风力影响计算进去,又或是经由雷达获取信息后做出相应的驾驶判断,所有这些过程均要依靠自定义场景来执行,且在过程中涉及到了大量技术问题解决工作内容,比如系统性能提升策略分析以及硬件兼容性优化方法探究等方面研究成果颇有价值,本课题致力于探索各种新颖有趣应用领域方向前景表现状况发展趋向特点特征所在之处,其背后所蕴含价值意义远超传统意义上学术层面要求范畴限制范围内所能触及到之处之外。
针对不同的测试场景需求,平台提供完整的源代码编译和自定义场景开发流程:第一步用 "git clone" 拉取 hutb 分支下的最新源码,依照官方中文文档对 UE4 引擎进行适配、环境搭建和全编译,最终得到可供自定义开发的仿真服务器;第二步使用 RoadRunner 工具根据 OpenDRIVE 标准绘制符合中国道路规范的道路中心线、车道线、交通标志、信号灯等要素图,保存为 OpenDRIVE 地形文件,并将其提交到本地路径下以供编辑;第三部将地形文件导入 UE4 引擎并配置完成本土化的 3D 场景资源,从指定版本包下载静态物体及环境设置(例如建筑模型),然后设定材质样式以及光源参数组合效果,并给各个碰撞体添加必要的属性;第四部利用 Hutb Python/C++ API 编写场景运行程序,实现不同类型车辆之间的交互作用,譬如如何让汽车跟随行人行动,或怎样把风力影响计算进去,又或是经由雷达获取信息后做出相应的驾驶判断,所有这些过程均要依靠自定义场景来执行,且在过程中涉及到了大量技术问题解决工作内容,比如系统性能提升策略分析以及硬件兼容性优化方法探究等方面研究成果颇有价值,本课题致力于探索各种新颖有趣应用领域方向前景表现状况发展趋向特点特征所在之处,其背后所蕴含价值意义远超传统意义上学术层面要求范畴限制范围内所能触及到之处之外。

\section{Chrono::Vehicle车辆动力学模块化建模体系}

Expand Down Expand Up @@ -171,4 +171,4 @@ \subsubsection{车辆子系统与整车参考系}
\end{figure}

\subsubsection{模拟世界坐标系}
Chrono::Vehicle默认的世界坐标系和车辆参考系是一致的,使用的是ISO标准的Z轴向上坐标系,还可以设置为自定义的世界坐标系,在不同的仿真环境下可以有不同的约定27[]。对于使用Y轴向上的仿真是可以方便地进行设置和切换,如模块提供了一种快捷的方式来设定为X轴向前、Y轴向上、Z轴向右的世界坐标系即ChWorldFrame::SetYUP();另外,还具有各种工具函数比如坐标系的转换,高度获取以及平面投影等等都可以在ChWorldFrame类里用到,从而能够满足多种仿真平台之间的兼容性需求\cite{ge2025rl}。
Chrono::Vehicle默认的世界坐标系和车辆参考系是一致的,使用的是ISO标准的Z轴向上坐标系,还可以设置为自定义的世界坐标系,在不同的仿真环境下可以有不同的约定。对于使用Y轴向上的仿真是可以方便地进行设置和切换,如模块提供了一种快捷的方式来设定为X轴向前、Y轴向上、Z轴向右的世界坐标系即ChWorldFrame::SetYUP$()$;另外,还具有各种工具函数比如坐标系的转换,高度获取以及平面投影等等都可以在ChWorldFrame类里用到,从而能够满足多种仿真平台之间的兼容性需求\cite{ge2025rl}。
2 changes: 1 addition & 1 deletion chrono/undergraduate/content/chapter3.tex
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ \subsection{Chrono算法优化设计}
面对多体物理仿真所遇到的技术难题,研究人员先从 Chrono 核心算法着手做改进工作,目的是提升仿真的精确度以及求解速度;在约束精度优化方面,研究人员使用更准确的约束求解算法来解决约束问题,并对约束方程的求解过程进行改良与调整,减少因约束产生的误差,以保证多体系统的协调运动;另外,将约束分为重要和次要两类,对重要的悬挂、车轮等约束采用较高的求解精度,而对于其他非关键约束则适当降低精度,从而兼顾仿真精度与求解效率之间的平衡;针对动力学求解器迭代的方式进行了优化,选择了一些能自主调整步长的求解算法,在车辆运动较为稳定的时候增加步长以加快进程,在车辆剧烈运动如制动、转向时减小步长保障准确性的同时提高求解的速度;此外研究人员还将并行计算的概念应用到了仿真当中,将多个子系统动力学的计算任务平均分配给不同的计算机处理器去完成,进而提升整体仿真速度;最后,对于Chrono的核心代码做了简化,删除了不必要的计算部分以提高程序执行的高效性。

\subsection{CarlaUE4与Chrono耦合优化}
针对多平台数据交互延迟的问题,相关方对 CarlaUE4、Chrono 之间的耦合过程进行了改进,从而提高数据交互的速度和同步情况\cite{openhutb2025hutb};首先,相关人员改善了数据交互接口的设计,并且制定了一个简单的数据交换协议,减小了数据的传输量并使用UDP协议来实现实时数据传输,降低了解算周期;另外,相关人员将各个平台所使用的数据格式加以整合,防止在数据传递的过程中产生差异而导致误差的发生;接着,在耦合过程中应用到的时间同步技术手段可以使得Chrono与CarlaUE4的仿真步数相一致,从而使两者之间存在的运动不一致性得以消除并且保证各种平台协同仿真的顺畅运行;最后,相关的部分还采取措施来保障数据交换是安全可靠的,并没有受到由外界因素影响而造成的种种困扰的情况;而且也对CarlaUE4的可视化渲染速度做了调整处理工作,并将其效果体现在系统响应能力上以及性能方面表现出来,以此为依托让各项任务都得到有效的完成,并达到预期的目标值所在之处。见表\ref{tab:coupling optimization}。
针对多平台数据交互延迟的问题,相关方对 CarlaUE4、Chrono 之间的耦合过程进行了改进,从而提高数据交互的速度和同步情况\cite{openhutb2025hutb};首先,相关人员改善了数据交互接口的设计,并且制定了一个简单的数据交换协议,减小了数据的传输量并使用UDP协议来实现实时数据传输,降低了解算周期;另外,相关人员将各个平台所使用的数据格式加以整合,防止在数据传递的过程中产生差异而导致误差的发生;接着,在耦合过程中应用到的时间同步技术手段可以使得Chrono与CarlaUE4的仿真步数相一致,从而使两者之间存在的运动不一致性得以消除并且保证各种平台协同仿真的顺畅运行;最后,相关的部分还采取措施来保障数据交换是安全可靠的,并没有受到由外界因素影响而造成的种种困扰的情况;而且也对CarlaUE4的可视化渲染速度做了调整处理工作,并将其效果体现在系统响应能力上以及性能方面表现出来,以此为依托让各项任务都得到有效的完成,并达到预期的目标值所在之处。见表\ref{tab:timestamp}。

\begin{table}[H]
\centering
Expand Down
Loading