Эх сурвалжийг харах

Merge branch 'master' of http://192.168.14.36:3000/adc_pilot/modularization

yuchuli 4 жил өмнө
parent
commit
ec51432f6e

+ 11 - 8
autodeploy.sh

@@ -8,34 +8,37 @@ if [ ! $check_result ];then
 fi
 
 app_name=(
-driver_lidar_rs16
-#driver_lidar_vlp16
+#driver_lidar_rs16
+driver_lidar_vlp16
 driver_gps_hcp2
-driver_radio_p900
-#driver_can_nvidia_agx
+driver_camera_miivii
+driver_cloud_grpc_client
+#driver_radio_p900
+driver_can_nvidia_agx
 #driver_can_kvaser
 #driver_can_vci
 driver_map_trace
-driver_radio_p900
+#driver_radio_p900
 detection_radar_delphi_esr
 detection_lidar_grid
-#view_pointcloud
+view_pointcloud
 view_gps
 view_rawcan
 view_radar
 IVSysMan
 ivmapmake
 view_ivlog
-tool_querymsg
+#tool_querymsg
 detection_chassis
 ui_ads_hmi
 decition_brain
 #decition_brain_ge3
-controller_midcar
+#controller_midcar
 driver_map_xodrload
 tool_xodrobj
 ivlog_record
 adciv_record
+picview
 )
 
 for x in ${app_name[@]}

+ 14 - 11
autogen.sh

@@ -1,7 +1,7 @@
 
-qtmake="/opt/Qt5.10.1/5.10.1/gcc_64/bin/qmake"
+#qtmake="/opt/Qt5.10.1/5.10.1/gcc_64/bin/qmake"
 #qtmake=/usr/bin/qmake
-#qtmake="/usr/lib/aarch64-linux-gnu/qt5/bin/qmake"
+qtmake="/usr/lib/aarch64-linux-gnu/qt5/bin/qmake"
 if [ ! $qtmake ];then
 	echo -e "\e[33m qtmake not set, auto find it\e[0m"
 	qtmake=`find /opt -name "qmake" 2>/dev/null | grep 'gcc_64'`
@@ -145,9 +145,9 @@ rm .qmake.stash
 cd ../../../
 
 controller_app_name=(
-	controller_ge3
+#	controller_ge3
 	controller_vv7
-    controller_midcar
+#    controller_midcar
 )
 
 for x in ${controller_app_name[@]}
@@ -186,17 +186,19 @@ do
 done
 
 driver_app_name=(
-	driver_lidar_rs16
-#	driver_lidar_vlp16
+#	driver_lidar_rs16
+	driver_lidar_vlp16
 	driver_gps_hcp2
 	#driver_gps_ins550d
 	driver_can_nvidia_agx
-	driver_can_kvaser
-	driver_radio_p900
+#	driver_can_kvaser
+#	driver_radio_p900
 #	driver_can_vci
 	driver_map_trace
 	driver_map_xodrload
-    driver_radio_p900
+#   driver_radio_p900
+	driver_camera_miivii
+	driver_cloud_grpc_client
 )
 
 for x in ${driver_app_name[@]}
@@ -242,10 +244,11 @@ tool_app_name=(
 	IVSysMan
 	ivmapmake
 	view_ivlog
-	tool_querymsg
+#	tool_querymsg
 	tool_xodrobj
 	ivlog_record
-	adciv_record
+	adciv_record	
+	picview
 )
 
 for x in ${tool_app_name[@]}

+ 3 - 1
build_partial.sh

@@ -1,6 +1,8 @@
 #!/bin/bash
 
