Skip to content
Snippets Groups Projects
Commit dcfa3fd9 authored by Ouhouuhu's avatar Ouhouuhu
Browse files

essais réels data + scripts

parent 0ecfd629
Branches
No related tags found
No related merge requests found
Showing
with 214 additions and 15 deletions
...@@ -9,16 +9,20 @@ ...@@ -9,16 +9,20 @@
#define DirPin 4 #define DirPin 4
// Droite 180 Gauche 850 // Droite 180 Gauche 850
double Kp=3,Ki=0,Kd=0.3;//ces valeurs ne sont pas les bonnes //double Kp=3,Ki=0,Kd=0.3;//ces valeurs ne sont pas les bonnes
//double Kp=0.97,Ki=1.3,Kd=0.0955; //marche bien pour discrétisation
//double Kp=1.78,Ki=0.41,Kd=0.61; broida ok tier
double Kp=1,Ki=0.2,Kd=0.133;
int aggressif = 40; int aggressif = 40;
double Kpd=2.3,Kid=8,Kdd=0.2;//ces valeurs ne sont pas les bonnes //double Kpd=2.3,Kid=8,Kdd=0.2;//ces valeurs ne sont pas les bonnes
double Kpd=1,Kid=0.2,Kdd=0.133;
//double Kpd=0.5,Kid=0.1,Kdd=0;
double Setpoint, Input, Output; //valeur visé pour les roues dans [-127,127], valeur réelle des roues dans [-127,127] et valeur de la commande des roues double Setpoint, Input, Output; //valeur visé pour les roues dans [-127,127], valeur réelle des roues dans [-127,127] et valeur de la commande des roues
PID myPID(&Input, &Output, &Setpoint,Kp,Ki,Kd, DIRECT); PID myPID(&Input, &Output, &Setpoint,Kp,Ki,Kd, DIRECT);
//PID myPID(&Input, &Output, &Setpoint,1,0,0, DIRECT);
bool turning; bool turning;
int zone_morte=10; int zone_morte=5;
#define PontG 5 #define PontG 5
...@@ -133,7 +137,7 @@ void loop() { ...@@ -133,7 +137,7 @@ void loop() {
radio.stopListening(); radio.stopListening();
delay(10); delay(0.2);
bool report = radio.write(&sending,sizeof(sending)); bool report = radio.write(&sending,sizeof(sending));
...@@ -172,14 +176,17 @@ void loop() { ...@@ -172,14 +176,17 @@ void loop() {
if ( abs(Input-Setpoint)<aggressif ) { if ( abs(Input-Setpoint)<aggressif ) {
myPID.SetTunings(Kpd, Kid, Kdd); myPID.SetTunings(Kpd, Kid, Kdd);
//myPID.SetTunings(1,0,0);
} }
else else
{ {
myPID.SetTunings(Kp, Ki, Kd); myPID.SetTunings(Kp, Ki, Kd);
//myPID.SetTunings(1,0,0);
} }
myPID.Compute();//on calcul l'output pour notre PID myPID.Compute();//on calcul l'output pour notre PID
//si on tombe dans la zone morte et que le virage est presque fini, on s'arrête là //si on tombe dans la zone morte et que le virage est presque fini, on s'arrête là
// if (abs(Output)<zone_morte && abs(Input-Setpoint)<marge) { // if (abs(Output)<zone_morte && abs(Input-Setpoint)<marge) {
// turning = false; // turning = false;
...@@ -191,18 +198,18 @@ void loop() { ...@@ -191,18 +198,18 @@ void loop() {
//on applique la commande //on applique la commande
if (Output>0) { if (Output>0) {
Output = Output/255*(255-40)+40;
droite(abs(Output)); droite(abs(Output));
} }
else { else {
Output = Output/255*(255-40)-40;
gauche(abs(Output)); gauche(abs(Output));
} }
} }
else else
{ {
stop_direction(); stop_direction();
} }
} }
......
File added
File added
File added
File added
...@@ -7,6 +7,7 @@ import track_2_generator as tg ...@@ -7,6 +7,7 @@ import track_2_generator as tg
from pid_controller import PidController from pid_controller import PidController
from mesure_discret_to_adim import pol2xy from mesure_discret_to_adim import pol2xy
import json import json
from math import cos, sin
def update_pos(x,y,cp): def update_pos(x,y,cp):
m = tg.create_track(0.5,0,0, (0,0))[:-1]+[(1,0.5)] m = tg.create_track(0.5,0,0, (0,0))[:-1]+[(1,0.5)]
...@@ -17,12 +18,191 @@ def update_pos(x,y,cp): ...@@ -17,12 +18,191 @@ def update_pos(x,y,cp):
plt.plot([x for x,y in c], [y for x,y in c], 'ob') plt.plot([x for x,y in c], [y for x,y in c], 'ob')
plt.plot([x for x,y in p], [y for x,y in p], '--r') plt.plot([x for x,y in p], [y for x,y in p], '--r')
plt.axis("equal") plt.axis("equal")
plt.show() #plt.show()
return return
def simulation(n, pid=(100,0.1,10), plot=True):
essai_number = n
max_lap = 6
current_lap = -1
p,i,d = pid
"""initilize PID"""
pid = PidController(p,i,d)
"""initialize CP"""
cp=0
data = {"essai": essai_number, "PID": {"P":p,"I":i,"D":d}, 'run': []}
"""loop"""
t = True
while t:
step_data = {}
"""set new pos"""
l = input('cercle, r, theta, pas: ')
try:
c, r, theta, p = l.split(' ')
except:
c = "s"
#c = "d"
#c, r, theta = "d", "1.2", "0"
if c=="s":
break
"""loading communication"""
ser = get_ser()
start_ser(ser)
r, theta,p = float(r), float(theta), float(p)
step_data["input"] = {"cercle":c, "r":r, "theta":theta}
#x,y = input("x,y: ").split(' ')
x,y = pol2xy(c, r, theta)
step_data["pos"] = {"x":x, "y":y}
"""get distance"""
current_cp = LineString(tg.checkpoints(cp))
n_cp=cp+1
if cp==5:
n_cp=0
next_cp = LineString(tg.checkpoints(n_cp))
pos = Point(x,y)
d1 = current_cp.distance(pos)
d2 = next_cp.distance(pos)
d=d1
forward = False
if d1>d2:
cp=n_cp
d = d2
if cp==0:
current_lap+=1
if max_lap<=current_lap:
t = False
if cp==3 or cp==0:
pid.previous_error *= -1
pid.integrated_error *= -1
#forward = True
d = r-1.2
step_data["dist"] = d
step_data["cp"] = cp
step_data["lap"] = current_lap
if plot:
"""display"""
update_pos(x,y,cp)
"""get new order"""
speed = 10
direction = pid.get_control(d)
g = tg.is_in_track(x, y)
if cp in [0,1,2]:
direction*=-1
#if not g:
#if 1.2-r>0:
#direction*=-1
direction = int(direction)
if direction>255:
direction = 255
elif direction<-255:
direction = -255
#print(f"PID direction: {direction}")
#print(f"PID direction integrated: {pid.integrated_error}")
#print(f"PID direction previous: {pid.previous_error}")
if forward:
direction_ideal = 0
elif cp in [0,1,2]:
direction_ideal = 100
elif cp in [3,4,5]:
direction_ideal = -20
direction_correction = direction
direction = direction_ideal+direction_correction
if direction>127:
direction = 127
elif direction<-127:
direction = -127
"""passage au centre: dead zone"""
x0,y0 = 1.0,0.4
r=0.07
if plot:
xs,ys = [x0+r*cos(theta/50*2*3.1415) for theta in range(50)], [y0+r*sin(theta/50*2*3.1415) for theta in range(50)]
plt.plot(xs,ys, 'r-')
plt.show()
#if (x-x0)**2+(y-y0)**2<r**2:
# direction = (-30 + 100)/2
step_data["order"] = {"speed":speed, "direction":direction}
#direction = 100
print(f"direction: {direction}")
"""set new order"""
t_end = time() + 4
while time() < t_end:
a = send_infos(ser, 0, direction, 0)
try:
direct = a.split(',')[0]
except:
direct = ''
print(f"capteurs1: {direct}->{direction}")
pass
t_end = time() + p
previous_print = time()
while time() < t_end:
a = send_infos(ser, speed, direction, 0)
try:
direct = a.split(',')[0]
except:
direct = ''
print(f"capteurs2: {direct}->{direction}")
pass
"""stop"""
t_end = time() + 2
while time() < t_end:
send_infos(ser, 0, direction, 0)
pass
close_ser(ser)
print(f"cp: {cp}")
data["run"].append(step_data)
return data
if __name__=="__main__": if __name__=="__main__":
essai_number = input("Numero de l'essai : ")
#x = [1.12219182e+02, 4.92516610e-01, 7.51131752e+03]
x = [ 100, 0.2, 257]
data = simulation(essai_number, pid=x, plot=True)
with open(f'essai_{essai_number}.json', 'w') as outfile:
json.dump(data, outfile, indent=4)
'''
essai_number = input("Numero de l'essai") essai_number = input("Numero de l'essai")
p,i,d = 1000,100,1000 p,i,d = 1000,100,1000
...@@ -120,6 +300,4 @@ if __name__=="__main__": ...@@ -120,6 +300,4 @@ if __name__=="__main__":
data["run"].append(step_data) data["run"].append(step_data)
#close_ser(ser) #close_ser(ser)
'''
with open(f'essai_{essai_number}.json', 'w') as outfile: \ No newline at end of file
json.dump(data, outfile)
\ No newline at end of file
{"essai": "1", "PID": {"P": 54.11317513, "I": 0.522774415, "D": 257.9071004}, "run": [{"input": {"cercle": "d", "r": 1.18, "theta": 70.0}, "pos": {"x": 1.3318400961982129, "y": 0.03798446144692841}, "dist": -0.020000000000000018, "cp": 2, "lap": -1, "order": {"speed": 10, "direction": 94}}, {"input": {"cercle": "d", "r": 1.13, "theta": 50.0}, "pos": {"x": 1.1973541671059211, "y": 0.13932074136481454}, "dist": -0.07000000000000006, "cp": 2, "lap": -1, "order": {"speed": 10, "direction": 84}}, {"input": {"cercle": "d", "r": 1.1, "theta": 25.0}, "pos": {"x": 1.0846089309415354, "y": 0.3062999633688461}, "dist": -0.09999999999999987, "cp": 2, "lap": -1, "order": {"speed": 10, "direction": 87}}, {"input": {"cercle": "d", "r": 1.1, "theta": 10.0}, "pos": {"x": 1.0486297798694046, "y": 0.42041125190265694}, "dist": -0.09999999999999987, "cp": 2, "lap": -1, "order": {"speed": 10, "direction": 95}}, {"input": {"cercle": "g", "r": 1.32, "theta": 10.0}, "pos": {"x": 1.0416442641567145, "y": 0.5955064977168116}, "dist": 0.1200000000000001, "cp": 3, "lap": -1, "order": {"speed": 10, "direction": -63}}, {"input": {"cercle": "g", "r": 1.15, "theta": 30.0}, "pos": {"x": 0.9149705059800435, "y": 0.7395833333333333}, "dist": -0.050000000000000044, "cp": 3, "lap": -1, "order": {"speed": 10, "direction": -54}}]}
\ No newline at end of file
{"essai": "11", "PID": {"P": 100, "I": 0.2, "D": 257}, "run": [{"input": {"cercle": "d", "r": 1.2, "theta": 0.0}, "pos": {"x": 1.0, "y": 0.5}, "dist": 0.0, "cp": 0, "lap": -1, "order": {"speed": 10, "direction": 90}}, {"input": {"cercle": "d", "r": 1.16, "theta": -20.0}, "pos": {"x": 1.045815233286811, "y": 0.6653097359407398}, "dist": -0.040000000000000036, "cp": 0, "lap": -1, "order": {"speed": 10, "direction": 76}}, {"input": {"cercle": "d", "r": 1.16, "theta": -35.0}, "pos": {"x": 1.1040765119269873, "y": 0.7772286109030055}, "dist": -0.040000000000000036, "cp": 0, "lap": -1, "order": {"speed": 10, "direction": 86}}, {"input": {"cercle": "d", "r": 1.19, "theta": -55.0}, "pos": {"x": 1.2156016836426065, "y": 0.9061628886266251}, "dist": -0.010000000000000009, "cp": 0, "lap": -1, "order": {"speed": 10, "direction": 96}}, {"input": {"cercle": "d", "r": 1.23, "theta": -70.0}, "pos": {"x": 1.3247146765455948, "y": 0.9815924681527781}, "dist": 0.030000000000000027, "cp": 0, "lap": -1, "order": {"speed": 10, "direction": 103}}, {"input": {"cercle": "d", "r": 1.25, "theta": -85.0}, "pos": {"x": 1.4546063839855947, "y": 1.0188514052561175}, "dist": 0.050000000000000044, "cp": 0, "lap": -1, "order": {"speed": 10, "direction": 100}}, {"input": {"cercle": "d", "r": 1.28, "theta": -100.0}, "pos": {"x": 1.5926123614223628, "y": 1.025230801606511}, "dist": 0.08000000000000007, "cp": 1, "lap": -1, "order": {"speed": 10, "direction": 105}}, {"input": {"cercle": "d", "r": 1.3, "theta": -115.0}, "pos": {"x": 1.7289182251095454, "y": 0.9909167179781855}, "dist": 0.10000000000000009, "cp": 1, "lap": -1, "order": {"speed": 10, "direction": 105}}, {"input": {"cercle": "d", "r": 1.31, "theta": -130.0}, "pos": {"x": 1.8508549036205695, "y": 0.9181325918691089}, "dist": 0.1100000000000001, "cp": 1, "lap": -1, "order": {"speed": 10, "direction": 103}}, {"input": {"cercle": "d", "r": 1.33, "theta": -140.0}, "pos": {"x": 1.924516295561767, "y": 0.8562114670346239}, "dist": 0.13000000000000012, "cp": 1, "lap": -1, "order": {"speed": 10, "direction": 108}}, {"input": {"cercle": "d", "r": 1.35, "theta": -150.0}, "pos": {"x": 1.9871392896287468, "y": 0.78125}, "dist": 0.15000000000000013, "cp": 1, "lap": -1, "order": {"speed": 10, "direction": 110}}]}
\ No newline at end of file
{"essai": "18", "PID": {"P": 100, "I": 0.2, "D": 257}, "run": []}
\ No newline at end of file
{"essai": "19", "PID": {"P": 100, "I": 0.2, "D": 257}, "run": [{"input": {"cercle": "d", "r": 1.2, "theta": 65.0}, "pos": {"x": 1.2886908691296504, "y": 0.04684610648167503}, "dist": 0.0, "cp": 2, "lap": -1, "order": {"speed": 10, "direction": 90}}]}
\ No newline at end of file
{"essai": "2", "PID": {"P": 54.11317513, "I": 0.522774415, "D": 257.9071004}, "run": [{"input": {"cercle": "d", "r": 1.12, "theta": 45.0}, "pos": {"x": 1.1700168354462779, "y": 0.17001683544627777}, "dist": -0.07999999999999985, "cp": 2, "lap": -1, "order": {"speed": 10, "direction": 66}}, {"input": {"cercle": "d", "r": 1.12, "theta": 25.0}, "pos": {"x": 1.0770563660495633, "y": 0.30277814452100693}, "dist": -0.07999999999999985, "cp": 2, "lap": -1, "order": {"speed": 10, "direction": 86}}, {"input": {"cercle": "d", "r": 1.14, "theta": 15.0}, "pos": {"x": 1.0411852325126927, "y": 0.37706095357630265}, "dist": -0.06000000000000005, "cp": 2, "lap": -1, "order": {"speed": 10, "direction": 91}}, {"input": {"cercle": "g", "r": 1.24, "theta": 5.0}, "pos": {"x": 1.0147005940140685, "y": 0.5450304670862901}, "dist": 0.040000000000000036, "cp": 3, "lap": -1, "order": {"speed": 10, "direction": -27}}, {"input": {"cercle": "g", "r": 1.12, "theta": 15.0}, "pos": {"x": 0.9507653856015652, "y": 0.6207822210478431}, "dist": -0.07999999999999985, "cp": 3, "lap": -1, "order": {"speed": 10, "direction": 15}}, {"input": {"cercle": "g", "r": 1.08, "theta": 40.0}, "pos": {"x": 0.8447199994035401, "y": 0.7892544243589428}, "dist": -0.11999999999999988, "cp": 3, "lap": -1, "order": {"speed": 10, "direction": -4}}, {"input": {"cercle": "g", "r": 1.1, "theta": 50.0}, "pos": {"x": 0.7946109877729972, "y": 0.8511037030961983}, "dist": -0.09999999999999987, "cp": 3, "lap": -1, "order": {"speed": 10, "direction": -20}}, {"input": {"cercle": "g", "r": 1.16, "theta": 70.0}, "pos": {"x": 0.6653097359407399, "y": 0.9541847667131891}, "dist": -0.040000000000000036, "cp": 3, "lap": -1, "order": {"speed": 10, "direction": -33}}, {"input": {"cercle": "g", "r": 1.17, "theta": 90.0}, "pos": {"x": 0.5, "y": 0.9875}, "dist": -0.030000000000000027, "cp": 4, "lap": -1, "order": {"speed": 10, "direction": -20}}, {"input": {"cercle": "g", "r": 1.19, "theta": 110.0}, "pos": {"x": 0.33041501226768927, "y": 0.965930924473013}, "dist": -0.010000000000000009, "cp": 4, "lap": -1, "order": {"speed": 10, "direction": -24}}, {"input": {"cercle": "g", "r": 1.22, "theta": 125.0}, "pos": {"x": 0.2084319781882184, "y": 0.9164022891802376}, "dist": 0.020000000000000018, "cp": 4, "lap": -1, "order": {"speed": 10, "direction": -28}}, {"input": {"cercle": "g", "r": 1.23, "theta": 135.0}, "pos": {"x": 0.1376077746418944, "y": 0.8623922253581057}, "dist": 0.030000000000000027, "cp": 4, "lap": -1, "order": {"speed": 10, "direction": -23}}, {"input": {"cercle": "g", "r": 1.25, "theta": 155.0}, "pos": {"x": 0.027964694251744804, "y": 0.7201136779899476}, "dist": 0.050000000000000044, "cp": 4, "lap": -1, "order": {"speed": 10, "direction": -27}}, {"input": {"cercle": "g", "r": 1.25, "theta": 165.0}, "pos": {"x": -0.003086367858889716, "y": 0.6348015859908964}, "dist": 0.050000000000000044, "cp": 4, "lap": -1, "order": {"speed": 10, "direction": -22}}, {"input": {"cercle": "g", "r": 1.26, "theta": 180.0}, "pos": {"x": -0.025000000000000022, "y": 0.5000000000000001}, "dist": 0.06000000000000005, "cp": 4, "lap": -1, "order": {"speed": 10, "direction": -25}}, {"input": {"cercle": "g", "r": 1.25, "theta": -170.0}, "pos": {"x": -0.01292070469385842, "y": 0.4095582407984738}, "dist": 0.050000000000000044, "cp": 4, "lap": -1, "order": {"speed": 10, "direction": -20}}, {"input": {"cercle": "g", "r": 1.22, "theta": -155.0}, "pos": {"x": 0.039293541589702996, "y": 0.2851690502818111}, "dist": 0.020000000000000018, "cp": 4, "lap": -1, "order": {"speed": 10, "direction": -14}}, {"input": {"cercle": "g", "r": 1.21, "theta": -145.0}, "pos": {"x": 0.08701084433763345, "y": 0.21082188000634744}, "dist": 0.010000000000000009, "cp": 4, "lap": -1, "order": {"speed": 10, "direction": -18}}, {"input": {"cercle": "g", "r": 1.2, "theta": -130.0}, "pos": {"x": 0.17860619515673032, "y": 0.116977778440511}, "dist": 0.0, "cp": 4, "lap": -1, "order": {"speed": 10, "direction": -18}}, {"input": {"cercle": "g", "r": 1.17, "theta": -115.0}, "pos": {"x": 0.29397359740140905, "y": 0.05817495381963311}, "dist": -0.030000000000000027, "cp": 4, "lap": -1, "order": {"speed": 10, "direction": -11}}, {"input": {"cercle": "g", "r": 1.16, "theta": -100.0}, "pos": {"x": 0.4160700474609837, "y": 0.024009586044099474}, "dist": -0.040000000000000036, "cp": 4, "lap": -1, "order": {"speed": 10, "direction": -16}}, {"input": {"cercle": "g", "r": 1.15, "theta": -85.0}, "pos": {"x": 0.5417621267332529, "y": 0.02265670716437196}, "dist": -0.050000000000000044, "cp": 5, "lap": -1, "order": {"speed": 10, "direction": -15}}, {"input": {"cercle": "g", "r": 115.0, "theta": -65.0}, "pos": {"x": 20.750458375075183, "y": -42.92724812883948}, "dist": 113.8, "cp": 5, "lap": -1, "order": {"speed": 10, "direction": -127}}]}
\ No newline at end of file
{"essai": "20", "PID": {"P": 100, "I": 0.2, "D": 257}, "run": [{"input": {"cercle": "d", "r": 1.19, "theta": 60.0}, "pos": {"x": 1.2520833333333332, "y": 0.07059573729021584}, "dist": -0.010000000000000009, "cp": 2, "lap": -1, "order": {"speed": 10, "direction": 87}}, {"input": {"cercle": "d", "r": 1.18, "theta": 40.0}, "pos": {"x": 1.1233614821331692, "y": 0.18396275857078487}, "dist": -0.020000000000000018, "cp": 2, "lap": -1, "order": {"speed": 10, "direction": 86}}, {"input": {"cercle": "d", "r": 1.23, "theta": 25.0}, "pos": {"x": 1.0355172591437167, "y": 0.2834081408578915}, "dist": 0.030000000000000027, "cp": 2, "lap": -1, "order": {"speed": 10, "direction": 105}}, {"input": {"cercle": "d", "r": 1.27, "theta": 5.0}, "pos": {"x": 0.9728469722597847, "y": 0.4538800861293642}, "dist": 0.07000000000000006, "cp": 2, "lap": -1, "order": {"speed": 10, "direction": 15}}]}
\ No newline at end of file
{"essai": "21", "PID": {"P": 100, "I": 0.2, "D": 257}, "run": [{"input": {"cercle": "d", "r": 1.18, "theta": 95.0}, "pos": {"x": 1.5428515735175987, "y": 0.010204273438225109}, "dist": -0.020000000000000018, "cp": 1, "lap": -1, "order": {"speed": 10, "direction": 83}}, {"input": {"cercle": "d", "r": 1.18, "theta": 80.0}, "pos": {"x": 1.4146229793137592, "y": 0.01580285476899773}, "dist": -0.020000000000000018, "cp": 2, "lap": -1, "order": {"speed": 10, "direction": 88}}, {"input": {"cercle": "d", "r": 1.21, "theta": 60.0}, "pos": {"x": 1.2479166666666666, "y": 0.06337885892534556}, "dist": 0.010000000000000009, "cp": 2, "lap": -1, "order": {"speed": 10, "direction": 98}}, {"input": {"cercle": "d", "r": 1.24, "theta": 40.0}, "pos": {"x": 1.1042103710551947, "y": 0.16789306832862133}, "dist": 0.040000000000000036, "cp": 2, "lap": -1, "order": {"speed": 10, "direction": 101}}, {"input": {"cercle": "d", "r": 1.27, "theta": 20.0}, "pos": {"x": 1.0027459881674567, "y": 0.31901434082350033}, "dist": 0.07000000000000006, "cp": 2, "lap": -1, "order": {"speed": 10, "direction": 104}}]}
\ No newline at end of file
{"essai": "22", "PID": {"P": 100, "I": 0.2, "D": 257}, "run": [{"input": {"cercle": "d", "r": 1.18, "theta": 95.0}, "pos": {"x": 1.5428515735175987, "y": 0.010204273438225109}, "dist": -0.020000000000000018, "cp": 1, "lap": -1, "order": {"speed": 10, "direction": 93}}, {"input": {"cercle": "d", "r": 1.17, "theta": 80.0}, "pos": {"x": 1.4153465133873715, "y": 0.019906220406548603}, "dist": -0.030000000000000027, "cp": 2, "lap": -1, "order": {"speed": 10, "direction": 95}}, {"input": {"cercle": "d", "r": 1.17, "theta": 60.0}, "pos": {"x": 1.2562499999999999, "y": 0.07781261565508618}, "dist": -0.030000000000000027, "cp": 2, "lap": -1, "order": {"speed": 10, "direction": 97}}, {"input": {"cercle": "d", "r": 1.19, "theta": 35.0}, "pos": {"x": 1.093837111373375, "y": 0.21560168364260635}, "dist": -0.010000000000000009, "cp": 2, "lap": -1, "order": {"speed": 10, "direction": 104}}, {"input": {"cercle": "d", "r": 1.19, "theta": 15.0}, "pos": {"x": 1.0210617777983368, "y": 0.3716688901366668}, "dist": -0.010000000000000009, "cp": 2, "lap": -1, "order": {"speed": 10, "direction": 15}}]}
\ No newline at end of file
{"essai": "23", "PID": {"P": 100, "I": 0.2, "D": 257}, "run": [{"input": {"cercle": "d", "r": 1.18, "theta": 95.0}, "pos": {"x": 1.5428515735175987, "y": 0.010204273438225109}, "dist": -0.020000000000000018, "cp": 1, "lap": -1, "order": {"speed": 10, "direction": 93}}, {"input": {"cercle": "d", "r": 1.14, "theta": 75.0}, "pos": {"x": 1.3770609535763025, "y": 0.04118523251269257}, "dist": -0.06000000000000005, "cp": 2, "lap": -1, "order": {"speed": 10, "direction": 84}}, {"input": {"cercle": "d", "r": 1.18, "theta": 55.0}, "pos": {"x": 1.2179915854607357, "y": 0.09725024489124573}, "dist": -0.020000000000000018, "cp": 2, "lap": -1, "order": {"speed": 10, "direction": 108}}, {"input": {"cercle": "d", "r": 1.22, "theta": 40.0}, "pos": {"x": 1.1105940747478529, "y": 0.17324963174267588}, "dist": 0.020000000000000018, "cp": 2, "lap": -1, "order": {"speed": 10, "direction": 112}}, {"input": {"cercle": "d", "r": 1.22, "theta": 20.0}, "pos": {"x": 1.022322917767163, "y": 0.3261397604761184}, "dist": 0.020000000000000018, "cp": 2, "lap": -1, "order": {"speed": 10, "direction": 101}}, {"input": {"cercle": "d", "r": 1.21, "theta": 0.0}, "pos": {"x": 0.9958333333333333, "y": 0.5}, "dist": 0.010000000000000009, "cp": 3, "lap": -1, "order": {"speed": 10, "direction": 35.0}}, {"input": {"cercle": "g", "r": 1.2, "theta": 15.0}, "pos": {"x": 0.9829629131445341, "y": 0.6294095225512604}, "dist": 0.0, "cp": 3, "lap": -1, "order": {"speed": 10, "direction": -28}}, {"input": {"cercle": "g", "r": 1.18, "theta": 40.0}, "pos": {"x": 0.8766385178668308, "y": 0.8160372414292152}, "dist": -0.020000000000000018, "cp": 3, "lap": -1, "order": {"speed": 10, "direction": -23}}, {"input": {"cercle": "g", "r": 1.18, "theta": 60.0}, "pos": {"x": 0.7458333333333333, "y": 0.9257958235273489}, "dist": -0.020000000000000018, "cp": 3, "lap": -1, "order": {"speed": 10, "direction": -28}}]}
\ No newline at end of file
{"essai": "24", "PID": {"P": 100, "I": 0.2, "D": 257}, "run": [{"input": {"cercle": "g", "r": 1.2, "theta": -100.0}, "pos": {"x": 0.41317591116653485, "y": 0.00759612349389599}, "dist": 0.0, "cp": 4, "lap": -1, "order": {"speed": 10, "direction": -30}}, {"input": {"cercle": "g", "r": 1.1, "theta": -80.0}, "pos": {"x": 0.5795887480973431, "y": 0.048629779869404643}, "dist": -0.09999999999999987, "cp": 5, "lap": -1, "order": {"speed": 10, "direction": 5}}, {"input": {"cercle": "g", "r": 1.08, "theta": -20.0}, "pos": {"x": 0.9228616793536588, "y": 0.34609093550344905}, "dist": -0.11999999999999988, "cp": 5, "lap": -1, "order": {"speed": 10, "direction": -13}}, {"input": {"cercle": "g", "r": 1.17, "theta": -40.0}, "pos": {"x": 0.8734466660205018, "y": 0.18664104027781214}, "dist": -0.030000000000000027, "cp": 5, "lap": -1, "order": {"speed": 10, "direction": -50}}, {"input": {"cercle": "g", "r": 1.19, "theta": -10.0}, "pos": {"x": 0.9883005108685532, "y": 0.41389944524014705}, "dist": -0.010000000000000009, "cp": 5, "lap": -1, "order": {"speed": 10, "direction": 35.0}}]}
\ No newline at end of file
{"essai": "25", "PID": {"P": 100, "I": 0.2, "D": 257}, "run": [{"input": {"cercle": "g", "r": 1.2, "theta": -100.0}, "pos": {"x": 0.41317591116653485, "y": 0.00759612349389599}, "dist": 0.0, "cp": 4, "lap": -1, "order": {"speed": 10, "direction": -30}}, {"input": {"cercle": "g", "r": 1.13, "theta": -85.0}, "pos": {"x": 0.5410358288770224, "y": 0.03095832964846984}, "dist": -0.07000000000000006, "cp": 5, "lap": -1, "order": {"speed": 10, "direction": -6}}, {"input": {"cercle": "g", "r": 1.13, "theta": -65.0}, "pos": {"x": 0.6989827649029127, "y": 0.07328008360357735}, "dist": -0.07000000000000006, "cp": 5, "lap": -1, "order": {"speed": 10, "direction": -23}}, {"input": {"cercle": "g", "r": 1.18, "theta": -45.0}, "pos": {"x": 0.8476608340833859, "y": 0.15233916591661412}, "dist": -0.020000000000000018, "cp": 5, "lap": -1, "order": {"speed": 10, "direction": -40}}, {"input": {"cercle": "g", "r": 1.15, "theta": -20.0}, "pos": {"x": 0.9502693807932477, "y": 0.33611534798978376}, "dist": -0.050000000000000044, "cp": 5, "lap": -1, "order": {"speed": 10, "direction": -18}}, {"input": {"cercle": "g", "r": 1.16, "theta": 0.0}, "pos": {"x": 0.9833333333333334, "y": 0.5}, "dist": -0.040000000000000036, "cp": 5, "lap": -1, "order": {"speed": 10, "direction": 35.0}}, {"input": {"cercle": "d", "r": 1.26, "theta": -20.0}, "pos": {"x": 1.006661374087398, "y": 0.6795605752459761}, "dist": 0.06000000000000005, "cp": 0, "lap": 0, "order": {"speed": 10, "direction": 127}}]}
\ No newline at end of file
{"essai": "26", "PID": {"P": 100, "I": 0.2, "D": 257}, "run": [{"input": {"cercle": "g", "r": 1.2, "theta": -100.0}, "pos": {"x": 0.41317591116653485, "y": 0.00759612349389599}, "dist": 0.0, "cp": 4, "lap": -1, "order": {"speed": 10, "direction": -30}}, {"input": {"cercle": "g", "r": 1.2, "theta": -80.0}, "pos": {"x": 0.5868240888334653, "y": 0.00759612349389599}, "dist": 0.0, "cp": 5, "lap": -1, "order": {"speed": 10, "direction": -30}}, {"input": {"cercle": "g", "r": 1.17, "theta": -60.0}, "pos": {"x": 0.74375, "y": 0.07781261565508618}, "dist": -0.030000000000000027, "cp": 5, "lap": -1, "order": {"speed": 10, "direction": -20}}, {"input": {"cercle": "g", "r": 1.21, "theta": -45.0}, "pos": {"x": 0.8564996688482177, "y": 0.1435003311517823}, "dist": 0.010000000000000009, "cp": 5, "lap": -1, "order": {"speed": 10, "direction": -41}}, {"input": {"cercle": "g", "r": 1.21, "theta": -20.0}, "pos": {"x": 0.9737616963128954, "y": 0.327564844406642}, "dist": 0.010000000000000009, "cp": 5, "lap": -1, "order": {"speed": 10, "direction": -30}}, {"input": {"cercle": "g", "r": 1.2, "theta": 0.0}, "pos": {"x": 1.0, "y": 0.5}, "dist": 0.0, "cp": 5, "lap": -1, "order": {"speed": 10, "direction": 35.0}}, {"input": {"cercle": "d", "r": 1.36, "theta": -30.0}, "pos": {"x": 1.009252271188818, "y": 0.7833333333333333}, "dist": 0.16000000000000014, "cp": 0, "lap": 0, "order": {"speed": 10, "direction": 127}}]}
\ No newline at end of file
{"essai": "27", "PID": {"P": 100, "I": 0.2, "D": 257}, "run": [{"input": {"cercle": "d", "r": 1.1, "theta": -35.0}, "pos": {"x": 1.124555313034212, "y": 0.7628891999942294}, "dist": -0.09999999999999987, "cp": 0, "lap": -1, "order": {"speed": 10, "direction": 65}}, {"input": {"cercle": "d", "r": 1.16, "theta": -50.0}, "pos": {"x": 1.1893193219848393, "y": 0.8702548141741727}, "dist": -0.040000000000000036, "cp": 0, "lap": -1, "order": {"speed": 10, "direction": 111}}, {"input": {"cercle": "d", "r": 1.24, "theta": -80.0}, "pos": {"x": 1.410281774872086, "y": 1.0088173390563075}, "dist": 0.040000000000000036, "cp": 0, "lap": -1, "order": {"speed": 10, "direction": 124}}, {"input": {"cercle": "d", "r": 1.28, "theta": -95.0}, "pos": {"x": 1.5464830627987511, "y": 1.0313038389822644}, "dist": 0.08000000000000007, "cp": 1, "lap": -1, "order": {"speed": 10, "direction": 118}}, {"input": {"cercle": "d", "r": 1.25, "theta": -110.0}, "pos": {"x": 1.6781354913154525, "y": 0.9894232399926607}, "dist": 0.050000000000000044, "cp": 1, "lap": -1, "order": {"speed": 10, "direction": 98}}]}
\ No newline at end of file
{"essai": "28", "PID": {"P": 100, "I": 0.2, "D": 257}, "run": [{"input": {"cercle": "d", "r": 120.0, "theta": 0.0}, "pos": {"x": -48.5, "y": 0.5}, "dist": 118.8, "cp": 0, "lap": -1, "order": {"speed": 10, "direction": 127}}, {"input": {"cercle": "d", "r": 110.0, "theta": -16.0}, "pos": {"x": -42.55782773050628, "y": 13.13337880827913}, "dist": 108.8, "cp": 0, "lap": -1, "order": {"speed": 10, "direction": 127}}]}
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment