ERDOS 介绍

ERDOS 是一个采用RUST 语言构建的用于开发自动驾驶汽车和机器人应用程序的平台。 该系统是使用流式数据流系统技术构建的。其中应用程序通常类似于一系列连接的运算符的拓扑, 其实现就是有向图,其中数据的处理逻辑由开发人员提供的operator来处理。

ERDOS 的主要亮点是提供了构建确定性应用程序的机制。例如使用水印和 Rust 时间版本状态数据结构处理由水印分隔的消息集,因此 ERDOS pipeline 是一个构建 KPN 应用的框架。 KPN 程序由多个并发运行的进程组成,可以相互发送数据。因此,KPN应用程序可以描绘为图形。关于 KPN 是另外一个话题,在这里不展开讨论了。

来看一个简单的例子: 

ERDOS 代码的组织结构如下

Operator 

DetectionOperator 包装了一个对象检测模型。操作员接收相机帧作为输入并输出检测信息,包括对象边界框、类别标签、检测置信度分数等。

PerfectDetectorOperator 用于输出从 CARLA 获得的对象的真实边界框,用于 ego 车载摄像头记录的每一帧。

ObjectTrackerOperator 包装了一个跟踪器实例。操作员接收相机帧并在每个时间步输出跟踪器边界框信息。操作员还接收检测数据作为输入,尽管这不是每个时间步长都需要的。

ObstacleLocationHistoryOperator 累积跟踪器边界框以将对象位置的轨迹输出到预测模块。此任务涉及多个输入数据流,收集自车辆位置和速度、深度帧和跟踪边界框的数据。

PerfectTrackerOperator 用于输出每个时间步从 CARLA 获得的对象的真实轨迹。

TrackingEvalOperator 需要来自检测Operator和跟踪Operator的输入来计算和记录与跟踪相关的指标。

例子

class CannyEdgeLaneDetectionOperator(erdos.Operator):

   def __init__(self, camera_stream, detected_lanes_stream, flags):

       camera_stream.add_callback(self.on_msg_camera_stream,

                                  [detected_lanes_stream])

       self._flags = flags

       self._logger = erdos.utils.setup_logging(self.config.name,

                                                self.config.log_file_name)

       self._kernel_size = 7

def connect(camera_stream):

   detected_lanes_stream = erdos.WriteStream()

   return [detected_lanes_stream]


@erdos.profile_method()

def on_msg_camera_stream(self, msg, detected_lanes_stream):

    image = self._draw_lines(image)

    detected_lanes_stream.send(erdos.Message(msg.timestamp, image))

消息类型

FrameMessage 包含给定时间步长的单个相机帧。 它将来自环境的摄像机帧发送给Operator以进行对象检测和跟踪。

ObstaclesMessage 用于将检测信息从对象检测传输到对象跟踪组件。 检测信息被编码为 DetectedObstacle 对象的列表,这些对象存储特定障碍物的 ID、边界框和类标签的信息。

ObstacleTrajectoriesMessage 用于将障碍物轨迹从感知模块发送到预测组件。 一条消息包含一个 Trajectory 对象列表,这些对象存储了对象的最新边界框和过去的位置,直至达到预定义的限制。

后续文章陆续展开介绍这个框架。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值