# 算法镜像说明
# 算法镜像
为保证resim功能的正常运行,您上传的自定义算法镜像需包含以下部分:
- 具备功能正常运行的环境;
- 您开发的针对路测场景的算法;
- 处理rosbag等数据的逻辑;
- 用于对接仿真服务算法评测的PB文件转换逻辑;
- 平台的一些约定。
想要评测的数据需要转换为“.pb”文件,“.pb”文件的名称及路径请固定如下:
/opt/rosbag/bag/ego_state.pb
转换的“.pb”文件需符合protobuf message定义。
syntax = "proto3"; package evaluation; message Coordinate { double x = 1; // x position @unit m double y = 2; // y position @unit m double z = 3; // z position @unit m double h = 4; // heading angle @unit rad double p = 5; // pitch angle @unit rad double r = 6; // roll angle @unit rad } message Geometry{ float dimX = 1; // x dimension in object co-ordinates (length) @unit m float dimY = 2; // y dimension in object co-ordinates (width) @unit m float dimZ = 3; // z dimension in object co-ordinates (height) @unit m float offX = 4; // x distance from ref. point to center of geometry, object co-ordinate system @unit m @version 0x0100 */ float offY = 5; // y distance from ref. point to center of geometry, object co-ordinate system @unit m @version 0x0100 */ float offZ = 6; // z distance from ref. point to center of geometry, object co-ordinate system @unit m } message ObjectState { uint32 id = 1; // unique object ID within the given category uint32 type = 2; // object type Geometry geo = 3; // info about object's geometry Coordinate pos = 4; // position and orientation of object's reference point Coordinate speed = 5; Coordinate acceleration = 6; } message EgoStateFrame { double sim_time = 1; ObjectState ego_state = 2; } message EgoStateResult{ repeated EgoStateFrame ego_state_frame = 1; }