Browse Source

fix(controller_midcar,grpc_BS):add safty status when grpc timeout. set speed limit to 105 when remote control.

fujiankuan 3 years ago
parent
commit
fbe672d2d5

+ 1 - 1
src/controller/controller_midcar/main.cpp

@@ -140,7 +140,7 @@ void ListenRemotectrl(const char * strdata,const unsigned int nSize,const unsign
         xdecition.set_torque(xrc.acc());
         xdecition.set_brake(xrc.brake());
         xdecition.set_wheelangle(xrc.wheel()*5.5f);
-        xdecition.set_speed(5);
+        xdecition.set_speed(105);
         if(xrc.shift() > 0) //D shift
             xdecition.set_gear(1); //0P 1D 2R 3N
         else if(xrc.shift() < 0)

+ 5 - 0
src/driver/driver_cloud_grpc_client_BS/vehicle_control.cpp

@@ -126,6 +126,10 @@ std::string VehicleControlClient::vehicleControl(void)
         {
             std::cout << "vehicleControl RPC connect timeout" << std::endl;
         }
+        shiftCMD = ShiftStatus::SHIFT_DRIVE;
+        steeringWheelAngleCMD = 0.0;
+        throttleCMD = 0.0;
+        brakeCMD = 100.0;
         return "vehicleControl RPC failed";
     }
 }
@@ -258,6 +262,7 @@ std::string VehicleChangeCtrlModeClient::changeCtrlMode(void)
         {
             std::cout << "vehicleControl RPC connect timeout" << std::endl;
         }
+        modeCMD = CtrlMode::CMD_EMERGENCY_STOP;
         return "changeCtrlMode RPC failed";
     }
 }

+ 3 - 2
src/driver/driver_cloud_grpc_client_BS/vehicle_upload.cpp

@@ -287,6 +287,7 @@ void DataExchangeClient::ListenChassisMsg(const char * strdata,const unsigned in
     gMutex_Chassis.lock();
     SOC = xdata.soc();
     gMutex_Chassis.unlock();
+//    std::cout<<SOC<<std::endl;
 }
 
 void DataExchangeClient::ListenGPSIMUMsg(const char * strdata,const unsigned int nSize,const unsigned int index,const QDateTime * dt,const char * strmemname) // need a lock
@@ -448,7 +449,7 @@ std::string DataExchangeClient::uploadVehicleInfo(void)
     // Act upon its status.
     if (status.ok()) {
         destinationPosition.CopyFrom(reply.destinationposition());
-        std::cout<<"lat:"<<reply.destinationposition().latitude()<<"lon:"<<reply.destinationposition().longitude()<<"height:"<<reply.destinationposition().height()<<std::endl;
+//        std::cout<<std::setprecision(12)<<"lat:"<<reply.destinationposition().latitude()<<"lon:"<<reply.destinationposition().longitude()<<"height:"<<reply.destinationposition().height()<<std::endl;
         return "uploadVehicleInfo RPC successed";
     } else {
         std::cout << status.error_code() << ": " << status.error_message()
@@ -623,7 +624,7 @@ void DataExchangeClient::run()
             updateData(abs(xTime.elapsed() - lastTime));
             std::string reply = uploadVehicleInfo();
             std::cout<< reply <<std::endl;
-            std::cout<<std::setprecision(8)<<destinationPosition.latitude()<<","<<destinationPosition.longitude()<<std::endl;
+//            std::cout<<std::setprecision(12)<<destinationPosition.latitude()<<","<<destinationPosition.longitude()<<std::endl;
             lastTime = xTime.elapsed();
         }