-qtmake="/opt/Qt5.10.1/5.10.1/gcc_64/bin/qmake"
+#qtmake="/opt/Qt5.10.1/5.10.1/gcc_64/bin/qmake"
+#qtmake=/usr/bin/qmake
+qtmake="/usr/lib/aarch64-linux-gnu/qt5/bin/qmake"
 
 check_result()
 {

+ 2 - 2
deploy.sh

@@ -1,7 +1,7 @@
 #! /bin/bash
 
-Qtgccdir=''
-#Qtgccdir='/usr/lib/aarch64-linux-gnu/qt5'
+#Qtgccdir=''
+Qtgccdir='/usr/lib/aarch64-linux-gnu/qt5'
 #QtLibDir=/usr/lib/aarch64-linux-gnu/
 
 

BIN
doc/Wiki_Pic/command_pic.png


BIN
doc/Wiki_Pic/command_pic_simple.png


BIN
doc/Wiki_Pic/command_table.png


BIN
doc/Wiki_Pic/command_table_simple.png


BIN
doc/Wiki_Pic/configivsysman.png


BIN
doc/Wiki_Pic/workflow_single.png


+ 11 - 5
sh/HAPO/agx1/ADS_decision.xml

@@ -2,20 +2,21 @@
 	<node name="ADCIntelligentVehicle-Replay">
 		<param name="vin" value="LMWHP1S28J1005878" />
 		<param name="iccid" value="898600MFSSYYG1234018" />
-		<param name="vehType" value="bus" />
+		<param name="vehType" value="hapo" />
 		<param name="server" value="60.247.58.116" />
 		<param name="port" value="5600" />
 		<param name="id" value="1" />
-		<param name="speed" value="false" />
+		<param name="speed" value="true" />
 		<param name="roadmode0" value="15" />
-		<param name="roadmode5" value="12" />
+		<param name="roadmode5" value="10" />
+		<param name="roadmode11" value="15" />
 		<param name="roadmode13" value="8" />
 		<param name="roadmode14" value="8" />
-		<param name="roadmode15" value="12" />
+		<param name="roadmode15" value="8" />
 		<param name="roadmode16" value="8" />
 		<param name="roadmode17" value="8" />
 		<param name="roadmode18" value="8" />
-		<param name="zhuchetime" value="15" />
+		<param name="zhuchetime" value="8" />
 		<param name="epsoff" value="0" />
                 <param name="parklat" value="39.1364494" />
                 <param name="parklng" value="117.0868970" />
@@ -25,6 +26,11 @@
 		<param name="lightlat" value="39.1362522" />
 		<param name="LidarRotation" value="95" />
 		<param name="LidarRangeUnit" value="5.0" />
+		<param name="lidarGpsXiuzheng" value="3.7" />
+		<param name="radarGpsXiuzheng" value="3.7" />
+		<param name="frontGpsXiuzheng" value="3.7" />
+		<param name="gpsOffset_X" value="0" />
+		<param name="gpsOffset_Y" value="2.2" />
 	</node>
 </xml>
 

+ 27 - 22
sh/HAPO/agx1/IVSysMan.xml

@@ -1,24 +1,29 @@
 <xml>	
-	<module app="driver_can_nvidia_agx" dir="/home/nvidia/code/ADS/modularization/deploy/app" args=" " autostart="true"  group="Driver"/>
-	<module app="driver_lidar_rs16" dir="/home/nvidia/code/ADS/modularization/deploy/app" args=" " autostart="true"  group="Driver"/>
-        <module app="driver_lidar_rs16" dir="/home/nvidia/code/ADS/modularization/deploy/app" args="-r 90" autostart="true"  group="Driver"/>
-	<module app="driver_map_trace" dir="/home/nvidia/code/ADS/modularization/deploy/app" args=" " autostart="true"  group="Driver"/>
-	<module app="driver_map_xodrload" dir="/home/nvidia/code/ADS/modularization/deploy/app" args=" " autostart="true"  group="Driver"/>	
-	<module app="driver_cloud_grpc_client" dir="/home/nvidia/code/ADS/modularization/deploy/app" args=" " autostart="true"  group="Driver"/>	
-	<module app="driver_rpc_server" dir="/home/nvidia/code/ADS/modularization/deploy/app" args=" " autostart="true"  group="Driver"/>	
-	<module app="detection_lidar_cnn_segmentation" dir="/home/nvidia/code/ADS/modularization/deploy/app" args=" " autostart="true"  group="Detection"/>
-	<module app="detection_radar_delphi_esr" dir="/home/nvidia/code/ADS/modularization/deploy/app" args=" " autostart="true"  group="Detection"/>
-        <module app="detection_chassis" dir="/home/nvidia/code/ADS/modularization/deploy/app" args=" " autostart="true"  group="Detection"/>
-	<module app="detection_gps_hcp2" dir="/home/nvidia/code/ADS/modularization/deploy/app" args=" " autostart="true"  group="Detection"/>
-        <module app="controller_midcar" dir="/home/nvidia/code/ADS/modularization/deploy/app" args=" " autostart="false"  group="Control"/>
-	<module app="decition_brain" dir="/home/nvidia/code/ADS/modularization/deploy/app" args=" " autostart="false"  group="Control"/>
-	<module app="view_gps" dir="/home/nvidia/code/ADS/modularization/deploy/app" args=" " autostart="false"  group="Tool"/>
-	<module app="view_pointcloud" dir="/home/nvidia/code/ADS/modularization/deploy/app" args=" " autostart="false"  group="Tool"/>
-	<module app="view_radar" dir="/home/nvidia/code/ADS/modularization/deploy/app" args=" " autostart="false"  group="Tool"/>
-	<module app="ivmapmake" dir="/home/nvidia/code/ADS/modularization/deploy/app" args=" " autostart="false"  group="Tool"/>
-	<module app="view_ivlog" dir="/home/nvidia/code/ADS/modularization/deploy/app" args=" " autostart="false"  group="Tool"/>
-	<module app="ui_ads_hmi" dir="/home/nvidia/code/ADS/modularization/deploy/app" args=" " autostart="true"  group="Tool"/>
-	<module app="adciv_record" dir="/home/nvidia/code/ADS/modularization/deploy/app" args=" " autostart="true"  group="Tool"/>
-	<module app="tool_xodrobj" dir="/home/nvidia/code/ADS/modularization/deploy/app" args=" " autostart="false"  group="Tool"/>
-	<module app="ivlog_record" dir="/home/nvidia/code/ADS/modularization/deploy/app" args=" " autostart="true"  group="Tool"/>
+	<module app="driver_can_nvidia_agx" dir="/home/nvidia/code/git-ADS/modularization/deploy/app" args=" " autostart="true"  group="Driver"/>
+	<module app="driver_lidar_rs16" dir="/home/nvidia/code/git-ADS/modularization/deploy/app" args="-r 138 -p 6699 -m lidarpc_left" autostart="true"  group="Driver"/>
+        <module app="driver_lidar_rs16" dir="/home/nvidia/code/git-ADS/modularization/deploy/app" args="-r 38 -p 6698 -m lidarpc_right" autostart="true"  group="Driver"/>
+	<module app="driver_map_trace" dir="/home/nvidia/code/git-ADS/modularization/deploy/app" args=" " autostart="1true"  group="Driver"/>
+	<module app="driver_map_xodrload" dir="/home/nvidia/code/git-ADS/modularization/deploy/app" args=" " autostart="true"  group="Driver"/>	
+	<module app="driver_cloud_grpc_client" dir="/home/nvidia/code/git-ADS/modularization/deploy/app" args=" " autostart="true"  group="Driver"/>	
+	<module app="driver_rpc_server" dir="/home/nvidia/code/git-ADS/modularization/deploy/app" args=" " autostart="true"  group="Driver"/>	
+	<module app="driver_rpc_client" dir="/home/nvidia/code/git-ADS/modularization/deploy/app" args=" " autostart="true"  group="Driver"/>	
+	<module app="fusion_pointcloud_bus" dir="/home/nvidia/code/git-ADS/modularization/deploy/app" args=" " autostart="true"  group="Fusion"/>	
+	<module app="detection_lidar_cnn_segmentation" dir="/home/nvidia/code/git-ADS/modularization/deploy/app" args=" " autostart="true"  group="Detection"/>
+	<module app="detection_lidar_cnntogrid" dir="/home/nvidia/code/git-ADS/modularization/deploy/app" args=" " autostart="true"  group="Detection"/>
+	<module app="detection_radar_delphi_esr" dir="/home/nvidia/code/git-ADS/modularization/deploy/app" args=" " autostart="true"  group="Detection"/>
+        <module app="detection_chassis" dir="/home/nvidia/code/git-ADS/modularization/deploy/app" args=" " autostart="true"  group="Detection"/>
+	<module app="detection_gps_hcp2" dir="/home/nvidia/code/git-ADS/modularization/deploy/app" args=" " autostart="true"  group="Detection"/>
+        <module app="controller_hapo" dir="/home/nvidia/code/git-ADS/modularization/deploy/app" args=" " autostart="false"  group="Control"/>
+	<module app="decition_brain" dir="/home/nvidia/code/git-ADS/modularization/deploy/app" args=" " autostart="false"  group="Control"/>
+	<module app="view_gps" dir="/home/nvidia/code/git-ADS/modularization/deploy/app" args=" " autostart="false"  group="Tool"/>
+	<module app="view_pointcloud" dir="/home/nvidia/code/git-ADS/modularization/deploy/app" args=" " autostart="false"  group="Tool"/>
+	<module app="v2xTcpClient" dir="/home/nvidia/code/git-ADS/modularization/deploy/app" args=" " autostart="true"  group="Tool"/>
+	<module app="view_radar" dir="/home/nvidia/code/git-ADS/modularization/deploy/app" args=" " autostart="false"  group="Tool"/>
+	<module app="ivmapmake" dir="/home/nvidia/code/git-ADS/modularization/deploy/app" args=" " autostart="false"  group="Tool"/>
+	<module app="view_ivlog" dir="/home/nvidia/code/git-ADS/modularization/deploy/app" args=" " autostart="false"  group="Tool"/>
+	<module app="ui_ads_hmi" dir="/home/nvidia/code/git-ADS/modularization/deploy/app" args=" " autostart="true"  group="Tool"/>
+	<module app="adciv_record" dir="/home/nvidia/code/git-ADS/modularization/deploy/app" args=" " autostart="true"  group="Tool"/>
+	<module app="ivlog_record" dir="/home/nvidia/code/git-ADS/modularization/deploy/app" args=" " autostart="true"  group="Tool"/>
+	<module app="tool_xodrobj" dir="/home/nvidia/code/git-ADS/modularization/deploy/app" args=" " autostart="false"  group="Tool"/>
+	<module app="ivlog_record" dir="/home/nvidia/code/git-ADS/modularization/deploy/app" args=" " autostart="true"  group="Tool"/>
 </xml>

+ 6 - 3
sh/HAPO/agx1/adciv_record.xml

@@ -1,9 +1,10 @@
 <xml>	
 	<node name="bqev_record">
-		<param name="savedir" value="/home/a/ivd" />
-		<param name="spacekeep(M)" value="20000" />
+		<param name="savedir" value="/home/nvidia/ivd" />
+		<param name="spacekeep(M)" value="2000" />
 		<param name="filemax" value = "10" />
-		<param name="filesizelim(M)" value="20000" />
+		<param name="compress" value = "true" />
+		<param name="filesizelim(M)" value="200" />
 		<param name="MEMNAME001" value="usbpic" />
 		<param name="MEMNAME002" value="brainstate" />
 		<param name="MEMNAME003" value="deciton" />
@@ -16,6 +17,8 @@
 		<param name="MEMNAME009" value="lidar_obs" />
 		<param name="MEMNAME010" value="chassis" />
 		<param name="MEMNAME011" value="cansend" />
+		<param name="MEMNAME011" value="v2x" />
+		<param name="MEMNAME011" value="v2xStEn" />
 
 	</node>
 </xml>

+ 6 - 0
sh/HAPO/agx1/detection_chassis.xml

@@ -0,0 +1,6 @@
+<xml>	
+	<node name="detection_chassis">
+		<param name="vehicletype" value="HAPO" />
+	</node>
+</xml>
+

+ 8 - 0
sh/HAPO/agx1/detection_lidar_cnn_segmentation.xml

@@ -0,0 +1,8 @@
+<xml>	
+	<node name="detection_ndt_matching_gpu_multi.xml">
+		<param name="prototxt" value="/home/nvidia/models/lidar/model.prototxt" />
+		<param name="caffemodel" value="/home/nvidia/models/lidar/model.caffemodel" />
+		<param name="input" value="lidar_pc" />
+		<param name="output" value="lidar_track" />
+	</node>
+</xml>

+ 8 - 0
sh/HAPO/agx1/detection_radar_delphi_esr.xml

@@ -0,0 +1,8 @@
+<xml>	
+	<node name="detection_radar_delphi_esr">
+		<param name="canrecv" value="canrecv0" />
+		<param name="cansend" value="cansend0" />
+		<param name="radar" value="radar" />
+		<param name="modulename" value="detection_radar_delphi_esr" />
+	</node>
+</xml>

+ 16 - 0
sh/HAPO/agx1/driver_lidar_merge.yaml

@@ -0,0 +1,16 @@
+lidar:
+  - left
+  - right
+left:
+  memname: lidarpc_left
+  offset:
+    x: 0.0
+    y: 0.0
+    z: 0.0
+right:
+  memname: lidarpc_right
+  offset:
+    x: 0.0
+    y: 0.0
+    z: 0.0
+output: lidar_pc

+ 9 - 0
sh/HAPO/agx1/driver_rpc_client.yaml

@@ -0,0 +1,9 @@
+server : 192.168.1.103:10001
+message:
+  - hcp2_gpsimu 
+hcp2_gpsimu:
+  msgname: hcp2_gpsimu 
+  buffersize: 10000
+  buffercount: 3
+
+

+ 19 - 0
sh/HAPO/agx1/driver_rpc_server.yaml

@@ -0,0 +1,19 @@
+port : 63001
+message:
+  - corner_radar_left
+  - corner_radar_right
+corner_radar_left:
+  msgname: corner_radar_left
+  buffersize: 100000
+  buffercount: 3
+corner_radar_right:
+  msgname: corner_radar_right
+  buffersize: 100000
+  buffercount: 3
+ultra:
+  msgname: ultra
+  buffersize: 100000
+  buffercount: 3
+
+
+

+ 38 - 0
sh/HAPO/agx1/fusion_pointcloud_bus.yaml

@@ -0,0 +1,38 @@
+lidar:
+  - left
+  - right
+  - ignore
+left:
+  memname: lidarpc_left
+  offset:
+    x: -1
+    y: 2.3
+    z: -1.0
+  maximum:
+    x: 100
+    y: 100.0
+    z: 100
+  minimum:
+    x: -100
+    y: -100.0
+    z: -100
+right:
+  memname: lidarpc_right
+  offset:
+    x: 1
+    y: 2.3
+    z: -1.0
+  maximum:
+    x: 100
+    y: 100.0
+    z: 100
+  minimum:
+    x: -100
+    y: -100.0
+    z: -100
+ignore:
+  xmin: -1.2
+  ymin: -5
+  xmax: 1.2
+  ymax: 2.5
+output: lidar_pc

+ 48 - 0
sh/HAPO/agx1/v2xTcpClient.xml

@@ -0,0 +1,48 @@
+<xml>	
+	<node name="v2xTcpClient">
+		<param name="carVIN" value="catarc001" />
+		<param name="hostIP" value="47.95.196.28" />
+		<param name="hostPort" value="12123" />
+		<param name="stationCount" value="20" />
+		<param name="lat0" value="0" />
+		<param name="lon0" value="0" />
+		<param name="lat1" value="0" />
+		<param name="lon1" value="0" />
+		<param name="lat2" value="39.1221963" />
+		<param name="lon2" value="117.0272492" />
+		<param name="lat3" value="39.1216422" />
+		<param name="lon3" value="117.0272508" />
+		<param name="lat4" value="39.1209112" />
+		<param name="lon4" value="117.0272539" />
+		<param name="lat5" value="0" />
+		<param name="lon5" value="0" />
+		<param name="lat6" value="0" />
+		<param name="lon6" value="0" />
+		<param name="lat7" value="0" />
+		<param name="lon7" value="0" />
+		<param name="lat8" value="0" />
+		<param name="lon8" value="0" />
+		<param name="lat9" value="0" />
+		<param name="lon9" value="0" />
+		<param name="lat10" value="0" />
+		<param name="lon10" value="0" />
+		<param name="lat11" value="0" />
+		<param name="lon11" value="0" />
+		<param name="lat12" value="0" />
+		<param name="lon12" value="0" />
+		<param name="lat13" value="0" />
+		<param name="lon13" value="0" />
+		<param name="lat14" value="0" />
+		<param name="lon14" value="0" />
+		<param name="lat15" value="0" />
+		<param name="lon15" value="0" />
+		<param name="lat16" value="0" />
+		<param name="lon16" value="0" />
+		<param name="lat17" value="0" />
+		<param name="lon17" value="0" />
+		<param name="lat18" value="0" />
+		<param name="lon18" value="0" />
+		<param name="lat19" value="0" />
+		<param name="lon19" value="0" />
+	</node>
+</xml>

+ 6 - 0
sh/HAPO/agx1/view_radar (copy).xml

@@ -0,0 +1,6 @@
+<xml>	
+	<node name="view_radar">
+		<param name="radar0" value="radar" />
+	</node>
+</xml>
+

+ 6 - 0
sh/HAPO/agx1/view_radar.xml

@@ -0,0 +1,6 @@
+<xml>	
+	<node name="view_radar">
+		<param name="radar0" value="radar" />
+	</node>
+</xml>
+

+ 1 - 1
sh/formation/midcar/hcp2.xml

@@ -1,6 +1,6 @@
 <xml>	
 	<node name="driver_gps_hcp2">
-		<param name="devname" value="/dev/ttyUSB0" />
+		<param name="devname" value="/dev/ttyUSB3" />
 		<param name="msg_gpsimu" value="hcp2_gpsimu" />
 		<param name="msg_gps" value="hcp2_gps" />
 		<param name="msg_imu" value="hcp2_imu" />

+ 4 - 2
src/controller/controller_hapo/main.cpp

@@ -95,8 +95,10 @@ void executeDecition(const iv::brain::decition decition)
     gcontroller->control_air_worktime(decition.air_worktime());
     gcontroller->control_air_offtime(decition.air_offtime());
 
-
-
+    if(decition.door())
+        gcontroller->control_door(2);
+    else
+        gcontroller->control_door(3);
 
 
 

+ 2 - 2
src/decition/decition_brain/decition/adc_adapter/hapo_adapter.cpp

@@ -272,11 +272,11 @@ iv::decition::Decition iv::decition::HapoAdapter::getAdapterDeciton(GPS_INS now_
 
      if(ServiceCarStatus.station_control_door==0)
      {
-         (*decition)->door=3;       //关门
+         (*decition)->door=false;       //关门
      }
      else if((ServiceCarStatus.station_control_door==1)&&(ServiceCarStatus.station_control_door_option==false))
      {
-         (*decition)->door=2;       //到达站点开门
+         (*decition)->door=true;       //到达站点开门
          ServiceCarStatus.station_control_door_option=true;
      }
 

+ 2 - 0
src/decition/decition_brain/decition/brain.cpp

@@ -1056,6 +1056,7 @@ void iv::decition::BrainDecition::ShareDecition(iv::decition::Decition decition)
     xdecition.set_air_worktime(decition->air_worktime);
     xdecition.set_air_offtime(decition->air_offtime);
     xdecition.set_air_on(decition->air_on);
+    xdecition.set_door(decition->door);
 
 
 
@@ -1352,6 +1353,7 @@ void iv::decition::BrainDecition::Updatev2x(const char *pdata, const int ndatasi
                            v2x_message.stationid(i),ServiceCarStatus.stationCmd.stationGps[i].gps_lat,
                           ServiceCarStatus.stationCmd.stationGps[i].gps_lng);
         }
+        ServiceCarStatus.mbRunPause=false;
     }
 
 }

