Jelajahi Sumber

change pilot_autoware_bridge_core. add control mode for autoware.

yuchuli 3 bulan lalu
induk
melakukan
91429cc5f0

File diff ditekan karena terlalu besar
+ 392 - 517
src/driver/driver_grpc_client/ivgrpc.pb.cc


File diff ditekan karena terlalu besar
+ 532 - 304
src/driver/driver_grpc_client/ivgrpc.pb.h


+ 7 - 0
src/ros2/AutoWare2025/src/pilot_autoware_bridge/include/pilot_autoware_bridge/pilot_autoware_bridge_core.hpp

@@ -171,6 +171,11 @@ private:
 
     void publish_acceleration();
 
+    /**
+   * @brief publish control_mode report
+   */
+   void publish_control_mode_report();
+
 
     void CalcXY(double flon,double flat,double & fx,double & fy);
 
@@ -185,6 +190,8 @@ private:
 
     SteeringReport current_steer_;
 
+    ControlModeReport current_control_mode_{};
+
     Control::SharedPtr mpcmd_ptr;
 
     bool mbcmdupdate = false;

+ 13 - 0
src/ros2/AutoWare2025/src/pilot_autoware_bridge/src/pilot_autoware_bridge_core.cpp

@@ -92,10 +92,16 @@ pilot_autoware_bridge::pilot_autoware_bridge() : Node("pilot_autoware_bridge")
     mptimer= create_wall_timer(100ms,std::bind(&pilot_autoware_bridge::callbackTimer, this));
     mptimerGPS = create_wall_timer(10ms,std::bind(&pilot_autoware_bridge::callbackTimerGPS, this));
 
+    pub_control_mode_report_ =
+        create_publisher<ControlModeReport>("/vehicle/status/control_mode",durable_qos);
+
     if(mbTestSim)
     {
         mptimerTestSim = create_wall_timer(10ms,std::bind(&pilot_autoware_bridge::callbackTimerTestSim,this));
     }
+
+      // control mode
+    current_control_mode_.mode = ControlModeReport::AUTONOMOUS;
     // ModuleFun fungpsimu =std::bind(&pilot_autoware_bridge::UpdateGPSIMU,this,std::placeholders::_1,std::placeholders::_2,std::placeholders::_3,std::placeholders::_4,std::placeholders::_5);
     // mpagpsimu = iv::modulecomm::RegisterRecvPlus("hcp2_gpsimu",fungpsimu);
 
@@ -419,6 +425,7 @@ void pilot_autoware_bridge::callbackTimer()
 {
    // std::cout<<std::chrono::system_clock::now().time_since_epoch().count()<<" testpose1. "<<std::endl;
 
+    publish_control_mode_report();
 
     if(mbcmdupdate == true)
     {
@@ -864,3 +871,9 @@ void pilot_autoware_bridge::ConvertObjAndPub(iv::lidar::objectarray * pobjarray)
   //  pointcloud_pub_->publish(output_pointcloud_msg);
 }
 
+void pilot_autoware_bridge::publish_control_mode_report()
+{
+  current_control_mode_.stamp = get_clock()->now();
+  pub_control_mode_report_->publish(current_control_mode_);
+}
+

+ 1 - 0
src/tool/adcndtmultimapping/adcndtmultimapping.pro

@@ -66,6 +66,7 @@ FORMS += \
 
 INCLUDEPATH += /opt/ros/melodic/include
 INCLUDEPATH += /opt/ros/noetic/include
+#in 22.04 sudo apt install libtf-dev
 INCLUDEPATH += /usr/include/pcl-1.8
 INCLUDEPATH += /usr/include/eigen3
 unix:INCLUDEPATH += /usr/include/pcl-1.12

+ 1 - 1
src/ui/ADCIntelligentShow_grpc/ADCIntelligentShow_grpc.pro

@@ -5,7 +5,7 @@
 #-------------------------------------------------
 
 QT       += core gui
-QT  += multimedia
+QT  += multimedia    #sudo apt install libqt5multimedia*   qtmultimedia5-*
 
 greaterThan(QT_MAJOR_VERSION, 4): QT += widgets network
 

+ 2 - 1
src/ui/ADCIntelligentShow_grpc/adcintelligentshow.cpp

@@ -1,7 +1,8 @@
 #include "adcintelligentshow.h"
 #include "ui_adcintelligentshow.h"
 
-#include <QSound>
+//#include <QSound>
+#include <QtMultimedia/QSound>
 #include <QtMath>
 #include <QMessageBox>
 #include <QInputDialog>

Beberapa file tidak ditampilkan karena terlalu banyak file yang berubah dalam diff ini