From d9a28d3e5389c288774a746ac009b1036baea301 Mon Sep 17 00:00:00 2001
From: Paul Lacroix <paul.lacroix@ecl21.ec-lyon.fr>
Date: Tue, 28 Feb 2023 14:07:36 +0100
Subject: [PATCH] update MCL

---
 .../TensorFlow-2.x-YOLOv3-master/MCL.py       |   5 +++--
 .../__pycache__/MCL.cpython-38.pyc            | Bin 0 -> 6623 bytes
 .../__pycache__/car_interface.cpython-38.pyc  | Bin 0 -> 966 bytes
 .../track_2_generator.cpython-38.pyc          | Bin 2291 -> 2285 bytes
 .../yolov3/__pycache__/utils.cpython-38.pyc   | Bin 15419 -> 17440 bytes
 .../yolov3/utils.py                           |   4 ++--
 6 files changed, 5 insertions(+), 4 deletions(-)
 create mode 100644 PAR 152/Yolo V3/TensorFlow-2.x-YOLOv3-master/__pycache__/MCL.cpython-38.pyc
 create mode 100644 PAR 152/Yolo V3/TensorFlow-2.x-YOLOv3-master/yolov3/__pycache__/car_interface.cpython-38.pyc

diff --git a/PAR 152/Yolo V3/TensorFlow-2.x-YOLOv3-master/MCL.py b/PAR 152/Yolo V3/TensorFlow-2.x-YOLOv3-master/MCL.py
index 0e645aa..4343550 100644
--- a/PAR 152/Yolo V3/TensorFlow-2.x-YOLOv3-master/MCL.py	
+++ b/PAR 152/Yolo V3/TensorFlow-2.x-YOLOv3-master/MCL.py	
@@ -40,7 +40,6 @@ h_reel = 0.234  #Hauteur d'un plot
 y_0 = 1500      #Milieu de l'image
 
 dist_roue = 0.25    #Distance entre les roues avant et les roues arrieres
-dt = 0.1            #Frequence de calcul
 
 
 # class position:
@@ -95,8 +94,10 @@ def distance_Chamfer(A_x, A_y, B_x, B_y):
 
 
 def motion_update(commande, position):
-    vitesse, direction = commande
+    vitesse, direction, FPS = commande
     x,y,theta = position
+    dt = 1/FPS
+    
     
     if direction ==0:
         new_x = x + dt*vitesse*cos(theta)
diff --git a/PAR 152/Yolo V3/TensorFlow-2.x-YOLOv3-master/__pycache__/MCL.cpython-38.pyc b/PAR 152/Yolo V3/TensorFlow-2.x-YOLOv3-master/__pycache__/MCL.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..6d426f2f120b2cedea24a7901344d108cb3b8225
GIT binary patch
literal 6623
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

literal 0
HcmV?d00001

