CN116233203A - 一种数据传输系统及数据处理方法 - Google Patents
一种数据传输系统及数据处理方法 Download PDFInfo
- Publication number
- CN116233203A CN116233203A CN202211605727.3A CN202211605727A CN116233203A CN 116233203 A CN116233203 A CN 116233203A CN 202211605727 A CN202211605727 A CN 202211605727A CN 116233203 A CN116233203 A CN 116233203A
- Authority
- CN
- China
- Prior art keywords
- data
- topics
- message
- service
- control
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- 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
- H04L67/125—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
-
- 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/14—Session management
- H04L67/141—Setup of application sessions
-
- 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/2866—Architectures; Arrangements
- H04L67/2871—Implementation details of single intermediate entities
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
- Communication Control (AREA)
Abstract
本发明公开了一种数据传输系统及数据处理方法,其中数据传输系统包括消息中间件和至少两个控制平台,其中每个控制平台与一个或多个硬件通信连接,消息中间件包括多个主题,与至少两个控制平台通信连接,用于在至少两个控制平台之间传递数据;其中,每个硬件对应一个或多个主题,每个主题对应一种数据类型。其通过在消息中间件中设置多个主题,其中每个主题对应一种数据类型,每个硬件对应一个或多个主题,从而可以使得控制平台中的数据处理需求可以不关心硬件连接在哪个控制平台上,能够满足采用分布式结构设计的硬件数据处理需求。
Description
技术领域
本发明涉及车辆控制技术领域,具体涉及一种数据传输系统及数据处理方法。
背景技术
目前,为了实现车辆的自动驾驶功能,需要在车辆上安装各种类型的传感器,例如图像传感器、激光雷达等。其中,对于同一类型的传感器而言,不同厂商提供的硬件资源及其驱动实现并不相同。为了避免传感器的变更对上层软件功能的影响,例如将厂商甲提供的图像传感器替换为厂商乙提供的图像传感器,需要在传感器和上层软件之间提供一个隔离层,即硬件抽象代理。
车辆自动驾驶功能的实现通常需要对多种类型的传感器的数据进行数据融合。为了最大化利用不同芯片资源(算力、I/O等),硬件设计往往采用分布式结构设计。
例如,硬件架构中有视觉处理器GPU和中央处理器CPU两种类型芯片,因为GPU的算力资源比较丰富,而CPU的I/O资源比较丰富,例如包括串口、网口、PCIe总线、CAN总线等,基于此为了更好的利用GPU的算力,某些算法融合程序可以部署在GPU芯片平台系统上。同时,仍然会有一些算法融合程序部署在CPU上。进一步的,能够满足数据融合需求的传感器A、传感器B,也可能分别连接在不同的芯片上,例如传感器A连接在GPU、传感器B连接在CPU上。
申请公布号为CN109669782A的发明专利申请公开了一种硬件抽象层复用方法、装置、操作系统和设备,该方法包括:响应于硬件操作指令,第一操作系统的第一进程调用第一操作系统侧虚拟硬件抽象层HAL中的第一应用程序接口API,通过跨进程通信将第一API的调用请求发送至第二操作系统,以使第二操作系统中第二进程调用第二操作系统侧HAL中的第二API来执行硬件操作指令,第一API在虚拟HAL中的配置对应于第二操作系统侧HAL中第二API的配置。通过在第一操作系统侧设置上述虚拟HAL,便可以通过跨进程通信将第一操作系统侧对虚拟HAL中API的调用传递到第二操作系统侧,实现第一操作系统对第二操作系统侧HAL的复用,实现方便,且可以适用于任意不同的操作系统。
但是,上述技术方案只是实现了对同类别硬件的驱动操作接口的抽象,是为了统一同类别不同硬件的驱动操作接口。也就是说,目前的硬件抽象方案并不能满足采用分布式结构设计的硬件数据处理需求。
发明内容
有鉴于此,本发明实施例提供了一种数据传输系统及数据处理方法,以解决目前的硬件抽象方案并不能满足采用分布式结构设计的硬件数据处理需求的问题。
根据第一方面,本发明实施例提供了一种数据传输系统,包括消息中间件和至少两个控制平台,其中每个控制平台与一个或多个硬件通信连接,所述消息中间件包括多个主题,与所述至少两个控制平台通信连接,用于在所述至少两个控制平台之间传递数据;其中,每个硬件对应一个或多个主题,每个所述主题对应一种数据类型。
本发明实施例提供的数据传输系统,通过在消息中间件中设置多个主题,其中每个主题对应一种数据类型,每个硬件对应一个或多个主题,从而可以使得控制平台中的数据处理需求(例如数据融合算法)可以不关心硬件(例如传感器)连接在哪个控制平台上,能够满足采用分布式结构设计的硬件数据处理需求。
具体的,所述硬件包括传感器和/或执行器;所述消息中间件中的主题包括消息主题和/或服务主题。
根据第二方面,本发明实施例还提供了一种数据处理方法,应用于数据传输系统中的任一控制平台,所述数据传输系统包括消息中间件和至少两个控制平台,其中每个控制平台与一个或多个硬件通信连接;消息中间件包括多个主题,与所述至少两个控制平台通信连接,用于在所述至少两个控制平台之间传递数据;其中每个硬件对应一个或多个主题,每个所述主题对应一种数据类型;所述数据处理方法包括以下步骤:获取数据处理需求;获取与所述消息中间件中的每个主题相对应的数据类型;基于与所述消息中间件中的每个主题相对应的数据类型,得到与所述数据处理需求相对应的多个主题;利用所述多个主题,对所述数据处理需求进行处理。
本发明实施例提供的数据处理方法,应用于数据传输系统中的任一控制平台,通过获取数据处理需求,从而可以基于与消息中间件中的每个主题相对应的数据类型,得到与数据处理需求相对应的多个主题;进一步的,可以利用多个主题,对所述数据处理需求进行处理,从而可以使得控制平台中的数据处理需求可以不关心硬件连接在哪个控制平台上,能够满足采用分布式结构设计的硬件数据处理需求。
具体的,所述消息中间件中的主题包括消息主题和/或服务主题,当所述数据处理需求为数据融合需求时,所述基于与所述消息中间件中的每个主题相对应的数据类型,得到与所述数据处理需求相对应的多个主题包括:基于与所述消息中间件中的每个消息主题相对应的数据类型,对所述数据融合需求进行分析,得到与所述数据融合需求相对应的多个消息主题。
具体的,所述利用所述多个主题,对所述数据处理需求进行处理包括:获取与所述数据融合需求相对应的多个消息主题中的多个消息数据,并对获取到的多个消息数据进行融合处理,得到数据融合结果。
具体的,数据处理方法还包括以下步骤:获取所述一个或多个传感器检测到的实际数据;针对每个传感器的实际数据,确定与该传感器相对应的消息主题,将所述实际数据发布至该传感器相对应的消息主题中。
具体的,所述消息中间件中的主题包括消息主题和/或服务主题,当所述数据处理需求为控制指令服务需求时,所述基于与所述消息中间件中的每个主题相对应的数据类型,得到与所述数据处理需求相对应的多个主题包括:基于与所述消息中间件中的每个服务主题相对应的数据类型,对所述控制指令进行分解,得到多个子控制指令、及与每个子控制指令相对应的服务主题。
具体的,所述利用所述多个主题,对所述数据处理需求进行处理包括:将每个子控制指令发送至与其对应的服务主题中。
具体的,数据处理方法还包括以下步骤:针对任一服务主题,判断该服务主题中是否存在子控制指令;当该服务主题中存在所述子控制指令时,确定与该服务主题相对应的执行器;将该服务主题中的子控制指令发送至与该服务主题相对应的执行器中。
具体的,在将该服务主题中的子控制指令发送至与该服务主题相对应的执行器中之后,还包括:针对任一执行器,获取该执行器发送的应答消息;将所述应答消息发送至与该执行器相对应的服务主题中,以将所述应答消息发送至所述控制指令服务需求的发送方。
附图说明
通过参考附图会更加清楚的理解本发明的特征和优点,附图是示意性的而不应理解为对本发明进行任何限制,在附图中:
图1为本发明实施例1中数据传输系统一示例的结构示意图;
图2为本发明实施例2中数据处理方法的流程示意图;
图3为本发明实施例2中数据融合需求处理方法的流程示意图;
图4为本发明实施例2中数据融合方法一示例的流程示意图;
图5为本发明实施例2中控制指令服务需求处理方法的流程示意图;
图6为本发明实施例2中控制指令服务需求处理方法一示例的流程示意图;
图7为车辆控制代理的处理方法示意图;
图8为图7的车辆控制代理中的读操作示意图;
图9为图7的车辆控制代理中的写操作示意图;
图10为本发明实施例2中数据融合需求处理方法和控制指令服务需求处理方法的示意图;
图11为本发明实施例3中数据处理装置的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
实施例1
本发明实施例1提供了一种数据传输系统,包括消息中间件和至少两个控制平台,其中每个控制平台与一个或多个硬件通信连接,所述消息中间件包括多个主题,与所述至少两个控制平台通信连接,用于在所述至少两个控制平台之间传递数据;其中,每个硬件对应一个或多个主题,每个所述主题对应一种数据类型。
由此可见,本发明实施例1提供的数据传输系统,通过在消息中间件中设置多个主题,其中每个主题对应一种数据类型,每个硬件对应一个或多个主题,从而可以使得控制平台中的数据处理需求(例如数据融合算法)可以不关心硬件(例如传感器)连接在哪个控制平台上,能够满足采用分布式结构设计的硬件数据处理需求。
具体的,所述硬件包括传感器和/或执行器;所述消息中间件中的主题包括消息主题和/或服务主题。其中,消息中间件中与传感器对应的主题为消息主题,与执行器对应的主题为服务主题。消息中间件中的消息主题是为了实现不同的数据融合算法,服务主题是为了实现不同的控制指令需求。也就是说,本发明实施例1的数据传输系统可以传递硬件资源数据或控制指令数据。
其中,在消息中间件中可以基于ROS(Robot Operating System,机器人操作系统)或ROS2实现跨进程通信。具体的,所述消息中间件采用发布订阅机制在所述至少两个控制平台之间传递传感器数据;所述消息中间件采用服务请求应答机制在所述至少两个控制平台之间传递执行器数据。
示例的,控制平台可以为芯片。需要说明的是,上述至少两个控制平台可以属于同主机,也可以属于不同主机,也就是说,本发明实施例1的数据传输系统既适用于不同主机操作系统之间的跨进程访问或控制硬件,也适用于同主机操作系统的跨进程访问或控制硬件
图1为本发明实施例1中数据传输系统一示例的结构示意图,如图1所示,数据传输系统包括CPU-A和CPU-B两个控制平台,其中控制平台CPU-A与硬件传感器A通信连接,控制平台CPU-B与硬件传感器B通信连接;在控制平台设有硬件驱动接口抽象层,可以利用硬件驱动接口抽象层调用传感器和/或执行器。
实施例2
本发明实施例1相对应,本发明实施例2提供了一种数据处理方法,应用于数据传输系统中的任一控制平台。所述数据传输系统包括消息中间件和至少两个控制平台,其中每个控制平台与一个或多个硬件通信连接;消息中间件包括多个主题,与所述至少两个控制平台通信连接,用于在所述至少两个控制平台之间传递数据;其中每个硬件对应一个或多个主题,每个所述主题对应一种数据类型。
图2为本发明实施例2中数据处理方法的流程示意图,如图2所示,本发明实施例2的数据处理方法包括以下步骤:
S101:获取数据处理需求;
S102:获取与所述消息中间件中的每个主题相对应的数据类型;
S103:基于与所述消息中间件中的每个主题相对应的数据类型,得到与所述数据处理需求相对应的多个主题;
S104:利用所述多个主题,对所述数据处理需求进行处理。
由此可见,本发明实施例2提供的数据处理方法,通过获取数据处理需求,从而可以基于与消息中间件中的每个主题相对应的数据类型,得到与数据处理需求相对应的多个主题;进一步的,可以利用多个主题,对所述数据处理需求进行处理,从而可以使得控制平台中的数据处理需求可以不关心硬件连接在哪个控制平台上,能够满足采用分布式结构设计的硬件数据处理需求。
在本发明实施例2中,数据处理需求包括数据融合需求和控制指令服务需求。下面分别对数据融合需求和控制指令服务需求的处理过程进行详细说明。
图3为本发明实施例2中数据融合需求处理方法的流程示意图,图4为本发明实施例2中数据融合方法一示例的流程示意图。
如图3和图4所示,本发明实施例2的数据处理方法包括以下步骤:
S201:获取数据融合需求。
在车辆的控制过程中,由于车辆不同时刻所处的状态不同,因此数据融合需求也可能不同。在图4中,数据融合需求需要融合的是惯性测量单元(Inertial MeasurementUnit,IMU)和激光传感器的数据。
S202:获取与所述消息中间件中的每个消息主题相对应的数据类型。
需要说明的是,在消息中间件中包括多个消息主题,每个传感器对应一个或多个消息主题,每个所述消息主题对应一种数据类型,可以在消息中间件中预先设置每个消息主题的数据类型。
其中,每个消息主题的数据类型可以根据数据融合需求中的算法确定。
例如,消息中间件中与惯性测量单元(Inertial Measurement Unit,IMU)传感器对应消息主题为Tocpic1。Tocpic1中的数据类型为:
message ImuData{
std_msgs.Header header=1;//数据头
double receive_time=2;//接收时的系统增量时间
geometry_msgs.Quaternion orientation=3;//姿态,方向
repeated double orientation_covariance=4;//姿态方向协方差
geometry_msgs.Point3D linear_acceleration=5;//线加速度
repeated double linear_acceleration_covariance=6;//线加速度协方差
geometry_msgs.Point3D angular_velocity=7;//角速度
repeated double angular_velocity_covariance=8;//角速度协方差
std_msgs.Time gps_time=9;//GPS时间
}
再例如,消息中间件中与激光雷达传感器相对应的消息主题为Tocpic2。Tocpic2中的数据类型为:
message LaserScan{
std_msgs.Header header=1;//数据头
float angle_min=2;//开始扫描角度
float angle_max=3;//结束扫描角度
float angle_increment=4;//每次扫描增加角度
float time_increment=5;//测量时间间隔
float scan_time=6;//扫描时间间隔
float range_min=7;//测量最小值
float range_max=8;//测量最大值
repeated float ranges=9;//距离值数组
repeated float intensities=10;//强度数组
}
由此可见,在消息中间件中以通信协议方式定义传感器的资源数据接口,由此既能屏蔽同类别传感器不同实现的差异,还能很好满足面向数据的数据融合算法的需求。
S203:基于与所述消息中间件中的每个消息主题相对应的数据类型,对所述数据融合需求进行分析,得到与所述数据融合需求相对应的多个消息主题。
具体的,对所述数据融合需求进行分析,得到与所述数据融合需求相对应的多个消息主题包括以下步骤:
对数据融合需求进行分析得到所需的传感器,得到传感器集合;
基于预设的传感器与消息主题的对应关系,得到与所述传感器集合相对应的消息主题集合;
基于预设的算法与消息主题的对应关系,在所述消息主题集合中筛选出与所述数据融合需求相对应的多个消息主题。
在图4中,与数据融合需求相对应的消息主题为Imu Data和LaserScanData。
S204:获取与所述数据融合需求相对应的多个消息主题中的多个消息数据,并对获取到的多个消息数据进行融合处理,得到数据融合结果。
在图4中,数据融合应用程序通过硬件抽象代理应用程序获取Imu Data中的IMU传感器数据和LaserScan Data中的激光雷扫描数据进行融合处理,得到数据融合结果。
进一步的,本发明实施例2的数据处理方法还包括:获取所述一个或多个传感器检测到的实际数据;针对每个传感器的实际数据,确定与该传感器相对应的消息主题,硬件抽象代理应用程序将所述实际数据发布至该传感器相对应的消息主题中。具体的,在图4中,IMU硬件抽象代理应用程序将IMU传感器数据发布到IMU Data消息主题中;激光雷达硬件抽象代理应用程序将激光雷达扫描数据发布到LaserScan Data消息主题中。需要说明的是,硬件抽象代理应用程序可以通过具体硬件特定的驱动API接口访问和控制传感器,也可以通过统一的抽象硬件驱动API接口(HAL)访问和控制传感器。
具体的,将所述实际数据发布至该传感器相对应的消息主题中可以采用如下方法:针对与该传感器相对应的任一消息主题,确定该消息主题的数据类型;判断所述实际数据的数据类型与该消息主题的数据类型是否相同;当所述实际数据的数据类型与该消息主题的数据类型不同时,根据该消息主题的数据类型,将所述实际数据进行数据类型的转化,并将转化后的实际数据发布至该传感器相对应的消息主题中。
也就是说,在消息中间件的消息主题中保存有传感器发布的消息数据。所述消息中间件采用发布订阅机制在所述至少两个控制平台之间传递传感器数据。
将得到的多个消息数据进行融合处理可以采用现有技术中的任一方法,在此不再赘述。
图5为本发明实施例2中控制指令服务需求处理方法的流程示意图,图6为本发明实施例2中控制指令服务需求处理方法一示例的流程示意图.如图5和图6所示,控制指令服务需求处理方法包括以下步骤:
S301:获取控制指令。
与数据融合需求相同,在车辆的控制过程中,由于车辆不同时刻所处的状态不同,因此控制指令也可能不同。
S302:获取与所述消息中间件中的每个服务主题相对应的数据类型。
需要说明的是,在消息中间件中包括多个服务主题,每个执行器对应一个或多个服务主题,每个所述服务主题对应一种数据类型,可以在消息中间件中预先设置每个服务主题的数据类型。
其中,每个服务主题的数据类型可以根据数据融合需求中的算法确定。
例如,车辆控制指令的数据类型如下:
message VehicleControlCommand{
std_msgs.Header header=1;//标准消息头
uint32 auto_mode=2;//驱动器使能
uint32 enable_forward=3;//前进信号使能
uint32 enable_backward=4;//后退信号使能
float velocity=5;//速度命令
uint32 acceleration=6;//加速率时间
uint32 deceleration=7;//减速率时间
float steer=8;//转向角度
由此可见,在消息中间件中以通信协议方式定义执行器的资源数据接口,由此既能屏蔽同类别执行器不同实现的差异,还能很好满足面向数据的数据融合算法的需求。
S303:基于与所述消息中间件中的每个服务主题相对应的数据类型,对所述控制指令进行分解,得到多个子控制指令、及与每个子控制指令相对应的服务主题。
具体的,可以对控制指令进行分解,得到多个子控制指令,其中所述子控制指令与执行器相对应;基于预设的执行器与消息主题的对应关系,根据多个子控制指令得到与每个子控制指令相对应的服务主题。
如图5所示,规划控制应用程序发布的控制指令可以分解为两个子控制指令,即车辆控制指令和声卡控制指令;与车辆控制指令相对应服务主题为VehicleControl,与声卡控制指令相对应的服务主题为AudioControl。
S304:将每个子控制指令发送至与其对应的服务主题中。
示例的,如图6所示,硬件抽象代理应用程序将车辆控制指令即车辆控制请求消息发送至VehicleControl;硬件抽象代理应用程序将声卡控制指令即声卡控制请求消息发送至AudioControl中。
进一步的,数据处理方法还包括:针对任一服务主题,判断该服务主题中是否存在子控制指令;当该服务主题中存在所述子控制指令时,确定与该服务主题相对应的执行器;将该服务主题中的子控制指令发送至与该服务主题相对应的执行器中。
示例的,如图6所示,硬件抽象代理应用程序获取VehicleControl中的车辆控制请求消息,并将车辆控制请求消息发送到车辆控制执行器;硬件抽象代理应用程序获取AudioControl中的声卡控制请求消息,并将声卡控制请求消息发送到声卡控制执行器。
再进一步的,在将该服务主题中的子控制指令发送至与该服务主题相对应的执行器中之后,还包括:针对任一执行器,获取该执行器发送的应答消息;将所述应答消息发送至与该执行器相对应的服务主题中。
示例的,如图6所示,硬件抽象代理应用程序获取车辆控制执行器反馈的车辆状态应答消息,并保存在VehicleControl中;硬件抽象代理应用程序获取声卡控制执行器反馈的声卡状态应答消息,并保存在AudioControl中。
更进一步的,在将所述应答消息发送至与该执行器相对应的服务主题中之后,还包括:将所述应答消息发送至所述控制指令的发送方。
示例的,如图6所示,硬件抽象代理应用程序将VehicleControl中保存的车辆状态应答消息进一步反馈至规划控制应用程序,硬件抽象代理应用程序将AudioControl中保存的声卡状态应答消息进一步反馈至规划控制应用程序。
图7为车辆控制代理的处理方法示意图。如图7所示,车辆控制代理调用Initialize()函数执行硬件初始化操作。Initialize()函数的执行会进一步分别调用车辆转向器操作接口和车辆底盘操作接口中的Open()函数打开相应的硬件设备(叉车转向器和叉车底盘)并执行硬件初始化。
图8为图7的车辆控制代理中的读操作示意图。如图8所示,车辆控制代理定时调用GetStatus(VehicleChassisStatus&)和GetStatus(VehicleSteeringGearStatus&)函数分别获取车辆底盘状态和车辆转向器状态,然后整合车辆底盘状态和车辆转向器状态为车辆控制状态信息,调用Publish(constVehicleControl Status&)函数发布到消息中间件相应的消息主题。上述的GetStatus()相关函数分别进一步调用车辆转向器操作接口和车辆底盘操作接口中的Read()函数读取相关硬件(叉车转向器和叉车底盘)的状态信息。
图9为图7的车辆控制代理中的写操作示意图。如图9所示,车辆控制代理通过Subscribe(const Vehicle Control Status&)函数从消息中间件相应的消息主题中订阅车辆控制命令,然后将车辆控制命令拆分为相应的车辆转向器控制命令和车辆底盘控制命令,并分别调用车辆转向器操作接口和车辆底盘操作接口中的Write()函数写入相关硬件(叉车转向器和叉车底盘)数据。
图10为本发明实施例2中数据融合需求处理方法和控制指令服务需求处理方法的示意图。如图10所示,所述消息中间件采用发布订阅机制在所述至少两个控制平台之间传递传感器数据;所述消息中间件采用服务请求应答机制在所述至少两个控制平台之间传递执行器数据。
实施例3
与本发明实施例2相对应,本发明实施例3提供了一种数据处理装置,应用于数据传输系统中的任一控制平台。所述数据传输系统包括消息中间件和至少两个控制平台,其中每个控制平台与一个或多个硬件通信连接;消息中间件包括多个主题,与所述至少两个控制平台通信连接,用于在所述至少两个控制平台之间传递数据;其中每个硬件对应一个或多个主题,每个所述主题对应一种数据类型。
图11为本发明实施例3中数据处理装置的结构示意图,如图11所示,本发明实施例3的数据处理装置包括第一获取模块10、第二获取模块20、分析模块30和处理模块40。
第一获取模块10,用于获取数据处理需求。
第二获取模块20,用于获取与所述消息中间件中的每个主题相对应的数据类型。
分析模块30,用于基于与所述消息中间件中的每个主题相对应的数据类型,得到与所述数据处理需求相对应的多个主题。
处理模块40,用于利用所述多个主题,对所述数据处理需求进行处理。
其中,所述消息中间件中的主题包括消息主题和/或服务主题,当所述数据处理需求为数据融合需求时,分析模块30具体用于:基于与所述消息中间件中的每个消息主题相对应的数据类型,对所述数据融合需求进行分析,得到与所述数据融合需求相对应的多个消息主题。所述处理模块40具体用于:获取与所述数据融合需求相对应的多个消息主题中的多个消息数据,并对获取到的多个消息数据进行融合处理,得到数据融合结果。
进一步,第一获取模块10还用于获取所述一个或多个传感器检测到的实际数据;所述分析模块30还用于确定与该传感器相对应的消息主题,所述处理模块40还用于将所述实际数据发布至该传感器相对应的消息主题中。
当所述数据处理需求为控制指令服务需求时,所述分析模块30具体用于基于与所述消息中间件中的每个服务主题相对应的数据类型,对所述控制指令进行分解,得到多个子控制指令、及与每个子控制指令相对应的服务主题。所述处理模块40具体用于将每个子控制指令发送至与其对应的服务主题中。
所述处理模块40还用于:针对任一服务主题,判断该服务主题中是否存在子控制指令;当该服务主题中存在所述子控制指令时,确定与该服务主题相对应的执行器;将该服务主题中的子控制指令发送至与该服务主题相对应的执行器中。
更进一步的,所述处理模块40还用于:针对任一执行器,获取该执行器发送的应答消息;将所述应答消息发送至与该执行器相对应的服务主题中,以将所述应答消息发送至所述控制指令服务需求的发送方。
虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下作出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。
Claims (10)
1.一种数据传输系统,其特征在于,包括:
至少两个控制平台,其中每个控制平台与一个或多个硬件通信连接;
消息中间件,包括多个主题,与所述至少两个控制平台通信连接,用于在所述至少两个控制平台之间传递数据;
其中,每个硬件对应一个或多个主题,每个所述主题对应一种数据类型。
2.根据权利要求1所述的数据传输系统,其特征在于,所述硬件包括传感器和/或执行器;所述消息中间件中的主题包括消息主题和/或服务主题。
3.一种数据处理方法,应用于数据传输系统中的任一控制平台,所述数据传输系统包括消息中间件和至少两个控制平台,其中每个控制平台与一个或多个硬件通信连接;消息中间件包括多个主题,与所述至少两个控制平台通信连接,用于在所述至少两个控制平台之间传递数据;其中每个硬件对应一个或多个主题,每个所述主题对应一种数据类型;其特征在于,所述数据处理方法包括:
获取数据处理需求;
获取与所述消息中间件中的每个主题相对应的数据类型;
基于与所述消息中间件中的每个主题相对应的数据类型,得到与所述数据处理需求相对应的多个主题;
利用所述多个主题,对所述数据处理需求进行处理。
4.根据权利要求3所述的方法,其特征在于,所述消息中间件中的主题包括消息主题和/或服务主题,当所述数据处理需求为数据融合需求时,所述基于与所述消息中间件中的每个主题相对应的数据类型,得到与所述数据处理需求相对应的多个主题包括:
基于与所述消息中间件中的每个消息主题相对应的数据类型,对所述数据融合需求进行分析,得到与所述数据融合需求相对应的多个消息主题。
5.根据权利要求4所述的方法,其特征在于,所述利用所述多个主题,对所述数据处理需求进行处理包括:
获取与所述数据融合需求相对应的多个消息主题中的多个消息数据,并对获取到的多个消息数据进行融合处理,得到数据融合结果。
6.根据权利要求4所述的方法,其特征在于,还包括:
获取所述一个或多个传感器检测到的实际数据;
针对每个传感器的实际数据,确定与该传感器相对应的消息主题,将所述实际数据发布至该传感器相对应的消息主题中。
7.根据权利要求3所述的方法,其特征在于,所述消息中间件中的主题包括消息主题和/或服务主题,当所述数据处理需求为控制指令服务需求时,所述基于与所述消息中间件中的每个主题相对应的数据类型,得到与所述数据处理需求相对应的多个主题包括:
基于与所述消息中间件中的每个服务主题相对应的数据类型,对所述控制指令进行分解,得到多个子控制指令、及与每个子控制指令相对应的服务主题。
8.根据权利要求7所述的方法,其特征在于,所述利用所述多个主题,对所述数据处理需求进行处理包括:
将每个子控制指令发送至与其对应的服务主题中。
9.根据权利要求7所述的方法,其特征在于,还包括:
针对任一服务主题,判断该服务主题中是否存在子控制指令;
当该服务主题中存在所述子控制指令时,确定与该服务主题相对应的执行器;
将该服务主题中的子控制指令发送至与该服务主题相对应的执行器中。
10.根据权利要求9所述的方法,其特征在于,在将该服务主题中的子控制指令发送至与该服务主题相对应的执行器中之后,还包括:
针对任一执行器,获取该执行器发送的应答消息;
将所述应答消息发送至与该执行器相对应的服务主题中,以将所述应答消息发送至所述控制指令服务需求的发送方。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211605727.3A CN116233203A (zh) | 2022-12-14 | 2022-12-14 | 一种数据传输系统及数据处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211605727.3A CN116233203A (zh) | 2022-12-14 | 2022-12-14 | 一种数据传输系统及数据处理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116233203A true CN116233203A (zh) | 2023-06-06 |
Family
ID=86588138
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211605727.3A Pending CN116233203A (zh) | 2022-12-14 | 2022-12-14 | 一种数据传输系统及数据处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116233203A (zh) |
-
2022
- 2022-12-14 CN CN202211605727.3A patent/CN116233203A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100958685B1 (ko) | Dma 컨트롤러, 노드, 데이터 전송 제어 방법 및 프로그램을 기록한 컴퓨터 판독가능한 기록 매체 | |
EP1467523B1 (en) | Systems, network devices and methods for highly configurable peer-to-peer communications between network devices communicating via a common bus | |
US6351823B1 (en) | Method and device for monitoring a computer system having at least two processors | |
CN101421082B (zh) | 工业机器人系统的多输入控制 | |
KR101802858B1 (ko) | 자동차용 통합데이터 처리 제어 시스템 및 방법 | |
CN112311773B (zh) | 用于智能汽车传感器接口系统的实现方法 | |
US8959534B2 (en) | Enabling legacy applications to achieve end-to-end communication with corresponding legacy device services | |
CN114179817A (zh) | 一种车辆控制器、车辆和车辆控制方法 | |
WO2023124354A1 (zh) | 一种车辆控制器、车辆和车辆控制方法 | |
US6381675B1 (en) | Switching mechanism and disk array apparatus having the switching mechanism | |
CN116233203A (zh) | 一种数据传输系统及数据处理方法 | |
CN101826061A (zh) | 硬件装置的共享系统与管理方法 | |
CN115497318A (zh) | 一种适用于公开道路远程驾驶的辅助驾驶平台 | |
US6895451B2 (en) | Composite device system | |
CN115103003A (zh) | 一种点对多点的水声即时通信系统 | |
CN113401139B (zh) | 串联式自动驾驶系统 | |
EP1594068A2 (en) | PCI Bus system | |
CN115118741A (zh) | 电子控制单元、包括电子控制单元的车辆和计算机实现方法 | |
US5761397A (en) | Controlling logical channel use based upon printing system environment | |
KR20220080501A (ko) | 자율주행 차량의 제어시스템과 이를 이용한 자율 주행 차량의 제어방법 | |
KR102438788B1 (ko) | 자율주행 데이터 로깅시스템 | |
US7617330B2 (en) | System and method for preloading a bus controller with command schedule | |
US20230261927A1 (en) | Management device, remote operation system, and management method | |
CN113467846B (zh) | 无人机异构任务载荷设备即插即用实现方法 | |
US20220113961A1 (en) | Generation of code for a system |
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 |