|
@@ -62,6 +62,11 @@ iv::decition::BrainDecition * gbrain;
|
|
gbrain->GetFusion(strdata,nSize);
|
|
gbrain->GetFusion(strdata,nSize);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ void ListenUltraArea(const char *strdata, const unsigned int nSize, const unsigned int index, const QDateTime *dt, const char *strmemname)
|
|
|
|
+ {
|
|
|
|
+ gbrain->UpdateUltra(strdata,nSize); //超声波数据
|
|
|
|
+ }
|
|
|
|
+
|
|
/* void ListenMap_change_req(const char * strdata,const unsigned int nSize,const unsigned int index,const QDateTime * dt,const char * strmemname)
|
|
/* void ListenMap_change_req(const char * strdata,const unsigned int nSize,const unsigned int index,const QDateTime * dt,const char * strmemname)
|
|
{
|
|
{
|
|
iv::formation_map_index::map map;
|
|
iv::formation_map_index::map map;
|
|
@@ -148,6 +153,8 @@ iv::decition::BrainDecition::BrainDecition()
|
|
mpaObsTraceLeft = iv::modulecomm::RegisterSend("obstraceleft",100000,1);
|
|
mpaObsTraceLeft = iv::modulecomm::RegisterSend("obstraceleft",100000,1);
|
|
mpaObsTraceRight = iv::modulecomm::RegisterSend("obstraceright",100000,1);
|
|
mpaObsTraceRight = iv::modulecomm::RegisterSend("obstraceright",100000,1);
|
|
|
|
|
|
|
|
+ mpultraArea=iv::modulecomm::RegisterRecv("ultra-area",iv::decition::ListenUltraArea);//监听超声波数据
|
|
|
|
+
|
|
|
|
|
|
mTime.start();
|
|
mTime.start();
|
|
mnOldTime = mTime.elapsed();
|
|
mnOldTime = mTime.elapsed();
|
|
@@ -1643,6 +1650,28 @@ void iv::decition::BrainDecition::UpdateSate(){
|
|
decitionGps00->isFirstRun=true;
|
|
decitionGps00->isFirstRun=true;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+void iv::decition::BrainDecition::UpdateUltra(const char *pdata, const int ndatasize)
|
|
|
|
+{
|
|
|
|
+ if(ndatasize<1)return;
|
|
|
|
+ iv::ultrasonic::ultraarea ultra_msg;
|
|
|
|
+ if(false == ultra_msg.ParseFromArray(pdata,ndatasize))
|
|
|
|
+ {
|
|
|
|
+ std::cout<<"Update UltraMsg Parse fail."<<std::endl;
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ iv::ultrasonic::Area ultra_area;
|
|
|
|
+ for(int i=0;i<ultra_msg.area_size();i++)
|
|
|
|
+ {
|
|
|
|
+ ultra_area =ultra_msg.area(i);
|
|
|
|
+ if(ultra_area.valid()==true&&(ultra_area.id()>=1))
|
|
|
|
+ {
|
|
|
|
+ ServiceCarStatus.mbUltraDis[ultra_area.id()-1] = ultra_area.dist();
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+}
|
|
void iv::decition::BrainDecition::adjuseGpsLidarPosition(){
|
|
void iv::decition::BrainDecition::adjuseGpsLidarPosition(){
|
|
|
|
|
|
ServiceCarStatus.msysparam.lidarGpsXiuzheng -= ServiceCarStatus.msysparam.gpsOffset_y;
|
|
ServiceCarStatus.msysparam.lidarGpsXiuzheng -= ServiceCarStatus.msysparam.gpsOffset_y;
|