The Mars Exploration Rover Surface Mobility Flight Software: Driving Ambition
Total Page:16
File Type:pdf, Size:1020Kb
Published in 2006 IEEE Aerospace Conference Proceedings, March 2006, Big Sky, Montana, USA The Mars Exploration Rover Surface Mobility Flight Software: Driving Ambition Jeffrey J. Biesiadecki and Mark W. Maimone Jet Propulsion Laboratory Pasadena, CA USA [email protected] [email protected] Abstract— AUTONOMOUS GOAL SELECTION 10 6 DEPLOYMENT RESULTS 10 NASA’s Mars Exploration Rovers’ (MER) onboard Mo- SOFTWARE VERSIONS 11 bility Flight Software was designed to provide robust and flexible operation. The MER vehicles can be commanded 7 CONCLUSION 13 directly, or given autonomous control over multiple aspects 8 ACKNOWLEDGEMENTS 13 of mobility: which motions to drive, measurement of actual motion, terrain interpretation, even the selection of targets of 1. INTRODUCTION interest (although this mode remains largely underused). Vehicle motion can be commanded using multiple layers of control: Motor Control, Direct Drive operations (Arc, Turn in Place), and Goal-based Driving (Goto Waypoint). Multiple layers of safety checks ensure vehicle performance: Com- mand limits (command timeout, time of day limit, software enable, activity constraints), Reactive checks (e.g., motor cur- rent limit, vehicle tilt limit), and Predictive checks (e.g., Step, Tilt, Roughness hazards). From January 2004 through October 2005, Spirit accu- mulated over 5000 meters and Opportunity 6000 meters of odometry, often covering more than 100 meters in a single day. In this paper we describe the software that has driven these rovers more than a combined 11,000 meters over the Martian surface, including its design and implementation, and summarize current mobility performance results from Mars. Figure 1. Mars Exploration Rover. Keywords— ¢¡¤£¦¥¨§ © © ¥ ¢§§ © §¥ "! # $ ©%&(')§*¥ §*© +©-,© .0/""(1¥23 © 4.©,5© 2674689"!: 0©4;¥%<2./"=.§ © > 0©4;¥ DFEHG3EI 26A*J%K2./"/01H/046@3@L('M©N,5© 6"/0§*© +©;! ©/0©! 0J*O© 4 90 26/?©9@.©,5A*§ 1 ¥3!© ,5© 0©4 #6H 2.§ %<AP©%; ¢§*M04RQ:4926§*1STTU6VW*#.LG9=.0§ ")46@YXP=.Z =+©§ 2.4."(1[ ¢§*¡¨\3=./0©§*"© 4[£N©§*R]< ¢¡M£F^>_`)#."§5=.§*"Z ,a§*1b! © /c0$ ©Id646@e:@346A¢©%¦=6Jf')*§RYgH26 h TABLE OF CONTENTS § §P46@i j§ @34.-k/492.,l¥+('m©$!©/0©!/"/[email protected] 046> n*o©4p©=.=+© " qJ@3o©%$ #.q=./46A_rEc/" #.© 2.!#s #6 1 INTRODUCTION 1 #6",54 a©%P*#.0§R 26*(%K26/c/046@304.! aJ*[email protected]© 23R 2 MER FLIGHT SOFTWARE ARCHITECTURE 2 i #64.©/0©! 0/*©2.§5@3Y%K©§A ¥¨n5t*#.0§a .0/0n(1u*©i*§*Z 3 MOBILITY MANAGER SOFTWARE 3 §* )'N#.0/"N© 4v*#.F 2.§ %<A)©%O ¢§*7*#6M#6¨46 6/"@v +©*# §*©§¤ ©$ 26@R04R*#.0§N=.§*",a§ 1$! © /0_ 4 LOW-LEVEL DRIVING 4 5 AUTONOMOUS DRIVING 5 `)#.m ¢¡¤£w§*©§*?§ (1:=60/0/"1xA© ,,a46@3@¦©46= §7 i§ Z PRIMARY AUTONOMOUS CAPABILITIES 5 4¢@681_cEy z:2.46AL©%¤A© ,,[email protected] 4:P04l #6t,5©§*4.04.! = A"d6¦ #.f@681+{ ¦ > 09n*"V'N#6t",a!t46@w@.*Y*© ERRAIN SSESSMENT VERVIEW T A O 7 A© /"/0A¥O#.©'| ©R= ©:J" 0©4¢ #.v§ © © t§*,a¥O4 @j'N#.§*L*© ROBUST STEREO IMAGE PROCESSING 8 @3§*" _-`)#.4R¤*#.F46@a©%O#[email protected] ¥*#.F§*©§*¨ 4 @a 6} TERRAIN ASSESSMENT 8 #6$",a!v46@u@.*j#92.,a4w©=+§ © §*x'N0/0/¤26 a ©i=./04 #6t4.\:[email protected]{ FA 09n*"_H`)#.t4.\[email protected]{ c,5© .0/0n(1jA© ,Z ,a46@6c§*LJ/"> @f @Y©4Y'N#6cN}94.©'N4f~f46@Y'N#6 B 0-7803-9546-8/06/$20.00 C c 2006 IEEE 1 4/' 4.§J*0/. j J2.§*,54 10c46n*#6¨#6 Z \37 /0§*©,Z )2.4.}94.©'N4R~f +©23) #6x §*§04Y#. @?_ A*§¨46@ Z \374.!26/0§7§*m 4 J© §*_2' 45 ('M45@3§*"904.! =.§*",5" 0¥+ #6v§*©§F4¢,a}t26J©%¤,5§Z 6 J@)%PnZ `)#.§ © §F§ 5@3§*" 4¢26 04.!f*#.§*5=.§*",a§*1l,5©[email protected]/0©')Z 26/XH@3©,5 §*1u] 23*©4.© ,5©26F §}904.!$©%M",a! ¦%K 26§ /0/¨A©,5,a4 @.P #6L =+A"%K1¢\3 >*/"1l#.©' ,v26# ©R 2.§*4 4 @jJ2. Jz 264:P§*©§N,© 0©4j(*",a*"© 4 ^)*©fA© § §*Ac #6 #x'N#./ 4 @P=+© " 0©4¦J § 04.!c > 2 © §*¥@."§*A @L@.§ 0:Z §*§*©§04$ #6P04." /?'N#./O©3@3©,5A*§ 1:Z 6 @5(*",a P #6 04.!i=.§*0," 0L%K© §v@3§*"904.!i/"© 4.!iA0§A2./§t§*f]<©%c'N#.# ©32.§x'N#.4i #.5'N#./x/"©:Jt §>*"© 4i© 4i/§*!t§*©3}3P46@ J §0!#:/"04.H@3§ 09"46!¦46@*2.§ 4.Z 043Z =./0 AF§ c =+A/+ J*^A¥ J =[J/0©=+_3%P0 26/)XH@3© , §*1 ©%&(')§*¥W46©t© § 0!046/0/01 4 @e23*©4.© ,© 26a=6 # /0A 0©4W_¢¡;©')Z /0 /F©,5,a46@6 =6§J5©%c*#.l 6 /004.R@3J0!4b .23a046A© § =+©§*@[ £ A\9 § 4 ./0¤£J4.© 43Z (46@.§*@¦¥M > 09n*"; 26#L?2 J04.!) #6'N#./0 A§*@.n ¥.¥#6 -!46§ @L©§-S T TFA© ,t .04.@v 26*(%K26/:=+©Z ©b@3"!I#.©/0f"4 ¢§J*04 J© "/ ¥N 2¨§ § ©3}3¥N46@q= §J%K© § , n*"© 4R2.=O@. c©4l © #l§*©§4 _ ,5#64.J, #./n*#I@3! 4.© J (_ ©P0§ > @[@3§*" v/"Z /0©' #92.,a4q© = §* ©§ ©[ =+A"%K1 A\.A /01I'N#.# @3§*"904.! =.§*",5" 0m #.¦§*©§M'N0/0/W= §J%K© § ,l_EF23 © 4.©,5©2 N=6*#jJZ 2. MER FLIGHT SOFTWARE ARCHITECTURE /0>*"© 4[,5©3@3Y/"/0©'cL*#.Y§ © §¦*©¢}Rn5A2.§*§ 4:v(* `)#. ©§/0/f§*#." >*2.§ ©%j #6| ¢¡M£ 60!#: ©%&(')§* 04 *©fA© 2.4:F'N#.4¢ /0A 04.!$'N#.#i@3§*0:04.!a=.§*0," 0N*© ')P 6 @i©4¢*#6L26 @¢%K©§H #6 ¢§*xk¨ #3d64 @3§H/046@3§ h A\3A23*¦ ©R,5©§*¦ §OA 0/01l§ #¢ § 4l!©:/;/0©3Z ]< ik65¨^>¥O46@Y*#.v©,5,a46@j46@Y /",5A §*1Y"43%K§J §*26A 2.§* 0©4j 2.=.=./00@Y 91$#92.,a4Y©=+§ © §*_ 04j=6§ A2./§F#6@j "! 4."d 4 F@. "! 4l46@l0,=6/",4:**"© 4 04.#.§*"*4 A_ `)#.q,5© .0/0n(1pJ13J , #6w n\ S A4:*",5A*§[email protected], § 'N#./¥O©%'N#60#j*#.v%K©2.§xA© § 4.§F'N#./F,a81l +J §*@ $m©*# ¢k75q/046@3§x4 @i ¢¡M£ §*©§N26 v #.5A© ,,5§*0/ ~s ,5#64./$©43d !2.§*"© 4s@3§ 0@y%K§*©, #. i§ ©=+§*"46!u 13(*,8%F\¨ © § }3%K§*©,8e046@q£N0§_ `)#.50 k¨*#3d646@.§Y§ © §YG3©(©26§ 4.§ _ `)#. §*©§f +©3@31 #6 ¦=6§ Z ,=. 0F,v2./" "Z }:04.!aXxGa26 @$%K©§m,5491§*/nZ 0,5 TiA4:*",5A*§v!§*©2.46@w/"§46¥-46@u/§*!$ ©/§v=646/ 19J ,a;4 @LJ=6 AA§%&_ ¢¡¤£w,5=./"©13O*#.M*,5¤£FE9©4 : ©4[ #.f ©=I©%N #6f§*©§t§ z 26"§*f@6@3n*"© 46/mA/0§*46A5*© 60!#:7©,5=.23*§7W2 J@L 91F*#.m ik65R/046@3§m]</n*#.©2.! #L #6 */"/M§ ©3}3a] T¢A4: 0, §*x%K§*©, !§*©2646@ ©i ©/§L=64./&^>_ ¢¡M£o/"©3}P§ 2.4 W STN +.-# ¥%K© 2.§?*",5?%<J §W #64¦ ¢k65¨^>¥ e#./- 6 /004.¦F§*©2.! #./01v, §H [email protected] ©Z 0@3v46@ _ S 4 @l#6c&%H ¢¡e04: § %<x ©f §/? +© §*@.m*#6HA©4:*§ © / ,5A*§-%K§ © 4:JZ ©Z 6 }+_7`)#.F ¢¡M£q§ © §-4*2.§ 4a04$=./ ,5©*©§¥9§@30© ¥:,5§¥946@R "46AH"4 (*§ 2.,54 _G9© ,5 +©2.oe=+©04: +A('m4 #.I('M© ,5@.@3/0b'N#6/¥v@3§*" ©%P #.;%H ¢¡p ©:§@.#68l §*0/m04: §J%< A*©u© #6§a@3AZ J §0!#:W%K©§*')§@x©§; }9'm§*@W¥46@L#68 ¤- (-c© 4.¤,5AZ 90¥"4:*§ %<A@x ©P #6¤60!#:¨A© ,=623 § 91L')81P©%<5-kMgxEF §H 2.§*4¢§@3026F%K©§L@3§*"904.!R/"© 4.!fA0§A2./§x§_xG9 §0!#: # m©4.46>*@5 +©*#a #.9%P ¢¡I .26¤46@5*#.F §*0/6 .26* _ /0"4.x@3§*"904.!v =+@f0) Am © _ ¦4: 0,5A*§ JA©4 @?¥ 46@ `)#.§ N§*4S,H j 91: -©%=©P£cEP 46@5S P j 91: -©% # #6a§ © §c*2.§ 4o04o=6/0 Aa¦§*©2.! #./01iS3_!5@.!§* JA© 46@?_ ,5,5©§*1¥346@ j 91: m©%7¡M¡¤kM£NXH [_:`)#.L j© .0/""(1a* J} `)#.R§ © §L§*f(*0/0/"1wJ* 6/"f¢ 0/n©%cU" ¢@3! § ¥ ]<@.*A§*" +@f /"©'F^MM! " 43, T>:x 91: ¤©%7J* }+¥94 @f4.© ,Z #.©'m §5@3§ 09"46!o© 4q,© § Y*#64 Tu@3!§*lJ/0©=+a54.© 046/0/"1? j! :1:*x©%c@3@3*@o#.=[ =6l]<©%N'N#.# §*A© ,5,46@3@[email protected]*©¦ #6F=+© *J0 .0/""(1v©%?2.46A© 4: §*©/0/"@ /00@9Z v,©:(/Y ¢ :1:*¦# L +4w26J@?¥-L©%FXHA © §vST T ^A_ 04.!6_f£c©9}3H/0/"§L #64wl'N#./¤§*aA©4 J@3§*@ ,5© .0/0n(1 `)#.F6"! #:m ©%&(')§*NnJ/n%;§*z:2.0§*A@v j 91 *¥ ©%W'N#.#+_ U #6 #§@._ j 91: )0N2 J@f 91$*#.tG92.§ %<LDF89"!:*"© 4f,5©3@32./0_ $m©*#u@."§*A @w46@o=6*#[J/">*"© 4o,5©3@3¦©%c@3§*0:04.!j4 ¡W0} ¢k65m¥+ #6 ¢¡M£y ©%&(')§*¦P@3090@.@ "4: ©R#.0!#3Z /"/ ,a} P26 x©%7©43Z ©:§@fG:*§*©&%FJ0©4Y=.§*©3A* "4.!46@Y` § Z © B(>_¨¡M#$/"> §*©[email protected]!4.§/0/"15§*=.§* 4:*@ §04bEc4 /019 ©%&(')§*a*©[email protected] § ,504.Y'N#.A*#.§5*#.R§*©§ 91v4© ¨(A¥ 'N#."/0F @.@3" 0©46/.J©%&('m§ Z © 4./"1L© ¨(A*¨=6§ ©Z 'm©2./@L4 A©264 *§-491H!© ,5A §*¨#6#§@.; ;"¨@3§ 0;/"© 4.! [email protected]%K§J §*26>*2.§*l §*90v ©o*#.l§ (a©%P #.j,5©3@32./0 "*x#.© 4i=6*#W_(' 4 @."§*A @ @3§*"904.!6¥O*#.v§*©§P4i=6§ Z ]&%K© §A\.,=6/" ¥§*A© §*@."4.!P /",5A §*1t,5 2.§ ,54:*-© §(*©§ Z ,5=3*" /01)¥A*©¥5a = A"d L,5© .0/0n(1YA©,5,a4 @Y%K§ © , #6 04.!a( L04l4.©49 ©/ 0/0P,5,5© § 1.^>_ !§*©2646@j"%¤n¦=.= §N*©:©Y§*0 }91_*' 4 EF23 © 4.©,5©2 PDP8:0! Z 0©4$] Ec23*©468.^;46@x© #.§;=6 #t /0A 0©4L,5©3@3¥ #.§*©§ ¡¤ #[J©%&('m§ f© ¨(>v# ¦"*©'N4u*#.§ @w©%FA© 4 *§ © / ¥-© § 4R /0Am"*)©'N4f@.§ 09"4.!=.§*",5" 0¤*©J §)§*©2.4 @$© .Z * J}O_¨¡¤ #$© B(>N#6 mn)©'N4R AN©% J* x§*0 ./0¥:46@ J*/"4 @v,a}N=.§*©! § ©')§@vn!©:/ _ `)#.¤ ©%&(')§* @3©9t4.©5J# §*a,,5©§*1 'N" #[© #.§t© ¨(A*_;' 46(* @u©% =.§*©90@3a*#.i2.460z:2.o= .0/""(1q©%¦46 ./004.!w #6 #.A/0 #6§*"46!j,,5©§*1¥7© ¨(>*vA© ,,v2.4.