• [行业资讯] 比亚迪拟自研智能驾驶芯片,欲强补智能化
    补上智能化的短板,比亚迪选择从熟悉的领域入手。比亚迪正计划自主研发智能驾驶专用芯片,该项目由比亚迪半导体团队牵头,已经向设计公司发出需求,同时自身也在招募BSP技术团队。“如果进度快,年底可以流片。”一位消息人士告诉36氪。BSP是板级支持包(board support package),作用是给芯片上运行的操作系统提供一个标准的界面。行业人士透露,从BSP入手,启动芯片研发的情况并不罕见,“芯片不是首要的,可以在开发板上开发BSP,等芯片出来了,再做联调。”针对上述信息,36氪向比亚迪求证,截至发稿,暂未获得回应。比亚迪的半导体团队已经成立近20年,在2020年分拆独立,向深交所提交招股书,谋求上市。在此之前,比亚迪半导体产品主要是IGBT、MCU等电控和工业芯片,智能驾驶芯片和数字座舱芯片尚未涉足。但随着智能化成为车企竞争的核心阵地,比亚迪的策略显然也在调整。今年6月8日,比亚迪董事长王传福在股东大会上直言,“新能源汽车的上半场是电动化,下半场是智能化,比亚迪在智能化领域,会像在电动化领域一样,将所有核心技术打通,并进行充分验证。”这个共识在新造车阵营中已被实践。特斯拉,国内的蔚来、小鹏汽车和理想汽车等,都已经建立起庞大的智能驾驶研发团队,36氪此前曾多次独家报道,蔚来的智能驾驶团队已经超过800人,且组建了智能驾驶芯片自研团队,目前已经从华为、阿里达摩院等公司广泛招募人才。而小鹏汽车的策略几乎一致,自研算法团队遍布中美,并且也在两地设立了芯片研发团队,目前正在和芯片公司Marvell合作,推动自身的芯片研发。今年6月初,比亚迪市值冲突万亿人民币大关,名列全球车企市值第三,也是中国首家万亿市值的车企。这项成绩的取得基于这家公司在电动力领域长年的积累,例如自研自产的动力电池、电机、电控、混动技术以及半导体等能力,但是在智能化领域,比亚迪的布局稍显滞后。比亚迪研究院虽然拥有千人规模,但智能化的研发成果更多是车机系统Dilink,而在智能驾驶方面,比亚迪仍需借助外力。2021年,比亚迪和自动驾驶公司Momenta合作,成立了自动驾驶公司,同时期,也和百度、英伟达等公司宣布合作。“这不是比亚迪的风格。”一位接近比亚迪高层的行业人士向36氪分析,比亚迪一向的偏好就是垂直整合,在智能驾驶上,也不大可能放弃核心技术的掌控权,而从硬件和芯片切入,“正是比亚迪擅长和熟悉的领域,也符合这家公司一惯的打法。”芯片是智能驾驶系统的底层技术,小米CEO雷军曾表示,硬件工业大量的技术门槛和技术积累,最后都是用芯片形式来体现。市场上虽然已经有可供选择的智能驾驶芯片,但大都为通用芯片或者小算力芯片,并不一定完全满足车企需求。有硬件工程师向36氪评论,芯片自研的一个好处是物尽其用,“可以将性能、稳定性发挥到最佳,相比通用芯片,也能去掉一些用不到的东西,降低成本。”2022年,比亚迪制定了年销近200万辆的销售目标,这无疑会帮助该公司登顶国内新能源车销量榜首,而36氪了解,此后数年,比亚迪都有销量翻番的目标。这是一个激进的市场攫取计划,显然需要更扎实的产品力。多位行业人士向36氪表示,当下的新能源车正在快速起势,因此,各个细分市场还未进入充分竞争阶段,尤其是15万-25万元之间的主流市场,目前只有小鹏汽车、比亚迪等少量玩家,而到2024年,理想汽车、蔚来汽车、小米汽车等,都会向该价格区间推出车型。激烈的角逐背景下,对每个玩家的产品、技术、市场、渠道能力都会是全方面的考验。进入万亿市值俱乐部,野心勃勃的比亚迪,显然不会在智能化上落下脚步,从这个视角看,王传福的行动无疑还会加快。
  • [行业资讯] 上海东海大桥设置自动驾驶测试专用道,启用时社会车辆禁入
    IT之家 7 月 14 日消息,上海交警今天宣布,为保障东海大桥自动驾驶测试车辆与社会车辆行车安全,根据《中华人民共和国道路交通安全法》等相关法律规定,自 2022 年 7 月 18 日起,在东海大桥实施自动驾驶测试专用道的管理措施。自动驾驶测试专用道设置在东海大桥双向最外侧三号车道。专用时段为每日 10 时至 13 时,周六、周日和全体公民放假日除外。自动驾驶测试专用道在规定时段内供自动驾驶测试车辆专用行驶,其他车辆不得驶入,执行紧急任务的特种车辆、救护车、实施清障施救作业的车辆除外。对违反规定驶入自动驾驶测试专用车道的,公安机关将依据《道路交通安全法》第 37 条、第 90 条规定,对“机动车违反规定使用专用车道的”违法行为予以 100 元处罚。IT之家了解到,上个月上海市人民政府办公厅印发《上海市数字经济发展“十四五”规划》(以下简称“规划”)。规划称,围绕数字新产业、数据新要素、数字新基建、智能新终端等重点领域,加强数据、技术、企业、空间载体等关键要素协同联动,加快进行数字经济发展布局。在打造智能新终端的智能网联汽车方面,规划提出,加快推进智能网联汽车技术研发和落地量产,打造智能便捷低碳的未来出行体验,开辟移动“第三空间”。加快核心部件和系统研制,推动激光雷达、毫米波雷达、车载芯片、车载操作系统和 V2X(车用无线通信技术)设备等领域取得突破,培育一批智能网联整车生产及电子核心零部件龙头企业和“隐形冠军”。规划还指出,将拓展车联网应用场景,推动自动驾驶技术在交通领域的试点应用。探索“人、车、生活”一体化消费新模式,加速互联网、消费娱乐、旅游和金融等行业与车联网、自动驾驶产业融合应用。而在此前发布的《上海市促进智能终端产业高质量发展行动方案(2022—2025 年)》中也指出,将大力发展智能网联汽车、智能机器人、虚拟现实交互、智能家居、智能穿戴等智能终端,目标到 2025 年,打造 10 款以上爆款智能网联汽车。其中,在智能网联汽车方面,上海市将支持传统车企、造车新势力和科技公司紧抓消费趋势,打造具有上海标识度的爆款品牌;加快无人出租车、智能公交、智能重卡等商用终端落地推广,推进测试示范和商业运营发展;加快研发智能驾驶、智能网联和智能座舱核心系统。
  • [行业资讯] 8月起深圳无人驾驶登记后可上路
    近日,深圳市人大常委会网站发布《深圳经济特区智能网联汽车管理条例》经深圳市第七届人民代表大会常务委员会第十次会议于2022年6月23日通过,自2022年8月1日起施行。 届时,经登记后的无人驾驶汽车可上路行驶,无人驾驶可在市公安机关交通管理部门划定的区域、路段行驶。 这是国内首部关于智能网联汽车管理的法规,也意味深圳成为首座对L3级乃至更高级别自动驾驶放行的城市,当前热门的无人驾驶、自动驾驶、高阶辅助驾驶等技术上路行驶将真正实现有法可依,对于后续相关技术的商业化落地,以及其他城市甚至国家层面制定相关政策法规都将起到积极的借鉴意义。
  • [行业资讯] 当自动驾驶汽车不知道该怎么做时,远程操作会介入
    在不久的将来,自动驾驶汽车将能够独立处理大多数任务。然而,它们还不能应对所有的交通状况。如果它们遇到不知道如何解决的问题,安全是首要考虑因素。大多数情况下,这意味着把车开到路边并停下来。德国航空航天中心 (DLR) 正在对这些车辆的远程操作进行研究,以便在未来安全、快速地处理此类状况。在不清楚如何处理的情况下,自动驾驶汽车可以向技术主管请求远程操作支持。远程操作——技术桥梁和法律要求DLR 交通系统研究所的 Michael Oehl 说:“自动驾驶汽车的远程操作是一座桥梁,可以将自动化领域的现有技术迅速投入使用并应用到道路上”。他的团队的工作重点是SAE 4级的自动驾驶,其中自动化接管了所有的驾驶任务。乘员无需干预,即使使用方向盘等控制元件仍然可以做到这一点。自动驾驶分级标准由SAE(前身为汽车工程师学会)制定,这种分级从0级到5级不等。在0级,车辆没有任何自动化。5 级相当于完全自动化,车辆完全自主,在所有的道路和环境条件下行驶。乘客只是乘客,人类不再需要干预,即使是通过远程操作。如今,4 级还不能在日常生活中使用,但是在很多地方,包括德国,已经有了使用它们的法律框架。《自动驾驶法》于 2021 年 7 月生效,随后《自动驾驶条例》对规则进行了更详细的规定。该法律允许4级在特殊路段、物流中心和高速公路等特定区域内自动驾驶。这为使用无人驾驶班车运送人员或货物等提供了可能性。对于操作和责任,法律定义的远程操作或技术监督起着决定性的作用。高度自动化的车辆 (4级) 变得越来越先进。然而,由于车辆可能遇到的潜在情况非常多,因此其自动化还不能无缝处理所有这些情况。远程协助作为远程操作的一种,是一种援助方式。专注于人类和自动化的协同工作Michael Oehl 说:“我们正处于开发初期,对于如何使车辆远程操作安全高效,我们有很多想法和概念。”“目前,我们主要关注人与自动化之间的交互,以及所需的界面设计——人机界面,简称 HMI。例如,我们正在研究远程操作工作站可能采用的形式、工作对人员的要求,以及如何从工作和工程心理学的角度进行工作站设计”。人为因素——远程操作的要求和工作场所设计未来,几个配备显示器、用户界面和耳机的远程操作员可以坐在一个控制中心,指导SAE 4级的自动驾驶车辆通过复杂的路段。例如,在尚未纳入系统的施工现场,汽车不会自动驶过,而是停在原地,因为车辆的自动化系统不知道如何操作。然而,在他们能够应对这些众多场景之前,DLR 的研究人员仍然必须解决一些基本问题。绘制车辆地图以进行监控的最佳方式是什么?需要哪些信息?一个人可以同时在屏幕上监控多少辆车?高度自动化车辆中的摄像头可以提供什么样的实时图像来帮助技术主管做出决策?处理援助请求平均需要多长时间?操作员需要多长时间才能做出决策?Michael Oehl 说:“在这种监控任务中,警惕性尤为重要。在研究中,我们用这个词来描述一种持续警觉的状态。即使长时间没有任何事情发生,你也必须能够在发生时快速做出反应。远程操作工作站必须经过专门设计,以防止出现人们分心或开始感到疲劳的情况。就像火车司机或飞行控制员一样,这些操作员不能经常过度工作。为了在车辆远程操作的背景下更深入地研究这些问题,该团队建造了一个工作站原型。通过这种方式,研究人员正在以一种面向应用的方式研究远程操作员未来在其工作站中需要哪些信息,以便能够在车辆自动化系统不清楚如何做的情况下快速、安全地支持SAE 4级自动驾驶汽车”。(编译:iothome)原文链接:https://www.iothome.com/archives/7263
  • [行业资讯] 完全无人+载人+收费三盏绿灯何时亮相?
    对于完全无人驾驶商业化来说,都要经历主驾驶有无安全员、可不可载人(也就是载客)、可不可以收费这三个主要的流程,这也是自动驾驶到完全无人驾驶商业化的三个红灯,需要自动驾驶公司、监管机构共同努力,一个个将红灯变为绿灯。   这一波自动驾驶探索的热潮,从2009年的谷歌X实验室的无人车组开始,发展到今天已经有13个年头了,中国和美国等全球范围内也涌现出大量的自动驾驶初创公司,所有的公司都在为亮起上述三盏绿灯而努力。   要实现真正的完全无人驾驶商业化,是需要包括法律法规、车辆平台、传感器硬件、民众接受等整个产业链生态以及社会生态的成熟,在现在有着海量资本和人才的进入,对亮起三盏绿灯真正实现无人驾驶商业化有着巨大的促进作用。   更重要的是,无人驾驶的到来,可以让老人、儿童、残障人士等特殊人群,可以更方便的自由出行。当然了,前提是要做好针对性的交互,例如,小马智行在三年前就针对需要依赖轮椅出行的残障人士对无人驾驶测试车辆进行优化。   随着自动驾驶技术的进步、以及监管政策的突破,北京市高级自动驾驶示范区有望会在今年年底前,允许完全无人(也就是无安全员)+可载人(载客)+可收费,这意味着三盏绿灯同时亮起,无人驾驶商业化在政策上得到了许可。   但小马智行认为,自动驾驶系统的大规模量产、Robotaxi要在全国范围内大规模部署,还需要3-5年的时间。实际上,这也是整个行业的共同目标。根据特斯拉在2022年Q1的财报电话会的信息,特斯拉有望在明年推出无方向盘、无踏板的完全无人驾驶汽车,而Waymo和吉利也在合作量产完全无人驾驶车型。   无论是完全无人驾驶车辆的量产,还是Robotaxi的法律法规,都需要时间去突破,这一切都在全行业的努力下向前发展,让我们共同期待无人驾驶的Robotaxi的到来。 转载于车智微信公众号
  • [行业资讯] 中国无人驾驶商业化新突破:小马智行获北京无人驾驶载人测试牌照
    北京时间4月28日,北京颁发了首批“无人化示范应用道路测试”通知书,根据规定,获得通知书许可的企业,可以在亦庄经济开发区60平方公里核心区范围内利用无人化测试车辆提供“主驾无安全员、副驾有安全员”的载人服务(无人化Robotaxi),这使得北京成为全国首个开启乘用车无人化运营试点的城市,而小马智行是获得许可的唯一一家初创公司。   在本次无人化示范应用道路测试规定中,最大的意义在于政策上允许拿掉主驾驶的安全员!虽然副驾驶仍旧保留安全员,实际上除了预防需要人接管的突发情况外,更大的作用是在于安抚乘客和其他道路参与者等公众的心理。作为破坏式的创新技术,乘客和公众需要时间去接受无人驾驶技术的到来。   为什么北京可以走在全国的前面,首次颁发无人驾驶载人测试牌照,将无人驾驶的商业化往前推进的一大步?这里面是北京市高级自动驾驶示范区专班在政策上、自动驾驶企业在技术上,双方共同努力突破的结果。监管者和参与者的共同合作,目的是逐步向公众提供安全可靠、成本有优势的完全无人驾驶Robotaxi服务。    01无人驾驶载人测试许可的背后 北京本次颁发的无人驾驶载人测试运营牌照,将安全员从传统意义的主驾驶位,移到了副驾驶位,是在缓慢的让乘客、道路其他参与者以及公众等,逐步接受完全无人驾驶Robotaxi的到来。   由于将安全员从主驾驶挪到了副驾驶,这对技术上的保障、对乘客和其他道路参与者的认知、对政策的支持,都提出了新的要求。   作为首批获得北京“无人化示范应用道路测试”通知书的初创公司,小马智行拿到这个牌照付出了巨大的努力。   为了验证技术上的安全性,小马智行在车辆硬件上设置了多种的安全冗余,并且配备了无需依赖5G网联的自动驾驶远程辅助平台,更重要的是,小马智行通过1100万公里真实道路测试和大量的虚拟仿真测试,共同验证技术的安全性和可靠性。在广州也提供了近千人次的无人化Robotaxi的体验服务,值得一提的是,小马智行在4月24日获得广州南沙给自动驾驶公司颁发的出租车经营许可。   在乘客和其他道路参与者的认知上,对于乘客而言,车上还有一个安全员,虽然是坐在副驾驶上,但是,在心理上对安全的暗示作用是非常大的,乘客通过Pony Pilot+ APP上打到一辆主驾驶上没有安全员的车辆时,不至于会在心理上有抗拒或者不安全的感觉。对于其他道路参与者而言,提供这类服务的车辆会有特殊的车身标识。让乘客和公众逐步接纳,也是无人驾驶商业化不可或缺的一个步骤。   颁发无人驾驶载人测试运营牌照只是一个结果,为了达到这个结果,北京市高级自动驾驶示范区专班,制定了严格的规定和流程,这个从下图可以看到其中的一些步骤,从这些步骤就可以看到这里面的严谨性和科学性。   将安全员从主驾驶挪到了副驾驶,看起来是很小的一个变化,这里面也包含了监管层在政策面的重大突破,以及提供无人驾驶服务企业在技术保障上的信心。借用当年阿姆斯特朗成为登月第一人的那句名言,这是无人驾驶商业化的一大步。   按照北京市高级自动驾驶示范区专班现在每2-3个月就有新的政策突破的节奏,有望在年底前实现完全无人+载客+收费三盏绿灯同时亮起,从而真正实现无人驾驶Robotas的商业化。这需要监管层政策突破的努力,更需要自动驾驶公司在技术上的保障。 转载于车智微信公众号
  • [行业资讯] 特斯拉大规模裁员:200 名自动驾驶部门员工被开
    近日有知情人士称,特斯拉公司关闭了加州一处设施,并裁掉了大约200名自动辅助驾驶系统 (Autopilot) 团队的员工。这是已知的科技行业广泛裁员行动中规模较大的一次。据悉,特斯拉CEO马斯克前不久刚在卡塔尔经济论坛上发表公开讲话,他表示美国经济衰退在某些时候是不可避免的。因此,特斯拉决定在未来三个月内将全薪员工减少10%,因为美国员工普遍不接受加班。但希望能增加一些时薪临时工,这样或许能提高汽车产能,同时也降低员工成本支出。(凤凰科技)转载于CSDN微信公众号
  • [技术干货] 自动驾驶:基于PCL的激光雷达感知
    介绍自动驾驶是现代技术中一个相对较新且非常迷人的领域。在2004年的DARPA Grand Challenge期间公开展示,并在2007年转向更具挑战性的城市环境,自那以后,工业界和学术界一直在追求自动驾驶。这些应用程序在个人自动驾驶汽车、自动出租车、运输、送货等方面都有所不同,但这项技术还没有成熟。自动驾驶陷入低谷的原因之一是,感知组件是一个非常复杂的问题。虽然大多数团队都采用基于激光雷达的感知方式,但仍有人试图通过相机来感知(Tesla 和 Wayve)。依赖激光雷达的解决方案也可以分为两类:处理点云的传统算法和基于深度学习的方法。神经网络有望以较高的平均精度解决感知问题,然而,如果我们想在最坏的情况下证明合理的准确性,这是不够的。在本文中,我们将看一看在PCL(一个开源的点云库)的帮助下制作的自动驾驶堆栈。首先,我们将坚持系统级的测试驱动开发(TDD),以确保在第一次现场部署之前对我们的整个代码进行彻底测试。为此,我们需要一个数据集来运行代码。卡尔斯鲁厄理工学院(Karlsruhe Institute of Technology)和芝加哥丰田理工学院(Toyota Technology Institute)2012年的经典数据集Kitti将非常适合这一目的。这是首批收集的大规模高质量数据集之一,可作为自动驾驶领域计算机视觉算法的基准。Kitti跟踪由21个同步PNG图像序列、Velodyne激光雷达扫描和来自RT3003 GPS-IMU模块的NMEA记录组成。数据集的一个重要特征是传感器之间的彻底相互校准,包括矩阵“Tr_imu_velo”,它是从GPS-imu坐标到Velodyne激光雷达坐标的转换。感知管道的架构如下所示。让我们分别讨论每一个组件,深入挖掘他们的C++实现。点云抽取为什么我们可能需要从深度传感器(可能是一个或几个激光雷达)中抽取点云?自动驾驶软件最重要的要求是满足实时操作约束。第一个要求是处理管道要跟上激光雷达扫描采样的速率。在现实生活中,扫描速度可能从10到25次/秒不等,这导致最大延迟为100毫秒到40毫秒不等。如果某些操作导致延迟超过100 ms(对于每秒10次扫描的速度),要么会发生帧丢失,要么管道的总延迟将开始任意增长。这里的解决方案之一是丢掉一些点,而不是丢失整个帧。这将逐渐降低准确性指标(召回率和精度),并保持管道实时运行。第二个要求是系统的总体延迟或反应时间。同样,总延迟应该被限制在至少100或200毫秒。对于自动驾驶来说,500ms甚至1秒的反应时间是不可接受的。因此,在算法设计开始时,首先采用抽取的方法处理少量的点是有意义的。抽取的标准选项包括:1. 有规律的2. (伪)随机3. 格栅下采样常规下采样速度很快,但可能会导致点云上的锯齿模式。随机或伪随机下采样也很快,但可能会导致不可预测的小对象完全消失。像PCL的pcl::VoxelGrid<>类一样的格栅下采样是智能和自适应的,但需要额外的计算和内存。原始点云:大量点云:多扫描聚合多扫描聚合是指当车相对于地面移动时,将多个历史激光雷达扫描记录到共同坐标系的过程。通用的坐标系统可以是局部导航框架或当前的激光雷达传感器坐标。我们将以后者为例。这个阶段在理论上是可选的,但在实践中是非常重要的。问题是,后续的聚类阶段依赖于LiDAR点的密度,如果密度不够,可能会产生过聚类的影响。过聚类意味着任何对象(汽车、公共汽车、建筑墙等)都可以被分割成几个部分。就其本身而言,这可能不是一个检测障碍的问题,然而,对于感知-跟踪-聚类的下游模块来说,这是一个实质性的挑战。跟踪器可能会不准确地关联对象的各个部分,这最终导致车辆突然刹车。我们绝对不希望聚类中的小错误在下游组件中造成雪崩式的错误。多次连续扫描(5到10次)的聚合成比例地增加了落在每个物体上的激光雷达点的密度,并促进了精确的聚类。汽车运动的一个很好的特点是,汽车能够从不同的视角观察同一物体,激光雷达扫描模式覆盖物体的不同部分。让我们看看执行聚合的代码。第一阶段是保留一个限制长度的队列,其中包含历史点云以及后续扫描仪的姿势转换。请注意,我们如何使用从RT3003 GPS-IMU模块获得的平移速度[Vx,Vy]和旋转速度Wz来构造姿势变换。// We accumulate the incoming scans along with their localization metadata// into a deque to perform subsequent aggregation.{  Transform3f next_veh_pose_vs_curr = Transform3f::Identity();if (gpsimu_ptr){    float frame_interval_sec = 0.1f;    // First, we need to calculate yaw change given the yaw rate    // (angular speed over Z axis) and the time inteval between frames.    float angle_z = gpsimu_ptr->wz * frame_interval_sec;    auto rot = Eigen::AngleAxisf(angle_z, Eigen::Vector3f::UnitZ());           next_veh_pose_vs_curr.rotate(rot);    // Second, we need a translation transform to the next frame    // given the speed of the ego-vehicle and the frame interval.    next_veh_pose_vs_curr.translate(Eigen::Vector3f(              gpsimu_ptr->vf * frame_interval_sec,              gpsimu_ptr->vl * frame_interval_sec,       0.0f           ));  }// Since later we want to aggregate all scans into the coordinate// frame of the last scans, we need the inverse transform.auto curr_veh_pose_vs_next = next_veh_pose_vs_curr.inverse();// Put the resulting pair of the cloud and the transform into a queue.auto cloud_and_metadata = CloudAndMetadata{decimated_cloud_ptr, curr_veh_pose_vs_next};m_queue.push_back(cloud_and_metadata);while (m_queue.size() > m_params->m_num_clouds){      m_queue.pop_front();  }}在第二阶段,我们从最新的扫描时间向后遍历队列,进行聚合,并将聚合转换应用到每个历史帧。使用这种方法,计算成本为O(N*D),其中N是点的数量,D是历史的深度(扫描的数量)。// We accumulate the transforms starting from the latest back in time and// transform each historical point cloud into the coordinates of the current frame.auto aggregated_cloud_ptr = std::make_shared<pcl::PointCloud<pcl::PointXYZI> >();Eigen::Matrix4f aggragated_transform = Eigen::Matrix4f::Identity();for (int i = m_queue.size()-1; i >= 0; i--){    constauto& cloud_and_metadata = m_queue[i];    constauto& cloud_ptr = cloud_and_metadata.cloud_ptr;    constauto& trans = cloud_and_metadata.transform_to_next;    pcl::PointCloud<pcl::PointXYZI>::Ptr transformed_cloud_ptr;    if (i != m_queue.size()-1){      aggragated_transform *= trans.matrix();      transformed_cloud_ptr = std::make_shared<pcl::PointCloud<pcl::PointXYZI> >();      pcl::transformPointCloud(*cloud_ptr, *transformed_cloud_ptr, aggragated_transform);  }else  {    // For the current scan no need to transform           transformed_cloud_ptr = cloud_ptr;  }// Concatenate the transformed point cloud into the aggregate cloud  *aggregated_cloud_ptr += *transformed_cloud_ptr;}聚合后,如果移动的物体看起来有点模糊,点云会显得有些模糊。可以在聚类阶段进一步解决。在这个阶段,我们需要的是一个更密集的点云,它可以从多个帧中积累信息。地面移除感知堆栈的目的是提供有关动态对象和静止障碍物的信息。汽车应该在道路上行驶,通常路面不被视为障碍物。因此,我们可以移除所有从路面反射的激光雷达点。要做到这一点,我们首先将地面检测为平面或曲面,并移除表面周围或下方约10厘米的所有点。有几种方法可以检测点云上的地面:1. 用Ransac探测平面2. 用Hough变换检测平面3. 基于Floodfill的非平面表面检测让我们在EGIN和PCL库的帮助下,研究RANSAC的C++实现。首先,让我们定义候选平面。我们将使用基点加法向量的形式。// A plane is represented with a point on the plane (base_point)// and a normal vector to the plane.struct Plane{    Eigen::Vector3f base_point;    Eigen::Vector3f normal;    EIGEN_MAKE_ALIGNED_OPERATOR_NEW};然后,我们定义了一个辅助函数,它允许我们在点云转换为平面坐标后,在Z坐标上找到满足条件的所有点的索引。代码中的注释给出了实现的细节。// This helper function finds indices of points that are considered inliers,// given a plane description and a condition on distance from the plane.std::vector<size_t> find_inlier_indices(  const pcl::PointCloud<pcl::PointXYZ>::Ptr& input_cloud_ptr,  const Plane& plane,  std::function<bool(float)> condition_z_fn){  typedef Eigen::Transform<float, 3, Eigen::Affine, Eigen::DontAlign> Transform3f;  auto base_point = plane.base_point;  auto normal = plane.normal;  // Before rotation of the coordinate frame we need to relocate the point cloud to  // the position of base_point of the plane.  Transform3f world_to_ransac_base = Transform3f::Identity();  world_to_ransac_base.translate(-base_point);  auto ransac_base_cloud_ptr = std::make_shared<pcl::PointCloud<pcl::PointXYZ> >();  pcl::transformPointCloud(*input_cloud_ptr, *ransac_base_cloud_ptr, world_to_ransac_base);  // We are going to use a quaternion to determine the rotation transform  // which is required to rotate a coordinate system that plane's normal  // becomes aligned with Z coordinate axis.  auto rotate_to_plane_quat = Eigen::Quaternionf::FromTwoVectors(            normal,             Eigen::Vector3f::UnitZ(  ).normalized();  // Now we can create a rotation transform and align the cloud that  // the candidate plane matches XY plane  Transform3f ransac_base_to_ransac = Transform3f::Identity();  ransac_base_to_ransac.rotate(rotate_to_plane_quat);  auto aligned_cloud_ptr = std::make_shared<pcl::PointCloud<pcl::PointXYZ> >();  pcl::transformPointCloud(*ransac_base_cloud_ptr, *aligned_cloud_ptr, ransac_base_to_ransac);  // Once the point cloud is transformed into the plane coordinates,  // We can apply a simple criterion on Z coordinate to find inliers.  std::vector<size_t> indices;  for (size_t i_point = 0; i_point < aligned_cloud_ptr->size(); i_point++){      constauto& p = (*aligned_cloud_ptr)[i_point];     if (condition_z_fn(p.z))   {          indices.push_back(i_point);     }   }   return indices;}最后,主要的Ransac实现如下所示。第一步是基于Z坐标对点进行粗略过滤。此外,我们需要再次抽取点,因为我们不需要聚集云中的所有点来验证候选平面。这些操作可以一次完成。接下来,我们开始迭代。在C++标准库的 std::mt19937伪随机生成器的帮助下,每次迭代采样3个随机点。对于每个三元组,我们计算平面并确保其法线指向上方。然后我们使用相同的辅助函数find_inlier_index来计算内点的数量。迭代结束后,我们剩下的是最佳候选平面,我们最终使用它来复制点云中所有索引不存在于列表中的点的副本。请注意std::unordered_set<>的用法。它允许执行恒定时间O(1)搜索,而不是对std::vector<>进行的线性O(N)搜索。// This function performs plane detection with RANSAC sampling of planes// that lie on triplets of points randomly sampled from the cloud.// Among all trials the plane that is picked is the one that has the highest// number of inliers. Inlier points are then removed as belonging to the ground.auto remove_ground_ransac(    pcl::PointCloud<pcl::PointXYZ>::Ptr input_cloud_ptr){  // Threshold for rough point dropping by Z coordinate (meters)  constfloat rough_filter_thr = 0.5f;  // How much to decimate the input cloud for RANSAC sampling and inlier counting  constsize_t decimation_rate = 10;  // Tolerance threshold on the distance of an inlier to the plane (meters)  constfloat ransac_tolerance = 0.1f;  // After the final plane is found this is the threshold below which all  // points are discarded as belonging to the ground.  constfloat remove_ground_threshold = 0.2f;  // To reduce the number of outliers (non-ground points) we can roughly crop  // the point cloud by Z coordinate in the range (-rough_filter_thr, rough_filter_thr).  // Simultaneously we perform decimation of the remaining points since the full  // point cloud is excessive for RANSAC.  std::mt19937::result_type decimation_seed = 41;  std::mt19937 rng_decimation(decimation_seed);  auto decimation_gen = std::bind(       std::uniform_int_distribution<size_t>(0, decimation_rate), rng_decimation);   auto filtered_ptr = std::make_shared<pcl::PointCloud<pcl::PointXYZ> >();  for (constauto& p : *input_cloud_ptr){       if ((p.z > -rough_filter_thr) && (p.z < rough_filter_thr))            {           // Use random number generator to avoid introducing patterns          // (which are possible with structured subsampling          // like picking each Nth point).           if (decimation_gen() == 0)               {                        filtered_ptr->push_back(p);                 }            }        }  // We need a random number generator for sampling triplets of points.  std::mt19937::result_type sampling_seed = 42;  std::mt19937 sampling_rng(sampling_seed);  auto random_index_gen = std::bind(       std::uniform_int_distribution<size_t>(0, filtered_ptr->size()), sampling_rng);  // Number of RANSAC trials  constsize_t num_iterations = 25;  // The best plane is determined by a pair of (number of inliers, plane specification)  typedefstd::pair<size_t, Plane> BestPair;  auto best = std::unique_ptr<BestPair>();  for (size_t i_iter = 0; i_iter < num_iterations; i_iter++)      {       // Sample 3 random points.      // pa is special in the sense that is becomes an anchor - a base_point of the plane              Eigen::Vector3f pa = (*filtered_ptr)[random_index_gen()].getVector3fMap();              Eigen::Vector3f pb = (*filtered_ptr)[random_index_gen()].getVector3fMap();              Eigen::Vector3f pc = (*filtered_ptr)[random_index_gen()].getVector3fMap();       // Here we figure out the normal to the plane which can be easily calculated             // as a normalized cross product.              auto vb = pb - pa;              auto vc = pc - pa;              Eigen::Vector3f normal = vb.cross(vc).normalized();      // Flip the normal if points down             if (normal.dot(Eigen::Vector3f::UnitZ()) < 0)            {                   normal = -normal;              }            Plane plane{pa, normal};        // Call find_inlier_indices to retrieve inlier indices.          // We will need only the number of inliers.          auto inlier_indices = find_inlier_indices(filtered_ptr, plane,                [ransac_tolerance](float z) -> bool {                         return (z >= -ransac_tolerance) && (z <= ransac_tolerance);                  });          // If new best plane is found, update the best          bool found_new_best = false;          if (best)         {                  if (inlier_indices.size() > best->first)                {                          found_new_best = true;                  }           }          else         {                // For the first trial update anyway                found_new_best = true;           }   if (found_new_best)        {                  best = std::unique_ptr<BestPair>(new BestPair{inlier_indices.size(), plane});          }  }  // For the best plane filter out all the points that are // below the plane + remove_ground_threshold.  pcl::PointCloud<pcl::PointXYZ>::Ptr cloud_no_ground_ptr;if (best)      {                cloud_no_ground_ptr = std::make_shared<pcl::PointCloud<pcl::PointXYZ> >();                auto inlier_indices = find_inlier_indices(input_cloud_ptr, best->second,                     [remove_ground_threshold](float z) -> bool {                            return z <= remove_ground_threshold;                       });                std::unordered_set<size_t> inlier_set(inlier_indices.begin(), inlier_indices.end());                for (size_t i_point = 0; i_point < input_cloud_ptr->size(); i_point++)              {                       bool extract_non_ground = true;                       if ((inlier_set.find(i_point) == inlier_set.end()) == extract_non_ground)                     {                             constauto& p = (*input_cloud_ptr)[i_point];                             cloud_no_ground_ptr->push_back(p);                       }                }           }          else         {               cloud_no_ground_ptr = input_cloud_ptr;           }    return cloud_no_ground_ptr;}让我们看看地面移除的结果。在移除地面之前:地面移除后:移除地面后,我们准备对剩余的点进行聚类,并通过凸包提取来压缩对象元数据。这两个阶段应该有自己的文章。我将在即将到来的第二部分中介绍它们的实现。同时下面是聚类的最终结果——凸包提取。可视化的最终对象:凸包绝对是任何跟踪器都渴望接受作为其输入的元数据类型。它们在RAM使用方面更加紧凑,并且比定向边界框更准确地表示对象的边界。KITTI 0003中的聚类点云:结论我相信,在生活质量和整体生产力方面,自动驾驶将是人类的一次飞跃。参考资料:感谢阅读!       原文标题 : 自动驾驶:基于PCL的激光雷达感知
  • [技术干货] 自动驾驶卡车可缓解供应链问题
    计算机建模帮助打造自动驾驶半挂卡车的未来摘要:图森未来 (TuSimple) 正在努力研发自动驾驶卡车,让高速公路在变得更加安全高效的同时帮助降低运输成本及其对环境的影响。每天,全世界有数十万的司机需要半夜从床上爬起来,钻进大型卡车的狭小驾驶空间。这一劳动力群体每年会向仓库、杂货店和港口运送数以十亿吨记的货物。运输业每年通过人工驾驶的大卡车运输近 110 亿公吨(120 亿吨)的货物。通过自动驾驶卡车,TuSimple 可以把高速公路变为对于卡车司机和其他司机来说都更加安全的场所。与此同时,自动驾驶卡车的使用还可以节省关键物资的运输费用。尽管这些卡车对世界各地供应链的运转至关重要,但该行业仍面临着日益严重的司机短缺问题。卡车运输业一直面临“留住老司机、发展新司机”的两难困境,而随着新冠疫情期间许多驾驶学校的关闭,这一局面变得愈发艰难。在上述因素的综合作用下,卡车运力已无法满足不断增长的运输需求,从燃油燃料到电子产品的供应都受到了影响。TuSimple 的自动驾驶卡车车队。(图片所有权:TuSimple)另外,长途运输卡车也是司机安全的梦魇。由于工作时间长,经常要在夜间或清晨驾驶,因此卡车司机比其他司机更容易产生疲劳感。美国疾病预防控制中心表示,疲劳驾驶与醉酒驾驶带来的交通风险一样大。正是卡车行业面临的这些问题,让 TuSimple 的韩晓凌和同事们看到了一种全新解决方案的机会:重型卡车的自动驾驶技术。TuSimple 传感器和车辆控制集成高级总监韩晓凌表示,这些车辆可以解决卡车运输业面临的棘手问题。韩晓凌说:“自动驾驶卡车比自动驾驶乘用车的商业应用前景更为广泛,因为卡车运输路线是高度可重复的,而且大部分驾驶是在高速公路上进行。虽然卡车自动驾驶的问题解决起来非常困难,但和自动驾驶汽车比起来,它需要面对的问题就少得多了。”韩晓凌还表示,TuSimple 的自动驾驶卡车可以让高速公路在变得更加安全高效的同时帮助降低运输成本及其对环境的影响。自动驾驶之路MathWorks 公司的汽车行业经理 Govind Malleichervu 介绍,目前各行各业都标榜采用了自主技术,从智能扫地机器人到各式新车,不一而足;然而如果用真正的自主性标准加以衡量,许多技术并未达到严格意义上的自主。4 级或 5 级的自动驾驶卡车可以让其司机在夜间空旷的道路上驾驶时有机会休息。根据国际自动机工程师学会的定义,汽车的自主性包括从 0 到 5 六个可能的级别。0 到 3 级是从无自动化到有限的自动化,包括辅助转向或制动。由于功能的限制,人类驾驶员仍然需要控制车辆并监督这些系统。要实现第 5 级自主性,即车辆独立执行所有的驾驶任务,仍需多年时间。自动驾驶的六个级别(图片所有权:NHTSA.gov)Malleichervu 说,“许多 OEM 提供的自动驾驶功能达到了 2 级或 2+ 级。加号的意思是在 2 级的基础上提高了自主性,但尚未达到 3 级。达到这种级别后,车辆上的高级驾驶辅助系统 (ADAS) 可以控制制动系统、加速和转向,而人类驾驶员仍然需要负责随时监控环境,并执行所有其他驾驶任务。”造成这种相对有限的自主性的部分原因是伴随在城市环境中测试和开发车辆 ADAS 而来的安全顾虑。韩晓凌表示,这正是 TuSimple 卡车的优势所在。虽然该公司预计其卡车至少要到 2024 年才能全面上路,但在驾驶密度较低的高速公路而不是市中心测试这项技术,为实现完全自动驾驶提供了一条更容易的途径。为了在城市测试自动驾驶汽车,公司必须首先与地方有关部门就测试车辆的区域、频率以及速度达成协议。这通常意味着可用于测试的区域和时间都会减少。高速公路测试的另一个好处是,与城市道路相比,它面临的行人障碍更少,并且在很大程度上避免了走走停停的交通状况和道路狭窄或不平坦的情形。这代表着万一出现问题,虽然对其他司机造成伤害的风险并不为零,但它确实能降低发生致命事故的可能性。韩晓凌表示,TuSimple 的卡车目前已达到 4 级自主性。这意味着车辆可以在有限的条件下自动驾驶,而无需人类驾驶员的帮助 — 不过 TuSimple 公司仍计划让人类驾驶员在驾驶座上进行监控。目前的卡车运输要求人类驾驶员时刻保持警惕,4 级或 5 级自动驾驶卡车的不同之处在于,在空旷的道路上彻夜行驶时,卡车司机会有休息的机会。韩晓凌和他的团队正在开发这种自动驾驶的关键技术之一:自主线控制动系统。大型卡车的重量以及牵引满载拖车所带来的动态特性,使得卡车更难快速停车。一辆满载的卡车重达 36,000 公斤(80,000 磅),而一辆客车的重量只有 1,360 公斤(3,000 磅)。制动系统必须能够安全地阻止重型卡车高速行驶时的向前冲力。韩晓凌表示,“线控制动系统非常复杂,整个系统管道从感知开始,我们的程序要观察车辆前后左右的情形。这涉及到运动规划、预测和控制算法。”借助感知和激光雷达等传感器,TuSimple 的 4 级自主系统可以 360 度地观察车辆周围,以及前方 1,000 米范围的路况。这些数据随后会传递到安全关键型线控制动控制系统,韩晓凌解释说。该控制系统随后会在软件感知与卡车硬件之间建立关联,以激活安全制动。韩晓凌还表示,“制动是自动驾驶中最基础的系统,对制动安全的要求高于所有其他系统。”制动系统的这些更严格的标准也反映在其冗余上。这意味着如果出现问题,人类控制者可以进行干预并手动制动。“对于车辆的其他部件,例如发动机,一定程度的冗余就足够了,但是由于制动系统是关乎车辆安全性的核心部件,我们必须拥有完全的冗余,包括物理、信号、电源和软件系统。” 韩晓凌继续说道。信任模型TuSimple 目前已经在真正的高速公路上测试其大型卡车,包括一段从美国亚利桑那州到俄克拉荷马州长达 951 英里的路程。不过,韩晓凌解释说,完全依赖道路测试会导致成本快速增加。做为替代,该团队现在主要依靠建模和仿真来作为线控开发经济高效且安全的替代方案。据韩晓凌介绍,高达 90% 的卡车车辆控制单元的测试是使用 MATLAB®、Simulink® 和其他软件开发的模型完成的。通过使用模型,该团队只参考唯一数据源,自动生成代码,并可以测试具有不同车辆约束条件的自主系统。“我们只有 10% 的时间在车辆层面测试线控制动,因为这样做的成本非常高昂”,韩晓凌这样表示。“不仅耗费人力,还需要额外的协调工作。因此,我们利用仿真进行大部分测试。”仿真需要对不同的传感器输入(如激光雷达和雷达)如何通过微处理器中继到卡车的物理控制系统进行建模。使用模型来管理这些组件可以让团队各成员能够同时进行设计,即使他们在不同的物理地点工作。TuSimple 司机让车子自动驾驶。(视频所有权:TuSimple)“团队成员可以使用模型来检查车内发生的情况”,韩晓凌表示。“这比阅读代码可要容易得多。这就是为什么模型是整个车辆控制单元团队的唯一数据源,因为我们的所有相关职能团队均可以基于模型进行交流。”Malleichervu 称,这些模型还可以通过自动生成代码来实现在模型级别进行的设计,从而帮助减少编程人员引入的错误。这种方法让团队能够测试具有不同车辆约束条件的自动驾驶系统,例如不同的发动机或货物重量。该团队依靠 MATLAB 脚本和 GitHub 来管理变体。摆脱束缚韩晓凌表示,除了简单易用之外,依靠虚拟模型来完成大多数的新设计测试还有助于他们不再依赖汽车和软件行业称为 V 模型的标准设计模型。“我们的迭代周期非常快,这意味着我们软件的发布是每月而不是每年。要在一个月内而不是一年内发布软件。......如果没有建模,在一个月内发布一个功能是非常困难的,因为编程、测试、验证等所有工作都需要在这个时间段内完成。”TuSimple 结合 V 模型和敏捷方法创建了理想的设计流程。(图片所有权:TuSimple)V 模型也被称为验证和确认模型,是一种在实现新功能之前系统地进行分析、设计和验证的设计方法。Malleichervu 说,使用 V 模型设计方法完成发动机或车辆项目的全部设计通常需要三到五年时间;对现有设计进行升级大约需要一年时间。韩晓凌说,对于 TuSimple 来说,这种方法太慢了。做为替代,该公司在开发自动驾驶系统时采用了一种混合方法,即将 V 模型和敏捷方法结合运用。“我们的迭代周期非常快,这意味着我们要在几周而不是几年内发布线控软件”,韩晓凌说。“这就是为什么我们也需要遵循敏捷流程的原因。这也是我们依赖建模的原因。如果没有建模,一个月内很难发布一个功能,因为编程、测试、验证等所有工作都需要在那一个月内完成。”使用这种混合方法,TuSimple 可以在 24 小时内发布线控软件补丁,并在 72 小时到两周内的发布新功能。韩晓凌认为,正是这种新颖的设计方法和 TuSimple 对建模的使用,才能帮助公司实现目标,即自动驾驶的大型卡车可以在 2024 年驰骋于高速公路上。文章和图片均为MathWorks版权所有
  • [行业资讯] Car2Cloud 驱动未来 —— 数据存储驱动行业变革
    数据存储正在驱动汽车行业晋级汽车制造商正在将更智能的技术构建到可以改变交通方式的自动驾驶汽车 (AV) 中。 当自动驾驶汽车进一步融入社会时,它们有可能彻底改变人们的日常生活方式,甚至可能影响城市的设计方式。 实现这一目标的道路很长,但数据存储方面的创新可以帮助驾驭这一旅程。利用数据实现更多可能性AV 本质上是带轮子的超级计算机。借助一系列内置传感器、摄像头和内部网络,他们可以无缝检测正在发生的一切。他们能够从其他汽车、骑自行车的人、行人和路标上看到更多的道路上的东西。与大多数人类驾驶员相比,更智能的车辆对周围环境的感知能力更强。自动驾驶汽车也使用更多数据。一辆自动驾驶汽车相当于近 2,700 名普通互联网用户。Ruben最近在汽车行业研究和活动的领先提供商 Automotive World 上发表了演讲,解释了 AV 使用了多少数据,以及与普通互联网用户使用的数据相比如何。“到 2020 年,自动驾驶汽车平均每天处理 4,000 GB 的数据,而互联网用户平均处理 1.5 GB,”他说。随着自动驾驶汽车不断升级,配备更先进的摄像头和传感器,它们将拥有更智能的功能和技术,从而产生更多的数据。新的智能功能集可以帮助驾驶员在路上保持稳定。借助可靠的存储设备,可以启用车道偏离检测、后视视频和物体避让等方面。此外,可以推送来自制造商的无线 (OTA) 软件更新以添加新功能和改进。有些汽车甚至具有自动泊车的能力,可以完全自动化独立驾驶。但是,在自动驾驶汽车经常出现在街上之前,汽车世界还有一段路要走。升级车道美国国家公路交通安全管理局 (NHTSA) 发布了一个自动驾驶级别划分——1 级(无自动化)到 5 级(完全自动化)——来解释该行业的现状及其对未来的影响。今天上路的大多数 AV 都是 2 级——部分自动化或更低。 并且随着更高层次融入社会,潜在的发展空间和经济效益是巨大的。对于许多人来说,就业或独立生活依赖于驾驶能力。自动驾驶汽车可以帮助更多人上班,并为大约 200 万残疾人创造新的就业机会。随着汽车数据技术的发展,影响不仅仅局限于汽车。很快,道路和城市可能会开始在停车、道路建设和公共交通方面发生重大变化。“拓展”城市空间随着 AV 继续推出更多车载数字存储,达到 3 级及更高级别的自主性可能有助于减少交通和道路拥堵。这会对道路发展和城市布局的规划产生重大影响。未来,无人驾驶汽车可以让乘客下车,然后继续行驶。因此,曾经被停车场和大型车库占据的房地产可以被更多以人为本的需求所取代,例如住房、公园或购物中心。Russell Ruben 假设,甚至可能有一天人们不想拥有汽车。 “......相反,他们可以订阅共享驾驶服务,类似于音乐或电影的流媒体。”随着街道上更高效的自动驾驶汽车,汽车可以更紧密地行驶,为骑自行车的人和行人“拓展出”更多的空间。未来之“路”这仍然是自动驾驶汽车革命的开始。借助合适的 NAND 存储,车辆数据工作负载可以保持平衡,从根本上改善人们的旅行和体验生活的方式。这需要时间,但随着任何重大转变,都有可能使一切变得更好。扫描以下或点击链接即可下载技术白皮书:
  • [近期热门] 大规模商用在即,自动驾驶“大有未来”
    作者:秋弈未来随着传感器、物联网技术的不断进步发展,L4级自动驾驶技术的推广,以及网络信息安全建设的不断完善,自动驾驶的应用范围将会进一步扩大。​自动驾驶如今已成为汽车行业的重点发展方向之一,也是整个社会密切关注的科技命题。在主流汽车制造商们纷纷探索自动驾驶技术的同时,这一行业的发展也受到了一些学者的关注。6月17日晚,著名经济学家任泽平以《点燃希望——寻找中国经济新机遇》为主题的演讲在北京卫视播出,论道新经济、新基建、新机遇等大家普遍关心的经济话题。节目中,经济学家任泽平从认为自动驾驶“大有未来”。自动驾驶发展的契机在“双碳”目标的推动下,电动汽车行业发展十分迅速。截至2021年底,全国新能源汽车保有量达784万辆。汽车行业的电气化成为自动驾驶技术生长的土壤。此外政策的落地也为自动驾驶行业发展提供了方向。感知能力更强,有效缓解城市拥堵自动驾驶相较于传统的驾驶而言在很多方面优势明显。第一点便是自动驾驶与人的驾驶相比拥有更强的感知能力,更短的反应时间,此外还可连接万物互联,增强车联网安全服务。没有疲劳驾驶等人类驾驶员的行为,在长距离驾驶上安全系数更高。第二点是可以节省人力资源成本。借助自动驾驶技术,人们可以从繁重的驾驶任务中解放出来,腾出的大量时间可以用来创造更多的社会价值。 三点是缓解城市交通拥堵。交通拥堵目前成为了众多城市发展的难题。除了城市车辆的增多外,交通拥堵与驾驶员的不当驾驶行为也有着一定关系。在技术层面上,自动驾驶能有效减少加塞、熄火等因素导致的交通堵塞,还能够根据当前的路况自动规划最佳路线,避免拥堵状况的加重。车辆检测能力受限,天气影响较大目前而言,自动驾驶技术尚未发展成熟,以色列传感器初创公司Arbe Robotics的CEO Kobe Marenko表示雷达分辨率和视野限制了车辆的检测能力,而传感器的性能受雨雾天气影响较大。事实上,目前的技术自动驾驶高度依赖传感器的感知能力。据统计,一辆智能汽车上一般有少则数十多则上百个传感器。这些传感器一起构成了智能汽车的感知网络,为智能汽车的自动驾驶提供了技术支持。在技术不断发展的同时,自动驾驶相关的标准也在不断完善,自动驾驶的责任明确是重点内容。在2022年3月实施的《汽车驾驶自动化分级》中,自动驾驶级别分5档,明确了各级别下驾驶员应承担的驾驶责任。驾驶工作需要驾驶员与驾驶自动化系统共同完成,驾驶员还应承担突发事件的责任,并在需要时介入驾驶以确保车辆安全。L3级别自动驾驶商业化落地加速自2020年起,自动驾驶出租车在北京、上海等多个智能网联示范区内投入试运营,吸引了众多消费者的目光。 目前已经有上汽、百度、滴滴、T3出行、小马智行、文远知行等多家公司的自动驾驶出租车开始试点商业化运营。值得注意的是,这些自动驾驶出租车的无人驾驶技术仍处于L3级别,但已有部分企业在探索更高级别的自动驾驶技术。2022年1月20日,小马智行首度公开第六代面向L4车规级量产设计的自动驾驶软硬件系统外型设计、传感器及计算平台方案。今年在国内开启道路测试,预计2023年上半年投入自动驾驶出行服务的日常运营。 可以预见的是,未来随着传感器、物联网技术的不断进步发展,L4级自动驾驶技术的推广,以及网络信息安全建设的不断完善,自动驾驶的应用范围将会进一步扩大。​责任编辑:华轩   来源: 智能制造网
  • [其他] 自动驾驶汽车的眼睛:传感器
    传感器相当于自动驾驶汽车的眼睛。通过传感器,自动驾驶汽车能够识别道路、其他车辆、行人障碍物和基础交通设施,在最小测试量和验证量的前提下保证车辆对周围环境的感知。 按照自动驾驶不同技术路线,传感器可分为激光雷达、传统雷达和摄像头三种。 激光雷达是被当前自动驾驶企业采用比例最大的传感器类型。谷歌、百度、优步等公司的自动驾驶技术目前都依赖于它,这种设备安装在汽车的车顶上,能够用激光脉冲对周围环境进行距离检测,并结合软件绘制3D图,从而为自动驾驶汽车提供足够多的环境信息。激光雷达具有准确快速的识别能力,唯一缺点在于造价高昂(平均价格在8万美元一台),导致量产汽车中难以使用该技术。 传统雷达和摄像头是传感器替代方案。由于激光雷达的高昂价格,走实用性技术路线的车企纷纷转向以传统雷达和摄像头作为替代,**从软件和车辆连接能力方面进行补偿**。例如著名电动汽车生产企业特斯拉,采用的方案就是雷达和单目摄像头。 其硬件原理与目前车载的ACC自适应巡航系统类似,依靠覆盖汽车周围360°视角的摄像头及前置雷达来识别三维空间信息,从而确保交通工具之间不会互相碰撞。 虽然这种传感器方案成本较低、易于量产,但对于摄像头的识别能力具有很高要求:单目摄像头需要建立并不断维护庞大的样本特征数据库,如果缺乏待识别目标的特征数据,就会导致系统无法识别以及测距,很容易造成事故的发生。而双目摄像头可直接对前方景物进行测距,但难点在于计算量大,需要提高计算单元性能。 双目摄像头: ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/20226/19/1655636970874390537.png)
  • [其他] 自动驾驶的两条发展路线
    在自动驾驶技术方面,有两条不同的发展路线: 一条是“渐进演化”的路线,也就是在今天的汽车上逐渐新增一些自动驾驶功能,例如特斯拉、宝马、奥迪、福特等车企均采用此种方式,这种方式主要利用传感器,通过车车通信(V2V)、车云通信实现路况的分析。 另一条是完全“革命性”的路线,即从一开始就是彻彻底底的自动驾驶汽车,例如谷歌和福特公司在一些结构化的环境里测试的自动驾驶汽车,这种路线主要依靠车载激光雷达、电脑和控制系统实现自动驾驶。 第一种方式更加适合在结构化道路上测试。第二种除结构化道路外,还可用于军事或特殊领域。 还是第一种路线比较稳妥。
  • [其他] 乐高式、开放化——高效构建自动驾驶研发平台的行业新解
    乐高式、开放化——高效构建自动驾驶研发平台的行业新解针对上述挑战,华为云汽车行业解决方案负责人赵刚谈到:华为云坚持“生态开放”的理念,深度联合禾多科技、51WORLD、星尘数据、易图通等合作伙伴,共同发布“乐高式”自动驾驶研发平台解决方案(以下简称“乐高式”解决方案),帮助客户最快2周即可独立完成一套自动驾驶研发平台的搭建。华为云自动驾驶业务研发平台业务全景图本次发布的解决方案依托华为云丰富的云服务及生态伙伴在自动驾驶领域的经验沉淀,赋能客户打通数据闭环流程,并联合伙伴在全国建设数据接入点,传输效率最高提升3倍、实现当日上云;软硬件协同优化,多机多卡训练效率提升50%;支持云原生集群化部署,调度性能提升30%;支持数据加密、合规治理,保障业务安全合规。赵刚介绍到,华为云自动驾驶业务研发平台以开源代码库Ploto为门户,由安全合规、路测数据管理、AI算法训练、场景仿真、场景库交易、量产车联网及平台管理等7个模块组成,支持3种业务部署模式。华为云及伙伴们希望通过“乐高式、模块化”的简单操作,来帮助不同诉求的客户实现自动驾驶研发平台快速构建的目标。模式1:模块按需构建“乐高式”解决方案自身具备“按需搭建,灵活组合”的能力,适用于对部分研发模块有诉求的客户,最少只需9个标准API便可快速与自有研发平台对接上云。模式2:E2E快速构建对于有端到端构建研发平台诉求的客户,“乐高式”解决方案提供一站式的服务,帮助用户基于参考代码快速构建。模式3:自有专业软件服务商集成相比SaaS化自动驾驶研发平台,华为云提供标准API,支持客户自选如标注、仿真等环节的专业软件服务商快速集成。来源:https://bbs.huaweicloud.com/blogs/359561?utm_source=csdn&utm_medium=bbs-ex&utm_campaign=other&utm_content=content
  • [技术干货] 【论文分享】动态时空数据驱动的认知车联网频谱感知与共享技术研究
    动态时空数据驱动的认知车联网频谱感知与共享技术研究郭彩丽1,2, 陈九九1, 宣一荻1, 张荷11 北京邮电大学,北京 1008762 先进信息网络北京实验室,北京 100876摘要随着全球汽车产业智能化和网联化的爆发式发展,作为车联网重要支撑的通信技术面临着频谱资源紧缺的难题。除了提供安全服务以外,车联网服务需求的多样性使得引入认知无线电技术成为有效的解决途径,可以实现与授权用户共享sub-6 GHz和毫米波的异质频谱资源,但车联网复杂动态变化环境的影响使得频谱利用率性能的提升受限。提出了充分利用潜在的多源动态时空数据挖掘和学习车辆轨迹、交通流的变化规律的方法,并利用其规律指导频谱的感知和共享。通过搭建系统级仿真平台进行仿真分析,结果表明所提方案的频谱效率得到有效提升。关键词: 车联网 ; 动态时空数据 ; 异质频谱共享 ; 多服务的服务质量要求1 引言随着通信技术、信息技术和汽车工业的发展,以智能化和网联化为特征的智能网联汽车已成为汽车产业发展的必然方向,作为网联化代表的车联网是实现智能网联汽车的支撑技术。特斯拉发生交通事故表明,在相当长时期内,车辆的智能化难以做到完全替代人的决策,需要基础设施的配合,尤其需要车联网的必要技术帮助实现车—车(V2V,vehicle to vehicle)、车—路、车—人、车—云之间的通信和信息交换。据咨询公司埃森哲预测,在2025 年全球新车市场中,网联汽车的渗透率将从2015年的35%增至100%,即所有新车都将具备联网功能。由此可见,车联网将逐渐成为全球研究和关注的热点。通信技术是车联网的关键技术,决定了车联网信息传输的实时性和有效性,是车联网的“命脉”。目前,世界上用于车联网通信的主流技术包括专用短程通信(DSRC,dedicated short range communication)技术和基于蜂窝移动通信系统的 C-V2X (cellular-vehicle to everything)技术,其中,C-V2X技术包括LTE-V2X和5G NR-V2X。无线电频谱资源归国家所有,是具有重要战略意义的稀缺资源,实现智能网联汽车通信的前提条件之一就是要有充足的频谱资源作为支撑。但目前分配给DSRC技术和 C-V2X 技术的专用频谱资源均有限,如美国联邦通信委员会(FCC,Federal Communications Commission)分配给DSRC技术的频段仅为75 MHz (5.850~5.925 GHz);我国将20 MHz(5.905~5.925 GHz)的频段作为基于LTE-V2X技术的车联网直连通信的工作频段。为车联网分配专用频谱资源的主要目的是满足辅助驾驶、防碰撞、车道偏离预警、驾驶员疲劳检测等安全类服务的高可靠、低时延通信需求。随着以自动驾驶为代表的汽车产业的兴起,人们对智能网联服务的需求呈现多样化特点,包括交通效率类(如事故、路障和拥堵提醒等服务)、车辆信息类(如智能汽车支付、车辆诊断等服务)和车载娱乐类(如多媒体音/视频等服务)等各种非安全类服务[1]。随着上述非安全类服务的爆发式增长,对频谱的需求量迅速增加。鉴于大部分非安全类服务对通信可靠性和时延的要求比安全类业务要求低的客观事实,已有研究[2,3,4,5]指出,在车联网中采用认知无线电技术,即组建认知车联网,通过感知授权用户的空闲频段并与用户共享此频段,为解决车联网中的频谱资源不足问题提供了有效的解决途径。因此,车联网中服务的多样性使得采用认知无线电技术进行频谱感知和共享成为可能。随着辅助驾驶技术的发展,尤其是自动驾驶时代的到来,为了更好地满足多种服务的需求,车辆将配备大量高清摄像头和激光雷达等高精度传感器,这些传感器通常需要将收集的大量数据上传至数据处理中心进行处理。据预测,每辆自动驾驶模式的汽车消耗数据流量的速度为5 Tbit/h,数据平均传输速度为1.4 Gbit/s。日益紧缺的频谱资源已不能满足多种服务对带宽的需求,频谱供求矛盾更尖锐。为了缓解上述矛盾,现有研究考虑在共享传统sub-6 GHz 频段的基础上,将具有丰富资源并且传输性能高的毫米波频段引入认知车联网通信[6,7],传统sub-6 GHz 频段有广播电视白频段(TVWS,TV white spectrum)、DSRC 频段、蜂窝频段等。通过上述研究, sub-6 GHz和毫米波等多个异质频段均可以实现共享,为自动驾驶时代的认知车联网提供了充足的通信保障。综上所述,为了缓解车联网频谱资源紧缺导致的供求矛盾,车联网服务需求的多样性使得引入认知无线电技术成为解决车联网频谱资源紧缺问题的有效途径,可以实现与授权用户共享sub-6 GHz和毫米波的异质频谱资源。认知车联网通信示意图中,V2X通信可复用传统蜂窝频段和毫米波频段。车辆或路边单元执行具有不同用户服务质量(QoS,quality of service)要求的业务,如车辆间转向、变道信息共享的协作碰撞避免信息传输业务(CAITS,collision avoidance information transmission service),车辆行驶轨迹、驾驶意图、传感器数据交互的自动驾驶信息传输业务(ADITS,automatic driving information transmission service)等。其中, CAITS 关注信息传输的实时性和可靠性,ADITS 数据量大,在一定的时延容忍范围内更关注吞吐量。2 结束语本文针对认知车联网面临的高时空动态变化环境挑战,提出了利用车辆轨迹和交通流的预测结果,设计支持异质频谱和多样性服务的频谱感知和共享算法。仿真结果表明,车辆轨迹和交通流的预测以及基于预测结果的异质频谱的感知和共享可有效提升频谱效率,并能够满足多业务的 QoS 需求。后续工作将主要研究基于车辆轨迹数据和交通流数据统一表示的轨迹和交通流预测方法以及自适应 QoS 的频谱感知模型和算法。The authors have declared that no competing interests exist.作者已声明无竞争性利益关系。3 原文链接http://www.infocomm-journal.com/wlw/article/2020/2096-3750/2096-3750-4-3-00096.shtml
总条数:254 到第
上滑加载中