+ 109 - 87
src/decition/decition_brain/decition/decide_gps_00.cpp

@@ -2978,74 +2978,85 @@ void iv::decition::DecideGps00::predictObsOnRoad(std::vector<iv::Perception::Per
 int iv::decition::DecideGps00::chooseAvoidRoad(iv::LidarGridPtr lidarGridPtr, GPS_INS now_gps_ins, const std::vector<GPSData> gpsMapLine,std::vector<iv::Perception::PerceptionOutput> lidar_per) {
     roadPre = -1;
 
-    if (roadNow<roadOri)
-    {
-        for (int i = 0; i < roadNow; i++)
-        {
-            gpsTraceAvoid.clear();
-            //	gpsTraceAvoid = getGpsTrace(now_gps_ins, gmapsR[int(abs(roadWidth * 2)*(roadOri-i))], lastGpsIndex);
-            avoidX = (roadWidth)*(roadOri - i);
-            gpsTraceAvoid = getGpsTraceOffset(gpsTraceOri, avoidX);
-            //	computeObsOnRoad(lidarGridPtr, gpsTraceAvoid, roadNow + i);
-            computeObsOnRoad(lidarGridPtr, gpsTraceNow, roadNow,gpsMapLine,lidar_per);
-        }
-
-
-        for (int i = roadOri+1; i < roadSum; i++)
-        {
-            gpsTraceAvoid.clear();
-            //	gpsTraceAvoid = getGpsTrace(now_gps_ins, gmapsL[int(abs(roadWidth * 2)*(i - roadOri))], lastGpsIndex);
-            avoidX = (roadWidth)*(roadOri - i);
-            gpsTraceAvoid = getGpsTraceOffset(gpsTraceOri, avoidX);
-            //	bsOnRoad(lidarGridPtr, gpsTraceAvoid, roadNow + i);
-            computeObsOnRoad(lidarGridPtr, gpsTraceAvoid, i,gpsMapLine,lidar_per);
-        }
-    }
-    else if (roadNow>roadOri)
-    {
-        for (int i = 0; i < roadOri; i++)
-        {
-            gpsTraceAvoid.clear();
-            //	gpsTraceAvoid = getGpsTrace(now_gps_ins, gmapsR[int(abs(roadWidth * 2)*(roadOri - i))], lastGpsIndex);
-            avoidX = (roadWidth)*(roadOri - i);
-            gpsTraceAvoid = getGpsTraceOffset(gpsTraceOri, avoidX);
-            //	computeObsOnRoad(lidarGridPtr, gpsTraceAvoid, roadNow + i);
-           computeObsOnRoad(lidarGridPtr, gpsTraceNow, roadNow,gpsMapLine,lidar_per);
-        }
-        for (int i = roadNow + 1; i < roadSum; i++)
-        {
-            gpsTraceAvoid.clear();
-            //		gpsTraceAvoid = getGpsTrace(now_gps_ins, gmapsL[int(abs(roadWidth * 2)*(i - roadOri))], lastGpsIndex);
-            avoidX = (roadWidth)*(roadOri - i);
-            gpsTraceAvoid = getGpsTraceOffset(gpsTraceOri, avoidX);
-            //	computeObsOnRoad(lidarGridPtr, gpsTraceAvoid, roadNow + i);
-           computeObsOnRoad(lidarGridPtr, gpsTraceNow, roadNow,gpsMapLine,lidar_per);
-        }
-
+//    if (roadNow<roadOri)
+//    {
+//        for (int i = 0; i < roadNow; i++)
+//        {
+//            gpsTraceAvoid.clear();
+//            //	gpsTraceAvoid = getGpsTrace(now_gps_ins, gmapsR[int(abs(roadWidth * 2)*(roadOri-i))], lastGpsIndex);
+//            avoidX = (roadWidth)*(roadOri - i);
+//            gpsTraceAvoid = getGpsTraceOffset(gpsTraceOri, avoidX);
+//            //	computeObsOnRoad(lidarGridPtr, gpsTraceAvoid, roadNow + i);
+//            computeObsOnRoad(lidarGridPtr, gpsTraceAvoid, i,gpsMapLine,lidar_per);
+//        }
+
+
+//        for (int i = roadOri+1; i < roadSum; i++)
+//        {
+//            gpsTraceAvoid.clear();
+//            //	gpsTraceAvoid = getGpsTrace(now_gps_ins, gmapsL[int(abs(roadWidth * 2)*(i - roadOri))], lastGpsIndex);
+//            avoidX = (roadWidth)*(roadOri - i);
+//            gpsTraceAvoid = getGpsTraceOffset(gpsTraceOri, avoidX);
+//            //	bsOnRoad(lidarGridPtr, gpsTraceAvoid, roadNow + i);
+//            computeObsOnRoad(lidarGridPtr, gpsTraceAvoid, i,gpsMapLine,lidar_per);
+//        }
+//    }
+//    else if (roadNow>roadOri)
+//    {
+//        for (int i = 0; i < roadOri; i++)
+//        {
+//            gpsTraceAvoid.clear();
+//            //	gpsTraceAvoid = getGpsTrace(now_gps_ins, gmapsR[int(abs(roadWidth * 2)*(roadOri - i))], lastGpsIndex);
+//            avoidX = (roadWidth)*(roadOri - i);
+//            gpsTraceAvoid = getGpsTraceOffset(gpsTraceOri, avoidX);
+//            //	computeObsOnRoad(lidarGridPtr, gpsTraceAvoid, roadNow + i);
+//           computeObsOnRoad(lidarGridPtr, gpsTraceAvoid, i,gpsMapLine,lidar_per);
+//        }
+//        for (int i = roadNow + 1; i < roadSum; i++)
+//        {
+//            gpsTraceAvoid.clear();
+//            //		gpsTraceAvoid = getGpsTrace(now_gps_ins, gmapsL[int(abs(roadWidth * 2)*(i - roadOri))], lastGpsIndex);
+//            avoidX = (roadWidth)*(roadOri - i);
+//            gpsTraceAvoid = getGpsTraceOffset(gpsTraceOri, avoidX);
+//            //	computeObsOnRoad(lidarGridPtr, gpsTraceAvoid, roadNow + i);
+//           computeObsOnRoad(lidarGridPtr, gpsTraceAvoid, i,gpsMapLine,lidar_per);
+//        }
+
+//    }
+
+//    else
+//    {
+//        for (int i = 0; i < roadOri; i++)
+//        {
+//            gpsTraceAvoid.clear();
+//            //	gpsTraceAvoid = getGpsTrace(now_gps_ins, gmapsR[int(abs(roadWidth * 2)*(roadOri - i))], lastGpsIndex);
+//            avoidX = (roadWidth)*(roadOri - i);
+//            gpsTraceAvoid = getGpsTraceOffset(gpsTraceOri, avoidX);
+//            //	computeObsOnRoad(lidarGridPtr, gpsTraceAvoid, roadNow + i);
+//           computeObsOnRoad(lidarGridPtr, gpsTraceNow, roadNow,gpsMapLine,lidar_per);
+//        }
+//        for (int i = roadOri + 1; i < roadSum; i++)
+//        {
+//            gpsTraceAvoid.clear();
+//            //		gpsTraceAvoid = getGpsTrace(now_gps_ins, gmapsL[int(abs(roadWidth * 2)*(i - roadOri))], lastGpsIndex);
+//            avoidX = (roadWidth)*(roadOri - i);
+//            gpsTraceAvoid = getGpsTraceOffset(gpsTraceOri, avoidX);
+//            //	computeObsOnRoad(lidarGridPtr, gpsTraceAvoid, roadNow + i);
+//           computeObsOnRoad(lidarGridPtr, gpsTraceNow, roadNow,gpsMapLine,lidar_per);
+//        }
+
+//    }
+
+    for (int i =  0; i < roadSum; i++)
+    {
+        gpsTraceAvoid.clear();
+        //		gpsTraceAvoid = getGpsTrace(now_gps_ins, gmapsL[int(abs(roadWidth * 2)*(i - roadOri))], lastGpsIndex);
+        avoidX = (roadWidth)*(roadOri - i);
+        gpsTraceAvoid = getGpsTraceOffset(gpsTraceOri, avoidX);
+        //	computeObsOnRoad(lidarGridPtr, gpsTraceAvoid, roadNow + i);
+       computeObsOnRoad(lidarGridPtr, gpsTraceAvoid, i,gpsMapLine,lidar_per);
     }
 
-    else
-    {
-        for (int i = 0; i < roadOri; i++)
-        {
-            gpsTraceAvoid.clear();
-            //	gpsTraceAvoid = getGpsTrace(now_gps_ins, gmapsR[int(abs(roadWidth * 2)*(roadOri - i))], lastGpsIndex);
-            avoidX = (roadWidth)*(roadOri - i);
-            gpsTraceAvoid = getGpsTraceOffset(gpsTraceOri, avoidX);
-            //	computeObsOnRoad(lidarGridPtr, gpsTraceAvoid, roadNow + i);
-           computeObsOnRoad(lidarGridPtr, gpsTraceNow, roadNow,gpsMapLine,lidar_per);
-        }
-        for (int i = roadOri + 1; i < roadSum; i++)
-        {
-            gpsTraceAvoid.clear();
-            //		gpsTraceAvoid = getGpsTrace(now_gps_ins, gmapsL[int(abs(roadWidth * 2)*(i - roadOri))], lastGpsIndex);
-            avoidX = (roadWidth)*(roadOri - i);
-            gpsTraceAvoid = getGpsTraceOffset(gpsTraceOri, avoidX);
-            //	computeObsOnRoad(lidarGridPtr, gpsTraceAvoid, roadNow + i);
-           computeObsOnRoad(lidarGridPtr, gpsTraceNow, roadNow,gpsMapLine,lidar_per);
-        }
-
-    }
 
     if (lidarGridPtr!=NULL)
     {
@@ -3106,32 +3117,43 @@ int iv::decition::DecideGps00::chooseAvoidRoad(iv::LidarGridPtr lidarGridPtr, GP
 int iv::decition::DecideGps00::chooseBackRoad(iv::LidarGridPtr lidarGridPtr, GPS_INS now_gps_ins, std::vector<GPSData> gpsMapLine,std::vector<iv::Perception::PerceptionOutput> lidar_per) {
     roadPre = -1;
 
-    computeObsOnRoad(lidarGridPtr, gpsTraceNow, roadNow,gpsMapLine,lidar_per);
+ //   computeObsOnRoad(lidarGridPtr, gpsTraceNow, roadNow,gpsMapLine,lidar_per);
 
 
 
-    if (roadNow>roadOri+1)
-    {
-        for (int i = roadOri+1; i < roadNow; i++)
-        {
-            gpsTraceBack.clear();
-            //	gpsTraceBack = getGpsTrace(now_gps_ins, gmapsL[int(abs(roadWidth * 2)*(i-roadOri))], lastGpsIndex);
-            avoidX = (roadWidth)*(roadOri - i);
-            gpsTraceBack = getGpsTraceOffset(gpsTraceOri, avoidX);
-            computeObsOnRoad(lidarGridPtr, gpsTraceNow, roadNow,gpsMapLine,lidar_per);
-        }
-    }
-    else if (roadNow < roadOri - 1) {
+//    if (roadNow>=roadOri+1)
+//    {
+//        for (int i = roadOri+1; i < roadNow; i++)
+//        {
+//            gpsTraceBack.clear();
+//            //	gpsTraceBack = getGpsTrace(now_gps_ins, gmapsL[int(abs(roadWidth * 2)*(i-roadOri))], lastGpsIndex);
+//            avoidX = (roadWidth)*(roadOri - i);
+//            gpsTraceBack = getGpsTraceOffset(gpsTraceOri, avoidX);
+//            computeObsOnRoad(lidarGridPtr, gpsTraceNow, roadNow,gpsMapLine,lidar_per);
+//        }
+//    }
+//    else if (roadNow <= roadOri - 1) {
 
-        for (int i = roadOri - 1; i > roadNow; i--)
-        {
-            gpsTraceBack.clear();
-            //	gpsTraceBack = getGpsTrace(now_gps_ins, gmapsR[int(abs(roadWidth * 2)*(roadOri-i))], lastGpsIndex);
-            avoidX = (roadWidth)*(roadOri - i);
-            gpsTraceBack = getGpsTraceOffset(gpsTraceOri, avoidX);
-            computeObsOnRoad(lidarGridPtr, gpsTraceNow, roadNow,gpsMapLine,lidar_per);
-        }
+//        for (int i = roadOri - 1; i > roadNow; i--)
+//        {
+//            gpsTraceBack.clear();
+//            //	gpsTraceBack = getGpsTrace(now_gps_ins, gmapsR[int(abs(roadWidth * 2)*(roadOri-i))], lastGpsIndex);
+//            avoidX = (roadWidth)*(roadOri - i);
+//            gpsTraceBack = getGpsTraceOffset(gpsTraceOri, avoidX);
+//            computeObsOnRoad(lidarGridPtr, gpsTraceNow, roadNow,gpsMapLine,lidar_per);
+//        }
 
+//    }
+
+
+
+    for (int i =  0; i <roadSum; i++)
+    {
+        gpsTraceBack.clear();
+        //	gpsTraceBack = getGpsTrace(now_gps_ins, gmapsR[int(abs(roadWidth * 2)*(roadOri-i))], lastGpsIndex);
+        avoidX = (roadWidth)*(roadOri - i);
+        gpsTraceBack = getGpsTraceOffset(gpsTraceOri, avoidX);
+        computeObsOnRoad(lidarGridPtr, gpsTraceBack, i,gpsMapLine,lidar_per);
     }
 
 

+ 108 - 89
src/decition/decition_brain_sf/decition/decide_gps_00.cpp

@@ -2628,73 +2628,83 @@ void iv::decition::DecideGps00::predictObsOnRoad(std::vector<iv::Perception::Per
 int iv::decition::DecideGps00::chooseAvoidRoad(iv::LidarGridPtr lidarGridPtr, GPS_INS now_gps_ins, const std::vector<GPSData> gpsMapLine,std::vector<iv::Perception::PerceptionOutput> lidar_per) {
     roadPre = -1;
 
-    if (roadNow<roadOri)
-    {
-        for (int i = 0; i < roadNow; i++)
-        {
-            gpsTraceAvoid.clear();
-            //	gpsTraceAvoid = getGpsTrace(now_gps_ins, gmapsR[int(abs(roadWidth * 2)*(roadOri-i))], lastGpsIndex);
-            avoidX = (roadWidth)*(roadOri - i);
-            gpsTraceAvoid = getGpsTraceOffset(gpsTraceOri, avoidX);
-            //	computeObsOnRoad(lidarGridPtr, gpsTraceAvoid, roadNow + i);
-            computeObsOnRoad(lidarGridPtr, gpsTraceNow, roadNow,gpsMapLine,lidar_per);
-        }
-
-
-        for (int i = roadOri+1; i < roadSum; i++)
-        {
-            gpsTraceAvoid.clear();
-            //	gpsTraceAvoid = getGpsTrace(now_gps_ins, gmapsL[int(abs(roadWidth * 2)*(i - roadOri))], lastGpsIndex);
-            avoidX = (roadWidth)*(roadOri - i);
-            gpsTraceAvoid = getGpsTraceOffset(gpsTraceOri, avoidX);
-            //	bsOnRoad(lidarGridPtr, gpsTraceAvoid, roadNow + i);
-            computeObsOnRoad(lidarGridPtr, gpsTraceAvoid, i,gpsMapLine,lidar_per);
-        }
-    }
-    else if (roadNow>roadOri)
-    {
-        for (int i = 0; i < roadOri; i++)
-        {
-            gpsTraceAvoid.clear();
-            //	gpsTraceAvoid = getGpsTrace(now_gps_ins, gmapsR[int(abs(roadWidth * 2)*(roadOri - i))], lastGpsIndex);
-            avoidX = (roadWidth)*(roadOri - i);
-            gpsTraceAvoid = getGpsTraceOffset(gpsTraceOri, avoidX);
-            //	computeObsOnRoad(lidarGridPtr, gpsTraceAvoid, roadNow + i);
-            computeObsOnRoad(lidarGridPtr, gpsTraceNow, roadNow,gpsMapLine,lidar_per);
-        }
-        for (int i = roadNow + 1; i < roadSum; i++)
-        {
-            gpsTraceAvoid.clear();
-            //		gpsTraceAvoid = getGpsTrace(now_gps_ins, gmapsL[int(abs(roadWidth * 2)*(i - roadOri))], lastGpsIndex);
-            avoidX = (roadWidth)*(roadOri - i);
-            gpsTraceAvoid = getGpsTraceOffset(gpsTraceOri, avoidX);
-            //	computeObsOnRoad(lidarGridPtr, gpsTraceAvoid, roadNow + i);
-            computeObsOnRoad(lidarGridPtr, gpsTraceNow, roadNow,gpsMapLine,lidar_per);
-        }
-
-    }
-
-    else
-    {
-        for (int i = 0; i < roadOri; i++)
-        {
-            gpsTraceAvoid.clear();
-            //	gpsTraceAvoid = getGpsTrace(now_gps_ins, gmapsR[int(abs(roadWidth * 2)*(roadOri - i))], lastGpsIndex);
-            avoidX = (roadWidth)*(roadOri - i);
-            gpsTraceAvoid = getGpsTraceOffset(gpsTraceOri, avoidX);
-            //	computeObsOnRoad(lidarGridPtr, gpsTraceAvoid, roadNow + i);
-            computeObsOnRoad(lidarGridPtr, gpsTraceNow, roadNow,gpsMapLine,lidar_per);
-        }
-        for (int i = roadOri + 1; i < roadSum; i++)
-        {
-            gpsTraceAvoid.clear();
-            //		gpsTraceAvoid = getGpsTrace(now_gps_ins, gmapsL[int(abs(roadWidth * 2)*(i - roadOri))], lastGpsIndex);
-            avoidX = (roadWidth)*(roadOri - i);
-            gpsTraceAvoid = getGpsTraceOffset(gpsTraceOri, avoidX);
-            //	computeObsOnRoad(lidarGridPtr, gpsTraceAvoid, roadNow + i);
-            computeObsOnRoad(lidarGridPtr, gpsTraceNow, roadNow,gpsMapLine,lidar_per);
-        }
-
+//    if (roadNow<roadOri)
+//    {
+//        for (int i = 0; i < roadNow; i++)
+//        {
+//            gpsTraceAvoid.clear();
+//            //	gpsTraceAvoid = getGpsTrace(now_gps_ins, gmapsR[int(abs(roadWidth * 2)*(roadOri-i))], lastGpsIndex);
+//            avoidX = (roadWidth)*(roadOri - i);
+//            gpsTraceAvoid = getGpsTraceOffset(gpsTraceOri, avoidX);
+//            //	computeObsOnRoad(lidarGridPtr, gpsTraceAvoid, roadNow + i);
+//            computeObsOnRoad(lidarGridPtr, gpsTraceNow, roadNow,gpsMapLine,lidar_per);
+//        }
+
+
+//        for (int i = roadOri+1; i < roadSum; i++)
+//        {
+//            gpsTraceAvoid.clear();
+//            //	gpsTraceAvoid = getGpsTrace(now_gps_ins, gmapsL[int(abs(roadWidth * 2)*(i - roadOri))], lastGpsIndex);
+//            avoidX = (roadWidth)*(roadOri - i);
+//            gpsTraceAvoid = getGpsTraceOffset(gpsTraceOri, avoidX);
+//            //	bsOnRoad(lidarGridPtr, gpsTraceAvoid, roadNow + i);
+//            computeObsOnRoad(lidarGridPtr, gpsTraceAvoid, i,gpsMapLine,lidar_per);
+//        }
+//    }
+//    else if (roadNow>roadOri)
+//    {
+//        for (int i = 0; i < roadOri; i++)
+//        {
+//            gpsTraceAvoid.clear();
+//            //	gpsTraceAvoid = getGpsTrace(now_gps_ins, gmapsR[int(abs(roadWidth * 2)*(roadOri - i))], lastGpsIndex);
+//            avoidX = (roadWidth)*(roadOri - i);
+//            gpsTraceAvoid = getGpsTraceOffset(gpsTraceOri, avoidX);
+//            //	computeObsOnRoad(lidarGridPtr, gpsTraceAvoid, roadNow + i);
+//            computeObsOnRoad(lidarGridPtr, gpsTraceNow, roadNow,gpsMapLine,lidar_per);
+//        }
+//        for (int i = roadNow + 1; i < roadSum; i++)
+//        {
+//            gpsTraceAvoid.clear();
+//            //		gpsTraceAvoid = getGpsTrace(now_gps_ins, gmapsL[int(abs(roadWidth * 2)*(i - roadOri))], lastGpsIndex);
+//            avoidX = (roadWidth)*(roadOri - i);
+//            gpsTraceAvoid = getGpsTraceOffset(gpsTraceOri, avoidX);
+//            //	computeObsOnRoad(lidarGridPtr, gpsTraceAvoid, roadNow + i);
+//            computeObsOnRoad(lidarGridPtr, gpsTraceNow, roadNow,gpsMapLine,lidar_per);
+//        }
+
+//    }
+
+//    else
+//    {
+//        for (int i = 0; i < roadOri; i++)
+//        {
+//            gpsTraceAvoid.clear();
+//            //	gpsTraceAvoid = getGpsTrace(now_gps_ins, gmapsR[int(abs(roadWidth * 2)*(roadOri - i))], lastGpsIndex);
+//            avoidX = (roadWidth)*(roadOri - i);
+//            gpsTraceAvoid = getGpsTraceOffset(gpsTraceOri, avoidX);
+//            //	computeObsOnRoad(lidarGridPtr, gpsTraceAvoid, roadNow + i);
+//            computeObsOnRoad(lidarGridPtr, gpsTraceNow, roadNow,gpsMapLine,lidar_per);
+//        }
+//        for (int i = roadOri + 1; i < roadSum; i++)
+//        {
+//            gpsTraceAvoid.clear();
+//            //		gpsTraceAvoid = getGpsTrace(now_gps_ins, gmapsL[int(abs(roadWidth * 2)*(i - roadOri))], lastGpsIndex);
+//            avoidX = (roadWidth)*(roadOri - i);
+//            gpsTraceAvoid = getGpsTraceOffset(gpsTraceOri, avoidX);
+//            //	computeObsOnRoad(lidarGridPtr, gpsTraceAvoid, roadNow + i);
+//            computeObsOnRoad(lidarGridPtr, gpsTraceNow, roadNow,gpsMapLine,lidar_per);
+//        }
+
+//    }
+
+    for (int i =  0; i < roadSum; i++)
+    {
+        gpsTraceAvoid.clear();
+        //		gpsTraceAvoid = getGpsTrace(now_gps_ins, gmapsL[int(abs(roadWidth * 2)*(i - roadOri))], lastGpsIndex);
+        avoidX = (roadWidth)*(roadOri - i);
+        gpsTraceAvoid = getGpsTraceOffset(gpsTraceOri, avoidX);
+        //	computeObsOnRoad(lidarGridPtr, gpsTraceAvoid, roadNow + i);
+       computeObsOnRoad(lidarGridPtr, gpsTraceAvoid, i,gpsMapLine,lidar_per);
     }
 
     if (lidarGridPtr!=NULL)
@@ -2756,34 +2766,43 @@ int iv::decition::DecideGps00::chooseAvoidRoad(iv::LidarGridPtr lidarGridPtr, GP
 int iv::decition::DecideGps00::chooseBackRoad(iv::LidarGridPtr lidarGridPtr, GPS_INS now_gps_ins, std::vector<GPSData> gpsMapLine,std::vector<iv::Perception::PerceptionOutput> lidar_per) {
     roadPre = -1;
 
-    computeObsOnRoad(lidarGridPtr, gpsTraceNow, roadNow,gpsMapLine,lidar_per);
+//    computeObsOnRoad(lidarGridPtr, gpsTraceNow, roadNow,gpsMapLine,lidar_per);
 
 
 
-    if (roadNow>roadOri+1)
-    {
-        for (int i = roadOri+1; i < roadNow; i++)
-        {
-            gpsTraceBack.clear();
-            //	gpsTraceBack = getGpsTrace(now_gps_ins, gmapsL[int(abs(roadWidth * 2)*(i-roadOri))], lastGpsIndex);
-            avoidX = (roadWidth)*(roadOri - i);
-            gpsTraceBack = getGpsTraceOffset(gpsTraceOri, avoidX);
-            computeObsOnRoad(lidarGridPtr, gpsTraceNow, roadNow,gpsMapLine,lidar_per);
-        }
-    }
-    else if (roadNow < roadOri - 1) {
+//    if (roadNow>roadOri+1)
+//    {
+//        for (int i = roadOri+1; i < roadNow; i++)
+//        {
+//            gpsTraceBack.clear();
+//            //	gpsTraceBack = getGpsTrace(now_gps_ins, gmapsL[int(abs(roadWidth * 2)*(i-roadOri))], lastGpsIndex);
+//            avoidX = (roadWidth)*(roadOri - i);
+//            gpsTraceBack = getGpsTraceOffset(gpsTraceOri, avoidX);
+//            computeObsOnRoad(lidarGridPtr, gpsTraceNow, roadNow,gpsMapLine,lidar_per);
+//        }
+//    }
+//    else if (roadNow < roadOri - 1) {
 
-        for (int i = roadOri - 1; i > roadNow; i--)
-        {
-            gpsTraceBack.clear();
-            //	gpsTraceBack = getGpsTrace(now_gps_ins, gmapsR[int(abs(roadWidth * 2)*(roadOri-i))], lastGpsIndex);
-            avoidX = (roadWidth)*(roadOri - i);
-            gpsTraceBack = getGpsTraceOffset(gpsTraceOri, avoidX);
-            computeObsOnRoad(lidarGridPtr, gpsTraceNow, roadNow,gpsMapLine,lidar_per);
-        }
+//        for (int i = roadOri - 1; i > roadNow; i--)
+//        {
+//            gpsTraceBack.clear();
+//            //	gpsTraceBack = getGpsTrace(now_gps_ins, gmapsR[int(abs(roadWidth * 2)*(roadOri-i))], lastGpsIndex);
+//            avoidX = (roadWidth)*(roadOri - i);
+//            gpsTraceBack = getGpsTraceOffset(gpsTraceOri, avoidX);
+//            computeObsOnRoad(lidarGridPtr, gpsTraceNow, roadNow,gpsMapLine,lidar_per);
+//        }
+
+//    }
 
-    }
 
+    for (int i =  0; i <roadSum; i++)
+    {
+        gpsTraceBack.clear();
+        //	gpsTraceBack = getGpsTrace(now_gps_ins, gmapsR[int(abs(roadWidth * 2)*(roadOri-i))], lastGpsIndex);
+        avoidX = (roadWidth)*(roadOri - i);
+        gpsTraceBack = getGpsTraceOffset(gpsTraceOri, avoidX);
+        computeObsOnRoad(lidarGridPtr, gpsTraceBack, i,gpsMapLine,lidar_per);
+    }
 
 
     if (lidarGridPtr != NULL)

+ 1 - 1
src/tool/pointcloudviewer/main.cpp

@@ -185,7 +185,7 @@ int main(int argc, char *argv[])
     showversion("pointcloudviewer");
     QCoreApplication a(argc, argv);
 
-    snprintf(gstr_memname,255,"lidarpc_center");
+    snprintf(gstr_memname,255,"lidar_pc");
 
     int nRtn = GetOptLong(argc,argv);
     if(nRtn == 1)  //show help,so exit.

+ 1 - 1
src/tool/pointcloudviewer/pointcloudviewer.pro

@@ -24,7 +24,7 @@ INCLUDEPATH += /opt/ros/kinetic/include
 INCLUDEPATH += /usr/include/pcl-1.8
 INCLUDEPATH += /usr/include/pcl-1.7
 INCLUDEPATH += /usr/include/eigen3
-INCLUDEPATH += /usr/include/vtk-6.2
+INCLUDEPATH += /usr/include/vtk-6.3
 
 unix:LIBS +=  -lpcl_common\
         -lpcl_features\