【自动驾驶】8. MDC通信架构 + DDS + SOME/IP

在这里插入图片描述


在这里插入图片描述


在这里插入图片描述

对于AP框架,感知融合模块中,由于PreFusion通信数据量大,所以采用带宽较大的DDS(Data Distribution Service)通信协议,其余节点传入数据量较小,采用SOME/IP(Scalable Service-Oriented Middleware over IP)通信协议。融合模块与规控模块之间通信为DDS通信协议。规划控制模块内各节点之间均采用能够处理大数据量的DDS通信协议。

DDS主要用于内部通信高性能场景,SOME/IP主要用于与外部部件对接的通信场景,如与Classic AUTOSAR对接。
AP的通信协议分为DDS和SOME/IP。DDS的通讯协议又分为SHM(SHare Memory)和UDP(User Datagram Protocol),SHM为域内通讯协议,UDP为芯片间通讯协议。


节点间的交互情况如下
  • CameraPerception节点从Camera中以SHM通信协议获取图像信息,对图像进行初步处理后,将障碍物列表信息输出给PreFusion节点。
  • RadarPerception节点采用SOME/IP通信协议,通过MCU(Microcontroller Unit)从Radar中获取毫米波雷达信息,并从Gps_localization获取车辆自身状态参数(包括自车位置、车速、航向信息等),对获取到的信息进行初步处理后,将障碍物列表信息输出给FullFusion节点。
  • LidarPerception节点采用SHM通信协议从Lidar中获取激光雷达信息,采用SOME/IP通信协议从Gps_localization获取车辆自身状态参数(包括自车位置、车速、航向信息等),对获取到的信息进行初步处理后,将障碍物列表信息输出给FullFusion节点。
  • PreFusion节点采用SHM通信协议从Lidar中获取激光雷达的信息,采用SHM+UDP通信协议从CameraPerception节点获取障碍物列表信息,以及采用SOME/IP通信协议从Gps_localization节点中获取车辆自身状态参数(包括自车位置、车速、航向信息等),再对获取到的信息进行初步融合,输出新的障碍物列表信息给FullFusion节点。
  • FullFusion节点分别从RadarPerception、LidarPerception和PreFusion节点获取障碍物列表信息,并从Gps_localization获取车辆自身状态参数(包括自车位置、车速、航向信息等),对获取到的信息进行最终的融合,得到可用的障碍物列表信息,然后将该信息输出给BehaviorPlan和MotionPlan节点。
  • MCU采用SOME/IP的通信协议将GPS/IMU、车辆底盘线控系统等信息输出给Vsomeipd节点。MCU接收GPS/IMU传感器信息的方式为串口通讯,接收线控系统信息的方式为CAN总线通讯
  • Gps_localization节点接收GPS/IMU信息,获得车辆自身状态参数(包括自车位置、车速、航向信息等),然后将这些信息输出给MissionPlan、BehaviorPlan、MotionPlan、Transform等节点
  • MissionPlan节点接收GPS/IMU信息,获得自车定位,并按照HMI界面设定的终点、途经点,根据高精度地图信息,规划出一条从起始点到终点的全局路径。然后将该路径以及高精度地图中其他信息发送出去,供其他节点使用。
  • BehaviorPlan节点为行为决策节点。该节点接收周围环境信息(包括GPS/IMU信息、高精度地图信息、周围障碍物信息、车辆自身信息等),经过决策,输出无人车应当执行的行为,并给出行为相关的边界信息,提供给MotionPlan节点进行轨迹规划。
  • MotionPlan节点接收GPS/IMU信息,包括行为决策信息、周围障碍物信息、车辆自身状态信息等,然后根据这些信息规划出一条最优的路径(包含位置坐标和速度信息的曲线),再将最优路径输出给Transform节点。
  • Transform为坐标转换节点。该节点的功能为将MotionPlan节点提供的信息从UTM坐标转换到车辆坐标系,输出给Control节点。
  • Control节点接收Transform节点转换之后的最优路径信息,然后结合车辆自身状态计算车辆横向及纵向的控制量(方向盘转角、油门开度、制动强度等),输出至车辆线控层,由执行器执行相应控制量.
  • Vehicle Abstract节点为车辆抽象节点。下行负责将Control节点发送的控制信号进行转换,并发送至MCU;上行又称为Vehicle Report节点,负责将MCU采集到的车辆状态信息进行转换,并发送至Conctrol、Transform、MotionPlan和BehaviorPlan节点。
  • Vsomeipd是信息传输路由节点,为采用SOME/IP通信协议的节点提供数据转换,如:Vehicle Abstract、GPS Abstract节点采用SOME/IP通讯协议将数据传输给其他节点(GPS_localization也需要通过Vsomeipd节点进行数据转换,在图中为了更好的体现出数据通路没有画出),数据经过一定的方式处理后输出给MCU。
  • Vehicle Abstract节点为车辆抽象层,GPS Abstract节点为GPS抽象层,这两个节点主要负责将Vsomeipd节点输出的相应数据进行解析,输出给其余各节点进行决策规划及控制量的计算。

