3 Star 13 Fork 8

aichifan0df/SimuMap3D Pro

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

SimuMap3D Pro

介绍

SimuMap3D仿真自动驾驶采集数据平台,根据unity3D开发的仿真环境,可以采集输出BEV视角下的,车辆、车道线等数据。

软件架构

软件架构说明

使用说明

QQ交流群:763063996

SimuMap3D支持使用zeroMQ、UDP作为通讯协议,发布输出数据。

方式一:接收数据使用zeroMQ订阅模式。

网络端口 5556 示例:"tcp://127.0.0.1:5556"

topic字段: xx.Subscribe("RoadLaneData")车道线

xx.Subscribe("VehicleInfoData")自车信息

xx.Subscribe("TrafficLightData")交通信号灯

xx.Subscribe("RoadBoundData")道路区域

方式二:UDP通讯 网络端口:9001 使用EventData类反序列化订阅数据

type是数据message类型字段

payload是序列化后的各类型数据

SimuMap3D数据以阻塞式发布,请求一帧,下发一帧数据

切换通讯模式

更改程序目录下:SimuMap Pro 0.10\SimuMap Pro 0.10_Data\StreamingAssets中network配置文件

车辆控制

开启Vehicle中外部数据控制

通过EventData类上传VehicleMotion数据

代码示例:


EventData @event = new EventData();
@event.Type = "VehicleMotion";
VehicleMotion vehicleMotion = new VehicleMotion() { SteerAngle = 0.0f, MotorTorque = 30.0f, BrakeTorque = 0.0f };
@event.Payload = MessageExtensions.ToByteString(vehicleMotion);

SocketSend(@event);

Proto接口

syntax = "proto3";

package Simulation.Data;

message EventData{
 //type ="FrameData";type="FreeSpaceRoadBound";type="TrafficLightInfo";
 string type=1;
 bytes payload=2;
}

message FrameData{
  int32 frameID = 1;
  //trackBoxs:动态障碍物
  repeated TrackBox trackBoxs= 2;
  //lans:车道线
  repeated Lane lans= 3;
  int32 speed = 4;
}

message FreeSpaceRoadBound{
  //boundData 道路区域 256*256*3二值化图像
  bytes boundData = 1;
}

message PointCloudV3Data{
  //pointClouds:点云
  repeated PointCloudV3 pointClouds= 1;
}

message TrafficLightInfo{
  //lightInfo:红绿灯
  repeated TrafficLight lightInfo = 1;
}

message VehicleMotion{
  //前轮转向角度
  float steerAngle = 1;
  //后轮驱动力
  float motorTorque = 2;
  //制动 默认0不制动
  float brakeTorque = 3;
}

message APAData{
   repeated ParkInfo apaParks = 1;
}

message ParkInfo{
  int32 id = 1;
  int32 number = 2;
  OccupyStatus status = 3;
  repeated PointV3 BoundingBoxs = 4;
  TypePark parkType = 5;
  
  enum OccupyStatus{
   //未知状态
   unknown = 0;
   //空闲状态
   free = 1;
   //占用状态
   Occupied = 2;
   //选择可入库状态
   destination = 3;
  }
  enum TypePark{
    unknownPark = 0;
	//垂直库位
    VerticalPark = 1;
	//水平库位
    HorizontalPark = 2;
  }
}

message PointV3{
 float x = 1;
 float y = 2;
 float z= 3;
}
message PointV2{
 float x = 1;
 float y = 2;
}
message PointCloudV3{
  PointV3 coord= 1;
  int32 type = 2;
}

message TrackBox{
  int32 objID= 1;
  //CarType
  int32 type= 2;
  //车辆坐标
  PointV3 centerPos= 3;
  //车辆朝向
  float heading= 4;
  float length= 5;
  float width= 6;
  float height= 7;
}

message Lane{
  // 1 虚车道线,2 行人斑马线,3 道路边界线,4 左右车道中间分界线(黄实线)
  int32 type = 1;
  repeated PointV2 points = 2;
}

message VehicleInfo{
  int32 speed = 1;
  float heading = 2;
  PointV3 VehicleWorldCoordinates= 3;
}

message TrafficLight{
  int32 status = 1;
  float x = 2;
  float y = 3;
  float z = 4;
}
enum CarType
{
    unknown = 0;
    bus = 1;
    car = 2;
    fiat = 3;
    furgao = 4;
    truck = 5;
}

参考

https://zeromq.org/

空文件

简介

SimuMap3D仿真自动驾驶采集数据平台,根据unity3D开发的仿真环境,可以采集输出BEV视角下的,车辆、车道线等数据。 展开 收起
取消

发行版

暂无发行版

贡献者

全部

近期动态

不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/aichifan0df/simumap3d-pro.git
git@gitee.com:aichifan0df/simumap3d-pro.git
aichifan0df
simumap3d-pro
SimuMap3D Pro
master

搜索帮助

371d5123 14472233 46e8bd33 14472233