diff --git a/PAR 152/Yolo V3/TensorFlow-2.x-YOLOv3-master/yolov3/__pycache__/car_interface.cpython-38.pyc b/PAR 152/Yolo V3/TensorFlow-2.x-YOLOv3-master/yolov3/__pycache__/car_interface.cpython-38.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..42a176b8d8bb0c9261b4e02d27862a2afb159d44
GIT binary patch
literal 966
zcmWIL<>g{vU|@K$=}+=gCI*JbAPzESVqjo!U|?V<Heq03NMT4}%wdRv(2P-xDNHHM
zEeugiDJ&_hEeui2DQqe1EeugCDI6)BEeuhtDU87knp`hI=J_RqNEl{hU|?WlU|?_t
znJmV@z)-@F#h3y%4`fy^OD#hULokCTn_m=*v%jx#Cc_~{hV)r8L13pnlyTBtljRmm
zL4Hw56h~5GX-ZLIN$M^3lFZ!H{L+#r-twZ%lGJ!8SCi=$TXAYpW@1hhTQHbj$#{#o
zIJIacLlHXz1H-RcXRDad;?$zzn1aO8oSYb!{N&Qy)Vz}7828K)kJ6-=)Pmwf-Gana
z-Na1Y;?$fp-ISutvdp~nm;lEh1w&J#n8^H`e1$OMn2^-G;`}1FocwZKBfSdUNPi#y
zGGpD`#Nv|FqL|A3ocuE5nB>Hw_{_YL)S|S+<W#+a%3JK|sU`8nsYNWH009vUj6zIB
zoD2*M$)K=84mVJYfWu9Mfq|ihVFANJ21XFg2%=LMf*Dpa`e`!VVolD;FHXJ1l3$RT
zSH#M|0P!c-vqc;X3=Fq8i%SxVz?O0%EahM<;>Bwz50a%I%ZfnBN0YIL8)O4kYryUR
z`3+=nG061{j75APOThkwdJU8sK-$4RivXvH8pdYE6h?7|5{4S4W=3%aD4Q9?u4SoV
zSio4qP{Y#9n8GB^uz)Frc_HIMMn;foh6T(E8JZbuS!-BRSW*~TnIu6emK8*U)6_3U
zg<FhVRjj2YX}T6KK`wgv`~Uy{nk=`Ni%W`bv4T_1Ew<FW<ouM>TO38Hi77dmd8wLg
zMIcw+Vobcnm~@LV`4(f|EvDpTNRWaO5hPr>ic|Aa;xqHo@{0vP0SgLj21W%Y2}T~~
zA{hn-22D0_G~Z$YrA=@ggTuTC6eeH=NG2kT<*>=kPbtkwwF9MxVo<1aFmf<)uyU|)
GFarS9H`)3C

literal 0
HcmV?d00001

diff --git a/PAR 152/Yolo V3/TensorFlow-2.x-YOLOv3-master/yolov3/__pycache__/track_2_generator.cpython-38.pyc b/PAR 152/Yolo V3/TensorFlow-2.x-YOLOv3-master/yolov3/__pycache__/track_2_generator.cpython-38.pyc
index 62af523bf58ddf013f236695e14d99fc2abd4ca9..894fe1bdc11300f1a010521fa34eadf9b6cbd654 100644
GIT binary patch
delta 66
zcmew?_*RfNl$V!_fq{X+G44_F@rk^$jQb{P>v8W&Wl3RA;Yi_ZW}cW8%owwApE8FK
W4-*R$7b72|0HYeC2oo107b5^tr4D%j

delta 72
zcmaDW_*sxQl$V!_fq{XcEc8+Gxrw~8j7KJF>j@r6Wl3RA;Yi_3VMt*}XKH4dm=esG
cv~h<rhma5x3lkS3AEN-H8lwmk7b6!V0LD5G@Bjb+

diff --git a/PAR 152/Yolo V3/TensorFlow-2.x-YOLOv3-master/yolov3/__pycache__/utils.cpython-38.pyc b/PAR 152/Yolo V3/TensorFlow-2.x-YOLOv3-master/yolov3/__pycache__/utils.cpython-38.pyc
index 3609578e8506cb257ed1eb0623381c424e3a9f97..0275e8b4bf7d538834dfabcacacade777e7185ea 100644
GIT binary patch
delta 8698
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

delta 6562
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

diff --git a/PAR 152/Yolo V3/TensorFlow-2.x-YOLOv3-master/yolov3/utils.py b/PAR 152/Yolo V3/TensorFlow-2.x-YOLOv3-master/yolov3/utils.py
index 7363448..997a53f 100644
--- a/PAR 152/Yolo V3/TensorFlow-2.x-YOLOv3-master/yolov3/utils.py	
+++ b/PAR 152/Yolo V3/TensorFlow-2.x-YOLOv3-master/yolov3/utils.py	
@@ -203,7 +203,7 @@ def draw_bbox(image, bboxes,liste_pos_car, CLASSES=YOLO_COCO_CLASSES, show_label
     
     #Determination de la position de la voiture
     #speed with 10= 3.8/40
-    pos_car, liste_pos_car_temp = get_position(bboxes, (previous_command[0]*3.7/170, previous_command[1]/200*35/360*2*3.1415), liste_pos_car.liste)
+    pos_car, liste_pos_car_temp = get_position(bboxes, (previous_command[0]*3.7/170, previous_command[1]/200*35/360*2*3.1415, previous_command[2]), liste_pos_car.liste)
     liste_pos_car.update_liste(liste_pos_car_temp)
 
     """Algorithme de conduite"""
@@ -633,7 +633,7 @@ def detect_realtime(Yolo, output_path, input_size=416, show=False, CLASSES=YOLO_
         
         print("Time: {:.2f}ms, {:.1f} FPS".format(ms, fps))
 
-        frame, command, liste_pos_car = draw_bbox(original_frame, bboxes,liste_pos_car, CLASSES=CLASSES, rectangle_colors=rectangle_colors, ser=ser, previous_command=(10, command))
+        frame, command, liste_pos_car = draw_bbox(original_frame, bboxes,liste_pos_car, CLASSES=CLASSES, rectangle_colors=rectangle_colors, ser=ser, previous_command=(10, command, fps))
         # CreateXMLfile("XML_Detections", str(int(time.time())), original_frame, bboxes, read_class_names(CLASSES))
         image = cv2.putText(frame, "Time: {:.1f}FPS".format(fps), (0, 30),
                           cv2.FONT_HERSHEY_COMPLEX_SMALL, 1, (0, 0, 255), 2)
-- 
GitLab