Chibi12 1st presen_1
- 4. AMSL (Autonomous Mobile Systems Laboratory)
?? 1995
AMSL ?? 1995
??
AMSL ??
??
??
?? Micro-5.4
1 ??
?? MIT Micro-5.4
-(2004.2005)
1 ?? MIT -(2004.2005)
?? 2006
2 ??
?? 2006
?? Micro-6-Project
2 ??
?? Micro-6-Project
- 5. def v_pro?le(t, upv):
ta=fabs( (upv.vt-upv.v0)/upv.a0);
td=upv.tf - fabs( (upv.vf-upv.vt)/upv.af);
if t<ta:
v=upv.v0+t*upv.a0;
elif ta <= t and t <= td:
v=upv.vt;
else:
v=upv.vt+(t-td)*upv.af;
if t>upv.tf:
v=upv.vf;
return v
def curv_pro?le(t, upv, upk, dt):
s=0
for time in arange(0, t+dt, dt):
s=s+v_pro?le(time, upv)*dt
&
k=interp.splev(s,upk.param,der=0)
return k
def terminalState(x, k1, kf, sf, uv, uk, dt, v_param):
x=x[:]
upk=CurvParam(uk.k0,k1,kf,sf)
upv=VelParam(uv.v0, uv.a0, uv.vt, uv.af, uv.vf)
upv.tf=estimate_time(upv, upk)
upk.param=make_spline(upk)
u=CtrlParam(upv, upk)
- 8. 2007
2008 ( )
2009
2010
2011
2012
2007 2008 2009 2010
- 15. 2011 infant Micro6
4
5
6
7 1 @JAXA
8
9 2 3
10 4
11 5
12
1
- 17. _pro?le(t, upv):
a=fabs( (upv.vt-upv.v0)/upv.a0);
d=upv.tf - fabs( (upv.vf-upv.vt)/upv.af);
f t<ta:
v=upv.v0+t*upv.a0;
elif ta <= t and t <= td:
v=upv.vt;
else:
v=upv.vt+(t-td)*upv.af;
f t>upv.tf:
v=upv.vf;
eturn v
urv_pro?le(t, upv, upk, dt):
=0
or time in arange(0, t+dt, dt):
s=s+v_pro?le(time, upv)*dt
k=interp.splev(s,upk.param,der=0)
eturn k
rminalState(x, k1, kf, sf, uv, uk, dt, v_param):
x=x[:]
upk=CurvParam(uk.k0,k1,kf,sf)
upv=VelParam(uv.v0, uv.a0, uv.vt, uv.af, uv.vf)
upv.tf=estimate_time(upv, upk)
upk.param=make_spline(upk)
u=CtrlParam(upv, upk)