1.我做了个chatPPT(含源码和prompt)
2.自动驾驶笛卡尔坐标系和frenet坐标系相互转换
3.2021 开源驾驶仿真平台测评
4.如何快速入门开源自动驾驶模拟器lgsvl?驾驶驾驶
5.ROS博客基于ROS的自动驾驶数据集可视化项目(附源代码)
6.Autoware.universe 源码解读(一)
我做了个chatPPT(含源码和prompt)
在现代科技的推动下,自动驾驶的考试考试发展现状正逐渐成为汽车行业瞩目的焦点,其关键在于不断突破技术瓶颈和法规限制。源码源码自动驾驶的驾驶驾驶核心技术包括感知、决策和控制,考试考试而各种智能算法的源码源码源码强化融合与优化是实现自主驾驶的关键。近年来,驾驶驾驶深度学习和人工智能的考试考试融合显著提升了自动驾驶的性能,如GPT 3.5 TURBO的源码源码运用,为车辆提供精确的驾驶驾驶环境感知和路径规划能力。
另一方面,考试考试感冒类型的源码源码区分也至关重要。我们通常区分病毒感冒和细菌感冒,驾驶驾驶前者由病毒引起,考试考试后者则主要由细菌引发。源码源码症状和治疗方法有所不同,科学的诊断是选择合适疗法的前提。对于预防和治疗,了解这些基本知识有助于我们更好地应对感冒季节。
在车机开发流程中,创造性的应用技术为简化工作提供了可能。通过自动化工具,如输入话题就能生成专业的PPT,功能强大,能够自动生成文本、润色标题、选择色彩并插入AI插图。这个过程巧妙地结合了GPT 3.5 TURBO的文本生成能力,Dalle2的图像转换技术,以及python-pptx库来构建出高质量的演示文档。然而,务必确保科学上网以访问开放AI接口,同时注意费用问题,可能需要寻找替代方案来降低成本。
在使用源码时,务必遵循一些注意事项。首先,确保网络环境允许访问开放AI接口;其次,合理安排接口调用次数,以避免因长度限制而影响生成内容的完整度。同时,记得优化代码以提高效率和节省资源。
通过这些工具和技巧,我们可以快速创建专业且个性化的PPT,极大地提升了工作效率。在实际应用中,如上所示,一个示例JSON数据详细展示了如何将数据组织成PPT内容,源单词源码包括页面标题、子标题、列表项以及颜色选择,为实际演示提供了清晰的结构和视觉呈现。
总的来说,自动驾驶的探索和感冒知识的理解,以及利用先进技术创建有影响力的PPT,都是我们日常生活中科技与生活融合的生动例证。通过巧妙地整合AI工具和编程技巧,我们能创造出既高效又富有吸引力的内容,展现出科技的力量和创新的无限可能。
自动驾驶笛卡尔坐标系和frenet坐标系相互转换
自动驾驶中的车辆运动在笛卡尔坐标系和Frenet坐标系之间转换是关键。在笛卡尔系统中,车辆运动通过航向角[公式]和曲率[公式]描述,而在Frenet坐标(S-L坐标)下,车辆运动则用[公式]表示,其中下标[公式]和[公式]分别代表车辆和参考点,对时间求导用点表示,对自变量求导用撇表示。 Frenet坐标系常用于路径规划,通过先在S-L坐标系规划轨迹得到[公式]关系,再在S-T图规划速度得到[公式]。参考线通常用散点表示,包含位置[公式]、切线方向[公式]、曲率[公式]等信息。在Apollo源码中,涉及如下转换:从笛卡尔的[公式]和[公式]转换到S-L的[公式]和[公式]
从S-L的[公式]到笛卡尔的[公式]
例如,从笛卡尔到S-L,首先找到最近的参考点,通过向量关系推导出[公式],然后利用速度关系式[公式],结合向心力类比的Frenet公式推导出[公式]。整个过程涉及速度的定义、链式求导法则和Frenet公式的应用。 在S-L坐标到笛卡尔坐标转换时,通过参考点的几何位置和车辆与参考线的关系,可以计算速度、加速度等参数,从而完成坐标间的转换。这些转换公式确保了自动驾驶系统在不同坐标系间的运动描述和控制的灵活性和准确性。开源驾驶仿真平台测评
终于,在沉迷论文之外,我开始上手生疏了快一年的实验和代码。一个萌新,空降驾驶决策方向,除了真车以外,桔子跑分源码最大的吸引力必然来自驾驶仿真器了。想想吧,每天的工作仿佛像是在给GTA V写合法外挂,心不心动?因此,尽管学长们安利了CARLA,但是,既然电脑装得下,我还是决定要把近几年新出的仿真器全试一试,再决定用最好的那个。
作为一个贫穷的研究人员,我心目中理想的驾驶仿真器是这样的(优先度排列):
描绘出理想的模样,就该开始找候选人了。《年自动驾驶仿真蓝皮书》基本把现有的驾驶仿真器都列举了一遍,经过快速的检查,首先排除以下商业仿真平台:
CarSim, CarMaker, Cognata, rFpro, VTD, AAI, TAD Sim (腾讯,未找到开放网址), Metamotor (年被收购), GaiA, Sim-One, PanoSim, Parallel Domain (这个的demo是真的好看), CarCraft (Waymo内部使用,不对外开放), VI-WorldSim, PTV Vissim
许愿一个大佬测评以上软件,如果大家众筹让我测评也不是不可以(手动狗头)。
顺带一体,所有基于GTA V的仿真器似乎在几年前已经被R星叫停了,考虑到版权因素,应该在有发表需求的研究里是不能用了(但私底下谁不想拿它玩一玩呢)。
在剔除了海量精美的付费软件之后,清单上剩余的免费/开源仿真器就屈指可数了。
接下来,将从应用场景,用户体验,安装难易度等方面对这些软件进行测评,部分仿真器提供视频展示(流量预警)
测试环境:Ubuntu . + CUDA .2 + NVIDIA Driver ..
硬件配置:i9-X CPU + GB RAM + RTX Super GPU (8GB)
警告 CARLA
仿真器简介:Carla是一个开源的驾驶仿真器,由C++ 和虚幻引擎构成。通常适用于驾驶决策仿真任务。可输出的数据模态包括图像,激光雷达,雷达,语义,GPS,IMU等,可自由配置。
安装指南: CARLA Simulator
Carla官方的安装文档已经非常成熟了,如果只是运行仿真器,下载可运行程序就够了。想自己折腾的就从源码开始编译,我写文章的时候0.9.还不够稳定,推荐0.9.,无脑跟教程走只会遇到一个bug。就是make build的时候libboost目前调用的是1..0版本:
首先,你需要手动下载boost-1..0的E语言CSGO源码压缩包;其次,如果你在编译过程中遇到了什么字符相关的库找不到的报错,可能是因为boost-1..0某些版本中这个悲伤的bug导致的,就是自定义的函数命名和默认C语言库起了冲突(大致是这个原理,具体细节还请放过一个三年没写C的孩子)。处理方法要参考 这里,解压boost-1..0,将自定义的string.h 和调用这个库的所有地方改成其他名字,然后再打包,扔到/Build 下面;最后,记得在/Util/BuildTools/setup.sh 的对应行进行修改,以防build过程中自动删了你改过的包。
如果是走Linux Build路线又想要可直接运行的./CarlaUE4.sh,在make launch成功后跑一下make package就行了。这一个细节不知道为什么官方文档上写得不是特别清楚,可能是他们觉得太简单,我们可以自行领悟吧。
用户体验:
在体验完一圈驾驶仿真器之后,看到CARLA我真是感动得泪流满面,简直是出走后四处碰壁的游子回到了温暖的家。经典果然还是经典,CARLA的动力学仿真确实是所有仿真器中最正常的,天气系统和NPC的行为也非常正常,应该是一直在优化的。基本上驾驶决策常用的数据模态都有提供(事件相机和红外相机没有,这是AirSim的独门绝技),获取也很方便,总之一句话,赞美CARLA。
仿真器展示:
SUMO
仿真器简介:SUMO 全称 Simulation of Urban MObility,是一个开源的驾驶仿真器,主要用于交通流仿真,也可用于车间通讯仿真、验证交通模型等任务。
安装指南:sudo apt-get install sumo sumo-doc sumo-tools
仿真器部分功能展示:
最开始,看到这个软件简陋的界面时,我以为大概没什么好说的,然而,很快,我看到了前人的SUMO使用心得。对不起,是我头抬得太高了。
SUMO仿真文档_妈妈说不要造轮子-CSDN博客
SUMO使用技巧_妈妈说不要造轮子-CSDN博客
由于SUMO的仿真任务和我没有太大关联,而且仿真大程度上依赖于用户自己导入的数据,而我手头暂时没有,所以就放一张从 OpenStreetMap导入到SUMO的地图吧~
看起来很简陋?放大地图后,每个路口的细节都标注得一清二楚。我开始心动了。js源码自动抢购
而从年开始,CARLA开始支持和SUMMO,VISSIM 联合仿真。我觉得自己好了,自己行了,下一期测评就它吧(如果没有教程的话可以考虑写一版了)。
MATLAB - 自动驾驶工具包 & RoadRunner
码着,过两周有空再写。计划要用RoadRunner和CARLA快乐联动,不过好像地图太大会导入事故,反正卫星先放着。
LGSVL
仿真器简介:这是由LG公司基于Unity开发的驾驶仿真器。适用于驾驶决策任务。输出的数据模态包括图像,激光雷达,雷达,语义,GPS,IMU等,可以通过json文件自由配置。
安装指南: Installation procedure - SVL Simulator
确认配置符合要求之后,直接下载即可。Linux下记得右键性质,允许程序运行。
用户体验:
从可视化交互界面来说,LGSVL是做的最好的。一键变天,一键加传感器,包括上传代码,全部可以在网页界面完成。但是呢,车的动力学着实有点迷惑,您的车是完全没有摩擦力的吗?按下前进键之后,即使松开,地面也仿佛没有摩擦力一般,车辆会一直保持匀速前进。但是如果想用这个仿真器来做模仿学习,录入数据大概会很痛苦。点云的仿真很有问题,肉眼可见的有误差。npc也是非常迷惑,比如,骑自行车的人比开车的还快;过马路的时候只要绿灯了,npc车辆就直接从npc附近碾过去。而目前还没有提供改npc的接口。此外,目前提供的地图还太少了。如果再过几年,可能会成长成一个厉害的仿真平台,目前只能持观望态度了。
Apollo
仿真器简介:由百度-阿波罗开发的驾驶仿真平台。少数既可以在线仿真,也可以自己电脑安装运行的仿真器。适用于驾驶规划仿真,路径预测等任务。
安装流程:
用户体验:
革命尚未成功,同志仍需努力。离成为一款成熟的仿真器,Apollo还有很长时间要走。官方提供的场景比较少,大型地图屈指可数,文档支持也不够完善。封装得比较严实,不过改地图,放npc的自由设置空间还是有的。再过几年,还是有潜力成长成一个优秀的仿真器的。
仿真器展示:
AirSim
仿真器简介:由微软开发的仿真器,基于虚幻引擎。主要面向无人机仿真,也提供了驾驶仿真的接口。适用于驾驶决策仿真任务。输出的数据模态包括GPS,IMU,RGB图像,深度图,语义分割,红外相机,事件相机,点云(需要额外配置)。
安装指南: Welcome to AirSim
用户体验:
这款仿真器更适合Windows系统用户。Github上提供的地图适用于驾驶仿真的寥寥无几,而虽然AirSim可以从 Unreal Engine Market中获取更多可用于自动驾驶的地图,其中绝大多数都只兼容Windows,最终导致在Linux中适用于自动驾驶任务的只有一款非洲大草原。
仿真器展示 启动任意地图都会加载setting.json 文件的配置,子窗口的内容需要按0 才会显示。
SUMMIT
论文: SUMMIT: A Simulator for Urban Driving in Massive Mixed Traffic
适用任务:驾驶决策仿真
输出数据:RGB图像,点云,深度图,语义分割,碰撞判定等,CARLA有的它都有。
安装指南: Ubuntu .安装基于CARLA的SUMMIT无人驾驶仿真平台
不建议在.上安装,可能会因为clang版本出现大问题。Ubuntu ./.挺好的。
用户体验:
在测评开始之前,我期望值最高的一款仿真器就是SUMMIT,按照论文所宣称的,这是“CARLA的改进版“,”能够模拟更为复杂的交通情况“,”利用SUMO轻松导入世界地图“。而实际情况呢?这款软件很大程度上照搬了CARLA 0.9.8,对应了两年前的UE4.,这一前置条件已然导致了虚幻引擎在现有的Ubuntu上闪退概率更高。而在我千辛万苦装上之后,原创的demo程序一个也跑不起来,根据写得奇烂无比的官方文档——我第一次看到民间教程能比官方写得更详细靠谱的,只能模模糊糊猜它的地图导入方法——依旧繁琐复杂。最终,不祥的预感在我查到了论文的发表时间时达到了顶峰,年ICRA accept,大概从投稿之后,作者就没有再积极地维护过整个路径,最新的更新(.)只是改了改依赖的SUMO版本和PythonAPI中的小细节。可以看出,作者根本没有随着引擎更新和CARLA更新进度改进仿真器的动力。对于任何试图长期使用这款仿真器的人来说,这都是一个危险的信号。
Udacity
Term 1 - 车道保持;Term 2 - 轨迹定位 & 追踪;Term 3 - 高速场景下的轨迹规划。
适用任务:驾驶决策任务体验与教学
安装指南:
如果顺利的话,会看到这样的界面,选择分辨率和画质,然后就能开始仿真了。
用户体验:
作为一款和在线课程绑定的驾驶仿真平台,Udacity的优点和缺点都很明显:安装最为方便快捷,几乎对电脑配置没有要求。另一方面,场景少得可怜,动力学模拟差到悲伤。只适合用于了解自动驾驶决策模型的设计原理和流程,无法实际应用。
此外,Udacity有一个致命问题,它在Ubuntu下并不稳定。我是并行安装所有平台的,结果刚打开最先安装好的Udacity,它就快乐地崩了,电脑重启,我+GB的内容全部得重新下载(╯-_-)╯╧╧
TORCS
适用任务:驾驶决策任务体验与教学
仿真器简介:TORCS本职是一款游戏,但是优秀的前辈们通过各种蛇皮操作,让它同样可以应用于驾驶仿真中。最开始,我对TORCS非常嫌弃,这都年了,怎么还有人会用这种分辨率的软件。但是,考虑到现实中,很多本科生是买不起显卡的,而这是为数不多不需要显卡就能跑的仿真器,还拥有过相当大的用户基数和多样的地图库,所以,对于特定人群来说,这个仿真器恐怕还是无可替代的。
安装流程: Ubuntu.搭建 TORCS无人驾驶训练 开发环境
gcc版本如果太高会编译失败,我用gcc-5过了,注意,Ubuntu .不支持低于gcc-7的版本。
仿真器展示:
如何快速入门开源自动驾驶模拟器lgsvl?
LGSVL是由LG电子美国研发实验室构建的自动驾驶模拟器,基于Unity引擎开发,支持与百度Apollo、Autoware.AI等联合仿真。SVL日落计划已于年1月1日启动,开发者团队将不再更新版本,但文档和源代码会维护至6月日。SVL适用于L4/L5自动驾驶车辆、L2/L3 ADAS/AD系统、仓库机器人、户外移动机器人、未来移动服务、自动赛车、传感器系统开发、汽车安全、合成数据生成及实时嵌入式系统开发。
SVL提供了两种安装方式:一是下载编译好的安装包直接安装;二是下载源代码编译生成可执行文件。本篇指南仅介绍第一种方法。SVL支持Windows和Linux系统。
在Windows系统中,建议使用svlsimulator-windows-.3版本。确保为Win 位系统,无需安装NVIDIA显卡和驱动(如需感知功能则需安装)。安装Docker,从docker.com/get-started/下载并启动。在SVL官网注册账号,接收并点击确认邮件。下载并解压Windows安装包,双击运行simulator.exe。首次运行时,需点击“LINK TO CLOUD”。新建集群,搜索并添加本地集群,选择本地建好的集群,设置控制模式,最后运行模拟。
为深入学习和使用SVL,访问其官网和官方文档:svlsimulator.com/和svlsimulator.com/docs/。查阅SVL的开源代码:github.com/lgsvl/simulat...。关注后续文章,了解如何搭建SVL开发环境。
ROS博客基于ROS的自动驾驶数据集可视化项目(附源代码)
项目简介
基于加州大学伯克利分校 MSC Lab的自动驾驶数据集,本项目旨在进行数据集的可视化。项目源代码已上传至 GitHub,英文版文章与演示视频也已准备就绪。
数据集展示
左侧展示了GPS信号的可视化,通过 Mapviz 工具,将行驶过程中走过的路径显示出来,左上角则呈现了车前摄像头的视角。右侧是自定义的可视化,利用绿色代表 y 轴正方向,蓝色表示 x 轴正方向。紫色圆点表示汽车行驶过程中各个方向的加速度信息,天蓝色箭头指示汽车前进方向,绿色则代表不同强度的加速度。
问题与解决方案
在使用 Mapviz 可视化 GPS 信号时,遇到了数据格式不匹配的问题。通过在自定义的 package 中编写 `trans_GPS.cpp` 文件,成功实现了数据格式转换,解决了数据可视化的问题。同时,还撰写了关于 Mapviz 的基础使用教程。
加速度信息的可视化涉及确定坐标轴方向、避免信息跳动以及直观显示加速度大小。通过在 RVIZ 中绘制 x 和 y 轴,并使用平滑器处理频繁读取的 IMU 数据,成功解决了这些问题。极坐标系的引入使得加速度大小的显示更为直观。
汽车前进方向的可视化涉及到姿态信息的获取与 RVIZ 显示角度的调整。通过分析 IMU 的 orientation 数据,并设置 marker 的 orientation 值,实现了方向的正确显示。
相机信息的可视化面临格式转换问题。通过使用 `image_transport` 包装解决了传感器数据格式不兼容的问题。
总结
在本项目中,通过学习与实践 ROS 相关知识,成功实现了自动驾驶数据集的可视化。接下来,将集中精力深入学习 OSM 的使用,并着手进行 GPS 定位与搜索的小项目开发。
Autoware.universe 源码解读(一)
在Autoware的自动驾驶仿真软件中,launch文件起着至关重要的作用。autoware.launch.xml是其中一个基础的launch文件,它使用XML语言编写,以定义启动ROS节点、参数和设置默认值。这个文件的核心结构包括version="1.0"(XML 1.0版本)和encoding="UTF-8"(UTF-8编码)。
文件的前半部分侧重于参数定义和设置,包括地图路径、车辆模型、传感器模型和点云容器,这些都可以通过传递参数进行灵活调整。例如,vehicle_id和launch_vehicle_interface是两个全局参数,vehicle_id默认值为环境变量VEHICLE_ID的值,而launch_vehicle_interface默认为true,表示是否启动车辆接口。
参数check_external_emergency_heartbeat控制外部紧急停车功能,当不需要时需将其设为false。system_run_mode和launch_system_monitor等参数分别定义了系统的运行模式和是否启动系统监视器。此外,rviz可视化工具的启用、rviz配置文件路径,以及感知模式的选择等也被详细定义。
launch文件中还包括一个include标签,引入了global_params.launch.py,该文件通过arg标签传递参数,以进行更精细的配置。例如,如果launch_vehicle设置为true,它将启动vehicle.launch.xml,并传递参数。
总的来说,autoware.launch.xml通过巧妙地定义和传递参数,灵活地控制和配置Autoware的各个子系统,以实现自动驾驶的模拟和测试。