请提前规划好Service Interface Id和Service Instance Id,防止发生ID冲突。ID取值范围为101~150。

  • Service Interface:服务接口,定义接口数据类型和通讯协议等,通过不同的Service Interface Id来区别服务接口,该参数需要保证全局唯一。
  • Service Instance :服务实例,由Service Interface实例化而来,通过不同的Service Instance Id来区别通讯的服务实例,该参数需要保证全局唯一。

ARXML是AUTOSAR Adaptive Platform用于生成节点之间相互通信的数据类型(以头文件体现)以及通信规则(以json格式体现)。ARXML主要通过MDC Manifest Configurator工具进行配置。配置前需要规划接收接口、发送接口、通信的数据类型以及通信方式等。

CM(Communication Management)
如果应用实现不需要调用CM(Communication Management)相关的接口代码,则只需要配置Application Manifest、Machine Manifest和System Manifest即可。

在这里插入图片描述


通信方式

CM包含三种通讯方式:Event、Method与Field。

  • Event通讯方式是在服务发现后,从服务端发送数据,由客户端进行接收,单向传输数据。
  • Method通讯方式是先由客户端发送请求,服务端收到请求后会处理客户请求并返回应答。
  • Field通讯方式分为Setter、Getter与Notifier方法。其中Notifier与Event工作模式类似,Getter与Setter与Method方法类似。
    在这里插入图片描述

在这里插入图片描述


在这里插入图片描述


SOME/IP协议通讯注意事项

若应用需要使用SOME/IP方式进行通讯,请注意以下几点:

  • 1.必须先启动someipd,再开启服务端与客户端应用进行通讯,且someipd程序必须先于所有应用程序启动。
    someipd是SOMEIP的后台进程,负责服务发现、数据转发等功能。
    someipd程序的启动需要通过环境变量指定“vsomeip.json”配置文件,可通过如下方式指定:export SOMEIP_CONFIG_FILE=/<文件目录>/vsomeip.json
    然后,运行someipd可执行文件。someipd可执行文件目录为/<deb解压位置>/usr/local/AdaptiveAutoSar/bin
  • 2.关于“vsomeip.json”配置文件的生成,用户可以选择将主机上所有Application的ARXML配置文件全部输入代码生成工具生成,也可以选择手动配置(将各APP单独生成的“vsomeip.json”文件组合,主要组合“vsomeip.json”中services、applications、clients中的内容)。
  • 3.someipd对应配置文件中必须包含该主机对外通讯需要的所有服务信息。
  • 4.一台主机上只允许启动一个someipd。
  • 5.应用于someipd的“vsomeip.json”配置文件必须配置service-Discovery信息。具体配置需要参考配置项。

QoS(Quality of Service)服务质量
在这里插入图片描述

  • 15
    点赞
  • 114
    收藏
    觉得还不错? 一键收藏
  • 11
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值