ERDOS

ERDOS is a platform for developing self-driving cars and robotics applications.

View the codebase on GitHub.

Example Use

# Construct the dataflow graph in the driver.
# The dataflow graph consists of operators which process data,
# and streams which broadcast messages to other operators.
def driver():
    # Create a camera operator which generates a stream of RGB images.
    camera_stream = erdos.connect(CameraOp)
    # Create an object detection operator with the provided model.
    # The object detection operator reads RGB images and sends bounding boxes.
    bounding_box_stream = erdos.connect(ObjectDetectorOp, [camera_stream],
                                        model="models/ssd_mobilenet_v1_coco")
    # Create semantic segmentation operator with the provided model
    segmentation_stream = erdos.connect(SegmentationOp, [camera_stream],
                                        model="models/drn_d_22_cityscapes")
    # Create an action operator to propose actions from provided features
    action_op = erdos.connect(ActionOp, [bounding_box_stream, segmentation_stream])
    # Create a robot operator to interface with the robot
    erdos.connect(RobotOp)

if __name__ == "__main__":
    # Execute the application
    erdos.run(driver)

Getting Started