CN114900654B - 自动驾驶车辆实时监控视频传输系统 - Google Patents
自动驾驶车辆实时监控视频传输系统 Download PDFInfo
- Publication number
- CN114900654B CN114900654B CN202210342526.2A CN202210342526A CN114900654B CN 114900654 B CN114900654 B CN 114900654B CN 202210342526 A CN202210342526 A CN 202210342526A CN 114900654 B CN114900654 B CN 114900654B
- Authority
- CN
- China
- Prior art keywords
- module
- data
- video
- shared memory
- video data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 36
- 238000012544 monitoring process Methods 0.000 title claims abstract description 17
- 230000006854 communication Effects 0.000 claims abstract description 20
- 238000004891 communication Methods 0.000 claims abstract description 18
- 230000006870 function Effects 0.000 claims description 3
- 230000001360 synchronised effect Effects 0.000 abstract description 3
- 238000000034 method Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 206010033799 Paralysis Diseases 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/18—Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Multimedia (AREA)
- Traffic Control Systems (AREA)
- Closed-Circuit Television Systems (AREA)
Abstract
本申请公开了一种自动驾驶车辆实时监控视频传输系统,包括:视频收发模块,监视并获取车载摄像的视频数据;数据消息模块,以ROS‑消息的形式将视频收发模块内的数据发布;共享内存模块,存在于视频收发模块的内存中,存储最新的视频收发模块中的视频数据;车辆感知模块,以ROS通信方式订阅数据消息模块发布的消息或挂载共享内存模块以获取视频数据;软件上传模块,通过查找并挂载共享内存模块获取视频数据,将所访问的视频数据通过网络实时推送至云端车辆管理系统。在本申请实施例中,采用监听摄像头设备的方式,实现视频数据的同步获取,提供数据的实时性;通过共享内存的方式完成视频数据的共享,提高了数据的传输效率,保证了数据实时性和可靠性。
Description
技术领域
本申请涉及自动驾驶车辆视频数据采集传输技术领域,尤其涉及一种自动驾驶车辆实时监控视频传输系统。
背景技术
自动驾驶车辆的车载摄像头采集的视频数据一方面要用于车辆感知模块的检测和识别,另一方面用于云端车辆管理系统的视频实时监控。
目前,现有技术主要存在两种解决方案。一种是通过布置两套摄像头,分别将视频数据传输给车辆感知模块和车辆管理系统。一种是将车载摄像头的数据,通过ROS(RobotOperating System)节点的形式发布视频图像消息(topic),再分别由车辆感知模块和视频上传模块订阅获取视频图像消息。感知模块获取到视频图像数据后进行检测和识别处理,视频上传模块则将视频数据通过网络传输至云端车辆管理系统。
然而现有技术的弊端是:两套摄像头的方案增加了自动驾驶车辆的成本,而且导致远程监控的视频与车辆感知的视频无法同步ROS节点发布消息的方案传输效率低。ROS采用的是中心化的网络传输方式,进程间通信采用socket方式。网络通信过程中涉及内核态与用户态的多次切换,节点间的通信以及数据的序列化和反序列化会占用大量的CPU和内存资源,造成通信的延迟,降低视频传输的实时性。
ROS节点发布消息的方案存在不稳定的风险。如果主节点master崩溃,通信就会瘫痪,视频数据无法进行传输,感知模块和云端车辆管理系统都无法收到数据。另外,如果某些节点占用大量系统资源,会导致整个ROS通信的效率下降,从而引起视频数据传输效率下降。
发明内容
为了解决上述技术问题,本申请实施例提供一种自动驾驶车辆实时监控视频传输系统,采用一套车载摄像头,解决视频上传的问题,避免ros系统不稳定引起的中断和传输性能下降。
本申请实施例提供了一种自动驾驶车辆实时监控视频传输系统,包括:
视频收发模块,监视并获取车载摄像的视频数据;
数据消息模块,以ROS-消息的形式将视频收发模块内的数据发布;
共享内存模块,存在于视频收发模块的内存中,存储最新的视频收发模块中的视频数据;
车辆感知模块,以ROS通信方式订阅数据消息模块发布的消息或挂载共享内存模块以获取视频数据;
软件上传模块,通过查找并挂载共享内存模块获取视频数据,将所访问的视频数据通过网络实时推送至云端车辆管理系统。
进一步地,视频收发模块每次初始化成一个ROS节点,同时在内存中开辟出一块空间作为共享内存模块。
进一步地,视频收发模块具备开机自启动功能,初始化成ROS节点形成失败时,仍开辟共享内存模块。
进一步地,每当车载摄像采集到视频数据时,视频收发模块通过ROS-消息的方式进行发布,同将视频数据写入共享内存模块中。
进一步地,共享内存模块的大小不低于一张图片的大小。
进一步地,共享内存模块每次收到一组数据后立即更新,删除之前保存的数据或者仅保留之前数据的部分帧数据。
进一步地,共享内存模块中设置有存储队列,以用于保存之前数据的部分帧数据,防止丢失部分数据帧。
进一步地,车辆感知模块以ROS通信方式订阅数据消息模块发布的消息的方式优先级高于以挂载共享内存模块获取视频数据的方式的优先级。
进一步地,车辆感知模块初始化为ROS节点后以ROS通信方式订阅数据消息模块发布的消息,若初始化为ROS节点失败,则车辆感知模块以挂载共享内存模块以获取视频数据。
进一步地,在视频收发模块初始化成ROS节点形成失败时,车辆感知模块直接以挂载共享内存模块方式获取视频数据。
在本申请实施例中,1)自动驾驶车辆的摄像头复用,车辆感知模块与云端车辆管理系统视频数据同步;2)采用监听摄像头设备的方式,实现视频数据的同步获取,提供数据的实时性;3)通过共享内存的方式完成视频数据的共享,提高了数据的传输效率,保证了数据实时性和可靠性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的系统模块示意图。
具体实施方式
为使得本申请的申请目的、特征、优点能够更加的明显和易懂,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本申请一部分实施例,而非全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
下面结合附图和具体实施例,进一步阐明本发明。
在本申请的描述中,需要理解的是,术语“上”、“下”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请的限制。
针对现有技术中的缺点,有一些现有的方案采用两套摄像头的方案,然而两套摄像头的安装角度肯定不一样,两套系统的获取的数据也不一样,远程监控观察到画面与车辆本身感知模块的画面会出现不一样的情况。此外如果采用两套摄像头的方案,摄像头的数据传输链路也是两条,车辆感知模块使用的数据直接连到工控机,远程监控的数据完全通过网络传输,不经过工控机,但是这会导致传输链路的延迟不一样,进而出现画面不同步的情况。
因此,本申请提出了一种自动驾驶车辆实时监控视频传输系统,采用一套摄像头,同时采用ROS节点通信方式,能够兼容现有的各个系统,使用起来适配性更高。
整个系统包括了视频收发模块、车辆感知模块和软件上传模块。
车载摄像头通过线缆连接工控机,车载摄像头为GMSL(Gigabit MultimediaSerial Link)摄像头,视频收发模块监视并获取车载摄像的视频数据。
视频收发模块具备开机自启动功能,每次初始化成一个ROS节点,同时在内存中开辟出一块空间作为共享内存模块。如果视频收发模块初始化成ROS节点形成失败时,仍开辟共享内存模块。在只有共享内存模块的情况下,车辆感知模块和视频收发模块均只能通过这个方式获取数据。如果共享内存模块也创建失败则抛出异常,无法启动。此过程记录到日志文件中。
作为一个具体的实施例,系统启动后,视频收发模块初始化为一个ROS节点,同时在内存中开辟一块空间作为共享内存,再通过调用摄像头设备SDK(Software DevelopmentKit)提供的API接口,设置回调模块。
每当摄像头采集到视频数据,回调模块就会执行,考虑到ROS节点之间通过发布和订阅话题来传递消息,因此将视频数据通过ROS-消息的方式发布出来,同时将视频数据写入共享内存模块,使得共享内存的数据维持最新的。
作为一个具体的实施例,共享内存的大小只要是一张图片的大小就可以,每次收到一组数据,就会更新,之前的数据不需要保存。当然作为另一个方案,也可以增加一个队列保存几帧数据,防止丢失部分数据帧。
共享内存模块直接通过读写内存完成数据传输,减少传输中的数据拷贝,显著提升传输效率,同时,共享内存模块传输延迟比Socket节省一半,但CPU资源占用要比socket减少很多。
共享内存模块的存在,相比单纯用ROS节点间数据传输来说,ROS节点间数据传输均是通过网络来实现的,这样做虽然更具普遍性,照顾到ROS节点可能架设在不同的硬件上这一点,然而对于在同一台设备的两个节点间传输数据是非常不友好的,因为ROS节点间的数据传输在不同设备之间的使用会具备通用性且传输效果良好,但是在同一设备上来说,远没有其他方式的传输效果好,效率低下,容易造成网络堵塞,延时严重。此外,ROS网络传输过程中,涉及到IO到内存的数据传输,尤其收发双方都要进行,这样会发生序列化与反序列化,系统内核态与用户态进行切换,这样对于系统负荷相对较大。
本申请中,视频收发模块通过监听获取摄像头视频数据的方式实现与视频数据的采集完全同步,比通过轮询读取摄像头设备文件的方式实时性更好。因为轮询读取摄像头设备文件无法保证得到的数据是读取时刻采集的视频数据,会造成视频数据帧的丢失,无法保证数据一致性。
在视频收发模块开始工作之后,如果车辆感知模块要通过ROS通信方式获取视频数据,则需要初始化为ROS节点,如果节点初始化成功,则订阅软件模块发布的消息Topic,来获取视频数据。如果初始化失败,则启动失败。
如果车辆感知模块要通过共享内存方式获取视频数据,则需要查找视频收发模块创建的共享内寸,并进行挂载。如果启动成功,可以访问内存获取视频数据。如果发生异常,则启动失败。
当然车辆感知模块以ROS通信方式订阅数据消息模块发布的消息的方式优先级高于以挂载共享内存模块获取视频数据的方式的优先级。在视频收发模块初始化成ROS节点形成失败时,车辆感知模块直接以挂载共享内存模块方式获取视频数据。
在共享内存模块被开辟出来后,软件上传模块查找视频收发模块创建的共享内存模块,并进行挂载,通过共享内存方式获取视频数据。如果软件上传模块启动成功,可以访问内存获取视频数据。如果发生异常,则启动失败。软件上传模块将访问共享内存模块的视频数据通过网络实时推送至云端车辆管理系统。在开机期间软件上传模块不断地将共享内存模块内的数据上传,关机后,软件上传模块不用进行上传动作,原先的共享内存模块被完全抹除,下一次开机时,共享内存模块会被重新开辟。
相对于ROS节点通信方式,共享内存模块没有数据发布到订阅节点之间的数据拷贝,不存在网络通信过程中序列化和反序列化,减少了内核态与用户态的切换,大大降低了系统资源占用率,提高了数据传输效率,大大提高了视频数据传输的实时性。使用共享内存方式的情况下,软件上传模块不需要初始化为ROS节点,不存在ROS通信方式中主节点(master)的崩溃而无法传输视频数据。没有增加ROS通信的负担,也降低了收其他节点因过度占用系统资源而导致视频传输性能下降的可能性。
以上详细描述了本发明的优选实施方式,但是本发明并不限于上述实施方式中的具体细节,在本发明的技术构思范围内,可以对本发明的技术方案进行多种等同变换(如数量、形状、位置等),这些等同变换均属于本发明的保护。
Claims (4)
1.一种自动驾驶车辆实时监控视频传输系统,其特征在于,所述系统包括视频收发模块、数据消息模块、共享内存模块、车辆感知模块及软件上传模块,其中,
所述视频收发模块,监视并获取车载摄像的视频数据,其中,所述视频收发模块具备开机自启动功能,每次初始化成一个ROS节点,同时在内存中开辟出一块空间作为所述共享内存模块;若初始化成ROS节点形成失败,仍开辟所述共享内存模块;
所述数据消息模块,以ROS-消息的形式将视频收发模块内的数据发布;
所述共享内存模块,存在于视频收发模块的内存中,存储最新的视频收发模块中的视频数据,其中,所述共享内存模块每次收到一组数据后立即更新,删除之前保存的数据或者仅保留之前数据的部分帧数据;
所述车辆感知模块,以ROS通信方式订阅所述数据消息模块发布的消息或挂载所述共享内存模块以获取视频数据,其中,所述车辆感知模块以ROS通信方式订阅所述数据消息模块发布的消息的方式的优先级高于以挂载所述共享内存模块获取视频数据的方式的优先级;所述车辆感知模块初始化为ROS节点后以ROS通信方式订阅所述数据消息模块发布的消息,若初始化为ROS节点失败,则所述车辆感知模块以挂载共享内存模块以获取视频数据;
所述软件上传模块,通过查找并挂载所述共享内存模块获取视频数据,将所访问的视频数据通过网络实时推送至云端车辆管理系统,其中,在开机期间,所述软件上传模块不断地将所述共享内存模块内的数据上传;关机后,所述软件上传模块不再进行上传动作,所述共享内存模块被抹除并在下一次开机时重新开辟。
2.根据权利要求1所述的自动驾驶车辆实时监控视频传输系统,其特征在于,每当车载摄像采集到视频数据时,所述视频收发模块通过ROS-消息的方式进行发布,同将视频数据写入共享内存模块中。
3.根据权利要求2所述的自动驾驶车辆实时监控视频传输系统,其特征在于,所述共享内存模块的大小不低于一张图片的大小。
4.根据权利要求1所述的自动驾驶车辆实时监控视频传输系统,其特征在于,所述共享内存模块中设置有存储队列,以用于保存之前数据的部分帧数据,防止丢失部分数据帧。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210342526.2A CN114900654B (zh) | 2022-04-02 | 2022-04-02 | 自动驾驶车辆实时监控视频传输系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210342526.2A CN114900654B (zh) | 2022-04-02 | 2022-04-02 | 自动驾驶车辆实时监控视频传输系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114900654A CN114900654A (zh) | 2022-08-12 |
CN114900654B true CN114900654B (zh) | 2024-01-30 |
Family
ID=82715182
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210342526.2A Active CN114900654B (zh) | 2022-04-02 | 2022-04-02 | 自动驾驶车辆实时监控视频传输系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114900654B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109766199A (zh) * | 2018-12-29 | 2019-05-17 | 歌尔股份有限公司 | 一种机器人操作系统中的节点通信方法和装置 |
CN111818138A (zh) * | 2020-06-28 | 2020-10-23 | 电子科技大学 | 面向智能车的车云实时数据通信方法 |
CN112164155A (zh) * | 2020-09-29 | 2021-01-01 | 广州小鹏自动驾驶科技有限公司 | 一种车辆数据的采集方法和装置 |
CN112883003A (zh) * | 2021-04-27 | 2021-06-01 | 智道网联科技(北京)有限公司 | 车载终端共享数据方法及装置 |
WO2021189507A1 (zh) * | 2020-03-24 | 2021-09-30 | 南京新一代人工智能研究院有限公司 | 一种用于车辆检测跟踪的旋翼无人机系统及检测跟踪方法 |
CN113532537A (zh) * | 2021-07-22 | 2021-10-22 | 国网电力科学研究院武汉南瑞有限责任公司 | 一种车载终端数据管理系统及方法 |
-
2022
- 2022-04-02 CN CN202210342526.2A patent/CN114900654B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109766199A (zh) * | 2018-12-29 | 2019-05-17 | 歌尔股份有限公司 | 一种机器人操作系统中的节点通信方法和装置 |
WO2021189507A1 (zh) * | 2020-03-24 | 2021-09-30 | 南京新一代人工智能研究院有限公司 | 一种用于车辆检测跟踪的旋翼无人机系统及检测跟踪方法 |
CN111818138A (zh) * | 2020-06-28 | 2020-10-23 | 电子科技大学 | 面向智能车的车云实时数据通信方法 |
CN112164155A (zh) * | 2020-09-29 | 2021-01-01 | 广州小鹏自动驾驶科技有限公司 | 一种车辆数据的采集方法和装置 |
CN112883003A (zh) * | 2021-04-27 | 2021-06-01 | 智道网联科技(北京)有限公司 | 车载终端共享数据方法及装置 |
CN113532537A (zh) * | 2021-07-22 | 2021-10-22 | 国网电力科学研究院武汉南瑞有限责任公司 | 一种车载终端数据管理系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114900654A (zh) | 2022-08-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111917988B (zh) | 一种云手机的远程摄像头应用方法、系统及介质 | |
US5878205A (en) | Method and system for processing complex recovery using polling signals in a shared medium | |
CN110601903B (zh) | 一种基于消息队列中间件的数据处理方法及装置 | |
CN102394914A (zh) | 集群脑裂处理方法和装置 | |
CN107682169B (zh) | 一种利用Kafka集群发送消息的方法和装置 | |
CN109669821B (zh) | 消息中间件的集群部分故障恢复方法、服务器及存储介质 | |
CN111988411B (zh) | 断网后客户端数据自动续传方法、装置、计算机可读存储介质 | |
CN108199896A (zh) | 基于RabbitMQ的分布式消息发布系统 | |
WO2000073902A1 (en) | Single logical clipboard for multiple computers | |
CN113392132A (zh) | Iot场景的分布式缓存方法及系统 | |
CN108512753B (zh) | 一种集群文件系统中消息传输的方法及装置 | |
CN110138753B (zh) | 分布式消息服务系统、方法、设备及计算机可读存储介质 | |
US6622265B1 (en) | Standby processor with improved data retention | |
EP0409604A2 (en) | Processing method by which continuous operation of communication control program is obtained | |
CN114900654B (zh) | 自动驾驶车辆实时监控视频传输系统 | |
CN109684128B (zh) | 消息中间件的集群整体故障恢复方法、服务器及存储介质 | |
CN112506682A (zh) | 业务服务器异常救济方法、装置和计算机可读存储介质 | |
KR100236380B1 (ko) | 컴퓨터 시스템간 통신시스템 | |
EP1430401B1 (en) | Extended content storage method and apparatus | |
CN113452726B (zh) | 数据传输方法、终端及计算机可读存储介质 | |
CN111491186B (zh) | 一种车辆电子信息系统中的视频控制方法 | |
CN113986611A (zh) | 录像数据的存储方法、装置、系统、电子装置和存储介质 | |
JP2003318897A (ja) | 通信システム、コネクション管理サーバ装置及びプログラム | |
CN112839194A (zh) | 双系统下共享摄像头的方法、装置、一体机及储存介质 | |
CN111355933B (zh) | 一种Gstreamer框架适时检测方法及服务器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |