Close
About
FAQ
Home
Collections
Login
USC Login
Register
0
Selected
Invert selection
Deselect all
Deselect all
Click here to refresh results
Click here to refresh results
USC
/
Digital Library
/
University of Southern California Dissertations and Theses
/
Terrain-following motion of an autonomous agent as means of motion planning in the unknown environment
(USC Thesis Other)
Terrain-following motion of an autonomous agent as means of motion planning in the unknown environment
PDF
Download
Share
Open document
Flip pages
Contact Us
Contact Us
Copy asset link
Request this asset
Transcript (if available)
Content
Terrain-Following Motion of an Autonomous Agent as Means of Motion Planning in the Unknown Environment Copyright 2013 by Inna Abramova A Dissertation Presented to the FACULTY OF THE USC GRADUATE SCHOOL UNIVERSITY OF SOUTHERN CALIFORNIA In Partial Fulfillment of the Requirements for the Degree DOCTOR OF PHILOSOPHY (AEROSPACE ENGINEERING) May 2013 Inna Abramova DEDICATION A Tribute to the Life and Memory of My Grandfather Boris Markovich Abramov 11 ACKNOWLEDGEMENTS I would like to convey my utmost gratitude and appreciation to my research advisor, Prof essor Bingen Yang, for his guidance, invaluable advi ce, patience, and unwavering support over the years of my Ph.D. study. Without his many suggestions and constant encouragement this dissertation would have been impossible. For all these years Dr. Yang was more than a mentor and scientific advi sor, he was a trusted friend, always willing to help and teach me to become an independent researcher. Never too busy to share his expert knowledge in control theory and applied mechanics, Dr. Yang encouraged me to strive for deeper understanding of the research matter as well as clarity of concepts. I appreciate the times when we brainstormed, and in the argument refined my hypotheses and streamlined the approach. In additional to technical knowledge I have learned a great deal oflife lesso ns from Dr. Yang, and for that I will always be grateful I would also like to extend my heartfelt gratitude to Prof essor Henryk Flashner and Professor Firdaus E. Udwadia for teaching me the control theory and analyti cal dy namics while I took their courses a few years ago. Their instruction, insight, and highly valuable comments made a great diff erence for this dissertation. I would like to particularly thank Prof essor Udwadia for helping me to perfect and eventually publish my very first art icle. I am deeply grateful to my dissertation committee members : Prof essor Yan Jin and Professor Chunrning Wang, for their valuable comments during my Ph.D. qualification exam, as well as for their encouragement, time, and support. Special appreciation and thanks to my colleague and friend, Simon Latyshev, who was instrumental in the development of BeemrnLink software. His input and inspiration greatly helped me to improve the quality of my research. In addition, I would like to thank Prof essor Michael Crowley for his computer science instruction as well as the unwavering support and encouragement. His suggestions and advi ces on software development were a great help. 111 I am deeply indebted to all my teachers at the AME department. Without them sharing their expertise with me this dissertation would not have happened. I would also like to thank my fa mily and all my friends who trusted in my ability, supported my eff orts, and encouraged me throughout the years. IV TABLE OF CONTENTS Dedication Acknowledgements List of Tables List of Figures Abstract I. Introduction 1.1. 1.2. Related Work Uniqueness and Contribution of the Presented Work 2. Theoretical Background: Udwadi a-Kalaba Equation of Constrained Motion 3. Formulation of Terrain-Following Control System 4. Derivation ofthe Equations of Motion (EOMs) and system modeling 5. Control Algorithm for Navi gation 5.1. 5.2. Goal Vector, Terrain- Acq uiring Sensor Model, and Sensor Orientation Navigation Vector Determination 5.3. Sensor Data Processing 5.3.1. Navigation Using a Single Set of Sensor Rays A. Shortest-Ray navigation B. Longest-Ray navigation C. Ray that yields the least-slope navigation vector (Min-Alpha-Ray) D. Average-Ray navigation 5.3.2. Navigation Using Multi ple Sets of Sensor Rays 5.4. Sensor "Vision" Quality and Its Irdluence on System Performanc e, Single Set of Rays Navigation 5.4.1. Sensor Coverage Angle <p 11 111 Vlll IX XXVl I I 6 8 11 15 17 21 24 32 42 44 v 5.4.2. Sensor Configurati on: Number of Ray Surf aces and Distribution of Rays on the 1st Ray Surf ace (Ns x dr , ) 5.4.3. Sensor "Vision" Range lr 5.4.4. LOS Range 5.5. Sensor "Vision" Quality and Its Influence on System Performanc e, 3-prong sensor model 5.5.1. Sensor Coverage Angle <p 5.5.2. Sensor Configurati on: Number of Ray Surf aces and Distribution of 52 62 68 71 71 Rays on the 1st Ray Surf ace (Ns x dr , ) 90 5.5.3. Sensor "Vision" Range lr 111 5.5.4. LOS Range 117 5.5.5. Conclusion: Revisiting the Case Study of Highly Exaggerated Terrain 117 5.6. Choice of Nominal Curve and Structure ofHolonomic Constraint 120 5. 7. Sampling Frequency 131 5.8. Test Terrains and Quality of the Obtained Navi gation Solutions 146 6. Emergency Obstacle Avoidance Maneuver 150 6.1. Approaches to Modification of Computed Navi gation Vector. 151 6.1.1. Switching to a Different Navigation Mode 152 6.1.2. Employing Auxiliary Sensors 155 6.2. Navigation Vector Modification Technique. 158 6.3. Modification of Navi gation Vector by Using the Auxiliary Sensor Ray Sets. 163 6.4. Navigation Vector Modification Technique with Look-Ahead. 173 7. Modeling and Simulation software 8. Conclusions and future work 8.1. Conclusions 179 183 VI 8.2. Future work BIBLIOGRAPHY APPENDIX 187 189 197 Vll Table Tl. Table T2. methods Table T3. Table T4. LIST OF TABLES Mapping of rays to ray surf aces for different sensor configura tions. 20 Number of time steps required for terrain traversal by agents with diff erent navigation Navigation methods for 3-prong sensor 31 33 Number of time steps for terrain traversal by agents with diff erent navigation methods, 3- prong sensor navigation 42 51 Table T5. Table T6. Acceptable and optimized ranges of lfJ values for diff erent navigation methods Evolution of the magnitude of vector diff erence between sensor "vision" rays for varying number of ray surf aces per navigation method per test terrain 57 61 Table T7. Optimi zed sensor configuration for diff erent navigation methods Table T8. Acceptable and optimized ranges of lfJ values for diff erent navigation methods, 3-prong sensor model 80 Table T9. Table TIO. Effect of increasing the distance between adjacent ray sets, 3-prong sensor model 85 Evolution of the magnitude of vector diff erence between sensor "vision" rays for varying number of ray surf aces per navigation method per test terrain 98 Table Til. methods Table Tl2 . Table Tl3. Influence of sensor configuration on agent's performance for diff erent navigation Optimi zed sensor configuration for diff erent navigation methods System perform ance parameters for diff erent choices of nominal curve 100 11 0 130 Vlll Figure Xl. Figure X2. Figure X3. Figure X4. Ns = 1 Figure X5. Figure X6. Figure X7. Figure X8. Figure X9. LIST OF FIGURES Control system for a terrain-following autonomous agent. System Description Sensor Model for 2-D and 3-D systems Mapping of rays to ray surf aces for the simplest 2x2 distribution of rays within Sensor Orientation for 2-D and 3-D systems Navigation Vector Determination, 3-D system. Navigation Vector Determination, goal within the line-of-sight Trajectories, generated by the Shortest-Ray and Longest-Ray navigation types. Agent, using Longest-Ray navigation type: crash due to increase in tracking error and insufficient thruster fo rce (a) agent's tra jectory and chosen navigation rays for every time step (b) detailed view of the crash Figure X10. Figure X11. Trajectories, generated by the Min-Alpha-Ray and Average-Ray navigation types Agents finding a path through test terrains (a) path finding through "crater & canyon" test terrain (b) path finding through "hilly terrain" test terrain Figure X12. 3-prong sensor model (a) construction of the triple set of rays (b) spatial orientation of the base rays Figure Xl3. 3-prong sensor model, "Min-Alp ha - Min-Alpha" navigation type, tra jectory with obstacle avoidance Figure X14. Figure X15. 3-prong sensor model, 16 navigation types Agents with 3-prong sensor model negotiating "crater & canyon" test terrain 12 14 18 19 20 22 23 26 26 29 30 33 35 37 40 IX (a) tra jectories of agents with "Shortest" ray choice out of every individual ray set (b) tra jectories of agents with "Longest" ray choice out of every individual ray set (c) tra jectories of agents with " Averag e" ray choice out of every individual ray set (d) tra jectories of agents with "Min-Alpha" ray choice out of every individual ray set Figure Xl6 . Agents with 3-prong sensor model negotiating "hilly terrain" test terrain (a) tra jectories of agents with "Shortest" ray choice out of every individual ray set (b) tra jectories of agents with "Longest" ray choice out of every individual ray set (c) tra jectories of agents with " Averag e" ray choice out of every individual ray set (d) tra jectories of agents with "Min-Alpha" ray choice out of every individual ray set Figure Xl7 . Figure Xl8 . Influence of sensor "vision" quality on agent's tra jectory generation Agents using "Min-Alpha-ray" navigation method negotiate "crater & canyon" test terrain (a) tra jectory of an agent with <p = 82° (b) tra jectory of an agent with <p = 84° 41 43 45 Figure Xl9 . Agents using "Shortest-ray" navigation method negotiate "crater & canyon" test terrain (a) tra jectory of an agent with <p = 4° (b) tra jectory of an agent with <p = 52° (c) tra jectory of an agent with <p = 16° (d) graphed dependency of the number of time steps used by the agent vs. its sensor coverage angle 46 Figure X20. Agents using diff erent navigation methods negotiate "crater & canyon" test terrain 47 (a) "Longest-ray" navigation (b) "Average-ray" navigation (c) "Min-Alpha (least slope) ray" navigation Figure X2 1. Agents using diff erent navigation methods negotiate "hilly terrain" test terrain (a) "Shortest-ray" navigation 49 X (b) "Longest-ray" navigation (c) "Average-ray" navigation (d) "Min-Alpha (least slope) ray" navigation Figure X22. Agent with "Average-ray" navigation method, crashes on "hilly terrain" test terrain (a) crash due to insufficient thruster force, tp = 46° (b) crash due to excessive roaming and motion reversal, <p = 72° Figure X23. Agent, using "Longest-ray" navigation method, fails to find mountain pass and crashes on "hilly terrain" test terrain (a) crash at the 3' ct (last) hill chain, tp = 10° (b) crash at the 2" ct hill chain, tp = 26° Figure X24. Figure X25. Agent succes sfully negotiates "hilly terrain" test terrain and reaches the goal Agent with "Average-ray" navigation method and variable sensor configuration negotiates two types oftest terrain (I) performance of an agent over "crater & canyon" test terrain 50 50 51 54 (a) number of time steps required to achieve the goal (or crash into terrain) plotted vs. sensor configuration number (b) shows a crash that happens at 4x4 configuration (configuration #21) (2) performance of an agent over "hilly terrain" test terrain (c) number of time steps required to achieve the goal (or crash into terrain) plotted vs. sensor configuration number (d) crash that happens at 3xl8 configuration (configuration #16) Figure X26. Pe rform ance of an agent with diff erent navigation methods over "crater & canyon" test terrain: magnitude of vector diff erence between sensor "vision" rays for varying number of ray surf aces (a) "Shortest-Ray" navigation (b) "Min-Alpha-Ray" navigation (c) "Average-Ray" navigation 55 XI Figure X27. Pe rform ance of an agent with diff erent navigation methods over "hilly terrain" test terrain: magnitude of vector diff erence between sensor "vision" rays for varying number of ray surf aces (a) "Shortest-Ray" navigation (b) "Min-Alpha-Ray" navigation (c) "Average-Ray" navigation Figure X28. Pe rform ance of an agent with diff erent navigation methods over "crater & canyon" test terrain: mean and standard deviation of the required control fo rce for varying sensor configurations (a) "Shortest-Ray" navigation (b) "Min-Alpha-Ray" navigation (c) "Average-Ray" navigation Figure X29. Pe rform ance of an agent with diff erent navigation methods over "hilly terrain" test terrain: mean and standard deviation of the required control fo rce for varying sensor configurations (a) "Shortest-Ray" navigation (b) "Min-Alpha-Ray" navigation 56 59 (c) "Average-Ray" navigation 60 Figure X30. "Hilly terrain" tra versal with close -to-horizontal-looking sensor, single-ra y-set sensor model, <P = 75• 63 Figure X3 1. Pe rform ance of an agent with diff erent navigation methods over two test terrains for varying sensor "vision" range (a) number of steps an agent needs to succes sfully traverse "crater & canyon" test terrain (b) number of steps an agent needs to succes sfully traverse "hilly terrain" (c) mean and standard deviation of the required control (constraint) fo rce during traversal of "crater & canyon" test terrain (d) mean and standard deviation of the required control (constraint) fo rce during traversal of "hilly terrain" 64 xu Figure X32. Pe rform ance of an agent with diff erent navigation methods over "hilly terrain" for varying sensor "vision" range (a) mean and standard deviation of the required control (constraint) fo rce (b) number of steps an agent needs to succes sfully traverse the test terrain and reach the goal (c) generated tra jectories at lr = 35 66 Figure X33. Pe rform ance of an agent with "Min-Alpha ray" navigation method over "hilly terrain" - cumulative effect of sensor "vision" range and LOS range on agent's performance (1) performance of an agent with small lr (lr = 15) and small LOS (LOS 10) (a) tra jectory with sensor "vision" rays for every time step (b) chosen sensor "vision" rays (2) performance of an agent with the same lr (lr = 15) and increased LOS (LOS 20) (c) tra jectory with sensor "vision" rays for every time step (d) chosen sensor "vision" rays for every time step (3) performance of an agent with lr = 20 and small LOS (LOS 10) (e) tra jectory with sensor "vision" rays for every time step (f) chosen sensor "vision" rays for every time step Figure X34. 3 instances of 3-prong sensor coverage and "vision" field in comparison to the single- cone sensor (1) side view of the sensor ray set (a) narrow 3-prong sensor, where <f1sin g le- c one = L [ =1 <tJ i (b) medium-width 3-prong sensor, where 'P sin g le- c one < L f =l I{J; < 3 <fJsin g le-c one (c) wide 3-prong sensor, where L f =l <p ; = 3 <fJsin g le- c one (2) top view of the sensor ray set (a) narrow 3-prong sensor, where 'P sin g le- c one = L f =l I{J; (b) medium-width 3-prong sensor, where 'P sin g le- c one < L f =l I{J; < 3 <fJsin g le-c one 70 72 Xlll (c) wide 3-prong sensor, where L f =l <p ; = 3 <fJsin g le- c one Figure X35. Agents with diff erent navigation methods negotiate "crater & canyon" terrain, part 1 (1) performance of an agent using "Shortest" ray out of each individual sensor ray set; selection of the resulting 3 rays is represented as: (a) "Shortest" (b) "Longest" (c) "Min-Alpha" (d) "Average" (2) performance of an agent using "Longest" ray out of each individual sensor ray set; selection of the resulting 3 rays is represented as: (a) "Shortest" (b) "Longest" (c) "Min-Alpha" (d) "Average" 73 Figure X36. Agents with diff erent navigation methods negotiate "crater & canyon" terrain, part 2 (1) performance of an agent using "Min-Alpha" ray out of each individual sensor ray set; selection ofthe resulting 3 rays is represented as: (a) "Shortest" (b) "Longest" (c) "Min-Alpha" (d) "Average" (2) performance of an agent using "Average" ray out of each individual sensor ray set; selection of the resulting 3 rays is represented as: (a) "Shortest" (b) "Longest" (c) "Min-Alpha" XIV (d) "Average" 74 Figure X37. Agents with diff erent navigation methods negotiate "hilly terrain", part 1 (1) performance of an agent using "Shortest" ray out of each individual sensor ray set; selection of the resulting 3 rays is represented as: (a) "Shortest" (b) "Longest" (c) "Min-Alpha" (d) "Average" (2) performance of an agent using "Longest" ray out of each individual sensor ray set; selection of the resulting 3 rays is represented as: (a) "Shortest" (b) "Longest" (c) "Min-Alpha" (d) "Average" Figure X38. Agents with diff erent navigation methods negotiate "hilly terrain", part 2 (1) selection ofthe resulting 3 rays is represented as: (a) "Shortest" (b) "Longest" (c) "Min-Alpha" (d) "Average" 75 (2) performance of an agent using "Average" ray out of each individual sensor ray set; selection of the resulting 3 rays is represented as: (a) "Shortest" (b) "Longest" (c) "Min-Alpha" (d) "Average" 76 XV Figure X39. Excessive roaming due to wide (out-of-range) sensor coverage angle (1) agents negotiating "Crater & Canyon" test terrain (a) selection of ray out of every individual ray set is "Longest" ray, tp = 66° (b) selection of ray out of every individual ray set is "Longest" ray, tp = 84° (2) agents negotiating "Hilly Terrain" test terrain Figure X40. (c) selection of ray out of every individual ray set is "Average" ray, <p = so• (d) selection of ray out of every individual ray set is "Min-Alpha" ray, <p = SSO Acquiring of terrain and chosen "vision" rays for single-ra y-set and 3-prong sensors; "crater & canyon" test terrain 78 82 Figure X4 1. Acquiring of terrain and chosen "vision" rays for "Longest-Average" navigation method over "crater & canyon" test terrain 84 Figure X42. Effect of wide spacing of individual sensor ray set on agents ' behavior, number of time steps for reaching the goal vs. distance between ray sets (1) performance of agents negotiating the "crater & canyon" test terrain (a) "Shortest - Longest" navigation type (b) "Longest - Averag e" navigation type (c) "Min-Alpha - Longest" navigation type (2) performance of agents negotiating the "hilly terrain" (d) "Longest - Longest" navigation type (e) "Longest - Averag e" navigation type (f) "Min-Alpha - Longest" navigation type Figure X43. Effect of wide spacing of individual sensor ray sets on agents ' behavior, tra jectories 86 (1) performance of agents negotiating the "crater & canyon" test terrain, where the choice of ray from an individual ray set and sensor coverage angles are: (a) "Shortest", tp = 24• (b) "Longest", tp = 22• XVI (c) "Min-Alpha" , tp = 24• (d) "Min-Alpha-Longest" navigation method (2) performance of agents negotiating the "hilly terrain", where the choice of ray from an individual ray set and sensor coverage angles are: (e) "Avera ge", <p = 20° (f) "Min-Alpha" , tp = 20• Figure X44. Crashes due to unacceptable sensor configuration (a) "Min-Alpha-Longest" navigation method (b) "Min-Alpha-Averag e" navigation method (c) "Average-Average" navigation method 88 (d) example of tra jectory that resulted in crash due to unacceptable sensor configuration for "Min-Alpha-Longest" navigation method, 4x26 sensor configuration (e) performance of an agent with "Average-Longest" navigation method over "hilly terrain", number of time steps (until reaching the goal or crash) vs. sensor configuration number (f) example of crash for 2x4 sensor configuration 92 Figure X45. Pe rform ance of an agent that uses "Shortest-Shortest" navigation method over "crater & canyon" test terrain: magnitude of vector diff erence between sensor "vision" rays for varying number of 93 ray surf aces Figure X46. Pe rform ance of an agent that uses "Min-Alpha" ray out of every individual ray set over "crater & canyon" test terrain: magnitude of vector diff erence between sensor "vision" rays for varying number of ray surf aces; navigation methods are: (a) "Min-Alph a-Shortest" (b) "Min-Alpha-Longest" (c) "Min-Alpha-Min-Alpha" (d) "Min-Alpha-Averag e" 94 XVll Figure X47. Pe rform ance of an agent that uses "Average" ray out of every individual ray set over "crater & canyon" test terrain: magnitude of vector diff erence between sensor "vision" rays for varying number of ray surf aces; navigation methods are: (a) "Average -Shortest" (b) "Avera ge - Min-Alpha" (c) "Average -Average" 95 Figure X48. Pe rform ance of an agent that uses "Shortest-Shortest" navigation over "hilly terrain" test terrain: magnitude of vector diff erence between sensor "vision" rays for varying number of ray surf aces 95 Figure X49. Pe rform ance of an agent that uses "Min-Alpha" ray out of every individual ray set over "hilly terrain" test terrain: magnitude of vector diff erence between sensor "vision" rays for varying number of ray surf aces; the choice of navigation ray out of three individual rays is: (a) "Shortest" (b) "Longest" (c) "Min-Alpha" (d) "Average" Figure X50. Pe rform ance of an agent that uses "Average" ray out of every individual ray set over "hilly terrain" test terrain: magnitude of vector diff erence between sensor "vision" rays for varying number of ray surf aces; the choice of navigation ray out of three individual rays is: (a) "Shortest" (b) "Longest" (c) "Min-Alpha" (d) "Average" Figure X51. Pe rform ance of an agent that chooses "Shortest" ray out of an individual ray set over "crater & canyon" test terrain: mean and standard deviation of the required control fo rce for varying sensor configurati ons; navigation methods are: 96 97 XVlll (a) "Shortest" (b) "Longest" (c) "Min-Alpha" (d) "Average" Figure X52. Pe rform ance of an agent that chooses "Longest" ray out of an individual ray set over "crater & canyon" test terrain: mean and standard deviation of the required control fo rce for varying sensor configurati ons; navigation methods are: (a) "Shortest" (b) "Min-Alpha" 102 103 Figure X53. Pe rform ance of an agent that chooses "Min-Alpha" ray out of an individual ray set over "crater & canyon" test terrain: mean and standard deviation of the required control fo rce for varying sensor configurati ons; navigation methods are: (a) "Shortest" (b) "Longest" (c) "Min-Alpha" (d) "Average" Figure X54. Pe rform ance of an agent that chooses "Average" ray out of an individual ray set over "crater & canyon" test terrain: mean and standard deviation of the required control fo rce for varying sensor configurati ons; navigation methods are: (a) "Shortest" (b) "Min-Alpha" (c) "Average" Figure X55. Pe rform ance of an agent that chooses "Shortest" ray out of an individual ray set over "hilly terrain": mean and standard deviation of the required control force for varying sensor configura tions; navigation methods are: (a) "Shortest" 104 105 XIX (b) "Longest" (c) "Min-Alpha" (d) "Average" Figure X56. Pe rform ance of an agent that chooses "Longest" ray out of an individual ray set over "hilly terrain": mean and standard deviation of the required control force for varying sensor configura tions; navigation methods are: (a) "Shortest" (b) "Min-Alpha" 106 107 Figure X57. Pe rform ance of an agent that chooses "Min-Alpha" ray out of an individual ray set over "hilly terrain": mean and standard deviation of the required control force for varying sensor configura tions; navigation methods are: (a) "Shortest" (b) "Longest" (c) "Min-Alpha" (d) "Average" Figure X58. Pe rform ance of an agent that chooses "Average" ray out of an individual ray set over "hilly terrain": mean and standard deviation of the required control force for varying sensor configura tions; navigation methods are: (a) "Shortest" (b) "Min-Alpha" (c) "Average" Figure X59. Impact of sensor "vision" range on performance of diff erent navigation methods over "crater & canyon" test terrain; the choice of ray out of every individual set is: (a) "Shortest" (b) "Longest" (c) "Min-Alpha" 108 11 0 XX (d) "Average" Figure X60. Impact of sensor "vision" range on perform ance of different navigation methods over "hilly terrain" test terrain; the choice of ray out of every individual set is: (a) "Shortest" (b) "Longest" (c) "Min-Alpha" (d) "Average" Figure X6 1. Agents with "Longest-Longest" and "Average-Longest" navigation types negotiating "crater & canyon" test terrain (a) agents with "Longest-Longest" navigation type (b) agents with "Average-Longest" navigation type Figure X62. Agents with "Longest-Longest" and "Longest- Averag e" navigation types negotiating "crater & canyon" test terrain (a) lr = 15.0 (b) lr = 20.0 3-prong sensor model, 16 navigation types, revised sensor parameters Global and agent's local coordinate systems 11 3 11 4 115 11 7 118 120 Figure X63. Figure X64. Figure X65. Existence of an equilibrium point and resulting system failure caused by the improperly form ulated constraint (a) agent's tra jectory, initial position, and navigation vectors (b) agent's velocity graph (c) agent's acceleration graph Figure X66. Figure X67. Generating nominal curve No equilibrium point exists with the properly form ulated constraint (a) agent's tra jectory, initial position, and navigation vectors (b) agent's velocity graph 122 123 XXI (c) agent's acceleration graph Possible nominal curves 126 128 Figure X68. Figure X69. Pe rform ance of two systems with diff erent nominal cur ves: navigation vector (line) and sinusoid (a) generated tra jectories over "hilly terrain" (b) generated tra jectories over "crater & canyon" test terrain 130 Figure X70. tra jectory Figure X7 1. Figure X72. Figure X73. System elements for two conse cutive time steps, navigation vector is chosen as nominal Analyti cal solutions for the constraint function Existence of trise for every analyti cal solution for the constraint function Terrain-following by an agent with /1t = 0.2 131 134 135 (a) agent's tra jectory, cylindri cal safe corridors, navigation vectors, and navigation rays for every time step (b) agent's distance from the axis of the safe corridor (c) "quality" ofte rrain-f ollowing 141 Figure X74. Terrain-following by an agent with /1t = 0.1 (a) agent's tra jectory, cylindri cal safe corridors, navigation vectors, and navigation rays for every time step (b) agent's distance from the axis of the safe corridor (c) "quality" ofte rrain-f ollowing Figure X75. Evolution of constraint force for agents with diff erent time step lengths (a) time step length equals 0.2 (b) time step length equals 0.1 Figure X76. Terrain-following by an agent with /1t = 0.55, "crater & canyon" terrain 142 143 (a) agent's tra jectory, cylindri cal safe corridors, navigation vectors, and navigation rays for every time step XXll (b) agent's distance from the axis of the safe corridor (c) evolution of control fo rce Figure X77. Terrain-following by an agent with /1t = 0.55, "hilly terrain" 144 (a) agent's tra jectory, cylindri cal safe corridors, navigation vectors, and navigation rays for every time step (b) agent's distance from the axis of the safe corridor (c) evolution of control fo rce 145 Figure X78. Test Terrains (a) "crater & canyon" (b) "hilly terrain" 147 Figure X79. Modification of the computed navigation vector for the emergency obstacle avoidance maneuver, single-ra y-set sensor model !52 Figure X80. Situation examples where changing the navigation mode (choice of sensor "vision" ray) does not lead to a successful emergency obstacle avoidance maneuver (c) a case of terrain obstacle that is perpendicular to sensor base ray (d) a case when agent acquires a ridge Figure X81. Emergency obstacle avoidance maneuver using the auxiliary sensors !54 (a) construction of a single-ra y-set sensor with auxiliary sensors and computation of the desired less-s teep navigation vector (b) 3-prong sensor model with auxiliary sensors Emergency maneuver: tra jectory and navigation vectors !56 160 Figure X82. Figure X83. Emergency maneuver: velocity magnitude and velocity components, acceleration and velocity vectors for the I' ' maneuver instance (a) agent's velocity (b) agent's velocity and acceleration vectors for the I " instance of emergency maneuver 161 Figure X84. Emergency maneuver: system acceleration, external and control fo rces XXlll (a) evolution of agent 's acceleration (b) external fo rce (c) required control (constraint) fo rce 161 Figure X85. Emergency maneuver: external and control forces, velocity and acceleration vectors 162 (a) agent's velocity and acceleration vectors, and fo rces acting on the agent for the duration of motion (b) agent's velocity, acceleration, and fo rces vectors for the I' ' instance of emergency maneuver Figure X86. Emergency maneuver using single-ra y-set navigation and 2 auxiliary sensors (a) sensor model (b) evolution of agent 's velocity (c) detailed view of generated tra jectory, top view (d) detailed view of generated tra jectory, side view Figure X87. 6 1 h time step of the simulation 164 (a) navigation vectors corresponding to main sensor "vision" ray, and auxiliary sensors "vision" rays (b) a snippet of software output for the 6 th time step Figure X88. Emergency obstacle avoidance maneuver with safety layer (a) evolution of agent 's velocity (b) a snippet of software output for 3 conse cutive time steps (c) generated tra jectory with navigation vectors and sensor "vision" rays Figure X89. Figure X90. navigation Figure X9 1. Emergency obstacle avoidance maneuver with safety layer: detailed view Failed emergency obstacle avoidance maneuver with safety layer, 3-prong sensor Successful emergency obstacle avoidance maneuver with safety layer and change of navigation mode, 3-prong sensor navigation (a) evolution of agent 's velocity 165 168 169 170 XXlV (b) detailed side view of the generated tra jectory with navigation vectors and sensor "vision" rays (c) generated tra jectory with navigation vectors and sensor "vision" rays Figure X92. Figure X93. Figure X94. Look-ahead with auxiliary sensor Navigation with look-ahead: look-ahead horizon equals three time steps BeernrnLink (a) structure (b) implementation Figure X95. Simulation window in BeemrnLink assembly 172 175 176 180 182 XXV ABSTRACT This work considers the problem of motion planning in the unknown environment, where terrain features and goal positioning data are used for navigation. The described terrain-following motion control law is based on reactive collision avoidance methods, but also involves a strong deliberative component as well as full consideration of kinematic and dynamic constraints of the autonomous mobile agent. That way common pitfalls such as generating impossible paths, losing the goal, and getting stuck in the local minima are avoided, whereas the necessa ry ability to react quickly to changes in the environment is ensured. Emergency obstacle avoidance maneuver supplements the described navigation algorithm when physical constraints of an agent make regularly generated path segment inf easible. Terrain-acquiring sensor model constitutes an important part of the described navigation algorithm since processing of sensor data determines behavior type of an agent, for example, whether it tends to choose low-lying terrain areas vs. passing above the hills, or fa vors close -to-horizontal motion. The implemented terrain acquiring sensor model is consistent with the simplifi ed model of rotating laser rangefinder/ LIDAR, where terrain "vision" process is discrete, and could be viewed as "snapshot-b ased ray-trac ing". The equations of motion are derived using Udwadia-Kalaba Equation, thus, obtained control fo rce is always mini mized. Case studies, illustrating diff erent behavior types and resulting paths, are presented. XXVl 1.1. Related Work 1. INTRODUCTION A problem of motion planning arose with the advent of computer-contro lled mobile autonomous agents and has quickly become a major research theme in robot ics. The ultimate purpose of motion planning is often defined as "computing a collisi on-f ree path for a rigid ob ject translating and rotating among obstacl es", [6], or, in a more broad sense, as "providing for robot 's ability to plan its own motions in accordance with the given set of ob jecti ves", [6]. Development of sensory-perception-b ased motion stra tegies is an integral part of motion planning. That is particularly true when an autonomous mobile agent has to negotiate an unknown environment. In such case interaction with the environment by the means of sensing is the only way for a robot to ensure collision av oidance. Generation of a feasible, collisi on-f ree, goal-reaching path through an unknown environment 1s restricted by two sets of constrain ts. One of them is imposed by the nature of the environment, for example, geometry and type of the expected obstacles, and available manner of avoiding them such as passing above, below, or from either side, and so on. The other one is prompted by the necessity of considering robot 's design features such as its kinematic and dynamic characteristics, choice of sensors, communication equipment, and computational capabilit ies. In general, motion planning, or, as it is often called, for mulation of navigation strategy, could be divi ded into two consecutive tasks: path planning and trajectory planning. As stated in [1 1], path planning encom passes generation of en vironment model and computation of a collisi on-f ree path from start to goal positions, while tra jectory planning involves "choosing and issu ing the appropriate motion commands for fo llowing the generated trajectory with specified velocity and acceleratio n". Path planning algorithms are usually presented as syn thesis of computational geometry methods and pure AI-met hods. All the se algorithms calculate the free-of -obstacles optimal path and constitute global planning methods, [ 4], implying at least some knowledge of the en vironment. 1 A fa mily of popular path planning algorithms such as A* heuristic search, [5-7], Generalized Voronoi Diagram method, [6, 7], visibility-graph -based method, [5-8], rapidly-exploring random trees (RRT) method, [12, 13, 18- 20], and others like them, are often called "configuration-time space based metho ds", [9]. The method for path planning without computing configuration space obstacles, and utilizing inequality and optimization technique instead, is proposed in [10]. Consideration of dynamic constraints improves the results of roadmap search as shown in [1 1-13]. Heuri stics-based optimization of the path, produced by a probabilistic roadmap planner, using short path and clearance to obstacles as optimization criteria, is presented in [14]. A motion-planning framework that integrates together probabilistic roadmap and RR T methods with a path following controller, and also incorporates a dynamic path reconf igurability algorithm, is described in [1 5]. Randomized methods such as RR T represent a popular AI technology of path planning together with such other AI methods as genetic algorithms, neural networks, fuzzy logic, and reinforcement learning, [5, 16, 17]. Rando mized methods for quickly finding acceptable but not necess arily optimal motion path are presented in [21, 22]. An interesting application of path planning algorithm to finding a safe trajectory in the dy namically changing envirornnent is presented in [23]. In this work the authors attempt to find a time-minimal path among moving obstacles, modeled as growing disks on the plane. The described path-planning method grows a tree of possible time-minimal paths, which is later pruned using the heuri stic algorithm. While path planners can successfully find an optimal solution for the safe tra ject ory from the start to a predefined goal position, they perform best in static and at least partially known envirornnents . They are, in general, computationally expensive and their demand for computing power grows signific antly with the increasing complexity of envirornnent for which path planning needs to be perf ormed. This weakness limits usability of path planners since many desirable applications for autonomous mobile agents (underwater and space explorations, search-and-rescue operations, surveillance missions, and many others) strongly require the ability of real-time decision making in complex, mostly unknown, 2 dy namically changing envirornn ents using only limited information prov ided by robot 's own sensory apparatus. The other technique for successfully navigating through unknown and/or dynamically changing envirornn ents is reactive avoidance. It constitutes computation of a collisi on-free motion command at each time step on the basis of the information obtained from the robot 's sensors. There exist many approaches for reactive obstacle avoidance. One of them is the behavioral approach, described in [9, 24-28], where "fundamental behavior set or modals are defined, ... and reactive behavior can be regarded as a weighted sum of these fundamental behaviors or be chosen from the behavior set according to some evaluation functi on", [9, 28]. Independent planning in time and space could be considered a variant of reactive avoidance. Example of such motion planning method is presented in [9], where the author constructs a feasible path between the static obstacles first, and then computing velocity along this path in a way that avoidance of moving obstacles is also ensured. One of the most popular methods of reactive obstacle avoidance is the Potential Fields Method (PFM), explored in [29-33], where kinematic and dynamic constraints of the robot are explicitly modeled. Speed control may also be handl ed by choosing velocity proportional to the magnitude of the potential vector, as shown in [27]. Another approach that uses a notion of fo rce field for reactive navigation is the Virtual Force Field (VFF) algorithm, [34], and its extensions such as Vector Field Histogram (VFH), [35], and VFH+, [36]. The Nearness Diagram (ND), Curvature Velocity (CV), and Elastic Band Concept (EBC) approaches were developed for dense, cluttered, and dy namically changing envirornn ents. ND method constitutes a behavior-based approach to reactive navigation, [24-27]. Its extension that addr esses kinematic and dynamic constraints of the moving robot is presented in [37]. EBC algorithm, [38], deforms the original, path-planner computed, collisi on-f ree path to generate the tra jectory. CV method, [39], operates in velocity space, deriving its constraints from physical limitations on robot's velocity and acceleration as well as from geometry of obstacles. 3 The Dynamic Windows Approach (DWA), described in [40, 41], also considers kinematic and dynamic constraints of the autonomous robot. There the set of possible tra jectory segments and corresponding velocities fo rms the search space that is then reduced to a dynamic window, which consists of the velocities reachable within a short time interval, considering the current velocity of the robot. Different approaches to motion planning that considers physical capabilities of the robot, i.e. its dy namical constrain ts, are presented in [9] and [ 42]. In [9] the author presents motion planning as a conventional optimization problem in the robot 's acceleration space, where realization of collision avoidance behavior becomes a control problem of robot 's acceleration. The paper [42] presents a combined architecture linking a high-level cognitive model with a lower-level optimal controll er. The cognitive model uses symbolic information to make rational decisions, while lower-level controller plans the detailed tra jectories for the mobile robot. While reactive navigation algorithms are much less computationally expensive than path planners and better suited for real-time execution, relying solely on them may be insuf ficient for reaching the goal location. That occurs because these algorithms usually do not consider location of the goal in computing the motion command. Hence, a mobile agent may get trapped in the local minima or lose the goal. Hybrid navigation architectures that combine path planning with reactive obstacle avoidance gain importance since they utilize the strengths of both methods while succes sfully combating their respective weaknesses. The researchers deve loped a number of promising hybrid navigation techniques. Some of these approaches use reactive method to avoid non-modeled obstacles only while still relying on global path planning, [28, 43-45]. Some of them incorporate reactive avoidance into local path planning, [4, 46]. Navigation strategy for an unknown envirornn ent that combines reactive actions with higher-level logical decisions is presented in [51]. In this work the authors use fuzzy logic for implementation of the single sided reactive obstacle avoidance, and incorporate target-approach functionality for eliminating the problems oflocal minima and loss of a goal. Waypoint navigation in con junction with collision avoidance is presented in [33, 43-45, 53-54]. 4 Terrain-following/ terrain-avoidance (TF/TA) has been and still is an important research problem in aerospace engineering. It is applicable to piloted and urnnanned aircraft, be it a fixed-wing plane or helicopter. For military aircraft the terrain-f ollowing motion serves an important role - protection from hostile radars aff orded by terrain masking . In general, TF/TA control system either solves the problem of optimally tracking the preplanned path in the presence of diff erent motion constraints [66-71], or fulfills the task of collisi on-f ree traversal of the terrain in shortest possible time [72]. Terrain model needs to be available at all times. The mathemati cal fo undation of an early approach to terrain-following motion of a winged aircraft is set in [66], where flight trajectory is obtained via "solution of Euler-Poisson equation for an applicable definition of an optimal integral error criter ion", [66]. TF/TA system for piloted rotary wing aircraft is presented in [67], where optimal flight path solution is produced using preplanned waypoint-defined navigation ref erence path. Modem approaches to TF/TA control systems vary greatly . Model Predictive Control for fully autonomous helicopter is presented in [68]. Use of Linear Matrix Inequalities for derivation of TF control is presented in [69]. The article [70] represents TF/TA as a minimax optimal control problem, where non-smooth cost function is transformed into a constrained nonlinear programming problem solved for optimal TA maneuvers. In [71] the authors also represent TF/TA as 2-D optimal tracking problem, using least squares to obtain solution in vertical plane over profile of modeled terrain. In general, the existing TF IT A methods, while capable of optimally tracking a preplanned path in presence of motion constrain ts, or ensuring collis ion-free traversal of terrain in the shortest time, require prior knowledge of terrain, thu s, are not suited for unknown and/or dynamically changing environment s. On the other side, the discussed earlier hybrid navigation methods, while capable of finding a safe path to the goal through an unknown and/or dynamically changing envirornnent, do not require terrain-f ollowing motion. Therefore, the presented control algorithm attempts to bridge this gap -e nforce terrain-f ollowing motion while finding a feasible collisi on-f ree path through an unknown and/or dy namically changing environment. 5 1.2. Uniqueness and Contribution of the Presented Work The main contribution of this paper is the development of a control algorithm for motion planning in the unknown environment. where terrain features and goal positioning data are used for navigation. The presented hybrid navigation method supplements reactive obstacle avoidance with the strong deliberative component - goal vector. Position of the goal is assumed to be available to the mobile agent at every instant of time. The research eff ort presented in this paper suggests a new applica tion for the solution of the problem of negotiating an unknown environment -u se of terrain-following motion as navigation aid through an unknown terrain. It also intro duces a new concept of an autonomous agent moving collisi on-f ree within a definite space corridor rather than attempting to converge perfectly to a specific path. The presented algorithm utilizes hybrid approach to navigation. supplementing reactive obstacle avoidance with the strong deliberative component - goal vector. Incorporation of the latter into computation of navigation vector. combined with consideration of kinematic and dynamic constraints of the autonomous mobile agent makes the presented navigation algorithm capable of avoiding the common pitfalls of motion planning such as generating impossible paths. losing the goal. and getting stuck in the local minima. At the same time the necessa ry ability to react quickly to changes in the environment is ensured. Similar to the work [52]. where "reactive sensor-based navigation tasks and control laws are derived from the interaction between the robot and its wor kspace••. our approach uses robot •s dynamic interaction with the terrain as navigation aid. Navigation vector is computed within a specified time horizon (time step). then nominal tra jectory segment for this time step is defined. and the mobile agent attempts to converge to it. Such an approach to actual trajectory computation could be likened to waypoint navigation methods. in particular. the synthetic waypoint navigation described in [53]. Nonethel ess. the presented navigation algorithm has neither nominal waypoint map that it has to modifY as motion progresses (for example. like in [ 43] and [ 45]). nor attempts to reach a specific waypoint by the end of the current time step like in [53]. 6 Emergency obstacle avoidance maneuver supplements the presented navigation algorithm for the cases when physical constraints of an agent make regularly generated path segment inf easible. The described in this work control algorithm assumes no prior knowledge of terrain and generates the motion path time-step-by-time-step on the basis of information provided by the agent's terrain-acquiring sensor unlike the majority of existing TF/TA control strate gies. In the absence of preplanned path the presented algorithm attempts to solve a problem of attaining the specified goal point instead of simply traversing the terrain. Terrain-acquiring sensor model constitutes an important part of the described navigation algorithm since processing of sensor data determines behavior type of an agent, for example, whether it tends to choose low-lying terrain areas vs. passing above the hills, or fa vors close-to-horizontal motion. The implemented terrain-acquiring sensor model is consistent with the simplified model of rotating laser rangefinder/ LIDAR, [62-65], where terrain "vision" process is discrete, and could be viewed as "snapshot-based ray-t racin g". We have chosen that particular sensor type since it is the one, most commonly used for autonomous mobile agents. The use of laser range finder to detect terrain features and other obstacles is described in [29, 31, 43, 52]. The equations of motion are derived using Udwadia-Kalaba Equation, [ 48]. It was done in order to incorporate optimization into derivation of the control law. Udwadia-Kalaba Equation is based on Gaussian principle of! east constraint that is considered a true minimum principle in Classical Mecha nics. Thus, the derived constraint fo rce is minimal, i.e. at every instant of time the norm of the force, needed to control the dy namical system, weighted by the inverse of system mass matrix is minimized. Employing such a controller we were able to bypass an explicit optimization step in motion planning, hence, avoiding the inherent weakness of reactive obstacle avoidance methods such as an inability to generate an optimal soluti on. The rest of this work is structured as follows. Section 2 provides the necessa ry inf ormation on Udwadia-Kalaba Equation for a constrained dy namical system. Section 3 gives problem for mulation and intro duces our navigation algorithm in its entirety. Sections 4 and 5 are devoted to the details of the 7 proposed motion control law: Section 4 describes terrain-acquiring sensor model and discusses derivation of navigation vector, while Section 5 presents derivation of the equations of motion, defines safe flight conditions and discusses the relationships between system parameters that are paramount to achieving goal-attaining collis ion-free motion. Section 6 intro duces emergency obstacle avoidance maneuver and conditions when it may become necessa ry. Section 7 introduces the custom modeling and simulation software developed in the course of the described research, and Section 8 gives the conclusions and briefly touches on future work. 2. THEORETICAL BACKGROUND: UDWADIA-KALABA EQUATION OF CONSTRAINED MOTION As mentioned in the previous section, the EOMs for the dynamical system, represented by a single autonomous agent in a terrain-following motion toward the predefined goal, are derived using Udwadia Kalaba Equation of Constrained Motion, [ 48, 55-61]. This method of derivation is attractive for several reasons. First of all, such formulation does not need to fulfill a difficult task of finding Lagrangian multipliers, using instead the weighted Moore-Penrose inverse of a constraint matrix, [ 48, 55-57]. Beca use of that it treats all types of constraints the same way, whether they are holonomic or not, rheonomic or scleronomic, integrable or non-integrabl e. In the context of this for mulation the constraints do not have to be functionally independent either, [58], which makes specifYing the set of desired constraints easier. Another advantage of using Udwadia-Kalaba Equation is that the resulting constraint fo rces are always minimi zed in accordance with Gauss Principle of Least Constraint - at every instant of time the weighted by the in verse of the system mass matrix norm of the fo rce, needed to control the dy namical system, is minimized, [60]. That takes away the necessity of having an additional explicit optimization step. Also, the relative simplicity of computations required by Udwadia-Kalaba Equation, makes it attractive for development of real-time/ near-real-time nonlinear contro ls, [59, 61]. 8 Let us consider a dy namical system of a single autonomous mobile agent, represented by a particle of constant mass m. Motion of the agent is described in Cartesian coordinate system. The agent's diagonal mass matrix is as fo llows: M = m/3, where !3 is a 3x3 identity matrix, and m is a positive constant. Position and velocity vectors of the agent are denoted as follows: position vector is q(t) = (qx(t) qy(t) q2(t) f , velocity vector is q(t) = :,q(t) = (ci x(t) qy(t) q2(t)f, (I) (2) (3) where t represents time, superscript "T' indicates tran spose of a vector, and subscripts { x, y, z} represent x-, y-, and z-coordinate components of a vector respect ively . The initial position and velocity vectors of the agent are known, and are as follows: initial position vector is q(t o ) = (qx (t o ) qy(t o ) q z (t o ) f , initial velocity vector is ciCt o ) = (<ixC t o ) ciy(t o ) <iz (t o ) f , where t0 represents the initial time. The total external fo rce exerted on the agent is denoted as: Fe(t) = L F{ (t) = (FJ (t) F:J (t) F;e (t) f , where F{(t) represents an individual external fo rce, acting on the agent. Therefore, the Lagrange equation of the unconstrained motion of this system is: M ij(t) = Fe (t), or ij(t) = M-lFe (t) = a(t), where a(t) is the unconstrained acceleration of the system and M is the diagonal mass matrix of the system. Let us assume that the system is constrained with a set of k constraints ofthe fo rm: l/J;(q, q, t) = 0, (4) (5) (6) (7) (8) (9) 9 where i = 1, 2, .... k As mentioned above, the se constraints could be of any kind and do not have to be functionally independent. Noneth eless, these k equations need to be smooth and continuously diff erentiable with respect to time at least twice. Differentiating the constraint equation with respect to time (once for non-hol onornic constraints, and twice for holonomic constrain ts), we obtain the constraint equation in the fo llowing fo rm: A (q, q, t). q(t) = b(q, q, t), (10) where A is k x 3 matrix and b is a k x I vector. Imposing constraints on the dynamical system causes emergence of the additional forces acting on it - the fo rces of constraint : FC(t) = (F{(t) F:J(t) F; C(t) f , (11) The equation of motion is then as follows: Mq(t) = Fe(t) + Fc(t). (12) Gauss Principle of Least Constraint states that at every instant of time the dy namical system chooses among all possible accelerations that are compatible with the imposed constraints the one and only one that minimizes the following expression: G(q) = (q - a ? M( q - a), where G(q) is the Gaussian. In accordance with that principle Udwadia-Kalaba Equation expresses the constraint force as: where superscript"+" represents Moore-Penrose in verse (pseudoinverse) ofthe constraint matrix ( A . M - 1 1 2) , matrices A and b are taken from the constraint equation, and a is the acceleration of the unconstrained system. (13) (14) Thus obtained constraint fo rce is unique, and could be viewed as the control fo rce required for keeping the dy namical system satisfYing the imposed constraints at all times. 10 Hence, the equation of motion could be re-written as follows: Mij (t) = F e (t) + F c (t) = F e (t) + M 1 1 2 ( A. M - 1 1 2 ) + (b -A. a ), (15) and this form is known as Udwadia-Kalaba Equation or Fundamental Equation of Constrained Motion. From here system acceleration is: Constraint definition plays the pivotal part in derivation of EOMs using Udwadia-Kalaba Equation. If the initial conditions do not satisfY the chosen set of constrain ts, Baumgarte Stabilization, [73], is used: where 'I'= [,P 1 (q, q, t) ... ,P;(q, q, t) ... >l'k(q, q, t) f, and {,u, -1} are predefined positive constants - system parameters. 3. FORMULATION OF TERRAIN-FOLLOWING CONTROL SYSTEM (17) The dy namical system that is a sub ject of this research consists on a single autonomous mobile agent that shall tra verse an unknown terrain in a terrain-f ollowing motion toward the predefined goal. Location of the goal is available to the agent at all times during motion. The prop osed terrain-f ollowing control law is compr ised of two consecu tive processes: navigation and tra jectory generation. As shown on Fig. XI below, navigation part of the algorithm includes the fo llowing componen ts: o computation of the goal vector and subsequent orientation of the terrain-acquiring sensor, • sensor data processing, o computation ofthe navigation vector. During the subsequent process of tra jectory generation the agent attempts to converge to a nominal curve, the position of which is defined by the obtained navigation vector. Generated terrain-f ollowing tra jectory segment is the result of nominal tra jectory tracking. 11 Terrai n -Foll owin g control �-------------------------- - 1 {Raw Se11sor Dara} : , . { Nm•RQ)'} Navigation 1 , • SensOJ Data I {Nonwwl Tr<l Jectory} : Pr oce ssi ng 1 • {Goal Positio11} I o : - : Goal Vector, {Q(t) , i5} +r , + I : { Q ( t), NV} Q(t) + 1 .r Na vi gat i on 111-' -- ....C + ,- >-- 4 � Sensor Vector 11 1 1 Orientation li l I Tr;Uectory l Generation I 1-------------i: Localization :�-------------1 Figure XI. Control system for a terrain-follmving autonomous agent. On Fig. Xl Q(t) denotes agent's state matrix, {N avRay} signifies the computed sensor "vision" ray (also referr ed to as navigation ray), {D} denotes the goal vector, and {NV} represents the computed navigation vector. The agent's state matrix is as follows Q(t) = [q(t) q(t) q(t)Y, where the components represent agent's position vector agent's velocity vector q(t) = : t q ( t ) = [qx(t) cly(t) clz(t)f, and agent's acceleration vector q(t) = : t 2 2 q(t) = [1fx(t) ify(t) 1fz(t)f Feedback loop consists of a block, responsible for localization function that is necessary for motion in the regions where GPS guidance is either partially or fully denied. Localization fun ction aids in obtaining the agent' s geo-position in latit ude-longib.Jde-elevation coordinates and placing it on the map of the region. Errors of agent's inertial navigation system need to be accounted for in the development of the localization block algorithm 12 The present work concentrates on the development of the terrain-following control algorithm, where navigation vector plays a pivotal role. Sensor model and sensor data processing procedure constitute the necessa ry basis for computation of the agent's navigation vector. Des cription of the dy namical system is presented on Fig. X2 below. The terrain-following tra jectory generation task is for mulated as a problem of constrained motion- at every time step the mobile agent is constrained to be within a free-of-collision cylindrical volume of space rather than be fo llowing a preplanned path. This volume of space, further ref erred to as "s afe corr idor", is constructed for every tra jectory segment. The computed navigation vector serves as its axis, and its diameter is a predefined constant. The motion constraint is expressed as the need to converge to a certain nominal tra jectory that is represented by a curve fully contained inside the safe corridor volume . Navigation vector itself could serve as a nominal tra jectory. The deve loped sensor model utilizes discrete terrain-acquiring (vision) process that could be viewed as "snapshot-based ray-tracin g". Thus, the described dynamical system model is based on providing discrete, in predefined intervals -t ime steps, updates of sensor data and navigation parameters . That way the navigation component of the presented terrain-following algorithm is discrete: navigation vector and safe corridor are determined once per time step, while the trajectory generation component is continuous, governed by the continuous equations of motion. All the computations are performed for a single time step. For this work we assume instantaneous computations occu rring at the beginning of a time step. We also assume that agent's sensing and moving facilities are uncertainty-f ree, and no sensory data losses occur. Fig. X2 illustrates basic components of the terrain-following algorithm that are as fo llows: (I) - initial position of the mobile agent (sensor origin); (2) - goal position; (3)- terrain; (4) - rays of the 3-prong sensor model, where rays that inters ect the terrain are shown in blue, and rays that do not inters ect the terrain are shown in brown; (5)- selected sensor ray; (6) - goal vector; (7) - navigation vector; (8)- safe corridor; (9) - nominal curve segment; (10) - generated terrain-f ollowing trajectory segment; h,"1' and 13 hmax denote minimal and maximal allowed agent's elevation above terrain, while 1 represents the width (diameter) ofthe agent's safe corridor. z Figure X2. System Description. --· (2) In this dynamical system an autonomous agent is represented by a particle of unit mass, and is moving under an external force that is the sum of gravity force and nonlinear thruster and drag forces. The agent is constrained to move within a safe corridor, represented by a circulaT cylinder of the predefined width that is centered on the computed navigation vector. It shall be noted that for computation purposes, we assume that a tra jectory segment corresponding to each time step starts at t0 = 0. Therefore, if a time step length is denoted as !1t, time of evolution of every traj ectory segment is bounded by the limits: t E [t0, t0 + M ], or t E [0, M]. Nevertheless, a global time counter is activated at the start of simulation and global time is accounted for when assembling the resulting traj ectory graph. The system global coordinate system is Cartesian, defined in the following way. When global time equals zero (at the beginning of motion) the point, obtained by proj ecting a chosen terrain comer to elevation zero, serves as the origin, positive direction of z-axis goes from lower to higher elevations, and 14 positive directions of both x- and y-axes are as such that the respe ctive pro jections of the initial goal vector are positive . The agent's local coordinate system is also Cartesian, with the ongm at agent's position at the beginning of a time step, positive direction of z-axis goes from lower to higher elevations, and positive direction of x-axis is as such that the corresponding pro jection of the goal vector is positive. The equations of motion for the presented dynamical system are derived and resolved in agent's local coordinate system rather than in geographic latitude-longitude-elevation coordina tes. At every time step the obtained solution for agent's state is transf ormed into the global coordinate system and then visualized. If desired, generated agent's tra jectory could be also transf ormed into geographic coordinates and presented as a list ofwaypoints . 4. DERIVATION OF THE EQUATIONS OF MOTION (EOMS) AND SYSTEM MODELING As stated earlier, the EOMs for the dy namical system, represented by a single autonomous agent in a terrain-following motion toward the predefined goal, are derived using Udwadia-Kalaba Equation of Constrained Motion, [48, 55-61]. Since constraint for mulation lies at the core of this method, our first task was to define a set of constraints that fully expresses the desired character of motion while minimizing the number of constraints and their complexity as much as possible. In the previous section the motion constraint was described as the agent's task to track and converge to a certain nominal curve, fully contained within the defined safe corridor. In general case such a constraint could be defined as fo llows: >fl( q(t) ) = q(t) - fn ( q(t) ) = 0 'It E [O,Lit], Vq(t) E [q(O), q(Lit)] , (18) where q(t) is agent's position vector, and fn(q(t)) is an equation of the nominal curve, constructed for the current time step. The function fn(q(t)) must be continuous and at least twice continuously diff erentiable in time. It is defined in terms of agent's position vector q(t) rather than time because of the 15 developed procedure for determination of the navigation vector NV and safe corridor, as described in detail in the next section. Since we cannot guarantee the initial conditions at the beginning of any time step satisfYing this nominal tra jectory tracking constraint, Baumgarte Stabilization is used, where {/1, -1} are predefined positive constants - system parameters: l/J(q (t)) + fl,P(q (t)) + -ll{J(q (t)) = 0 'It E [0, Lit], Vq(t) E [ q(O), q(Lit)] (19) Differentiating the constraint, described by equation (18), with respect to time, and substituting the results into equation (19), we obtain constraint equation in standard form as expressed by equation (10): (20) From expression (20) we find matrices A(q, q, t) and b(q, q, t) as fo llows: A(q, q, t) = a r;�q ) - /3 (20a) b(q, q, t) = J1q (t) + -lq(t) - a';�;q ) q(t) 2 -11 ar;�q ) q(t) - -'fn (q) (20b) Considering that an agent is modeled as a particle of unit mass, the equation of motion (15) becomes: q(t) = a+ A +(b -A. a) (21) where a = M - 1 F e (t) is the unconstrained acceleration of the system, and matrices A and b are derived above (expressions (20a) and (20b)). The total external force is modeled as follows: F e = F g ravity + F thruster + F dra g (22) where the components are: F g ravity = [0 0 -mg Y, g is the acceleration of gravity, m = 1; q(t) NV F thruster = f t lli! (t) ll for non-movable thruster, or F thruster = f t IINVII for movable thruster, where f t is a positive constant denoting thruster coefficient, and NV is the computed agent's navigation vector for the current time step; 16 F dra g = -1 14 � t)ll (17 1 q(t) + 1) 2 [q(t)j3) , where 1) 1 and 1) 2 are positive constants denoting appropriate drag coef ficien ts. The physical meaning of the described motion constraint is the diff erence between aetna! position of the agent and its nominal position, i.e. position belonging to the nominal tra jectory. Since perfect tracking of nominal tra jectory is desired, that diff erence needs to be driven to zero. The constraint as defined above represents an error in every component of the agent's position vector. The further discussion on constraint definition as well as the equations of motion for the case of navigation vector serving as nominal tra jectory are presented in Section 5.6. 5. CONTROL ALGORITHM FOR NAVIGATION 5.1. Goal Vector, Terrain-Acquiring Sensor Model, and Sensor Orie ntation Computation of the goal vector l5 and subsequent sensor orientation constitute the first part of the presented navigation algorit hm. Introduction of the deliberative component- goal vector, into the presented reactive-navigation-b ased motion control algorithm is necessa ry in order to counteract the known inherent problem of reactive navigation methods: lack of consideration for the goal dire ction while performing obstacle avoidance leads to compounding error of deviation from the mission obj ective (i.e. reaching the goal position), and subsequent loss of ability to fulfill it, [27, 31]. Goal vector is recomputed for every time step, and agent's sensor is always oriented toward the goal as described further in this paper. This way navigation vector is always defined with consideration of the goal direction. As a part of navigation component of the presented terrain-following algorithm, goal vector is computed once per time step. Goal vector is defined as originating at the agent's position and ending at the goal position at the beginning of the current time step. Fig. X3 depicts the deve loped sensor model, where : (1) - 2-D model; (2) - 3-D model, (a) - 3-D view of the set of sensor rays, (b) - cross-section of the ray set. 17 Sensor Origin Sensor Or igin (a) (b) (1) (2) Figure X3. Sensor Model for 2-D and 3-D system s. Since all sensor rays are of equal length, for the 2-D model sensor ray set geometry is a circular segment, where the base (central) ray is the axis of symmetry and the rays are distributed evenly around it. The sensor param eters are def med as fo llows: N- number of sensor rays that is always odd to preserve the symmetry around base ray, lr- length of any sensor ray (sensor range), <p- sensor coverage angle. Then the angular offset oe between any two ad jacent rays is: oe = N <p -1 For the 3-D sensor model rays are also of equal length, and the ray set geometry is a spherical segment, where the base ray is the axis of symmetry. The sensor parameters for the 3-D model are as follows: lr- sensor range, <p- sensor coverage angle, but instead of specifying the desired number of rays directly we define sensor configuration N5 x dr 1 • It is represented by the number of ray surf aces N5, which are the concentric spherical segments, and the number of rays on the 1st ray surface dr 1 • The rays are distributed evenly along each ray surface. 18 If the radius of the largest cross-sec tion of the sensor ray set is R = lr Sin (�), then the off set between any two ad jacent ray surf aces is: oR = .!3.... = _!_ lr Sin (P.. ). Ns Ns 2 Total number of rays and angular offset between any two adjacent rays that belong to the same ray surf ace are computed as fo llows: total number of rays is while angular offs et depends on the ray surf ace number, i.e. where this surf ace is located in relation to the base ray : 881 = zrr , where i is the surf ace number, i = 1, 2, 3 ... N5 (i = 1 denotes a surf ace, closest dri to the base ray), and coefficient dr. represents the density of rays on the surf ace with i = 1. The l coefficient dr ; = f(dr ) is obtained from the mapping illustrated on Fig. X4. 5 5 5 5 5 5 5 4 4 4 4 4 5 4 3 3 3 3 5 4 3 2 2 2 5 4 3 2 1 1 5 4 3 2 1 1 5 4 3 2 2 2 5 4 3 3 3 3 5 4 4 4 4 4 5 5 5 5 5 5 Figure X4. 5 5 5 5 4 4 4 5 3 3 4 5 2 3 4 5 2 3 4 5 2 3 4 5 2 3 4 5 3 3 4 5 4 4 4 5 5 5 5 5 Cells (rays), corresponding to diff erent ray surfaces, are shown in diff erent color and marked with number of ray surface they belong to. The simplest mapping is shown, where ray surface with i = 1 has only 4 rays. Thus, evolution of coefficient dr; with ray surface is: i=1 d = 4 r 1 i=2 dr 2 = 12 i=3 d = 20 r 3 i= 4 d = 28 r 4 i=S dr5 = 36 and so on. Thus, dr; = dr 1 (2i - 1). Mapping of rays to ray surfaces for the simplest 2x2 distribution of rays within N s = 1. Mappings for the other distributions or rays within ray surf ace with i = 1 are constructed in the similar way, and examples of the resulting expressions for dr · are derived as shown in the Table Tl l below. 19 Table Tl. dr1. 4 (2x2) 6 (3x2) 8 (4x2) 10 (5x2) 12 (3x4) 16 (4x4) Mapping of rays to ray surfaces for different sensor configurations. dr, = f(dr1.), i ;;::: 2 dr1. dr1 (2i - 1) 20 (5x4) �1 * i + 2(i - 1) 24 (6x4) dr1 * i 30 (5x6) �1 * i- 2(i - 1) 36 (6x6) 1.5�1 + 8(i - 2) 42 (7x6) 1.25dr1 + 8(i - 2) dr, = f(dr1.), i ;;::: 2 l.ldr1 + 8(i - 2) dr1 + 8(i - 2) 13 / d +S(i-2) 15 r1 7 /9 dr1 +S(i-2) 5 / 7 dr1 + 8(i - 2) The described above implemented sensor model exhibits the uniform density of rays within the volume of its ray set, and is consistent with the simplified model of rotating laser rangefmder/ LIDAR, [29, 31, 43, 52, 62-65]. The sensor configuration Ns x dr1 fu lly defines total number of rays in the set and their distribution. z y Sensor Or igin Sensor Origin X , L---------------------------------� x (a) FigureXS. (b) Sensor Orientation for 2-D and 3-D systems. goalxy Sensor orientation is defmed using the computed goal vector as shown on Fig. X5, where (a) depicts the 2-D system, and (b) shows 3-D system. BR denotes the base ray of the sensor ray set, l5 is the goal vector, </> denotes the angle between sensor base ray and the negative direction of vertical coordinate axis, and subscript .xy represents pro jection of a vector on a horizontal (.x-y) plane. 20 As mentioned in Section 4, the presented problem of constrained motion is set up in a local coordinate system, positioned in a way that motion occurs in the positive direction of x-axis for the 2-D system, and both x- and y-axes for the 3-D system. Therefore, for the 2-D system both goal vector and sensor base ray always are pro jected onto the positive direction of x-axis. Slope of the base ray, denoted by the angle ¢, is defined as system parameter, and lies in the interval Jo, �[, where <P = 0 corresponds to the horizontal sensor, and <P = !: corresponds to the sensor looking vertically downward. 2 To determine sensor orientation for the 3-D system, pro jection of the goal vector onto horizontal x-y plane, Dxy, is computed. The x-y pro jection of the base ray, BRxy, must lie on Dxy for the sensor to be looking toward the goal. Then we can state that II BR xy ll = S8R II D xy ll , where S8R is a positive coefficient. Considering the fo llowing vectors: sensor origin that is the current position ofthe agent goal position [B x B y Bz]T, base ray length that equals ln and the angle <P between the base ray and z-axis, S8R is fo und as: Thus, base ray vector is as fo llows: BR = [ BR x BRy BR z ]T , where the components are as follows: Similarly to the 2-D case we assume that <P E [ 0, �]. 5.2. Navigation Vector Determination Navigation vector NV lies at the core of the presented terrain-following motion control algorithm. Upon sensor orientation and sensor data processing, which encompasses selection of the sensor "vision" 21 ray from the set of rays that intersect with the terrain, navigation vector is dete�mined as illustrated on Fig. X6. Detailed description of sensor data processing is presented in Section 5.3 of this work. On Fig. X6 P denotes position of the agent at the beginning of a time step, BR-sensor base ray, VR - selected sensor "vision" ray, A is the point where VR intersects the teiTain, NV is the detetmined navigation vector, SC denotes the safe conidor, hs<ife and hmax denote minimal and maximal allowed agen t's elevation above terrain, and l, is the sensor range (length of an wtinterrupted ray). z X Figure X6. Navigation Vector Detennination, 3-D system. Considering the agent's position at the beginning of the cun·ent time step P = [qx qy qz]T, coordinates of the intersection point A= [Ax Ay Az]T, and limitations on the maximal and minimal allowed agent's height above tenain hsafo and hmax, navigation vector is as follows: NV = [Nl'x NV y N l'z]T, where the components are In case sensor cannot acquire terrain, i.e. none of the sensor rays intersects the tenain, navigation [ B x - qx ] vector is computed using goal vector NV = By - qy , where B x and By are x-andy- components of qz - Z aown the goal position, and Z aown is a predefined positive constant - system parameter. Therefore, when 22 agent's sensor loses the terrain, agent still continues moving towards the goal while safely descending to re-acquire the terrain. For a 2-D system navigation vector is determined similarly : _ [ Ax - qx ] if terrain is acquired NV = A _ hmax -hsafe , y qy + 2 otherwise Safe corridor is constructed using the computed nav igation vector as its axis of symmetry. Width of the sa fe corridor is a predefined system parameter, the bounds on which are as follows: hmax-hsafe Ymin < Y < 2 ( NV z ) 2 l- IINVII , where Ymin denotes the minimal corridor width the dynamical system could adhere to. Ymin is related to the system parameters that determine the magnitude of tracking error and to the choice of nominal tra jectory. It is described in greater detail in Section 5. 7. 100 y "' •• Figure X7. Navigation Vector Determination, goal within the line-of -sight. When an agent comes within the line-of-sight ( LOS) of the goal, and terrain-acquiring sensor detects no obstacles between the agent and the goal, the na vigation vector is computed as a vector between the 23 agent and the goal. Example of an agent's navigation with LOS is shown on Fig. X7, where (I) denotes agent tra jectory, (2) - goal position, (3)- terrain, ( 4) - sensor "vision" rays used to determine navigation vector for terrain fo llowing motion, (5)- navigation vectors determined by LOS. The LOS range is defined as one of system parameters. 5.3. Sensor Data Processing 5.3.1. Navigation Using a Single Set of Sensor Rays The choice of terrain-intersecting ray(s) to represent the sensor "vision" determines behavior of a moving agent. The available options are as follows: • shortest terrain-intersecting ray, o longest terrain-intersecting ray, o terrain-intersecting ray that yields the least-slope navigation vector (Min-Alpha ray), o average (median) of all terrain-intersecting rays. A. Shortest-Ray navigation The choice of using the shortest terrain-intersecting ray as the sensor "vision" ray corresponds to a behavior where an agent attempts to avoid obstacles (terrain features) by passing above them at all times. Such "asc ent-preferred" mode of operation has an inherent weakness: significant thruster force is required because the shortest ray yields the steepest navigation vector. If the required angle of ascent is too large for the available limited thruster fo rce, crash will ensue. Therefore, an emergency obstacle avoidance maneuver needs to be implemen ted. Also, for this type of navigation the agent may frequently lose the terrain. Example ofthe path, generated by the shortest ray navigation, is shown on Fig. X8. B. Longest-Ray navigation The choice of using the longest terrain-intersecting sensor ray as the sensor "vision" ray implies that the agent, instead of trying to fly over an obstacle, attempts fo llowing the least steep navigation vector, 24 hence, passing terrain featnres from the side. The Longest-Ray navigation corresponds to motion along the lowest areas of the terrain, fa voring close -to-horizontal tra jectories and descent over ascent. This approach also has inherent weaknesses. Negotiating a generic terrain with mountains and canyons/va lleys, fo llowing the latter is the obvious choice of the agent that utilizes Longest-Ray navigation, since such a path would be the one of lowest elevations. Thus, the agent may get stuck deep inside the canyon or the large crater as shown on Fig. X8. Having encountered such a crater, the Longest Ray navigation causes the agent to move around inside this terrain featnre, never going up and out of it. Thus, terminal loss of goal ensues. An agent, using Longest-Ray navigation, also has to deal with the issue of insufficient thruster/control fo rce, although the cause of such problem here is diff erent from the case of Shortest-Ray navigation. Favoring the path oflo west elevation, an agent may fo llow a canyon and continue going deeper inside it until the only way out to the goal is up. Thu s, when the ascent is called for, its angle is the steepest possible, and it may be such that the available thruster fo rce is insuffi cient. Henc e, crash becomes imminent. To alleviate the se weaknesses, emergency maneuver needs to be implemented. An example illustrating the weaknesses of Longest-Ray nav igation is shown on Fig. X8 and X9. Fig. X8 shows the trajectories, generated by the Shortest-Ray and Longest-Ray navigation types, where the agent that uses Longest-Ray navigation gets stuck inside the crater and permanently loses the goal. Agent that uses Shortest-Ray navigation reaches the goal in 78 time steps. The designations for Fig. X8 are as fo llows: (I) - initial position of both agents, (2) - position of the goal, (3)- the tra jectory of an agent that uses shortest-ray navigation, ( 4) - tra jectory of an agent that uses longest-ray navigation. The arrows signifY agent's sensor "vision" ray for every time step. As seen on Fig. X8, choice of navigation determines agent's behavior. For the two identical agents the Longest-Ray navigation yields the tra ject ory fo llowing the canyon and diving into the deep crater, while Shortest-Ray navigation generates the tra jectory that goes over the ridge and above the crater wall. Agent, 25 using the Longest-Ray navigation, gets stuck inside the crater and crashes after 46 time steps. Agent, using the Shortest-Ray navigati on, successfully reaches the goal in 85 time steps. Figure X8. Figure X9. Trajectories, generated by the Shortest-Ray and Longest-Ray navigation types. ., ltl ( a ) ( b ) Agent, using Longest-Ray navigation type: crash due to increase in tracking error and insufficient thruster force. Fig. X9 further illustrates the "ins uff icient for the required ascent thruster force" and subsequent increase in tracking error weakness of the Longest-Ray navigation type. The agent negotiates hilly terrain, 26 finding and following a canyon that terminates in a relatively steep wall. The agent cannot pe rform the required ascent and crashes into terrain. On Fig. X9 (a) shows the whole tra jectory of an agent and chosen sensor "vision" rays (navigation rays) for every time step, and (b) demonstrates the detail of the crash, showing computed navigation vectors for every time step. It needs to be noted that naming the limited thruster fo rce as a single culprit of crash is an oversim plification. The tracking error that depends on system parameters {,u, -1} that participate m Baumgarte Stabilization, presented by Eq. 19, plays a part in causing an agent crash into terrain. As the angle between navigation vectors for two consecutive time steps increases (as seen on Fig. X9(b)), so does the angle between velocity vector and navigation vector to be tracked. Henc e, tracking error increases and the desired ascent is not achieved. Then navigation vector for the next time step calls for even larger angle of ascent, causing greater tracking error as evidenced on Fig. X9(b ). Thus, with every new time step agent's ability to track the computed navigation vector diminishes until crash ensues. The more detailed discussion on tracking error and factors that influence it is presented in Section 5. 7. C. Ray that yields the least-slope navigation vector (M in-Alpha-Ra y) This type of navigation offers the less extreme way of trying to fly low than the described above longest-ray navigation. Instead of explicitly seeking canyons and valleys of the terrain, the agent will attempt to fly as horizontally as possible while favoring descents over ascents: we compute navigation vectors corresponding to each terrain-in tersecting ray, choose the ones with negative slopes first, and from this set choose the single close st-to-horizontal navigation vector and its corresponding ray as sensor "vision" ray. If all the computed navigation vectors have positive slopes, we still select the one with the smallest slope (close st-to-horizontal) and its corresponding ray as sensor "vision" ray. This behavior yields less up-and-down tra jectory fluctuations at the expense of increase in direction chang es in the horizontal plane. Also, since Min-Alpha-Ray navigation tends to generate close to horizontal tra jectory segments, its fo llowing of landscape features will be less exact in comparison with Shortest-Ray and Longest-Ray navigation metho ds. This effe ct is clearly visible on Fig. XI 0 and XII. 27 The Min-Alpha-Ray (least-slope) navigation 1s susceptible to the same weakness of insufficient thruster fo rce as described above . Depending on the character of the terrain, it may also be susceptible to the "getting stuck inside a canyon" weakness similar to the Longest-Ray navigation; thus, needing the same types of the emergency maneuver. Nonetheless, it is less prone to experience the se problems than either Shortest-Ray or Longest-Ray navigation met hods. An example of the Min-Alpha-Ray (least-slope) navigation is shown on Fig. XlO. D. Average-Ray navigation This type of navigation sorts the list of all the terrain-intersecting rays, finds median value, and uses the result for determination of the navigation vector. The slope of the computed navigation vector is, in general, between the steep positive inclines produced by the Shortest-Ray method and relatively small in magnitude and negative whenever possible inclines yielded by Longest-Ray and Min-Alpha-Ray navigation methods. The behavior, resulting from the Average-Ray navigation, could be described as indecisive - the agent is reluctant to choose a specific mode of motion, be it flying high, seeking the lowest elevations, or attempting to achieve horizontal tra jectory at any cost. It is expected to be highly sensitive to the agent's initial position, and may closely resemble either Shortest-Ray or Longest-Ray navigation depending on the character of terrain and sensor coverage an gle. For example, if an agent finds itself above the ridge and cannot sense the availability of descent along ridge walls due to insuf ficient sensor coverage angle, the agent will then fo llow this ridge. The generated tra jectory will be similar to the one produced by the Shortest-Ray navigation, although the angles of ascent will be smaller due to participation oflo nger rays in determination of navigation vector. In comparison with the other navigation ty pes, the Average-Ray navigation is expected to yield the most tra jectory fluctuations in both horizontal and vertical directions . This navigation method is susceptible to the same ma jor weakness: available thruster fo rce is insufficient for the required angle of ascent. Even though Average-Ray navigation may favor fo llowing a canyon and descending into a deep crater, depending on the character of the terrain and sensor coverage angle, the danger of getting stuck inside that crater is less severe than for the longest-ray navigation. It 28 happens because the shorter rays, calling for ascent, are always present in the set of rays that intersect the terrain. As the agent goes deeper into a canyon/ crater, the number of short rays in the set increases, median ray gets shorter, and upward motion commences. Thus, the agent will eventually find its way out of the crater and toward the goal. An example of that is demonstrated on Fig. XlO, where the designations are as follows : (1) - initial position of the agents, (2) - position of the goal, (3) - tra jectory of an agent that uses Min-Alpha-Ray navigation, (4) - tra jectory of an agent that uses Average-Ray navigation. The arrows signify agent's sensor "vision" ray for every time step. Figure XlO. Trajectories, generated by the Min-Alpha-Ray and Average-Ray navigation types. As illustrated by Fig. XlO, choice of navigation determines agent's behavior. For the two identical agents the Min-Alpha-Ray navigation yields the close-to-horizontal trajectory above the ridge and over the ravine, while Average-Ray navigation makes an agent chose the lower-lying portions of the terrain due to prevalence of long rays in the set. Thus, this agent follows the canyon, descends into the deep crater, but, as expected, finds its way out of there and toward the goal, reaching it in 89 time steps. The agent, using Min-Alpha-Ray navigation method, reaches the goal faster - in only 59 time steps. To reduce the possibility of crashing into terrain due to the insufficient for the required ascent thruster force the Average-Ray navigation method may be augmented by using the weighted average of sensor rays for determination of the navigation vector. Weight function could be determined in such a way that 29 rays located closer to the base ray get more weight since they deviate less from the goal direction than those that are farther from the base ray. Also, shorter rays are to be favored so that the resulting navigation is a modification of the Shortest-R ay method. Notwithstanding the above, implementation of the emergency obstacle avoidance maneuver is still necessary. Another example of all 4 types of navigation is shown on Fig. Xl l, where the traj ectory and sensor "vision" ray colors are as follows: blue and cyan denote Shortest-Ray navigation type, green and light green denote Longest-Ray navigation type, purple and pink denote Min-Alpha-R ay navigation type, and red and orange denote Average-Ray navigation type. (a) (b) Figure Xl l. Agents finding a path through test terrains. On Fig. Xl l (a) illustrates simulation of path finding through "crater & canyon" type of test terrain, and (b) - through "hilly terrain" type. All agents have the same physical capabilities, and the same initial conditions. The sensor paran1eters are as follows: sensor ray set configuration 3x4, N = 36 + 1 = 37, lr = 50.0, ({J = 30°, ¢ = 30°. As expected, trajectories generated by dif f erent navigation types dif fer significantly and so does the time (number of time steps) needed for traversal of the terrain. These results are summ arized in the Table T2 below. 30 Table T2. Number of time steps required for terrain traversal by agents with diff erent navigation methods. Number of time steps needed for traversing the terrain Agent's navigation type "crater & canyon" test terrain "hilly terrain" test terrain 1. Shortest ray 81 87 2. Longest ray 46 (crashes inside the crater) 107 3. Average ray 89 83 4. Least-slope (min. alpha) ray 59 69 The generated tra jectories over test terrains as shown on Fig. Xll illustrate the connection between navigation type and agent's behavior. As stated earlier, shortest-ray navigation yields tra jectories that go at the highest elevations: in "crater & canyon" terrain this agent finds the ridge and fo llows it around the crater, while in "hilly terrain" the agent flies over all the hills it encounte rs. Longest-ray navigation finds and fo llows a canyon in "hilly terrain", while in "crater & canyon" this agent also fo llows a canyon into the crater, descends to the bottom of the crater, and gets stuck the re. Trajectory, generated by the Min Alpha-ray navigation, is close to horizontal for both terrains. Average-ray navigation results for the "crater & canyon" terrain resemble the ones produced by the Longest-ray because agent's initial position is above the canyon and its sensor coverage angle is relatively narrow, which makes the long rays prevail. Even though this agent also descends into the crater, it finds its way up toward the goal due to participation of short rays in determination of its navigation vector. For "hilly terrain" tra jectory, generated by Average-ray navigation, resembles the one of Shortest-ray (due to the agent's initial conditions and sensor coverage angle) although less extreme. 5.3.2. Navigation Using Multiple Sets of Sensor Rays Mul tiple sensor ray sets are employed as means to alleviate inherent weaknesses of the single ray set navigation methods, described in Section 5.3.1. They are also used in an emergency obstacle avoidance maneuver, which is described in Section 6, and for more precise na vigation. The triple set of rays (3- prong) sensor model is obtained by using the three identical sets of rays. Position of the base ray of each 31 auxiliary ray set is obtained by rotating the base ray of the main set at a predefined angle clockwise and counte rclockwise. The sensor model with an odd number of ray sets was chosen for the needs of emergency maneuver, where central (main) ray set is employed for the regular navigation and auxiliary ray sets are used for navigation vector modification for emergency obstacle avoidance. Model of the implemented 3-prong sensor is illustrated on Fig. Xl2 , where : (a) shows the construction of the triple set of ra ys, and (b) demonstrates spatial orientation of the base rays. The labels for (a) have the following meaning : BR -b ase ray of the main ray set, BRA -b ase ray of an auxiliary ray set, lr -l ength of any sensor ray in a set, <p -r ay set coverage angle, {) -a ngle of rotation of BR for placement of BRA. The labels for (b) are: (I) - goal location, (2) - current location of an agent, (3)- goal vector, (4)- horizontal pro jection of the goal vector, (5)- base ray of a central (main) ray set, (6) -main ray set, (7)- auxiliary ray sets, (8) plane in which base ray of a central set is rotated to obtain base rays of auxiliary sets. As shown on Fig. Xl2 , the auxiliary base rays are positioned by rotating the main base ray by the angle {) twice - clockwise and counter clockwise. Rotation occurs within a single plane as fo llows: main base ray belongs to the plane formed by two auxiliary base rays and bisects the angle ( 2{) ) between these auxiliary base rays. The ends of these auxiliary base rays form a straight line that is parallel to x-y plane. This way the modeled sensor looks left and right, increasing the overall angle of vision. 32 Sensor Origin (a) Figure X12. (I) __ _ _., < 3 ... > .... - - - ----- - -- · · · · ··- - · · · · · · - � ' (b) 3-prong sensor model. Navigation with the 3-prong sensor is achieved as fo llows: each of the three ray sets is processed to yield a single tetTain-intercepting ray in accordance with methods described earlier for a single-ray navigation, then out of the obtained 3 rays the sensor "vision" ray is derived. The possibilities are as shown in the Table T3 below. Any entry in the left column could be combined with any entry in the right, making possible 16 different navigation methods. As with a single ray set sensor, the method of computing the sensor "vision" ray directly translates into behavior of an agent. Table T3. Navigation methods for 3-prong sensor. Ray out of a single ray set Vision ray out of3 computed rays Shottest Shottest Longest Longest Average Average Yielding the Least Slope navigation vector (Min- Yielding the Least Slope navigation vector Alpha ray) (Min-Alpha ray) For example, let us consider "Shottest-Shortest" combination. Such "vision" implies that an agent will tend to choose path above obstacles. That path will be steep, thus, requiring significant propelling force. 33 Losing the sight of terrain due to rising too high above it will occur frequently . The advantage of adopting such mode of behavior lies in never getting mired inside terrain canyons, and in always seeing the goal from the attained heigh ts. We could say that this mode of behavior is of a "Hero": the agent flies high regardl ess of the costs, takes in a big picture (tall mountai ns) disregarding can yons, valleys, and other less prominent features of the terrain, always knows where it is going and usually attains its goal unless crashes into a too-steep-to-overcome mountain. The agent with this type of sensor "vision" is always eager to find an obstacle (mountain) and conquer it. This agent's behavior is similar to the one produced by the single Shortest-Ray navigation, but more extreme, and, therefore, more susceptible to the weakness of having an insuf ficient propelling force. To alleviate this weakness a somewhat more reasonable "Hero" uses "Shortest-Min-Alpha" navigation method. That agent is still eager to fly high, but nonet heless tries to avoid unnecess arily steep climbs, choosing the one of the least incline and, hence, being more concerned about its expenditures of energy. Thus, where the "Shortest-Shortest" navigation fails to avoid an obstacle, this one is expected to succeed by going around the obstacle instead of trying to fly over it. "Longest-Longest" combination presents behavior of a "Coward", and it aggravates the weaknesses of the singl e-sensor-cone longest-ray navigation. An agent with this sensor "vision" chooses the lowest laying paths, crawls closer to the ground, and does not expend much energy along the way . Its comprehension of the world does not register mountains and skies above - it cares only about cozy gullies, canyons, and valleys. Preferring to move inside some crevice, the agent is highly susceptible to either getting stuck inside or crashing into a wall since at some point there would be no other way to the goal but up, and the available propelling fo rce may be insufficient for the required steep ascent. To make that mode of behavior less extreme we could use "Longest-Shortest" combination. Then the moving agent, while still trying to fly very close to the terrain, will not shy away from each and every climb . This agent searches for vall eys, but heads for the hills inside a chosen valley. "Min-Alpha-Min-Alpha" behavior is of the "Afraid of Changes" one. The agent tries hard to move as horizontally as possible. It does not mind veering left or right, but absolutely abhors ups and downs. 34 Unlike "Hero" that longs for the heights, this one does not particularly care whether it is high or low as far as its life is comfortably routine and does not invite any changes. This agent is the happiest on flat terrains. Its biggest danger is the same as for a "Coward" - getting mired inside a canyon. Nonetheless, for a terrain that is mostly flat with a few large obstacles on it, that behavior produces good results and does not require emergency maneuver. An example of such case is shown on Fig. X13, where for every time step the chosen sensor "vision" ray is shown as orange arrow, computed navigation vectors are shown as blue arrows. 40 20 20 J5 10 Figure X13. 3-prong sensor model, "Min-Alpha - Min-Alpha" navigation type, trajectory with obstacle avoidance. The ray combination that wants to utilize all the terrain-intersecting rays for navigation vector computation is "Average-Average" - the "Undecided" one. This agent just does not want to stick to a distinct behavior by making a definitive decision and choosing a specific ray. Instead the median of all the terrain-intersecting rays of each set is obtained and the median of the resulting three is used for determination of the navigation vector. This type of navigation does not strive for extreme highs or lows, but may yield either higher- or lower-lying paths in accordance to prevalent rays in every individual ray set. The agent, thus, becomes very sensitive to the initial position and the character of the terrain. For exam ple, for the "crater & canyon" test terrain the initial position and agent's sensor parameters may be 35 such that at least two of the terrain-acquiring ray sets are skewed toward longer rays. Then the selected sensor "vision" ray will also be longer, leading an agent deeper down the canyon and into the crater. Thus, the risk of crashing inside the crater due to insufficient thruster fo rce increases. Trajecto ry, generated by the "Average-Average" navigation method, is expected to have significant vertical fluctuations since it may revert from descent to sharp ascent in two consecutive time steps. That mostly occurs for "hilly terrain" type of test terrain. In these circumsta nces longer rays prevail on between-the-hills lower-lying portions of the terrain and shorter rays may prevail at the next time step, when passing a hill is required. The "Average-Average" navigation method hence becomes susceptible to the weakness of insufficient thruster force and may perform poorly over terrains, where great variation of terrain heights is exhibited within a small variation of horizontal distance. An example of that is shown on Fig. Xl4. Fig. Xl4 illustrates how the choice of navigation method determines behavior of an agent. It shows 16 identical agents, every one of which uses one of the described above 16 navigation methods, negotiating a highly exaggerated terrain. The sensor parameters for every agent are as follows: sensor ray set configuration 3x4, N total = 36 * 3 + 1 * 3 = 111 , l r = 50.0, individual ray set coverage angle tp = 1SO, distance between ad jacent ray sets 16°, total ray set coverage angle 'P total = 86°, <P = 25°. For this example a larger angular distance between adjacent ray sets was specified to provide an agent with broader field of view and more ray choices in consideration of the complexity of this terrain and corresponding need for greater maneuverability. The eff ects of increasing sensor coverage angle and widening sensor 's field of view on agent's behavior are discussed in more detail in Section 5.5. The case study presented on Fig. Xl4 will be revisited, adjusting sensor parameters in accordance to the conclusions to be derived in the Section 5.5, the obtained results will be presented and compared with the current ones. 36 Figure X14. 3-prong sensor model, 16 navigation types. On Fig. X14 trajectory color is assigned in accordance with the selection of the "vision" ray out of 3 computed rays: white -longes t, yellow -shortest, blue - least slope, dark green -average. Sensor rays that intersect the terrain are shown in blue, while those that do not are shown in red. Even though all the agents are identical and have the same initial conditions, their gener ated trajectories diff er. The low round hill at the beginning of this terrain makes the agents to split into 3 distinct groups, as seen on Fig. X14. The navigation methods per each group are as follows: group (1)- "Longest -Min-Alpha", "Longes t -Longes t"; group (2) -"Shortest - Min-Alpha", "Shortest - Longest", "Average - Min-Alpha", "Average - Longes t", "Min-Alpha - Min-Alpha", "Min-Alpha -Longest"; group (3)- "Shortest- Shortest", "Shortest- Average", "Average - Shortest", "Average - Average", "Min-Alpha -Shortest", "Min-Alpha -Average", "Longes t-Shortest", "Longest-Average". 37 Group (1) and group (2) veer to the sides of the terrain, while group (3) goes over the hill and attempts to proceed straight towards the goal. For this simulation the goal is located diagonally across the terrain. The low round hill at the beginning of this terrain makes the agents that favor longer ray navigation (group (2)) to generate a path avoiding this hill from the left and fo llow the plain as far as possible. At the same time the agents of group (1) tend to the right of the terrain. There the rightmost agents use "Min Alpha - Min-Alpha" and "Min-Alpha - Longest" navigation methods, thus, generating the closest-to horizontal tra jectory and trying to fo llow the flat portion of the terrain. The lef tmost members use "Shortest- Min-Alpha" and "Shortest- Longest" navigation methods. They do not attempt to avoid the hill, but pass over its side, generating the highest path within the group. The middle members of this group use "Average - Min-Alpha" and "Average - Longest" navigation methods, thus, also passing above the side of the hill, but lower than the fo rmer sub-group. From the 16 agents, presented on Fig. Xl4 , only 10 successfully reached the goal. From the 6 agents that did not reach the goal, the order of crashes is denoted as follows: (4) - agent, using "Min-Alpha - Averag e" navigation method, experienc es motion reversal early into the simulation; (5)- agent, using" Average - Averag e" navigation method, crashes into the first tall hill; (6) - agent, using "Min-Alpha - Longest" navigation method, crashes early into the hilly portion of the terrain; (7) - agent, using "Longest- Averag e" navigation method, crashes further into the hilly portion of the terrain; agents, using "Longest - Longest" and "Min-Alp ha - Shortest" crash within the last third of the terrain (crash spot is not shown since it happened later in the simulation, when the other agents already reached the goal). All these crashes were due to insufficient for the required sharp ascent propelling fo rce and subsequent increase in tracking error, as described earlier. 38 As expected, the "Min-Alpha - any ray" navigation methods yield the poorest perform ance: this terrain is ill suited for close -to-horizontal motion that "Min-Alpha" navigation type produc es. Out of 4 agents using "Min-Alpha - any ray" navigation types only the one with "Min-Alpha - Min-Alpha" ray choice reached the goal. It happened because this agent at the very beginning of motion veered to the right, following terrain flats. Then, since the rightmost part of this terrain has larger spaces between the hills, this agent managed to find a path along those canyons and plateaus. The other agents with "Min Alpha - any ray" navigation moved closer to the central part of the terrain and could not find this path. Similar effect was observed for the agents with "Longest - Longest" and "Longest - Min-Alpha" navigation methods. These agents veered to the left, and also managed to find a safe path between the hills, generating very similar tra jectories. As demonstrated above, "Longest - any ray" and "Min-Alpha - any ray" navigation methods are particularly sensitive to both agent's initial position and terrain shape. As expected, the best performance was exhibited by the "Shortest - any ray" navigation methods. These agents tend to choose paths above the hills, thus, avoiding a danger of getting stuck in the low lying areas and then having to ascend at a sharp angle. Even though this terrain exhibits great variation of elevations, the hills are of comparable height. Therefore, if an agent attempts to achieve a steady tra jectory above the terrain obstacles, there will be no drastic changes in the required angles of ascent/descent. Specifying the thruster fo rce suffi cient for that range eliminates the need for emergency maneuver and ensures the desired system perfor mance. Also, the "Shortest - any ray" navigation methods yield the least number oftime steps to reach the goal. The more detailed examples of all the 16 behaviors over more regular test terrains are presented in Fig. XIS and Xl6 . There all agents have the same physical capabili ties, and the same initial conditions. The sensor parameters are as fo llows: sensor ray set configuration 3x4, N total = 36 * 3 + 1 * 3 = 111, l r = 50.0, individual ray set coverage angle <p = 20•, distance between ad jacent ray sets 2•, total ray set coverage angle 'P total = 7 0°, "' = 25°. 39 (a) (b) 10 (c) (d) Figure X15. Agents with 3-prong sensor model negotiating "crater & canyon" test terrain. The designations on Fig . Xl5 and Xl6 are as follows: (a) shows agents with "Shortest" ray choice out of every individual ray set; (b) shows agents with "Longest" ray choice out of every individual ray set; (c) shows agents with "Average" ray choice out of every individual ray set; (d) shows agents with "Min-Alpha" ray choice out of every individual ray set. The trajectory and sensor "vision" ray colors are assigned in accordance to the choice of sensor "vision" ray out of the selected 3 individual rays and are as follows (first color indicates trajectory, and the second one indicates sensor "vision" ray): 40 blue I cyan - choice of "Shortest" ray out of three; green I light green - choice of "Longest" ray out of three; purple I pink - choice of "Min-Alpha" ray out of three, red I orange - choice of "Average" ray out of three. (a) (c) (b) (d) Figure X16. Agents with 3-prong sensor model negotiating "hilly terrain" test terrain. As expected, trajectori es generated by dif ferent navigation types dif fer signifi cantly and so does the time (number of time steps) needed for traversal of the terrain. These results are summarized in the Table T3, where letters "S", "L", "V", and "A" correspond to the choice of sensor "vision" ray out of 3 individual rays as "Shortest", "Longest", "Average", and "Min-Alpha" respectively . The reason for 41 crashes, shown at different dista nces into terrain for agents, us1ng "Longest-Longest" and "Longest- Averag e" navigation methods, is explained later, in the Section 5.5.1. Table T4. Number of time steps for terrain traversal by agents with diff erent navigation methods, 3-prong sensor navigation. Number of time steps needed for traversing the terrain Agent's choice of a ray out of "crater & canyon" test terrain "hilly terrain" test terrain every individual ray set s v L A s v L A 1. Shortest ray 68 65 96 67 94 99 104 90 2. Longest ray 62 54 55 64 101 124 59 (crash) (crash) (crash) (crash) 95 3. Average ray 62 70 91 64 89 113 113 92 4. Least-slope (Min-Alpha) ray 61 68 96 66 89 127 112 94 As seen from the Table T4, switching to 3-prong sensor navigation may reduce the number of time steps needed to reach the goal. In particular, this effect is pronou nced for "crater & canyon" test terrain for all navigation types. Also, participation of the "Longest" ray in determination of sensor "vision" ray does not necessa rily imply an imminent crash, as it was for a single ray set navigation. When "Longest" ray is chosen out of individual ray set, but choice out of three resulting rays is any other than the "Longest" an agent is capable of reaching the goal for both types oftest terrain. This occurs because such navigation types alleviate the inherent weakness of the "Longest-ray" method, as discussed earlier in this section. 5.4. Sensor "Vision" Quali ty and Its Influence on System Performance, Single Set of Rays Navigation As expected, quality of "vision" that encom passes such sensor parameters as total number of rays N, sensor range ln sensor coverage angle <p, and sensor inclination angle ¢, exerts significant influence on system perfor mance. While type of agent's behavior, i.e. whether this agent favors low-lying paths or tends to pass above an obstacle solely depends on its navigation algorithm, variation of sensor parameters 42 results in generation of very different tra jectories. An example of this for a sensor model that utilizes a single set of rays is presented on Fig. X17. Figure X17. Influence of sensor "vision" quality on agent's trajectory generation. The designations for Fig. Xl7 are as follows: (1) - initial position ofboth agents, (2) - position of the goal, (3) - the trajectory of agent #1, (4) - traj ectory of agent #2. The arrows signifY agent's sensor "vision" ray for every time step . Both agents have the same physical capabilities, the same initial conditions, and the same "Shortest-ray" navigation method. Their sensor parameters differ. For agent #1: N = 25, lr = 50.0, ({J = 15°, ¢ = 25°; for agent #2: N = 49, lr = 50.0, ({J = 30°, ¢ = 25°. Agent #1 reaches the goal in 70 time steps, while agent #2 reaches the goal in 62 time steps. Due to the "Shortest-ray" navigation type both agents tend to generate paths that go above the landscape features. As seen on Fig. Xl7 the agents find mountain ridges and follow them as far as possible while moving toward the goal. But different sensor parameters enable the agents to generate divergent paths. We investigate the influence of sensor "vision" quality on trajectory generation for two types of test terrain, mentioned earlier. The first one featmes large deep crater and series of canyons leading into it, while the second one is populated with hills of various height and footprint. Since the majority of landscape obstacles are represented by either depressions or prominences, these two terrains constitute a 43 valid choice of test platform. The first one is referred to as "crater & canyon" test terrain, and the second one- "hilly terrain". As stated earlier, four sensor "vision" quality parameters are identified: sensor configuration, defined by the number of ray surf aces Ns and number of rays on the I' ' ray surf ace dr,, as well as total number of rays N, sensor range ln sensor coverage angle <p, and sensor inclination angle ¢. For this work we assume sensor inclination angle that characterizes sensor installation to be constant. For all test cases it is set as follows: </J = zs•. 5.4.1. Sensor Coverage Angle rp We intend to demonstrate here that sensor coverage angle <pi s paramount for agent's ability to succes sfully negotiate any terrain. The full range of <p values (2° - 90°, 11<p = 2°) for each described earlier navigation method was examined in simulation and the range of <p values that leads to successful finding of a path through each of the chosen two test terrains was determined. Basing on the se results an acceptable <p value per sensor model (regardl ess of chosen navigation method and type oftest terrain) was determined. The agent's sensor coverage angle <p values that are beyond the fo und acceptable range lead to either crash or motion reversal. Motion reversal and resulting terminal goal loss typically occur when <p is large (wide coverage angle) and is illustrated on Fig. Xl8 on the example of "Min-Alpha-ray" navigation method. As described in Section 5.1, sensor is always oriented towards the goal. Orientation of the chosen sensor "vision" ray depends on the character of the terrain and utilized navigation method. Having a wide coverage angle may cause the chosen sensor "vision" ray to generate the navigation vector that deviates from the goal vector so much for a series of consecutive time steps that motion reversal occurs as shown on Fig. XIS. 44 (a) (b) Figure X18. Agents using "Min-Alpha-ray" navigation method negotiate "crater & canyon" test terrain. On Fig. Xl8 (a) illustrate s an agent with cp = 82° that successfully attains the goal, and (b) shows an agent with qJ = 84° that experiences motion reversal due to an out-of-range sensor coverage angle. Tra jectories of the agents are shown in purple, and chosen sensor "vision" rays are shown as pink arrows. Narrow sensor coverage angle negate s the diff erence between nav igatio n methods since the terrain intersecting rays become similar in length due to their closeness. In this case the character of terrain and initial position of an agent largely determine its behavior. As observed in simulation, narrow coverage angle is less of a problem for "hilly terrain" test terrain, but causes a crash inside the crater for "crater & canyon" test terrain. There due to the defined initial position an agent, regardless of its nav igatio n metho d, has to follow the canyon. The narrow coverage angle does not allow this agent to "see" the way out of canyon and forces it deeper and deeper into it as motion progresses. Thus, it could be stated that the agent performs according to the "Longest" ray navigatio n and crash inside the crater occurs as described in Section 5.3.1. An example of an agent with "Shortest" ray navigati on metho d and dif ferent qJ value s negotiating the "crater & canyon" test terrain is shown on Fig. Xl9 . 45 (a) (b) ts 80 60 40 20 � �� �� 20 ���� 40 �� ���� � ���� � (c) (d) Figure X19. Agents using "Shortest-ray" navigation method negotiate "crater & canyon" test terrain. On Fig . Xl9 (a) illustrates an agent with <p = 4° that crashes insides the crater due to narrow out-of- range sensor coverage angle, (b) shows an agent with <p = 52° that experiences motion reversal and crash due to an out-of-range wide sensor coverage angle, (c) shows an agent with <p = 16° (within the range sensor coverage goal) successfully attains the goal, and (d) shows graphed dependency of the number of time steps used by the agent vs. its sensor coverage angle, where successf ul terrain traversals are presented in blue and runs that resulted in crashes are shown in red. Tra jectories of the agents are shown in blue, and chosen sensor "vision" rays are shown as cyan arrows. 46 Fig. X20 shows graphed dependency of the number of time steps used by an agent vs. its sensor coverage angle for the remaining three navigation methods, performing on the "crater & canyon" test terrain: (a) - "Longest-ray", (b) - "Average-ray", (c) - "Min-Alpha (least slope) ray". Fig. X21 shows these dependencies for all four navigation methods, performing on the "hilly terrain" test terrain: (a) - "Shortest-ray", (b) - "Longest-ray", (c) - "Average-ray", (d) - "Min-Alpha (least slope) ray". On both Fig. X20 and Fig. X21 successf ul terrain traversals are presented in blue and runs that resulted in crashes are shown in red. ts 50 • • • • • • • 20 (a) ts "' "' • . . •.. . 1 40 ts 100 "' (c) (b) "' . . I Figure X20. Agents using different navigation methods negotiate "crater & canyon" test terrain. Besides acceptable ranges of q; values, the simulation results presented on Fig. X20 and Fig. X21 illustrate the strengths and weakne sses of the navigation methods as described in Section 5.3.1. For example Fig. X20(a) clearly depicts the inherent weakness of the "Longest-ray" navigation method: 47 tendency to chose low-lying paths leads this agent deeper and deeper into the crater until the required ascent angle becomes close to 90°, for which the available propellant fo rce is insuffi cient. Therefore, crash ensues. An agent using "Longest-ray" navigation method is ill-suited for "crater & canyon" type terrains regardless of its sensor coverage an gle. Performance of an "Average-ray" navigation is, as expected, highly dependent on the dominance of either short or long rays in the terrain-in tersecting set. Analy sis of the tra jectories of the crashed runs, indicated on the graph on Fig. X20(b), and corresponding evolution of ray length within the terrain-intersecting set prove the statement above . For mid-range <p crashes occurred inside the crater, and longer rays dominated the set, making an agent perform similarly to the "Longest-ray" navigation. Mid-range <p successful runs occurred when shorter rays dominated the set, thus, preventing the agent from descen ding into the crater and fo llowing the ridge instead. "Min Alpha (least slope) ray" is the best suited navigation method for the shown type of terrain, with the widest acceptable range of <p values. For all four navigation methods crashes for beginning-range <p (narrow sensor coverage an gle) occur due to canyon fo llowing and getting stuck inside the crater. Crashes and terminal loss of the goal for the end-range <p (wide sensor coverage an gle) occur due to motion reversal. Analyzing a final distance-to goal vs. <p graph for the crashed runs we observe that motion reversal mostly happens early in terrain traversal. An agent with wide sensor coverage angle gets "distracted" by terrain features located too far away from the desired direction of motion. Hence, its sensor "vision" ray generates a strongly deviating from the direction-to-goal navigation vector. Repeated for a series of consecu tive time steps it causes motion revers al. As seen on Fig. X21, for the "hilly terrain" test terrain narrow sensor coverage angle is beneficial . Due to the initial position of the agents and character of the chosen test terrain small <p makes all navigation methods find mountain passes and successfully fo llow them to the goal. As in the previous test, crashes for the end-range <p (wide sensor coverage an gle) for all navigation types occur due to motion revers al. 48 As in the previous test, "Min-Alpha (least slope) ray" is the best performer, with the widest acceptable range of <p values. It is expected, since this navigation method favors neither steep ascents to pass terrain obstacles from above, nor following canyons and other low-lying areas. Thus, as explained in detail in Section 5.3.1, it is less prone to the weakness of having insuff icient for the required ascent propelling force. ts ts "" lOO lOO "' I I "' 40 "' "' r r "' "' 20 40 2 0 40 ., (a) (b) Is ts 110 150 100 .. 100 .. .. .. I "' 40 110 80 f(J "' .. .. .. (c) (d) Figure X21. Agents using different navigation methods negotiate "hilly terrain" test ter.-ain. Since the initial position of the agent and character of this terrain are such that neither long nor short rays within the terrain-intersecting set dominate, "Average-ray" navigation method performs better here than on the "crater & canyon" test terrain. Nonet heless, mid-range <p crashes still occur due to excessive roaming and resulting motion reversal. An example of mid-range crashes for "Average-ray" navigation method is shown on Fig. X22: (a) - crash due to insufficient thruster force, <p = 46°, (b) - crash due to 49 excessive roaming and motion reversal, (/) = 72°. (a) (b) Figure X22. Agent with "Average-ray" navigation method, crashes on "hilly terrain" test terrain. (a) (b) Figure X23. Agent, using "Longest-ray" navigation method, fails to find mountain pass and crashes on "hilly terrain" test terrain. For the "Longest-ray" navigation method out-of -ran ge (/) crashes occur because of insufficient thruster force rather than motion reversal . This agent follows a canyon between hills and eventually needs to ascend at almost 90° angle near either 2n d ( (/) E [12°, 56°] ) or 3r d ( (/) E [6°, 10°] ) of the hill chains. Due to larger (/) agent, while still "seeing" the pass through the said hill chain, choses longer ray that leads it away from that pass, and, subsequently, to the necessity of sharp ascent. Failing to perform such an ascent, agent crashes, as shown on Fig. X23: (a) - crash at the 3r d (last) hill chain, (/) = 10°, (b) - crash at 50 the 2n d hill chain, qJ = 26°. Motion reversal is experienced when qJ 2: 58°. As stipulated earlier, fo r this navigation type smaller qJ value is more suitable since it allows an agent to choose less low-lying places, thus, behaving more like "Shortest-ray" navigation and being able to find at least some mountain passes. For an agent with very narrow sensor coverage angle (({J = 4°), regardless of its navigation method, successful attainment of the goal through "hilly terrain" test terrain is illustrated on Fig. X24 . Figure X24. Agent successfully negotiates "hilly terrain" test terrain and reaches the goal. As seen on Fig. Xl9 through X21, it is possible to define a range of qJ values that satisfies all navigation methods except the "Longest-ray" on both types of test terrain . Table T5. Acceptable and optimized ranges of (/) values for different navigation methods. Test Terrain Agent Navigation Method "Crater & Canyon" "Hilly Terrain" acceptable tp range optimized tp range acceptable tp range optimized tp range 1. Shortest Ray 12°- 50° 16°- 42° 2°- 40° 2°- 38° 2. Longest Ray crash inside the crater imminent 2 0 - 4 0 2 0 - 4 0 3. Min-Alpha Ray 14°- 90° 20°- 42° 2°- 58° 12°- 46° 28°- 30°, 34°- 42°, 2°- 44° 2°- 40° 4. Average Ray 34°- 42° 56°- 66° Common 34°- 42° 12°- 38° optimized tp range (n avigation method #2 excluded ) (n avigation method #2 excluded ) per terrain Common 34°- 38° optimized tp range (n avigation method #2 excluded ) for all terrains 51 The summary of results of the study on acceptable range of <p values is shown in Table T5. The acceptable ran ges of <p values were optimized in regards to minimization of the number of time steps needed for terrain tra versal in order to avoid unnecessary roaming. As seen from Table T5, it is possible to define a range of acceptable <p values such that an agent could succes sfully attain the goal regardless of navigation method and/or type of terrain. The acceptable <p range per terrain is the same as optimized range and is as follows: 34°- 42° for "crater & canyon" type terrain, and 2°- 4° for "hilly terrain" one. Choosing an acceptable tp range that is applicable to both terrains requires sacrificing the "Longest-ray" navigation method for two reasons: first, there exist no <p that can enable such an agent to avoid crash inside the crater in the "crater & canyon" test terrain, and second, the acceptable <p range for "hilly terrain" is outside the boundari es of such range for all navigation types on "crater & canyon" terrain. Hence, we define the acceptable <p range for both types of test terrains and all navigation methods except "Longest-ray" as 34°- 38°. This range is within the optimi zed range for "Shortest ray", "Min-Alpha ray" and "Average-ray" navigation types for both terrains. 5.4.2. Sensor Configuration: Number of Ray Surfaces and Distribution of Rays on the 1'1 Ray Surface (N s x dr1) Since increase in the number of rays in the set reqmres greater computing power (both required memory and computation time), it is important to determine the least acceptable sensor configuration for successful attainment of the goal, navigation method and type of terrain regardless. Hence, we needed to explore the influence of sensor configuration on system performance and determine the pattem(s) if such exist. We have studied the diff erences in system pe rform ance due the changes in sensor configuration for 2 scenar ios: with the increase of the number of rays belonging to the 1 " ray surf ace (dr , ) while the number of ray surf aces (Ns) stayed constant, and with the increase of Ns while dr , sta yed constant. Total number of rays in the sensor ray set was computed as described in Section 5.1, where number of rays for each ray 52 surf ace was defined in Table Tl. The whole range of acceptable sensor coverage an gles, as defined in Section 5.4.1, was in vestigated in the contents of this study. For the presented detailed example simulations were performed for the fo llowing sensor parameters: tp = 34•, lr = 50. Investigating the effe ct of changing the number of ray surf aces (Ns) while keeping dr , constant, we fo und out that the magnitude of vector diff erence between selected sensor "vision" rays decreases with increasing Ns. Obviously, the severity of this eff ect is terrain-dependent. Even though the size of coordinate grid is the same for both test terrains, function z = f (x, y) that describes evolution of elevations throughout the terrain has a significa ntly greater number of local extrema for "hilly terrain" than for "crater & can yon". Hence, the former has more features to be sensed, and navigation over it is more sensitive to changes in Ns. As expected, change in Ns has the most profound effect on "Average Ray" navigation, regardl ess of the type of terrain. The reason for this is ob vious: since the median of all terrain-intersecting rays is used to determine navigation vector, any change in the number of rays and their distribution within the set will yield diff erent navigation vectors. In certain cases too few or too many rays could cause a crash, even though acceptable <p value was specified. This is illustrated on Fig. X25. Fig. X25 (I) depicts performance of an agent over "crater & canyon" test terrain, where (a) shows number of time steps required to achieve the goal (or crash into terrain) plotted vs. sensor configuration number, and (b) shows a crash that happens at 4x4 configuration (configuration #21); (2) depicts performance of an agent over "hilly terrain" test terrain, where (c) shows number of time steps required to achieve the goal (or crash into terrain) plotted vs. sensor configuration number, and (d) shows a crash that happens at 3xl8 configuration (configuration #16). On Fig. X25 (!.a) and (2.c) runs that resulted in a crash are shown in red, while runs that reached the goal are shown in blue. 53 ts 80 60 10 • • • • • i • 40 20 I 10 20 nr 30 (a) (b) (1) ts 100 80 • • • 60 20 10 40 20 10 20 nr JO (c) ( d) (2) Figure X25. Agent with "Average-ray" navigation method and variable sensor config uration negotiates two types of test terrain. Notwithstanding the above, the trend of sensor 'Vision" rays becoming more similar with the increase of N5 persists for all navigation methods. The ob tai ned numerical results are shown on Fig. X26 (for "crater & canyon" test terrain) and X27 (for "hilly terrain" test terrain), and Table T6. Consideration of these results and the corresponding increases in demand for computing power prompt the conclusion that having N5 > 4 may be unf easible. 54 The designations for Fig. X26 and X27 are as follows. VRi represents the vector of chosen sensor ''vision" ray for sensor configuration with N5 = i, TS refers to the number of time steps to attain the goal. Letters designate navigation method such as : (a) - "Shortest-Ray", (b) - "Min-Alpha-Ray", (c) - "Average-Ray". "Longest-Ray" navigation method is not shown since at the given sensor coverage angle it results in a crash over either test terrain. For Table T6 I:J.ij= II VRj - VRdl represents magnitude of vector diff erence between chosen sensor ''vision" rays VRi and VRj for N5 = i and N5 = j. 0. 8 0. 6 • • ... 02 . · . .. · · .. . . 10 20 30 40 so 10 10 "' 30 40 . . . . .. . . . TS 60 70 . . . . so TS 0. 8 0. 6 OA 02 . . . . . · .. . +--- 1� 0--�2 0��3 0� · ·� · · 40 ��S 0� · � . . � � � · ·�7 �0 TS (a) (b) 10 . ·· .. . . · ; .. . . . . (c) 0.25 020 O.IS 0.10 ODS 2 • 10 · . · "' ·· .. . . . · · . . · · · . . . .. 30 40 so TS Figure X26. Perf ormance of an agent with dif f erent navigation methods over "crater & canyon" test terrain: magnitude ofvector dif ference between sensor "vision" rays for varying number of ray surf aces. 55 IIVR3-VR2II IIVO.-VRJII IIVR,-VO.II 20 10 20 0. 8 15 15 0. 6 10 ID O A . 05 . . 05 0. 2 ·. - ... .. . . - .. . . _ .. . . .. . ........ .. _ . . - -- · ... .. . . · . . · . . .. . . . . .. .. .. . . .. . TS TS . . - . ·· -· TS 20 "' 60 80 1 00 20 "' 60 80 1 00 20 "' 60 80 1 00 (a) IIVR3-VR2 II IIVO.-VR311 UVR,-VO.II 20 20 IS IS IS 10 10 10 .. · ·.· · · . .. . .. . . . . . .... . . .. .... ... .. . . .. . . . . ... TS . .. TS . . TS 20 40 60 20 40 60 20 40 60 (b) IIVR3-VR2 II IIVR.t-VRJII UVR,-VO.II IS IS . . . . 10 . . 10 . . : - · - - - . . ... . . . .. . . •. . .. . . . . . .. . . . . . . . . . . . -· - .. .. . - - -· . . . · · TS · .. . TS TS 20 40 60 80 20 40 60 80 20 40 60 80 (c) Figure X27. Perf ormance of an agent with dif ferent navigation methods over "hilly terrain" test terrain: magnitude of vector dif f erence between sensor "vision" rays for varying number of ray surf aces. As illustrated by Fig. X26 and X27, and by Table T6 a change in sensor configuration (number of ray surf aces N5 and resulting total number of rays in the set) has greater effe ct on navigation for "hilly terrain" than for "crater & canyon". This is due to the higher number of fe atures per unit area on "hilly terrain" - sensor with larger number and denser distribution of rays acquires more terrain featur es, resulting in diff erent ''vision" ray and different tra jectories. It accounts for the greater spread of ''vision" ray diff erence data (higher standard deviation) for "Shortest-Ray" and "Average-Ray" navigation methods over "hilly terrain" when N5 increases fr om 3 to 4. The increased number of rays and their 56 denser distribution gives the sensor an opportunity to acquire srnaller terrain features, thus, yielding a diff erent "vision" ray. Further increase of N5, nonet heless, results neither in greater diff erence between selected sensor "vision" ray s, nor in greater deviation of the obtained per-time-step data from the mean value. Table T6. Evolution of the magnitude of vector diff erence between sensor "vision" rays for varying number of ray surfaces per navigation method per test terrain. Agent Navigation 1:1i j= IIVR j - VR d l per Test Terrain Parameter "Crater & Canyon" "Hilly Terrain" Method i=2,j=3 i=3,j=4 i=4,j=5 i=2,j=3 i=3,j=4 i=4, j=5 I. Shortest Ray Mean (11;) 0.0979 0.0778 0.0491 0.3889 0.3367 0.118 6 Std. Deviation (11 ;·) 0.16 86 0.1309 0.0617 0.4205 0.4619 0.2118 2. Longest Ray - crash is imminent Mean (1:1, ·) 1.15251 0.8862 0.4755 2.1 359 1.9823 1.3196 3. Min-Alpha Ray Std. Deviation (11 ;·) 2 0123 1.3243 0.6427 3.9332 3.4421 2.4702 Mean (1:1, ·) 1.8345 1.6722 1.1225 4 0670 3.9287 1.9671 4. Average Ray Std. Deviation (1:1i j ) 1.3622 1.8861 1.2077 4.2846 4.4505 1.6722 The greatest diff erence between sensor "vision" rays corresponding to diff erent Ns is observed for the "Average-Ray" navigation method, as stated earlier. The same effect of greater spread of "vision" ray diff erence values when Ns increases from 3 to 4 is also observed for "crater & canyon" test terrain. There the additional terrain features, acquired by the greater number of sensor rays and their denser distribution, have a smaller footprint than the ones on the "hilly terrain". Hence, for this case the deviation of"vision" ray diff erence from the mean value is greater. In simpler terms, on the "hilly terrain" agent's sensor with less rays still "sees" the smaller hills, just not as well as with more rays, while on the "crater & canyon" terrain it doesn't "see" the smaller features until the number of rays in the set becomes sufficient. When these smaller terrain features are acquired, further increase of the number of sensor rays brings only marginal improvement to the quality of navigation. Thus, the conclusion ofunf easibility of increasing the number of ray surf aces beyond 4 holds true for all navigation methods over both types oftest terrain. 57 For further determination of the effect sensor configuration has on system performance we have explored the following sensor configurati ons, increasing dr, by 2 for subsequent trials: -2 ray surf aces with 4 through 18 rays within the 1' 1 ray surf ace (2x4 through 2xl8 configurati ons), -3 ray surf aces with 4 through 24 rays within the 1' 1 ray surf ace (3x4 through 3x24 configurati ons), -4 ray surf aces with 4 through 30 rays within the 1' 1 ray surf ace (4x4 through 4x30 configurati ons). For other than "Average-Ray" navigation types sensor configuration does not have much influence on the ability of agent to succes sfully attain the goal. Nonethel ess, the impact of sensor configuration on the magnitude of the required control force (constraint fo rce) and velocity has been noted. It is illustrated on Fig. X28 and X29. The designations for Fig. X28 and X29 are as fo llows. The letters represent navigation method: (a) "Shortest-Ray", (b) - "Min-Alpha-Ra y", (c)- "Average-Ra y"; color and shape represent different Ns: red circle - Ns = 2, green square - Ns = 3, blue triangle - Ns = 4. If simulation run resulted in a crash, the required control fo rce was set to zero for every time step. Mean( Fc) and Std Dev( Fc) denote mean value and standard deviation of the control force respectively. As stated earlier, sensor configuration has the greatest impact on "Average-Ray" navigation. The crashes, resulting from unacceptable configurati ons, are clearly demonstrated on Fig. X28 and X29. Again, the severity of the observed effect is terrain-dependent. It is the worst for "crater & canyon" test terrain. There the change in sensor configuration shifts the median of the set toward either longer ray, causing an agent to go deeper into the canyon and eventually getting stuck inside the crater, or toward shorter ray, leading an agent out of the canyon and eventually to the goal. As shown on Fig. X28, for every number of ray surf aces there are several configurations that lead to a crash. Notwithstanding the earlier conclusions, for any acceptable configuration the vector diff erence between sensor "vision" rays, corresponding to diff erent Ns, is small for "crater & canyon" test terrain. That results in the similar values of mean and standard deviation of the required control fo rce, as illustrated by Fig. X28. As shown on Fig. X29, for "hilly terrain" the diff erences between mean and standard deviation of the required control fo rce, 58 corresponding to different N5, are larger. That is consistent with the previous conclusion of lesser similarity between sensor "vision" rays corresponding to different N5• Mean(Fc) 12 . 0 11 .s 11 . 0 10 .s Mcan(Fc) 12 . 0 11 .8 11 . 6 11 A 11 . 2 Mean(Fc} 6 4 2 0 I T • • .. . .. • 1 10 • • .. .. 10 • • i • • IS • I IS • 20 • • .. • l 20 . .. StdDev(Fc) • • .. .. .. 8.0 7.5 7.0 6.5 2S 30 drl ' (a) StdDev(Fc} • .. • .. • .. .. .. 4. 4 i .. • .. l 8 4.2 4.0 3. 3. 6 2S 30 d q (b) StdDev(Fc) 8 • • 6 j s 4 2 .. 0 • .. (c) • .. • I • .. .. 10 IS 20 2S .. .. i • ' • .. .. • .. .. � . .. I .. .. 10 !S 20 2S 30 drl • • • • • • .. .. 10 . IS 20 2S 30 • • • .. .. FigureX 28. Performance of an agent with different navigation methods over "crater & canyon" test terrain: mean and standard deviation of the required control force for varying sensor configurations. 59 Mcan(Fc ) 10 .s 10 . 0 9. s Mean(Fc) II A II . 2 II . 0 10 . 8 10 .6 Mean(Fc) 10 6 4 2 0 • .. 1 .. • r Figure X29. .. • t • I .. 10 IS 20 • • • • • I • • • • .. t I .. .. .. • 10 IS 20 • • .. .. .. .. 2S .. .. .. .. • 2S .. .. 2S 30 dr1 StdDev(Fc} 8. 4 8.2 8. 0 7 . 8 7 . 6 (a) StdDev(Fc) 6 . 4 6.2 6. 0 S. 8 (b) StdDev(Fc) 8 4 2 0 (c) • • .. • .. .. .. • .. ' 10 IS 20 2S .. • • • .. • .. • i .. .. .. • I I • l .. • • • .. • .. : 10 IS 20 2S • .. • .. I • .. Performance of an agent with different navigation methods over "hilly tenain" test tenain: mean and standard deviation of the required control force for varying sensor configm·ations. Since sensor configuration is demonstrated to impact the magnitude of the required control force (constraint force) and velocity, it could be used for optimization. While the obtained constraint force is 60 already minimized as discussed earlier in this paper, we would like to choose sensor settings that yield the smallest possible constraint fo rce and also have it as close to constant as possible for the duration of motion. Thus, minimization of both mean value and standard deviation of the computed constraint fo rce is perf ormed. In addition to that we would like to choose such sensor configuration that causes an agent to move with relatively constant velocity, avoiding significant accelerations/ decele rations. Hence, minimization of magnitude and range of the computed constraint force is balanced with minimization of standard deviation of velocity. The summary of results of such optimization is presented in Table T7. Table T7. Optimized sensor configuration for diff erent navigation methods. Sensor Configurations per Test Terrain Agent Navigation Method "Crater & Canyon" "Hilly Terrain" I. Shortest Ray {2, 3, 4} x8 {2, 3, 4} x!O 2. Longest Ray crash is imminent 3. Min-Alpha Ray 3x8, 4x4, {2, 3} x!O {2, 3} x8, 2x!O, 4xl2 4. Average Ray {2, 3, 4} x8, 3x4 {2, 3, 4} X {4, 6, JQ } Optimized Confi guration per Terrain 3x8 2x1 0 Optimized Co nfi guration for all Terrains 3x8 As seen from Table T7 it is possible to choose an optimized sensor configuration per type of test terrain, regardl ess of agent's navigation method. Choosing configuration that is optimi zed for all terrains and all navigation types is difficult and, in general case, may be impossible. In that case choosing a configuration that minimizes control fo rce mean and standard deviation is deemed accepta ble; configuration with smaller total number of rays is pref erred. Also, since the required control fo rce is already minimized as described in Section 2, configuration that yields tighter data clustering around the greater mean value of the control fo rce is preferred to the configuration with greater spread of data around smaller mean. By this reasoning we chose 3x8 sensor configuration (N = 49) for all navigation methods on all terrains for the study on sensor range. It needs to be noted that although this additional optimization step may be desirable it is not mandatory. As shown on Fig. X28 and X29, and in Table T7, the set of acceptable sensor configurations 61 can be limited to S = {2, 3, 4}x{4 - 22}. For "Shortest-Ray" and "Min-Alpha-Ray" navigation methods any member of {S} could be chosen. Nonethel ess, if "Average-ray" navigation type is used, defining the set of acceptable sensor configurations (subset of {S}) becomes necessa ry since a wrong configuration could cause crash as described earlier. 5.4.3. Sensor "Vision" Range lr This study was performed for the fo llowing sensor parameters as defined earlier: tp = 34•, sensor configuration 3x8 (total number of rays N = 4 9 ). As fo llows from the proced ure of navigation vector determination, described in Section 5.2, sensor "vision" range must be much greater than the distance an agent can cover within a single time step. Assuming that an agent attains its maximum velocity in a strictly horizontal motion, the sensor "vision" range is as fo llows: l r 2 ll<i m= II M , where ll<? maxll is Sm¢ magnitude of the agent's estimated maximum velocity, and /1t is the length of a time step. Also, as it is obvious from Fig. X5 and X6, in order for the sensor to be able to acquire terrain, the fo llowing condition shall be met: l r 2 h max , where h max is the maximal allowable elevation above terrain. Therefore, the Cos¢ smallest acceptable sensor "vision" range is chosen as l r ;:::: Ma x { h max , 114'm . ax11M } . Cos ¢ Sm¢ From the sensor orientation geometry presented on Fig. X5(b) it is clear that in order for the goal vector to play a part in determination of navigation ray, sensor inclination angle shall be closer to �- Noneth eless, having a close-to-horizontally-looking sensor is detrimental to the quality of terrain- fo llowing as shown on Fig. X30. There agents sense the first line of hills early into motion progress, rise up above these hills, and do not descend again until goal is in the line-of-sight. In this manner the agents navigate using only the tallest terrain obstacles, whereas smaller landscape features are not traced at all. Since for the shown test terrain the tallest hills have comparable height, all the generated tra jectories are close to horizontal, and hm ax is violated for the duration of motion. Hence, having a large sensor inclination angle negates the idea of terrain-f ollowing. At the same time small <1> severely diminishes influence of the goal vector on navigation ray, making it depend solely on terrain features in the 62 immedia te vicinity of an agent, and, theref ore, making it more vulnerable to the main inherent weakness of reactive navigation methods - getting trapped in the local minima or losing the goal due to motion reversal. Figure X30. "Hilly terrain" traversal with close-to-horizontal-looking sensor, single-ray-set sensor model, QJ = 75°. On Fig. X30 the trajectory color desig nates agent's navigation method are as follows: blue - "Sho rtest-ray", green - "Longest-ray", Purple - "Min-Alpha-ray", red - "Average-ra y". Navigation rays are not shown for clarity of picture. The range of sensor inclination angle that preserves both the terrai n-f ollowing fe ature of the presented navigation methods and beneficial impact of the goal vector has been determined as ¢ E [15° - 35°] . Considering the previously defined system parameters such as agen t's physical capabilities that determine its maximal available velocity, the derived sampling frequency (time step length), and given maximal allowable elevation above terrain hm ax, we chose sensor inclination angle as ¢ = 2 so. Hence, the smallest acceptable sensor "vision" range is estimated as lr = 15. We explore the range lr = (15, 90}, with increment of 5. As the simulations demonstrate, sensor "vision" range mcrease beyond 25 has negligible eff ect on the agent's performance. The results are shown on Fig. X31. 63 TS .. (a) 12.0 TS 110 " " i . �L-��_L��--�--�----���L-�-L���L-� Sd&(I'C) • (b) . . . . . . . . . . . . . . . IIJ IOJ 10. 211 ( c) ""*'<fC) 12J 1 2.0 IIJ II. IOJ 10. u 211 "' .. (d) Figua·e X31. Performance of an agent with diff erent navigation methods over two test terrains for varying sensor "vision" range. On Fig. X31 the designations are as follows. The graphs on (a) and (b) show the num her of steps an agent needs to successfully traverse the test terrain and reach the goal: (a) - "crater & canyon"; (b) - "hilly terrain". The graphs on (c) and (d) show mean and standard deviation of the required control 64 (constraint) fo rce: (c) - "crater & can yon"; (d) - "hilly terrain". The data points color and shape are in accordance with the selection of sensor "vision" ray and are as follows: blue circle - "Shortest", yellow diamond - "Min-Alpha" (Least Slope), green triangle - "Avera ge". The rest of designations are as fo llows: TS represents the number of time steps needed to reach the goal, Mean( FC) shows the mean value of the required control (constraint) fo rce computed for the duration of motion, and Std Dev( FC) shows its standard deviati on. "Longest-ray" navigation method perform ance is not shown on Fig. X3 1 since with the chosen sensor coverage angle it results in an inevitable crash over both test terrains. As described in Section 5.4.1 the "Longest-ray" navigation method is unable to negotiate "crater & canyon" test terrain, regardl ess of the agent's sensor "vision" range. Nonethel ess, there are two values of <p that allow all agents, regardless of their navigation type, to pass the "hilly terrain". Those values are: tp = zo and tp = 4°. Thus, we run the simulation for the fo llowing sensor parameters: tp = 4°, sensor configuration 3x8 (total number of rays N = 4 9 ), and observe how the agents negotiate the terrain, and how agent's performance is irdluenced by its sensor "vision" range. These results are shown on Fig. X32. On Fig. X32 the designations are as follows. The graphs on (a) show mean and standard deviation of the required control (constraint) fo rce, while (b) demonstrates the number of steps an agent needs to succes sfully tra verse the test terrain and reach the goal, and (c) shows the generated tra jectories at lr = 35. The data points color and shape are in accordance with the selection of sensor "vision" ray and are as fo llows: blue circ le - "Shortest", purple square - "Longest", yellow diamond - "Min-Alpha" (Least Slope), green triangle - "Avera ge". The rest of designations are as fo llows: TS represents the number of time steps needed to reach the goal, Mean( FC) shows the mean value of the required control (const raint) fo rce computed for the duration of motion, and Std Dev( FC) shows its standard deviation. Color designations for tra jectories and sensor "vision" rays are assigned in accordance with navigation method and are as fo llows (first color indicates tra jectory, and the second one indicates sensor "vision" ray): blue I cyan - "Shortest-Ray" ray navigation method; green I light green - "Longest" ray navigation method; 65 purple I pink - "Min-Alpha" ray navigation method, red I orange - "Average" ray navigation method. I I 1 i (a) 00 . . . . . . . . . . . . . . " ., . ; ; ; . . . ' ; ; • . . . ; " ., . " 10 t 1 "' .. "' .. ( b) r • • • ••••••••• ( c) Figure X32. Performance of an agent with diff erent navigation methods over "hilly terrain" for varying sensor "vision" range. As illustrated on Fig. X31 and X32, increasing sensor range beyond 25 has minimal eff ect on agent' s performance. Fla ttening of perf ormance parameters is particularly pronounced for "crater & canyon" test terrain, na vigation method regardless. For "hilly terrain" it is clearly visible for the "Shortest-ray" navigation, while for the other two methods performance parameters weakly fluctuate around some constant mean. This difference is attributed to the character of terrain. "Crater & canyon" test terrain has one large feature - crater & canyon system, and two smaller depressions. The only hills there border these features and are approximately of the same height. 66 Environmental characteristics such as canyon width and goal position, as well as system parameters that include the defined interval of accepted sensor coverage angle value s, and agent's initial position define agent's field of"vision": an agent can "see" the inner surf aces of the crater & canyon system, or can also acquire the hills at the canyon edge. Nonetheless, the agent cannot "see" beyond these hills, i.e. acquire inner surf aces of any other terrain depre ssion or hills on the far sides of it, since its sensor coverage angle is not wide enough for that. As soon as an agent "sees" the canyon ridges at some value of ln further increase of sensor range does not matter -t here are no diff erent surf aces to acquire. Thus, the set of rays that inters ect the terrain does not change with the increasing ln yielding the same "vision" ray and, subsequently, the same navigation vector. This effect is clearly seen on Fig. X3l(a) - "vision" ray for the "Shortest-ray" and "Min-Alpha-ray" navigation methods is the same for all sensor ranges, while for "Average-ray" navigation the median ray of the set shifts (sensor "sees" diff erent terrain surf aces) until certain sensor range is reached. Then sensor acquires every surf ace it can and ray set stays the same regardl ess of further increase in sensor range. As seen on Fig. X31, the thre shold value is lr = 25. The "hilly terrain" has greater number of features, varying in height and fo otprint. Thus, the possibility of "see ing" diff erent terrain surf aces with increasing lr is greater. The "Shortest- ray" navigation is minimally influenced by that since it chooses the ray, intersecting the highest hill, and it stays almost the same (small fluctuations around a constant value are observed) af ter certain value of lr is reached. For the other two navigation methods existence of smaller terrain features matters, because with varying sensor range they can "see" diff erent terrain surf aces and their chosen "vision" rays will diff er. Hence the fluctuations occur in the number of time steps, needed to reach the goal, and magnitude of the required control force. Nonethel ess, due to design of navigation algorithm and selection of the range of acceptable <p values the agent does not roam the terrain. Thus, the agent's sensor interacts with relatively narrow portion of terrain for all the considered values of lr. The number and size of surf aces sensor rays could inters ect is limited, which makes the described diff erences in number of time steps and control fo rce magnitude fluctuate around some constant value, with relatively small deviations, as seen on Fig. X3 l(b) 67 and (d). As expected, these oscillations are greater for "Average-ray" navigation smce it is the most sensitive to changes in its set of terrain-intersecting rays. Therefore, it is still possible to define a thre shold lr value, beyond which system performance flattens . This value is the same: lr = 25. With narrower sensor coverage angle the performance parameters flattening eff ect is strongly pronounc ed for all navigation methods for "hilly terrain". There the diff erence between perform ance of "Shortest-ray", "Average-ra y", and "Min-Alpha-ray" navigation methods is minimal, as seen on Fig. X32. For the further study of this dy namical system we choose lr = 45 since at this sensor range value the required control fo rce is minimal for every navigation method, regardless the type oftest terrain. 5.4.4. LOS Range As described earlier in Section 5.2, when an agent comes within the line-of-sight (LOS) of the goal, and terrain-acquiring sensor detects no obstacles between the agent and the goal, the navigation vector is computed as a vector between the agent and the goal. Studying system performance with varying LOS ran ges we fo und out that this parameter gains importance for small lr value s. An example illustrating the influence of LOS range on the character of motion for an agent using "Min-Alpha ray" navigation method is shown on Fig. X33, where the designations are as fo llows: (1) demonstrates an agent with small lr (lr = 15) terminally losing the goal due to insuf ficient LOS range (LOS = 10) , (a) showing the trajectory with sensor "vision" rays for every time step, and (b) - chosen sensor "vision" rays, where those that inters ect the terrain are shown in yellow, and those that do not are shown in red; (2) demonstrates an agent with the same lr (lr = 15) succes sfully reaching the goal when the LOS range is increased (LOS = 20) , (c) showing the tra jectory with sensor "vision" rays for every time step, and (d) - chosen sensor "vision" ray s, where those that inters ect the terrain are shown in yellow, and those that do not are shown in red; 68 (3) demonstrates an agent with greater lr (lr = 20) succes sfully reaching the goal even though its LOS range is small (LOS = 10) , (e) showing the tra jectory with sensor "vision" rays for every time step, and (f)- chosen sensor "vision" rays, where those that in tersect the terrain are shown in yellow, and those that do not are shown in red. Terminal loss of the goal, observed for agents using "Shortest-ray" and "Min-Alpha ray" navigation methods at the sensor "vision" range of lr = 15, is due to the insufficient LOS range. After negotiating the last obstacle on its path the agent enters the flat portion of the terrain, where the goal is located, at a height that is signific antly greater than both the agent's sensor "vision" range and LOS range. Thus, two problems arise: a) agent does not have a sight of the terrain, b) agent cannot acquire the goal in the line of -sight. This situation causes the agent to descend as described in Section 5.2. As motion progresses, the agent's distance from the goal never becomes smaller than the available LOS range. Thus, agent never acquires the goal and, consequently, never reaches it. Therefore, LOS = 10 is not sufficient; increasing LOS to 20.0 solves the problem. When sensor "vision" range 1s increased to lr = 20, this problem does not anse s1nce diff erent tra jectory is generated. Even though terrain is still lost, when agent completes negotiating the last obstacle on its path, this agent emerges at a different position and is able to acquire a goal with short LOS = 10. For lr = 20 increase of LOS to 20 does not change the character of motion and/or generated tra jectory. The fo llowing conclusion can be derived from the discussion above : shorter sensor "vision" range requires larger LOS, and shorter LOS does not impair performance of a system with longer sensor "vision" ranges. Appendix 1 presents the more detailed illustration of the distance-to-goal and agent's coordinate evolution for each of the cases depicted on Fig. X33. 69 (a) (b) ( I ) (c) (d) (2) (e) ( f) (3) Figure X33. Performance of an agent with "Min-Alpha ray" navigation method over "hilly 70 terrain" - cumulative eff ect of sensor "vision" range and LOS range on agent's perf ormance. 5.5. Sensor "Vision" Quali ty and Its Influence on System Performance, 3-prong sensor model As discussed earlier in this paper, switching to a 3-prong sensor may be either beneficial or detrimental to navigation, depending on the chosen navigation method. Sensor "vision" quality, m particular, overall sensor coverage angle and the resulting field of "vision" have paramount importance, similarly to the case of a single-ra y-set sensor model described in the previous section. 5.5.1. Sensor Coverage Angle <p For determination of the acceptable sensor coverage angle we have considered the fo llowing cases, shown on Fig. X34. On Fig. X34 the designations are as follows: (1) - side view of the sensor ray set, sin gle-set sensor model rays are shown in black while rays that construct the 3-prong sensor are shown in color: blue for the main ray set, red and green for the auxiliary ray sets; (2) - top view of the sensor ray set; (a) - narrow 3-prong sensor, where <f1sin g le-c one = L [ =1 <tJ i ; (b) - medium-width 3-prong sensor, where 'P sin g le-c one < L f =l I{J; < 3 <fJsin g le-c one; (c) -w ide 3-prong sensor, where L f =l <p ; = 3 <fJsin g le-c one· There narrow (a) and wide (c) cases represent the considered nummum and maximum <p values. Considering the smallest 'P sin g le- c one = 2° and assuming the angular distance between ad jacent ray sets of a 3-prong sensor to be 2°, the maximum and minimum sensor coverage an gles are as follows: 'P min = 3 * 2° + 2 * 2° = 10°, and 'P max = 3 * 90° + 2 * 2° = 274°. Angular distance between the cones is not set to zero lest rays that belong to neighboring sets coincide. System performance was studied on the same two types of test terrain- "crater & canyon" and "hilly terrain". 71 y 0 -5 -20 -40 (a) (a) -20 0 -2!1 -40 -10 10 y 0 -20 -20 -40 (b) (c) (1) (b) (c) (2) Figure X34. 3 instances of 3-prong sensor coverage and "vision" field in comparison to the single-cone sensor. The graphed dependency of the number of time steps used by an agent vs. its sensor coverage angle is presented on Fig. X35 through X38. Under sensor coverage angle cp here and further in this section we understand coverage angle of an individual component of the 3-prong sensor. 72 IS 100 10 "' "' "' 20 IS 100 10 "' "' "' 20 IS I«< "" 100 Ill "' "' "' "' " "" '"' . "' I "' "' .., ., .. (a) . . . • . . . IIII I I "' (c) "' (a) r l .. (c) · · r I I I I 1 .. . . I 10 • • 1 ' I . .. 11111 .. 'P 'P Is 100 .. "' "' "' 20 (b) .. 1 .. lXI ., .. . . .. .. r .. I I I .. (d) Figure X35. Agents with dif ferent navigation methods negotiate "crater&canyon" terrain, part 1. 73 u " "' .. lll .. "' .. (a) " "" "' I Ill! . IT : IJ . . ,, �� Uli�Uli � � � Uhl � 00� ll-� �LW � � (c) 100 .. .. .. :10 (a) (b) t5 " . '"' . "' "' , ., . r . . . "[I' . l l II . 1 II I I I t I I I ,. .. .. ., (c) (d) (2) Figm·e X36. Agents with different navigation methods negotiate "crate1·&canyon" terrain, part 2. 74 ts 12l) ICO .. .. «> "' 1S "" 100 ., ""' "" 100 "' "' 'P (a) . . V' (1) . . I r l . . . d ! Ill. lt1 1 "' "' ., .. (c) (2) IS 1., 100 ., is "" ICO IS lO ts 100 1.10 ,. "' (b) . . "l r II .. (d) . I (b) (d) V' . . i I . i iTr' ir I<J .. Figure X37. Agents with different navigation methods negotiate "hilly terrain", part 1. 75 IS "" 100 "' IS "" ""' "" "" "' IS ""' llO "" "' 0 0 0 ,. (a) 0 0 . . Ill! 1111r 0 I 0 H1 1r 1� "' 611 ., (c) I 0 II "' 611 · · r (a) l : 0 II I�� 1 1°1111· .. ., . (c) " >10 "" "" "" 100 "' � (b) Is 150 100 50 (d) (1) (b) IS "" i 0 0 "' o , o "' 0 "' � (d) (2) Figure X38. Agents with different navigation methods negotiate "hilly terrain", part 2. 76 The designations for Fig. X35 through X38 are defined as fo llows. On Fig. X35 and X37 (1) depicts performance of an agent using "Shortest" ray out of each individual sensor ray set, while (2) shows perform ance of an agent using "Longest" ray out of each individual sensor ray set; selection of the resulting 3 rays is represented as: (a) - "Shortest", (b)- "Longest", (c)- "Min Alpha", (d) - "Avera ge. Succes sful terrain tra versals are presented in blue and runs that resulted in crashes are shown in red. On Fig. X36 and X38 (1) depicts performance of an agent usmg "Min-Alpha" ray out of each individual sensor ray set, while (2) shows perform ance of an agent using "Average" ray out of each individual sensor ray set; selection of the resulting 3 rays is represented as: (a) - "Shortest", (b) - "Longest", (c) - "Min-Alph a", (d) - "Avera ge". Successful terrain traversals are presented in blue and runs that resulted in crashes are shown in red. The acceptable lfJ range was chosen as the longest uninterrupted stretch of successful terrain tra versals with conseq uent values of lfJ. As seen from Fig. X35 through X38, this range occurs for the smaller values of l{J, i.e. for narrower coverage angle. That is consistent with the conclusions derived in ana lysis of the system with a single set of sensor rays -t oo wide coverage angle leads to terminal loss of the goal due to either motion reversal or roaming . The succes sful terrain tra versals, where value of lfJ lies beyond the limits of the chosen acceptable range, involve significant roaming and system perform ance may become unpredictable as demonstrated on Fig. X39. There (1) shows agents negotiating "Crater & Canyon" test terrain, and (2) shows agents negotiating "Hilly Terrain" test terrain. The navigation methods and sensor coverage an gles are as fo llows: (a) - selection of ray out of every individual ray set is "Longest" ray, tp = 66•; (b) - selection of ray out of every individual ray set is "Longest" ray, tp = 84° (the only value of lfJ which yields no crash for "Longest-Longest" navigation method according to Fig. X39(2.b)); (c)- selection of ray out of every individual ray set is "Average" ray, <p = so•; 77 (d) - selection of ray out of every individual ray set is "Min-Alpha" ray, <p = 58° (the only value of qJ which yields no crash for "Min-Alpha-Longest" navigation method according to Fig. X39(1 .b)) . (a) (b) (1) (c) (d) (2) Figure X39. Excessive roaming due to wide (out-of-range) sensor coverage angle. The trajectory and sensor "vision" ray colors are assigned in accordance to the choice of sensor "vision" ray out of the selected 3 individual rays and are as follows (first color indicates trajectory, and the second one indicates sensor "vision" ray): blue I cyan - choice of "Shortest" ray out of three; green I light green - choice of "Longest" ray out of three; 78 purple I pink- choice of"Min-Alpha" ray out of three, red I orange - choice of"Average" ray out of three. As seen on Fig. X39, wide sensor coverage an gles result in agent roaming the terrain. This roaming may or may not result in motion reversal, and may or may not result in reaching the goal. For example, on Fig. X39(l.a) agent with "Longest-Longest" navigation method experiences motion reversal, while on Fig. X39(l.b) the agent with the same navigation method but even larger value of lfJ reaches the goal despite roaming. Similar effect is observed on Fig. X39(2) - an agent with "Average-Longest" navigation experiences motion reversal while an agent with "Min-Alpha-Longest" navigation and much larger value of lfJ reaches the goal despite a lot of roaming. Since such an effect persists regardl ess of navigation method and type oftest terrain, we can conclude that system performance becomes unpredictable when lfJ value is out-of-range. The results of determining acceptable and optimi zed ran ges of lfJ are summari zed in Table T8, where lfJ represents coverage angle of an individual ray set of a 3-prong sensor, and in the designation of the Agent Navi gation Method first term refers to the choice of ray of an individual ray set, and second term refers to the choice of "vision" ray out of the resulting three sensor rays. Similarly to the previously discussed case of navigation with a single ray sensor model the acceptable ran ges of lfJ values were optimi zed in regards to minimization of the number of time steps needed for terrain traversal in order to avoid unnecessary roaming. Analyzing performance of the system with 3-prong sensor and diff erent navigation methods over two test terrains, the fo llowing conclusions could be derive d. As shown in Table T8, the 16 navigation methods available for a 3-prong sensor model are divided into 4 groups in accordance to the choice of repres entative ray out of every individual ray set. As expected, 3-prong sensor allows using smaller (narrower) ray sets as its components, and, subsequently, wider range of both acceptable and optimized lfJ value s, per terrain and for all terrains, navigation method regardless. 79 Table T8. Acceptable and optimized ranges of tp values for diff erent navigation methods, 3- prong sensor model. Test Terrain "Crater & Canyon" "Hilly Terrain" Agent Navigation Method acceptable tp optimized tp acceptable tp optimized tp range range range range Group I I. Short est - Shortest Ray 2°- 54° 2°- 30° 2°- 46° 2°- 36° 2. Shortest - Longest Ray go_ 24 o go_ 24 o 2°- 24° 2°- 20° 3. Shortest - Min-Alpha Ray 4°- 36° 4°- 30° 2°- 30° 2°- 24° 4. Short est - Average Ray 10 °- 46° 10 °- 30° 2°- 28° 2°- 28° Group 2 5. Lon gest- Shortest Ray 4°- 48° 6°- 32° 2°- 32° 2°- 32° 6. Lon gest- Longest Ray crash is imminent 2 0 - 4 0 2 0 - 4 0 7. Lon gest- Min-Alpha Ray 10 °- 30°, 38°- 54° 10 °- 26° 2°- 24° 2°- 24° 8. Lon gest- Average Ray crash is imminent 2°, 14 °- 18° 2°, 14 °- 18° Group 3 9. Min-Alpha - Shortest Ray 2°- 90° 4°- 62° 2°- 36° 2°- 36° 10. Min-Alpha - Longest Ray go_ 24 o go_ 24 o 2°- 20° 2°- 20° II. Min-Alpha - Min-Alpha Ray 4°- 48° 4°- 34° 2°- 22° 2°- 22° 12. Min-Alpha - Average Ray 6°- 34°, 38°- 56° 6°- 34° 2°- 20° 2°- 20° Group 4 13. Average - Shortest Ray 2°- 70° 4°- 40° 2°- 44° 2°- 44° 14 . Average -L ongest Ray 20°, 26°, 30°, 32° 20°, 26°, 30°, 32° 2°- 22° 2°- 22° 15. Average - Min-Alpha Ray 4°- 48° 4°- 30° 2°- 40° 2°- 36° 16. Average -A verage Ray 14 °- 30°, 44°- 52° 14 °- 30° 2°- 28° 2°- 26° Common optimized tp range 14°- 24° 2°- 20° per terrain (n avigation methods #6, #8 & #14 (n avigation methods #6 & #8 excluded ) excluded ) Common optimized tp range 14°- 20° for all terrains (n avigation methods #6, #8 & #14 excluded ) Using 3-prong sensor model allows having at least some narrow range of acceptable lfJ values for "hilly terrain" for all navigation types (2°- 4° to accommodate the poorest performer- "Longest-Longest" 80 method). Nonethel ess, if a wider range is desired, the "Longest-Longest" navigation method should not be used. Using 3-prong sensor model also allows having a wider than for a single-ra y-set sensor model range of optimi zed lfJ values (14°- 20°) for all terrains and all navigation methods with the exclusion of the 3 poorest perf ormers : "Longest-Longest", "Longest-Aver age", and "Average-Lon gest". This implies a wider range of values for total sensor coverage angle -- 'P total E [46° - 64°]. For a single ray set sensor, also with exclusion of "Longest ray" navigation method, sensor coverage range is 34°- 38°, and it is optimi zed for all the remaining three navigation methods over both terrains. Switching to a 3-prong sensor model is most beneficial for navigation types that involve choosing "Average" ray out of every individual ray set. Here the acceptable range of lfJ values increases m comparison with a single ray set sensor navigation, in particular over the "crater & canyon" type of terrain. The smaller lfJ values become acceptable if auxiliary ray sets are able to acqmre ridges surrounding the canyon and shift their respective median rays toward shorter length. Then for all navigation types of Group 4 except "Average-Longest" an agent will choose sensor "vision" ray that fo llows canyon ridge rather than descends further into the canyon, thus avoiding the problem of getting stuck in the can yon/crater. This is illustrated on Fig. X40 for the worst-case scenario where the width of sensor coverage field is the same for single-ra y-set and 3-prong sensors, i.e. 'P sin g le-c one = L f =l <p ;. The denominations for Fig. X40 are as fo llows: single-ra y-set sensor rays are shown in black while rays that construct the 3-prong sensor are shown in color: blue for the main ray set, red and green for the auxiliary ray sets; l5 denotes the goal vector, R1 is the chosen sensor "vision" ray for a single-ra y-set sensor, R2 _0 , R2.1 , and Rn represent the chosen rays of main and auxiliary ray sets of the 3-prong sensor respectively. Since Fig. X40 shows the top view, and ray sets of both sensors are inclined, the ray length may not show true to size. On Fig. X40 it is clearly visible that the majority of rays of the single-ra y-set sensor in tersect the bottom of the canyon. Assu ming that canyon depth is greater than its width, the sensor "vision" ray - median ray for the chosen navigation type -i s shifted toward longer length, leading the agent deeper into 81 the canyon. For a 3-prong sensor only the rays of the main set yield a long "vision" ray that leads down the canyon- R2_0 . The rays of auxiliruy sets intersect canyon sides in addition to its bottom, so, a larger number of shorter rays exist in these selection sets. Thus, "vision" rays of auxiliruy sets - R2_1 and R2_2 - are in general case shotier than R2.o and lead an agent out of the canyon. Any navigation method belonging to Group 4 except "Aver age-Longest" will chose either R2.1 or R2.2 as sensor "vision" ray, hence, preventing an agent from descending deeper into the canyon. Figure X40. y I z R2.J canyon ridge i5 canyon ridge o- -- -- -- -- -- -- -- -- -- -- -- ---- -- -- --� x Acquiri ng oftenain and chosen "vision" rays fo•· single-ray - set and 3 - prong sensors; "crater & canyon" test terrain. 3-prong sensor navigation is also beneficial for navigation types that involve "Longest" ray. As expected, only the extreme case of "Longest" ray navigation - "Longest-Longest" method over "crater & canyon" terrain results in an imminent crash. The other navigation types that choose "Longest" ray out of every individual ray set ru-e capable of succes sfully reaching the goal, and the optimized range of <p values for that is 14°- zoo over both ten·ains (14°- Z4° over "crater & canyon" and zo_ zoo over "hilly terrain"). Which :fut1her illustrates the eru·lier statement that 3-prong sensor navigation may alleviate the inherent weaknesses of single ray set navigation methods. As expected, "Longest" ray, no matter whether it is chosen out of every individual ray set or as a sensor "vision" ray out of three, is the poorest perform er over both types of test terrain for the reasons, explained earlier in Sections 5.3.1 and 5.4.1. As soon as navigation method involves the "Longest" ray 8Z the acceptable range of lfJ values shrinks, as demonstra ted by Table T8. Nonetheless, unlike for a single ray set navigation, having a "Longest" ray selection does not mean that crash is imminent for any navigation method other than "Longest-Longest". It crashed over "crater & canyon" terrain as expected since it's more extreme than "Longest" ray of a single ray set navigation, which crashes inside the crater for all values of lfJ. Over "hilly terrain" "Longest-Longest" navigation works within a narrow range of l{J, just like in a single ray set navigation case, and for the same reason -n arrow coverage angle makes this navigation type to behave like "Shortest-ray", attempting to move above the hills, but also fo unding mountain passes and successfully following them to the goal. "Longest-Average" navigation method over "crater & canyon" test terrain behaves similarly to the "Longest-Longest" one due to the chosen initial conditions and shape of the terrain, which are responsible for the prevalence of the longer rays in every individual ray set, when <p is within the determined acceptable range. Successful attainment of the goal, observed at tp = {60°, 62°, ?SO- 82°} is atypical due to a lot of excessive roaming. With such wide coverage an gles for an individual sensor ray set both auxiliary sets acquire edges of the canyon, as shown on Fig. X39, and possibly the terrain features beyond those ridges. Since width of the canyon is greater than its depth, and that sensor range is sufficiently long, the longest ray of the main set that acquires bottom of the canyon is shorter than the longer terrain acquiring rays of the auxiliary sets. That being the case, the median ray out of three individual ones is the one belonging to an auxiliary set. Consequently, such sensor "vision" ray will be leading an agent towards the surf aces beyond the canyon. As soon as this agent leaves the canyon, it'll start roaming the terrain. Since individual ray set coverage angle is wide, it is possible that agent will signific antly deviate from its goal direction with every time step and may never reach it. Thus, we conclude that agent's reaching the goal while having the above listed values of <p is aty pical. Illustration of agent's roaming the terrain with tp = 62° and tp = ?SO is presented on Fig. X41, where the trajectory of the fo rmer is shown in red, and of the latter- in blue. Sensor "vision" rays are not shown for the clarity of picture. 83 Figure X41. Acquiring of terrain and chosen "vision" rays for "Longest-Average" navigation method over "crater & canyon" test terrain. The effect of broadening the agen t's field of view by moderately increasing the distance between adj acent sensor ray sets and, thu s, having larger gaps between individual coverage areas was studied on the defined earlier range of acceptable cp values per test terrain. We have chosen moderate distance increase as approximately �, in order to avoid having large gaps in sensor coverage area. Then for the investigated range of acceptable cp values the distance between adj acent ray sets should be in the range [7°-12°] for "crater & canyon", and [1 °- l 0°) for "hilly terrain". We expect the impact of having a wider coverage area with gaps to depend on the navigation method and on character of the terrain. For hilly terrains it may provide better maneuverability by off ering more ray choices. On the other side it may be detrimental because of the increased possi bility of motion reversal as discussed above. For "crater & canyon" type of terrain it may also cause an agent to get stuck inside the crater due to dispa rity of length between rays chosen out of every individual set. This eff ect is pronounced for navigation types that use "Longest" ray out of three selected rays. Examples that demonstrate both positive and negative effects of increasing the distance between adjacent ray sets are shown on Fig. X42 and X43, while the results are summarized in Table T9. For these examples the previously defined optimiz ed range of (/J per test terrain was explored, and distance between ad jacent ray sets was increas ed from 2° to 8°. 84 Table T9. Effect of increasing the distance between adjacent ray sets, 3-prong sensor model. Test Terrain Agent Navigation Method "Crater & Canyon" "Hilly Terrain" Expected Actual Expected Actual I. Short est - Shortest Ray no crash no crash no crash no crash crash at no crash no crash 2. Shortest - Longest Ray no crash 'P = {22°, Z4°} 3. Shortest - Min-Alpha Ray no crash no crash no crash no crash 4. Short est - Average Ray no crash no crash no crash no crash 5. Lon gest- Shortest Ray no crash no crash no crash no crash crash imminent crash imminent crash imminent no crash at 6 . Lon gest- Longest Ray for <p > 4° 'P � {2 0 , 4 0 , 60 } 7. Lon gest- Min-Alpha Ray no crash no crash no crash no crash no crash for no crash for no crash <p E [14° - 18°] <p E [8° - 1Z 0 ] 8. Lon gest- Average Ray crash imminent for & <p = 2°, crash & <p = 2°, crash <p E [Z0° - Z4°] imminent for imminent for other <p values other values of <p 9. Min-Alpha - Shortest Ray no crash no crash no crash no crash crash at I 0. Min-Alpha - Longest Ray no crash no crash crash at <p = 10° <p= {14°, 16°, Z4°} &<p= ZOC II. Min-Alpha - Min-Alpha Ray no crash no crash no crash no crash crash at 12. Min-Alpha - Average Ray no crash no crash no crash <p E [14° - zoe] 13. Average - Shortest Ray no crash no crash no crash no crash crash immin ent, no crash at 14 . Average -L ongest Ray except at <p= no crash crash at <p = 2 0° 'P = zoe {14°, zoe, Z4°} 15. Average - Min-Alpha Ray no crash no crash no crash no crash 16. Average -A verage Ray no crash no crash no crash no crash 85 ts- S-L 100 80 60 40 20 1 0 ts -L-L 1 00 • . . 80 60 40 20 Figure X42. ts-L-V 00 40 20 lS 20 '/1 (a) ts- L-V 100 80 60 40 l '/1 20 10 IS 20 (d) (1) (e) (2) (b) ts - A-L 80 60 40 ts - A-V 1 00 10 60 40 20 (c) . . (f) . . Effect ofwide spacing of individual sensor ray set on agents' behavior, number of time steps for reaching the goal vs. distance between ray sets. On both Fig. X42 and X43 (1) depicts performance of agents negotiating the "crater & canyon" type of test terrain, while (2) represents performance of agents negotiating the "hilly terrain" type of test terrain. On Fig. X42 the letter designations correspond to navigation types and are as fo llows: (a) - "Shortest - Longest", (b) - "Longest - Average", (c) - "I:vfin-Alpha - Longest", (d) - "Longest - Longest", (e) - "Longest - Average", (f) - "I:vfin-Alpha - Longest". Successful terrain traversals are presented in blue and runs that resulted in crashes are shown in red. On Fig. X43 the letter designations correspond to the choice of ray from an individual ray set and are as fo llows: (a) - "Shortest", <p = 24°, (b) - "Longest", <p = 22°, (c) - "Min-Alpha", <p = 24°, (e) - "Average", <p = 20°, (f) - "Min-Alpha", <p = 20° ; (d) - depicts "I:vfin-Alpha-Long est" navigation method; color designations of trajectory and sensor "vision" rays correspond to the choice of ray out of 86 the selected three rays and are as follows for all components of Fig. X43 but (d) (f irst color indicates tra jectory, and the second one indicates sensor ''vision" ray): blue I cyan - choice of "Shortest" ray out of three; green I light green - choice of "Longest" ray out of three; purple I pink - choice of "Min- Alpha" ray out of three, red I orange - choice of "Average" ray out of three. (a) (b) ""' / • • II"' • """ II' _L � 1-' I• 1/ � v lL 'f / ""' (c) (d) ( 1) 87 (e) (f) (2) Figure X43. Eff ect ofwide spacing of individual sensor ray sets on agents' behavior, traj ectories. On Fig. X42 and X43 posi tive eff ect of increasing the distance between ad jacent ray sets is illustrated on l(b ). There an agent successf ully reaches the goal despi te having an out-of -acc eptable-range qJ value. Nega tive effect is more prevalent as illustrated on l(a), l(c), 2(e), and 2(£), where crash happens despite an agent having an acceptable qJ value. Fig. X43( d) illustrates the diff erence in tra jectories generated by the same navigation method - "Min- Alpha-Longest", same single-ray-set qJ = 14° that is within the acceptable range, but angular distance between adjacent ray sets is diff erent. For green tra jectory this distance is, as stated before, 2°, and the agent successf ully reaches the goal. Increasing this distance to 8° (blue tra jectory) causes the agent to get stuck inside the crater. It happens because one of the wider spaced auxilia ry ray sets is capable of "seeing" the bottom of the crater, and consequently yields the longest of 3 represen tative rays which is chosen as sensor "vision" ray. Considering the results, presented on Fig. X42 and X43, and in Table T9, we can conclude that the maj ority of the presented navigation methods experience no inf luence of moderate increase of distance between adjacent ray sets, regardless of the type of test terrain. For the rest but the three poorest performers - #6, #8, and #14, this impact is negative, i.e. crashes occur despite the acceptable value of qJ, and the fact that total sensor coverage angle was not violated. As expected, for the "crater & canyon" test 88 terrain navigation methods that choose "Longest" as sensor "vision" ray are adversely aff ected by the increasing distance between ray sets. It occurs due to their heightened susceptibility to getting stuck inside the crater (these crashes are observed on Fig. X42 (Ia) and (!c)). For the "hilly terrain" the most negatively aff ected are navigation methods that choose "Min-Alpha" ray out of an individual ray set. For the poorest performers - #6, #8, and #14, the effect of wider gap between adjacent ray sets is positive, in particular for "crater & canyon" test terrain. There successful attai rnnent of the goal becomes possible for "Longest-Average" and "Average-Longest" navigation methods at some values of <p. Wider spaced auxiliary ray sets allow acquiring canyon edges and, subsequently, shifting the median of ray set in question towards shorter ray. Thu s, agent avoids descending to the bottom of the crater and finds the way out it towards the goal (as seen on Fig. X42(lb)). For "Longest-Longest" navigation method over "crater & canyon" test terrain wider spacing of ray sets does not help since there is always the longest ray leading an agent toward crater bottom. For the "hilly terrain" the positive effect on poorest perform ers is minimal. For "Longest-Average" the range of acceptable <p values is shifted toward smaller values, but it is not increased. For "Longest Longest" that range is increased from [2• - 4°] to [2• - 6°], and for "Average-Longest" the effect is even negative - there occurs a crash at an acceptable <p value. Considering the results, presented in Table T8 and T9, we can conclude that it is possible to define a range of acceptable <p values such that an agent could succes sfully attain the goal regardless of navigation method and/or type of terrain. The optimized range of tp values is [14° - 24°] for "crater & canyon" test terrain and [2• - 20•] for "hilly terrain". Choosing an acceptable tp range that is applicable to both terrains requires sacrificing the three poorest perform ers - "Longest-Longest", "Longest-Aver age", and "Average-Lon gest" (#6, #8, and #14) navigation methods . It is necessa ry for two reasons: first, there exist no <p that can enable them to avoid crashing inside the crater in the "crater & canyon" test terrain, and second, the acceptable <p range for #6 for "hilly terrain" is outside the boundari es of such range for all navigation types on the "crater & canyon" terrain. Hence, we define the acceptable tp range as [14° - 89 20•] for all terrains and all navigation methods with the exception of #6, #8, and #14. With the distance of 2• between adjacent ray sets it yields the range for the total sensor coverage angle as 5.5.2. Sensor Configuration: Number of Ray Surfaces and Distribution of Rays on the 1'1 Ray Surface (N s x dr1) Similarly to the single-ra y-set navigation, increase in the number of rays requires greater computing power. For a 3-prong sensor this effect is, obvi ously, more pronounc ed due to the 3 times as large number of rays to be processed. Hence, the importance of finding the least acceptable sensor configuration for successful attai rnn ent of the goal, regardless of navigation method and type of terrain, cannot be underestima ted. Following the procedure for the single-ra y-set sensor parameter study, we have inve stigated the diff erences in system performance due the chang es in sensor configuration for 2 scenar ios: with the increase of the number of rays belonging to the 1 '' ray surf ace ( dr,) while the number of ray surf aces ( Ns) stayed constant, and with the increase of Ns while dr, stayed constant. Total number of rays in the sensor ray set was computed as described in Section 5.1, where number of rays for each ray surf ace was defined in Table Tl. The whole range of acceptable sensor coverage an gles, as defined in Section 5.5.1, was investigated in the contents of this study . For the presented detail ed example simulations were performed for the fo llowing sensor parameters: individual ray set coverage angle tp = 14•, distance between adjacent ray sets 2•, total sensor coverage angle 'P tot al = 46°, lr = 50. The effe ct of decreasing magnitude of vector diff erence between selected sensor "vision" rays with increasing Ns, observed earlier for a single-ra y-set sensor model, occurs for a 3-prong sensor also. Severity of this effect is again dependent on the character of terrain, as explained in Section 5.4.2. As expected, the sensor configuration is important for navigation methods that choose "Average" and ":rvrin-Alpha" rays out of every individual ray set, in particular those that select "Longest" or "Average" as sensor "vision" ray out of th ree. For them too many or too few rays could cause a crash, even though 90 the acceptable lfJ value was specified. By definiti on, "Average-Average" is particularly sensitive to both sensor configuration and character of terrain. Number of rays and their distribution in an individual set yield diff erent sets of terrain-intersecting rays, thus, skewing the median. Fig. X44 illustrates the influence of sensor configuration on perform ance of the above 3 navigation types. The designations for Fig. X44 are as fo llows. Parts (a) through (d) show agent's perform ance over "crater & canyon" test terrain, where navigation methods are: (a) - "Min-Alpha-Lon gest", (b) - "Min Alpha-Averag e", (c) - "Average-Aver age"; (d) presents an example of tra jectory that resulted in crash due to unacceptable sensor configuration for "Min-Alpha-Longest" navigation method, 4x26 sensor configuration; (e) and (f) show perform ance of an agent with "Average-Longest" navigation method over "hilly terrain", and an example of crash for 2x4 sensor configuration. The graphs plot number of time steps (until reaching the goal or crash) vs. sensor configuration number. Successful terrain tra versals are presented in blue and runs that resulted in crashes are shown in red. Configuration number corresponds to the unique Ns x dr, and is explained in more detail later. The other designations are as follows: generated tra jectory is shown in purple, and sensor "vision" ray determined for every time step is shown in pink. As seen on Fig X44, crashes occur on both sides of the number-of-rays spectrum : (d) happens for too large number of rays (configurations 3xl8 , 3x20, 4x20, 4x24, 4x26, 4x28), and too small number of rays (configuration 2x4); (e) happens for too small number of rays (configuration 2x4), and too large number of rays (configuration 4xl0). Obviously, sensor configuration is more important for the "crater & canyon" test terrain, which will be explored in more detail further in this Section. The obtained numerical results of the study on influence of increasing Ns on agent's performance are shown on Fig. X45 through X47 (for "crater & canyon" test terrain) and X48 through X50 (for "hilly terrain" test terrain), and Table TIO. The common designations for Fig. X45 through X50 are as fo llows: VR; represents the vector of chosen sensor "vision" ray for sensor configuration with Ns = i, TS refers to the number of time steps to attain the goal. Performance of agents using "Shortest-Avera ge", "Shortest-Lon gest", and "Shortest-Min- 91 Alpha" navigation methods over both test terrains are not shown due to very small magnitude of vector difference. For the same reason performance of agents that use navigation methods, selecting "Longest" ray out of every individual ray set, is also not shown. IS 100 80 w 40 20 10 IS 1 ()0 llO 60 40 20 20 (a) 1 0 IS IS 80 10 w 60 40 40 20 20 30 t:l 1 0 20 30 t:l (b) (d) 30 t:l (e) (f) . . (c) Figure X44. Crashes due to unacceptable sensor configuration. 92 020 0.15 0.10 005 10 20 30 Figure X45. · . . · ·· ··· ··· ·· · 50 60 TS 008 OA!6 . ... om 10 20 30 . · ..... ·.:· · . : · · · 40 "' 60 TS uvx5-V"<II 005 .... OD3 002 .. 001 .. . . 10 20 30 ... "' 60 Perf ormance of an agent that uses "Shortest-Shortest" navigation method over TS "crater & canyon" test terrain: magnitude of vector diff erence between sensor "vision" rays for varying number ofra y surf aces. On Fig. X46 letters designate navigation method such as: (a) - "Min-Alpha-Shortest", (b) - "Min- Alpha-Longest", (c) - "Min-Alpha-Min-Alpha", (d) - "Min-Alpha-Average". On Fig. X47 letters designate navigation method such as: (a) -" Average -Shortest", (b) - "Average - Min-Alpha", (c) - "Average -Average". "Average-Longest" navigation method is not shown since at this sensor coverage angle it results in an imminent crash inside the crater, sensor configuration regardless. On Fig. X49 and X50 letters designate the choice of navigation ray out of three individual rays such as : (a) -" Shortest", (b) -" Longest", (c) - "Min-Alpha", (d) - "Average". For Table TlO 11ij= IIVRj - VRdl represents magnitude of vector difference between chosen sensor ''vision" rays VRi and VRj for N5 = i and N5 = j. According to the results, presented in Table TlO and on Fig. X45 through X50, navigation types that select "Shortest" or "Longest" ray out of individual ray set are much less sensitive to changes in N5 than those that utilize "Min-Alpha" or "Average" rays. For these former two groups of navigation methods the diff erence between sensor ''vision" rays that correspond to different N5, is at least an order of magnitude smaller than the one observed for a single-ray-set sensor. The spread of values around the mean is also tighter, as shown in Table TlO and Table T6. 93 IIVR3-VR2II IIVO.-VRJII IIVR,-VO.II 2D 2D 2D 1 5 15 15 ID I D ID 05 05 05 . . 10 20 30 40 so TS 10 20 30 40 so TS 1 0 20 30 40 so ·· . · TS (a) IIVR3-VR2 II IIVO.-VR311 UVR,-VO.II 1 0 10 10 •''• · . · ·· . · . (d) Figure X46. Perf ormance of an agent that uses "Min-Alpha" ray out of every individual ray set over "crater & canyon" test terrain: magnitude of vector dif f erence between sensor "vision" rays for varying number of ray surf aces. 94 IIVR3-VR2II IIVO.-VRJII IIVRs-VO.II 2D 2.S t.s 2D I .S t.s ID I D ID o.s o.s . . . . · . . o.s . . . . . ... ···· · · . . . . . . . . . TS ·· · ·· TS . . ... . TS to 20 30 40 50 "' 10 20 30 40 50 "' 10 20 30 40 50 "' (a) IIVR3-VR2 II IIVO.-VR311 IIVRs-VO.II , 1 0 3D 2.5 2D I, I D o.s . . . · . · . . . . .. . . . . . .. . · . . · · . 10 20 30 40 50 "' TS 10 20 30 40 so TS 10 20 )() 40 50 TS (b) IIVR3-VR2 II IIVR.t-VRJII IIVRs-VO.II (c) Figure X47. Perf ormance of an agent that uses "Average" ray out of every individual ray set over "crater & canyon" test terrain: magnitude of vector dif f erence between sensor "vision" rays for varying number of ray surf aces. 0.6 0.15 OA OA 03 0.10 03 0.2 0.2 ODS 0.1 0.1 . . . . . . . · . . . . - . . . 20 "' _ ..-• - TS 80 . . . . . . . . .. .. . . - . . 20 "' . · . • : '• TS 80 Figure X48. Perf ormance of an agent that uses "Shortest-Shortest" navigation over "hilly terrain" test terrain: magnitude ofvector dif ference between sensor "vision" rays for varying number of ray surf aces. 95 IIVR3-VR2II IIVO.-VRJII IIVR,-VO.II 2D 2D 2D 1 5 15 15 ID I D ID 05 05 05 . . 10 20 30 40 so TS 10 20 30 40 so TS 1 0 20 30 40 so ·· . · TS (a) IIVR3-VR2 II IIVO.-VR311 UVR,-VO.II 1 0 10 10 •''• · . · ·· . · . (d) Figure X49. Perf ormance of an agent that uses "Min-Alpha" ray out of every individual ray set over "hilly terrain" test terrain: magnitude of vector dif f erence between sensor "vision" rays for varying number of ray surf aces. 96 o.s · . · 0 0 o O +- � � �- - · �: - - �� · · � · · � · · �� - · - · - - �� - � 20 40 60 80 O o oo 0 0 0 0: oo OO ooO 0 oo oOOo oo TS "' 4<1 "' ., IIVR3-VR2II I.S I D o.s . . · 00 · 0- . . . - ... 0 ... "' 4<1 "' "' TS 2D o.s .. o - 00 "' 4<1 "' 4<1 IIVR.t-VRJII . . . 20 4<1 IIVl<s-""<11 2D I.S I D o.s .. oO 0 : 0 0 0 0 0 o "" _0 .. 00 .. 0 00 � "' 80 "' (a) IIVXs-""<11 (b) Oo o • oooOOOO o o O .. TS 00 0 •o oO o o • - - "' ., "' 4<1 "' ., (c) IIVR5-YR411 2D I .S I D o.s . . . ••• : 0 0 0 o . 0 . - · . . 0 _ _ .. .. . ... o • 60 ., TS 2D 4<1 60 "' (d) Figure XSO. Perf ormance of an agent that uses "Average" ray out of every individual ray set TS TS over "hilly terrain" test terrain: magnitude of vector dif f erence between sensor "vision" rays for varying number of ray surf aces. 97 Table TlO. Evolution of the magnitude of vector diff erence between sensor "vision" rays for varying number of ray surfaces per navigation method per test terrain. Agent Navigation Method Parameter I. Shortest-Shortest Mean (11; ; ) Std. Deviation (11; ; ) 2. Shortest-Longest Mean (11i i ) Std. Deviation (11; ; ) 3. Shor test-Min-Alpha Mean (11; ; ) Std. Deviation (11 " ) 4. Shortest-Average Mean (11; ; ) Std. Deviation (11; ; ) 5. Longest-Shortest Mean (11i i ) Std. Deviation (11 ij ) 6. Longest-Longest 7. Longest-Min-Alpha Mean (11;·) Std. Deviation (11; ; ) 8. Longest-Average Mean (11;·) Std. Deviation (11; ; ) 9. Min-Alph a-Shortest Mean (11;·) Std. Deviation (11;·) I 0. Min-Alpha -Longest Mean (11;·) Std. Deviation (11;·) II. Min-Alpha-Min-Alpha Mean (11; ; ) Std. Deviation (11;·) 12. Min-Alpha- Average Mean (11;·) Std. Deviation (11;·) 13. Average-Shortest Mean (11;·) Std. Deviation (11; ; ) 14 . Average-Longest Mean (11; ; ) Std. Deviation (11;·) 15. Average-Min-Alpha Mean (11;·) Std. Deviation (11;·) 16. Average-Average Mean (11; ; ) Std. Deviation (11; ; ) 1:1ij = IIVR j - VRill per Test Terrain "Crater & Canyon" "Hilly Terrain" i=2, j=3 i=3,j=4 i=4,j=5 i=2,j=3 i=3,j=4 i=4,j=5 0.0088 0.0056 0.0056 0.0403 0.0347 0.0067 0.0297 0.0141 0.0097 0.0941 0.0632 0.0200 0(10 " 14 ) 0(10" 14 ) o(l o- 14 ) o(l o- 14 ) o(l o- 14 ) o(l o- 14 ) o(l o- 14 ) o(l o- 14 ) crash is imminent o(l o- 14 ) o(l o- 14 ) o(l o- 14 ) o(l o- 14 ) 0.3163 0.2866 0.1721 0.5384 0.7012 0.3625 0.4595 0.4345 0.4303 1.2182 0.8954 0.5939 1.1116 1.0184 0.9983 0.0063 0.6504 0.7080 1.9238 1. 9447 20 271 0.0368 1. 261 1 1.5720 0.2134 0.1528 0.1323 1.2706 0.6281 0.7227 0.3726 0.3303 0.2266 2.2785 1.9514 1.3966 0.7726 0.7477 0.2109 1. 0494 0.8638 0.9951 1.5952 1. 6043 1. 2600 2.3273 1.9813 1.9534 0.4063 0.3691 0.3762 0.4722 0.4420 0.4349 0.3987 0.4402 0.3635 0.3703 0.4898 0.3738 crash is imminent 0.8725 1.2194 0.8962 1.1512 1.7293 1.17 81 0.8157 0.5974 0.7479 0.7771 0.7117 0.6869 1.5776 0.7451 0.9185 1.1258 1.7018 1.0682 1.3285 1.1980 1.0888 0.4285 0.8314 0.8008 1.8278 1.7983 1.5565 0.3588 1.3280 1.3482 By definition. the navigation methods that choose "Average"" or "Min-Alpha•• rays out of individual ray set are more sensitive to the changes in Ns. even for smaller ray set coverage angles. We observe greater differe nces between chosen sensor "vision•• rays because these rays may belong to diff erent ray sets. The greatest diff erence occurs when "vi sion" ray for two conse cutive time steps "jumps" from one 98 auxiliary ray set to the other. These "jumps" are clearly seen on Fig. X47 through X50. Due to the "jumps" scatter of data around the mean may differ greatly between transitions from one value of Ns to the other, even if those mean values are similar. Nonetheless, the trend of sensor "vision" rays becoming more similar with the increase of Ns persists for all navigation methods, regardless the type oftest terrain. Similarly to a single-ra y-set navigation, the conclusion that having Ns > 4 may be unf easible holds true. As for a single-ra y-set sensor model, for further determination of the effect sensor configuration has on system performance we have explored the fo llowing spectrum of sensor configurati ons, increasing dr, by 2 for subsequent trials: - 2 ray surf aces with 4 through 18 rays within the 1 " ray surf ace (2x4 � 2xl8 configurati ons, configuration # h·8), - 3 ray surf aces with 4 through 24 rays within the I " ray surf ace (3x4 � 3x24 configurati ons, configuration # 9·d 9), - 4 ray surf aces with 4 through 30 rays within the I " ray surf ace ( 4x4 � 4x30 configurati ons, configuration # 20-o-33). The observed dependency of agent's performance on sensor configuration per navigation method per type oftest terrain is presented in Table Til. As stated earlier in Section 5.5.1 navigation methods #6, #8, and #14 are the poorest performers over both types of test terrain and are recommended to be avoided. With the exception of these three navigation methods influence of sensor configuration on agent's ability to attain the goal is not only navigation method dependent, but also type of terrain dependent. For "hilly terrain" the remaining 13 navigation methods experience no difficulty reaching the goal, regardless sensor configurati on. "Crater & canyon" terrain is more difficult to traverse due to the inherent danger of getting stuck inside the crater. As expected and shown earlier on Fig. X44, navigation methods that choose "Min-Alpha" or "Average" rays out of every individual set are more susceptible to fo llowing the canyon into the crater. In particular, this concerns the methods that select "Longest" or "Average" rays out of three as sensor "vision" ray. 99 Why "Longest" is self-explanatory, and "Average" because the 3-ray set may be skewed toward longer rays, leading the agent deeper inside the canyon. "Average-Average" navigation method is particularly influ enced by sensor configuration because all the medians - for every individual ray set and for final set of three rays - could be skewed towards longer rays. It is illustra ted on Fig. X44 (a) through (c): "Average-Average" has the greatest number of unacceptable sensor configurati ons, while "I'vlin-Alpha- Averag e" has the least, and "I'vlin-Alpha-Longest" is in the midd le. Table Tll. Influence of sensor configuration on performance for diff erent navigation methods. Agent Navigation Method Occurrence of Crashes due to Unacceptable Sensor Configuration "Crater & Canyon" "Hilly Terrain" 1. Short est - Shortest Ray no crash no crash 2. Shortest - Longest Ray no crash no crash 3. Shortest - Min-Alpha Ray no crash no crash 4. Short est - Average Ray no crash no crash 5. Lon gest- Shortest Ray no crash no crash crash is imminent for all crash is imminent for all 6. Longest - Longest Ray configurations configurations 7. Longest - Min-Alpha Ray no crash no crash crash is imminent for all crash occurs for some configurations 8. Lon gest- Average Ray configurations throughout the specbrrun 9. Min-Alpha - Shortest Ray no crash no crash Min-Alpha - Longest Ray crash occurs for some configurations no crash 10. throughout the specbrrun 11. Min-Alpha - Min-Alpha Ray no crash no crash Min-Alpha - Average Ray crash occurs for some configurations no crash 12. on the high end of the specbrrun 13. Average - Shortest Ray no crash no crash crash is imminent for all crash occurs for some configurations 14 . Average -L ongest Ray configurations on the high and low ends of the specbrrun 15. Average - Min-Alpha Ray no crash no crash crash occurs for some configurations no crash 16. Average - Average Ray throughout the specbrrun 100 It is also noted that the choice of sensor "vision" ray out of three rays is more important for agent's ability to reach the goal than the choice of ray out of an individual ray set. It is clearly recognizable on the example of navigation types #9 - 16. For example, #10 experiences crashes for configurations throughout the spectrum since it selects "Longest" ray out of three as sensor "vision" ray. Hence, it fa vors downward motion, which makes it more prone to getting stuck inside the crater. At the same time #12 crashes only for configurati ons with large number of rays, where more rays out of every set may acquire the bottom of the canyon vs. its slopes and the 3-ray set gets skewed toward longer ra ys. Simultaneously, #9 that chooses "Shortest" ray out of three does not experience any problem for all considered sensor configuration since it fa vors upward motion, leading it out of the canyon. Same pattern is observed for navigation types #13-16: #14 gets stuck in the crater for all sensor configurati ons, #16 has some acceptable and some unacceptable configurati ons, and #13 always reaches the goal. Similarly to the case of a single-ra y-set sensor model, for navigation methods other than the discussed above, sensor configuration does not have much influence on the ability of agent to successfully attain the goal. Nonethel ess, it has an impact on the magnitude of the required control force (constraint force) and velocity as illustrated on Fig. X 51 through X5 8, and could, therefore, be used for optimization. On Fig. X51 through X58 letters denote the choice of sensor "vision" ray out of three individual rays and are as fo llows. On Fig. X51, X53, X55, and X57: (a) - "Shortest", (b) - "Longest", (c) - "Min-Alpha", (d) - "Avera ge". On Fig. X52 and X56: (a) - "Shortest", (b) - "Min-Alpha" . On Fig. X54 and X58: (a)- "Shortest", (b) - "Min-Alpha" , (c)- "Avera ge". Color and shape of the data points represent different N5: red circle - N5 = 2, green square - N5 = 3, blue triangle - N5 = 4. If simulation run resulted in a crash, the required control force was set to zero for every time step. Mean( Fc) and Std Dev( Fc) denote mean value and standard deviation of the control force respectively, while dr 1 corresponds to the number of rays on the 1s t ray surf ace. 101 Meai(Fc) 11.60 11.5 s ll.SO 11.4 s Mean(Fc) 10. 6 4 10. 10. 2 10. 0 9. 8 9. 6 Mean{Fc) 1225 12.20 12.1 5 12.1 0 12.0 s 12.00 Mean(Fc) 8.8 8. 7 8.6 8.5 8. 4 83 • J • • l j T s Figure X51. • 10 10 r 10 10 • j I • IS 20 • • T 15 20 • • I S 20 • • • 15 20 .. .. • I 25 .. .. 25 .. .. • 25 • .. .. 25 .. 3 0 drl (a) .. 3 0 dr1 (b) .. (c) .. 30 <lrt (d) StdDev(Fc) 6.0 5 6.00 5.9 5 StdDev(Fc) 730 7.2 5 7.2 0 7.1 5 7.1 0 7.0 5 StdDev(Fc) 5 . 4 53 5.2 5 . 1 5. 0 9 4. StdDev(Fc) 7.2 8 7.2 6 7.24 7.2 2 7.2 0 7.1 8 '-' 6 l • T .. • .. I • .. I .. • ' 10 15 20 25 • • • .. .. l .. 10 15 20 25 • .. • • .. .. 10 15 20 25 .. .. • .. • I 10 15 20 25 Perf ormance of an agent that chooses "Shortest" ray out of an individual ray set 102 over "crater & canyon" test terrain: mean and standard deviation of the required control force for Mcan(Fc} 11.20 11.1 5 11.1 0 11.0 5 11.0 0 Mean(Fc) 11.0 10.8 10.6 i 1 • • • 10 15 20 varying sensor conf igurations. • • • • 25 • (a) (b) StdDev(Fc} . 8 5. 7 5 . 6 5.5 StdDev(Fc) 5.7 5. 6 5.5 5.4 i • • • • • T 10 15 20 25 • • • • • 10 15 20 25 Figure X52. Performance of an agent that chooses "Longest" ray out of an individual ray set over "crater & canyon" test terrain: mean and standard deviation of the required confl·ol force for varying sensor conf igurations. The not-recommended navigation methods "Longest-Longest Ray" and "Longes t-Average Ray" (#6 and #8) are omitted. 103 Mean(Fc) 11. 4 11. 3 112 11. 1 Mean(F<:) 10 8 6 4 2 0 Mcan(Fc) 12. 5 12 . 4 12. 3 12. 2 Mean(F<: ) 10 8 6 4 2 0 • • • • • • • • ' • l 4 Figure X53. 4 • • • 4 I i 10 15 I' ! • I • • l 10 15 .. • • • 4 4 4 • 4 4 4 20 2S • 2S . . '"" ... . • 4 .. .. • I • .. .. I 20 2 5 2S 4 30 drl (a) .. 30 dr, (b) 4 30 drl (c) .. 3 0 dr1 (d) StdDev(Fc) 5 .4 I • 4 • • • 4 . i • 4 4 1 • 53 5.2 5. • • • I .. 9 . t I • 5.0 4. 4.8 10 15 20 30 dr , StdDev(Fc) .. 2.5 3 0 dr, 5 4 3 2 0 • • • .. .. .. StdDev(Fc) • 4.4 4 .3 • 42 • .. 4.1 • • • • 1 .. • 4.0 • I • .. .. i • I • 3.9 • 10 2.5 30 dr, StdDev(Fc) • • • .. 6 2.5 30 dr1 4 3 2 0 Performance of an agent that chooses ":Min-AI ph a" ray out of an individual ray set 104 over "crater & canyon" test terrain: mean and standard deviation of the required control force for Mean(Fc) 11. 5 11. 4 .. 11. 3 • • .. .. • 2 I .. I I i 11. 11. 10 Mear(Fc) 12.2 • 12.1 12.0 • 119 .. • • 11 .8 j • 11.7 10 �(Fe) I I .. 6 4 2 0 • • Figure X54. • ' • • "' .. • • I • • 15 20 .. .. • .. • • • • 15 t j • • '!' • IS 20 • • varying sensor configurations. • .. • 2 5 .. .. .. • • • 2S • StdDev(Fc) .. • 30 dr, 5 . 9 5. g 5. 7 5. 6 5.5 (a) StdDev(Fc) 5 . 4 5.2 5 .0 4 .8 4.6 4A (b) StdDev(Fc) 6 4 2 0 (c) • • • • • .. .. I • l I ' .. 10 • • • 1 • • • I I "' 1 0 • • • • .. .. • • • • .. • .. • .. i "' t • 1 15 20 25 • • • • • .. • • I • • • .. • 30 <if) 1 5 20 2S 2S 30 <11) • I • • • Performance of an agent that chooses "Average" ray out of an individual ray set over "crater & canyon" test terrain: mean and standard deviation of the required control force for varying sensor configurations. The not-re commended navigation method " Average -Longest Ray" (#14) is omitted. 105 Meai(Fc) 1020 10.1 s 10.1 0 Mean(Fc) 10. 8 10. 6 10. 4 10. 2 Mean(Fc) 11.1 11. 0 10. 9 10. 8 Mean(Fc) 10. 2 10. I 10. 0 9. 9 9. 8 9. 7 9. 6 • • I i • • • J • • i • Figure X55. • I 10 • 10 10 10 • • t .. .. • • I .. .. IS 20 25 30 drl (a) .. .. • • • .. 15 20 25 (b) • • • .. .. .. 15 20 2 5 (c) • • .. .. • .. i 15 20 25 (d) StdDev(Fc) 12 0 7.1 5 7.1 0 7.0 5 7.00 StdDev(Fc) 7. 0 6. 9 6 . 8 6. 7 6. 6 StdDev(Fc) 6.6 5 6.60 65 5 650 6.4 5 StdDev(Fc) 1A 73 72 7. 1 71J 6. 9 .. • I 1 1 i • • l i 10 • Ill • • 10 • 10 1 10 • ' Ill 15 20 • 15 20 • • 15 20 • • 15 20 .. • I 25 . . .. 25 • • I 25 .. .. .. .. • • • • • • I 25 Perf ormance of an agent that chooses "Shortest" ray out of an individual ray set 106 over "hilly terrain": mean and standard deviation of the required control force for varying sensor Mean(Fc} • • 10.1 s • • 10.1 0 • 10.0 s i 10 IS 20 2S Mean(Fc} • 10.9 • 10.8 • 10;7 • 10.6 co nfig ur atio ns. .. StdDev(Fc} 700 6.9 s 6.90 6.8 s (a) StdDev(Fc} 6.40 6.3 s 6.30 62 s 62 0 6.1 s (b) • 10 IS 10 IS • • • .. .. • I 20 2S .. • • • .. i 20 2S Figure X56. Performance of an agent that chooses "Longest" ray out of an individual ray set over "hilly terrain": mean and standard deviation of the required control force for varying sensor configurations. The not-recommended navigation methods "Longest-Longest Ray" and "Longes t-Average Ray" (#6 and #8) are omitted. 107 Meal(Fc) 10.70 10.65 10.60 1055 1050 Mean(Fc) II. 0 10. 5 10. 0 Mean(Fc) 11.8 II. 1 II. 6 115 II. 4 11. 3 Mean(Fc) 10. 2 10. 1 10 . 0 9. 9 9. 8 9. 7 • • .. I • ' .. • • • • . . l .. • ! Figure X57. .. • .. • • .. .. • .. • .. r • .. • I I 2 0 2 5 30 d r1 .. .. .. • • • • • • .. i I • .. • .. • .. • 10 15 20 25 .. • I • • • .. .. • I i • .. • I • • .. 1 1 0 15 20 25 30 d rt • • .. .. • .. • • .. . .. .. .. • • 1 • i i 10 15 20 25 30 drt (a) (b) (c) (d) StdDev(Fc) 6.75 6.70 6. 65 6.60 655 650 StdDev(Fc) 6 . 8 6. 7 6 . 6 65 6. 4 StdDev(Fc) 6. 0 5 . 9 5 . 8 7 5. StdDev(Fc) 700 6.9 5 6.90 6.8 5 6.80 6.7 5 • • • • • • • .. .. I l • .. • .. i • • • • • • "' to 15 • • • i .. 1 I t to 15 • • • .. .. i • 1 0 15 • • • • • .. .. to 15 • • .. • • • .. • � I .. I 30 d rl 20 25 • .. • .. • • • • .. 20 25 30 d rl • • .. .. • • • j • • • 1 I 20 25 30 d rt • .. • .. I • .. • I • • • 20 25 Perf ormance of an agent that chooses "Min-Alpha" ray out of an individual ray set 108 over "hilly terrain": mean and standard deviation of the required control force for varying sensor Mean(Fc) 10. 4 10. 3 • • .. 10. 2 • t I • I 1 .. • 1 0 10. 10 . 10 Mear(Fc) • 113 11.2 • • 1 1.1 • 11.0 10 . 9 Mean(Fc) 9. 7 .. • 6 • I • 9. 9.5 4 .. • I 9. 9. 3 • 92 10 Figure X58. • • • • 15 • • • I • • l • 15 • .. .. • I • .. I • • I • • .. .. .. .. .. .. • • • I I 20 2 5 .. .. • .. • .. • • .. • .. 20 25 configurations. (a) (b) (c) StdDev(Fc) 7 . 1 7.0 6. 9 6 . 8 7 6. StdDev(F<;) 6.6 6.5 6.4 63 62 6.1 StdDev(Fc) 7.5 7. 4 73 72 • ' • I • • • .. ' • I 10 .. • • i � 10 • • • • .. • .. I .. .. .. .. • I .. 15 20 25 • .. .. • • • • • . .. .. .. .. .. .. .. • .. • .. .. I • • • • 15 20 25 Performance of an agent that chooses "Average" ray out of an individual ray set over "hilly terrain": mean and standard deviation of the required control force for varying sensor configurations. The not-re commended navigation method " Average -Longest Ray" (# 14) is omitted. 109 Similarly to the single-ra y-set sensor case we attempt to achieve the smallest possible control fo rce, while having it as close to constant as possible for the duration of motion. This obj ective requires minimizing both mean value and standard deviation of the computed control (constraint) force. In choosing between two sensor configurations that yield similar results of these values we favor the one that reduces standard deviation of agent's velocity. This way the agent moves with relatively constant velocity, avoiding significant accelerations/decelerati ons. The summary results of such optimization are is presented in Table Tl2 (curly brackets denote a set of possible values). Table T12. Optimized sensor configuration for diff erent navigation methods. Agent Navigation Method Sensor Configurations per Test Terrain, N s x dr1 "Crater & Canyon" "Hilly Terrain" I. Short est - Shortest Ray {2, 3, 4} X {8, 12, 14 } 2xl0, {2, 4} xl4 2. Shortest - Longest Ray {2, 3, 4} X {12, 14} {2, 3, 4} xl 0 3. Shortest - Min-Alpha Ray {2, 3, 4} X {6, 12, 14 } {2, 3, 4} xl 0 4. Short est - Average Ray {2, 3, 4} X {12, 14, 20} {2, 3, 4} X {8, 10, 12, 14 } 5. Lon gest- Shortest Ray {2, 3, 4} X {12, 14} {2, 3, 4} xiO 6. Lon gest- Longest Ray not recommended 7. Lon gest- Min-Alpha Ray {2, 3, 4} X {6, 10 , 12, 18} {2, 3, 4} xiO 8. Lon gest- Average Ray not recommended 9. Min-Alpha - Shortest Ray {2, 3, 4} X {12, 14, 16} {2, 3, 4} xiO I 0. Min-Alpha - Longest Ray {2, 3, 4} X {8, 12, 14 , 16} 3xl6, {2, 3} xl2 II. Min-Alpha - Min-Alpha Ray 4xl0, {2, 3, 4} xl2, {2, 3} xl4 {2, 3} x {6, 10}, 3x{l8, 22} 12. Min-Alpha - Average Ray {2, 3, 4} x {6, 12}, {2, 3} xl4 {2, 3, 4} x6, 2xl2, 3xl8 13. Average - Shortest Ray 2xl4, {3, 4} xl6 {2, 3, 4} xiO, {2, 3} xl2 14 . Average -L ongest Ray not recommended 15. Average -M in-Alpha Ray {2, 4} xl 0, 3xl6 3x6, 4xl0, {2, 3, 4} xl4 16. Average -A verage Ray {2, 3, 4} xiO, {2, 4} xl2 {3, 4} x {6, 14 }, 4xl0, {2, 4} xl2 Optimized Co nfi guration per Terrain 2x12 4x1 0 Optimized Co nfi guration for all Terrains 2x1 2 Unlike the case for a single ray set sensor, choosing an optimized sensor configuration per type of terrain regardl ess of agent navigation method for a 3-prong sensor is difficult, and in general case may be impossible. In that case choosing a configuration that minimizes mean and standard deviation of the 110 control fo rce is deemed acceptabl e; configuration with smaller total number of rays is pref erred. Also, since the required control fo rce is already minimized as described in Section 2, configuration that yields tighter data clustering around the greater mean value of the control fo rce is preferred to the configuration with greater spread of data around smaller mean. By this reasoning we chose the shown in Table Tl2 sensor configuration per terrain, and 2x l2 sensor configuration (N = 93) for all navigation methods on all terrains for the study on sensor range influence on agent's behavior. Similarly to the case of a single-ra y-set navigation, this additional optimization step is desirable rather than mandatory. As shown on Fig. X51 through X58 and in Table Tl2 , the set of acceptable sensor configurations can be limited to S = {2, 3, 4}x{ 4 - 22}. For navigation methods, choose "Shortest" or "Longest" rays out of every individual ray set, any configuration that belongs to {S} can be chosen. At the same time the remaining two groups of navigation methods (those that choose "Average" and "Min Alpha" rays out of every individual ray set) need to approach selection of sensor configuration with more care since for them a wrong configuration could cause crash as described earlier. Their sets of acceptable configurations will be some subsets of {5}. The graphs presented on Fig. X 53, X54, X57, and X58 clearly demonstrate that these subsets differ with navigation method and with terrain. 5.5.3. Sensor "Vision" Range lr In accordance to the results for sensor coverage angle and sensor ray set configuration the sensor range study was perform ed with the fo llowing model parameters. The sensor coverage angle, number of rays in an individual sensor cone of the 3-prong sensor model, and sensor inclination angle were kept constant for this study and defined as: - individual ray set coverage angle tp = 14°, - total sensor coverage angle with 2° space between ad jacent ray sets is 'P total = 46°, - individual sensor cone model has 2 concentric spherical segments (ray surf aces), the innermost segment (1st ray surf ace) containing 12 rays (2x l2 configurati on); thus, number or rays N = 31, and total number of rays per sensor is N total = 3N = 3 * 31 = 93, Ill - sensor inclination angle "' = 25°, - LOS range � 10.0. The necessa ry conditions fo rmulated for an acceptable sensor ran ge, as well as the bounds on sensor inclination angle, defined for a single-ra y-set sensor model in Section 5.4.3 hold true for a 3-prong sensor also. Thus, as stated earlier, the smallest acceptable sensor "vision" range for a 3-prong sensor model is defined as lr 2 M ax { h m= , ll<i m= II M } , where II <?max II denotes magnitude of the agent's estimated C os ¢ Sm¢ maximum velocity, /1t is the length of a time step, and h max is the maximal allowed agent's elevation above terrain. Similarly to a single ray set navigation, for a 3-prong sensor navigation range the smallest sensor "vision" range is estimated as lr = 15. We explore the range lr = {15, 90}, with increment of 5. As the simulations demonstra te, sensor "vision" range increase beyond 25 has negligible effe ct on the agent's perfor mance. The complete results are shown on Fig. X 59 and X60. The designations for Fig. X59 and X60 are as fo llows. Letters denote the choice of ray out of every individual set: (a) - "Shortest", (b) - "Longest", (c)- "Min-Alp ha", (d) - "Avera ge. Shape and color of data points denote the choice of sensor "vision" ray out of three repres entative rays: blue dot - "Shortest", purple square - "Longest", yellow diamond - ":rvrin-Alpha", and green triangle - "Avera ge". Similarly to the single-ra y-set navigation, the effect of flattening of the system performance parameters upon reaching some threshold value of lr is observed for all navigation methods on both test terrains, as illustrated on Fig. X59 and X60. The threshold value is the same as defined for the single-ray- set navigation: lr = 25. The reasons for the flattening eff ect, as discussed in Section 5.4.3, are fully applicable to 3-prong sensor navigation. As before, this effe ct is particularly pronounc ed for "crater & canyon" test terrain, navigation method regard less. Due to narrower coverage angle of an individual ray set, fluctuations observed for the "hilly terrain" case for a single-ra y-set sensor, are much smaller for the 3-prong sensor model. As before, increase of the sensor range has the most impact on navigation methods that use "Average" ray out of an individual ray set. For the further study of this dy namical system we 112 again choose lr = 45 since at this sensor range value the required control force is in the region of settled perfor mance and is minimal for every navigation method, regardless the type of test terrain. TS " 80 7S 70 TS 90 80 7S 70 6S 60 TS 90 80 70 60 • • • • • • • • • • 60 I ••• 80 Mean(Fc) 35 I 13/J 12S 12/J liS liD !OS Mean (Fc) 13 12 11 10 Mean(Fc) 12/J liS liD lOS lOll . • • • • • • • • • • • • • • • • . I . . . . 20 . . . . . . . . . . . . . . . . . 60 60 (b) . . . j 80 80 . . . . • • • • • • • • • • • • • • • • I I I I I I I I I I I I I I I 20 40 60 80 ( c ) . • • • • • • • • • • • • • • • . ! . . . . . . . I I . . . I . . . I . . I . .. . l 20 . . I .., . . . II . 1 i 1 60 80 ( d ) StdDev(Fc) 7/J 6.S 6/J s.s SD . . . . . . . . . . . . . . . 60 80 StdDev(Fc) StdDev(Fc) 7/J 6/J . . . . . . . . ss • I I S IJ Figure X59. Impact of sensor "vision" range on perf ormance of diff erent navigation methods over "crater & canyon" test terrain. 113 TS 90 ., &0 " TS 100 9S 90 &0 TS 9S 90 ., &0 " TS 100 9S 90 8S &0 " . . . . . . . . . . . . . . . . . . . . . . . . . . . . I I . • . • . l 20 <10 60 . . . . . . . . . . . . . . . . . . . • I . . l i . . . . . . . . • . . • . f 20 . . • . . . . . . . . . . • • • • . . . . . . . . 60 . . • . . • . . . . . . . . . . • • 1 . . . . • . . . . . . . . . 80 . . . . . . . . . • • &0 . . . . . • • 80 Mean(Fc) ll.S llD Mean(Fc) 12D ll. S Mean(Fc) 12D ll.S llD JOj Mean(Fc) 12.S 12D JU llD JO.S • • • • • • • • • • • • • • • • • . . 20 . ( a ) . . . ... . . . . • • • • • • • • (b) • • . . . . • • . • • •• • • • • • • • • � T I I I . 20 • • . . . . . . . "' . . . . . . . . . . i "" ( c ) • • • • • • • • • .. . I ( d ) • . f j ' . &0 • • • SJdDev(Fc) 1j a . 6.S . 6D . ,_, l SJdDev(Fc) ._, 61> StdDev(Fc) 6.S .. , StdDev(Fc) ,_, a ._, I 6D • ,_, . . 20 20 . . . . . . . • • • • • • • . . . . . . . I . . . .00 • • • • .00 . . . . . . . . . . • • • • • •• . . . . . . . . . . . . . 60 80 . . . . • • . . . . ..... . . . . . i • I I 20 . ..... . .. . . . . . . . . . • • .. 4 .00 60 .. . • • . . . . I i I I j &0 Figure X60. Impact of sensor "vision" range on perf ormance of diff erent navigation methods over "hilly terrain" test terrain. While shorter sensor ranges such as lr E [15 - 25], are, m general case, undesira ble, they can "redeem" the poorly per forming navigation methods such as "Longest-Longest" and "Average- Longest", 114 as seen on Fig. X60(b) and (d). For example, fo r "Longest-Longes t" navigation type there is only one sensor range setting that leads to successful attainment of the goal: lr = 15.0; others result in crash, and there is no setting fo r cp to avoid it (as fo und in simulation, cp=84 ° is the only setting that leads to agent reaching the goal, but it is a fluke since agent is extensively roaming the terrain before reaching the goal). No crash at lr = 15.0 occurs since this agent moves higher along the crater wall (limited "vision" rang e doesn't let the agent to descend, it just doesn't "see" that there is a way down) and, thus, does not get trapped inside the crater due to insuff icient for a very steep ascent propelling fo rce. Same eff ect is observed fo r the agent with "Average-Longes t" navigation type due to prevalence of long rays in the individual sets of rays: no crash at lr = 15.0 and lr = 20.0, and crash at lr > 20.0. This eff ect is reinf orced by the chosen sensor conf iguration - narrow coverage angle and high number of rays in an individual ray set. These results are illustrated on Fig. X61. Figure X61. (a) (b) Agents with "Longest-Longest" and "Average-Longest" navigation types negotiating "crater & canyon" test terrain. On Fig. X6 1 all agents have the same physical capabilities, and the same initial conditions. The sensor parameters are as fo llows: sensor ray set configuration 2x12, Ntotal = 93, qJ = 14°, (/) total = 3qJ + 2 * 2° = 46°, ¢ = 25°, LOS range = 10.0. The other designations are as fo llows: 11 5 (a) - agents with "Longest-Longest" navigation type, blue tra ject ory and cyan sensor "vision" rays correspond to sensor range lr = 15.0, while dark green tra ject ory and green sensor "vision" rays correspond to lr = 20.0; (b)- agents with "Average-Longest" navigation type, blue tra jectory and cyan sensor "vision" rays correspond to sensor range lr = 15.0, while red trajectory and orange sensor "vision" rays correspond to lr = 25.0. "Longest-Average" navigation method crashes inside the crater for all values of lr. It fo llows canyon wall like the "Longest-Longest" navigation, but upon reaching the crater it descends deeper and deeper inside until crash occurs. Since crater surf ace is not symmetri c, the "vision" rays derived from "Longest Longest" and "Longest-Average" navigation methods differ, yielding diff erent tra jectories, as seen on Fig. X62. The "Longest-Longest" keeps closer to the crater wall since one of its auxiliary ray sets cannot acquire crater surf ace due to insuf ficient range. The "Longest-Average" attempts to move over the deeper portion of the crater, and loses the sight of terrain completely for a number of time steps. When it reacquires the terrain, it is already deeper inside the crater than the "Longest-Longest" navigation ever achieved in this case, and continues the descent since its set of three rays is skewed toward the longer rays. Thus, for lr = 15.0 "Longest-Average" crashes inside the crater, while "Longest-Longest" succes sfully attains the goal. For lr = 20.0 tra jectories, generated by these two navigation methods, become very similar upon reaching the crater, and both crash inside it. On Fig. X62 all agents have the same physical capabiliti es, and the same initial conditions. The sensor parameters are as fo llows: sensor ray set configuration 2xl2, Ntotal = 93, tp = 14°, 'Ptotal = 3tp + 2 * 2° = 46°, <P = 25°, LOS range � 10.0. The other designations are as fo llows. Letter denotes sensor range: (a) - lr = 15.0, (b) - lr = 20.0; color denotes navigation method: blue tra jectory and cyan sensor "vision" rays correspond to "Longest-Longest", purple trajectory and pink sensor "vision" rays correspond to "Longest-Avera ge". 116 (a) (b) Figure X62. Agents with "Longest-Longest" and "Longest- Average" navigation types negotiating "crater & canyon" test terrain. For the "hilly terrain" shorter sensor ranges cannot "save" any of the three poorest perf ormers -they all either crash at the second hill chain (for lr = 15.0) or at diff erent heights at the last hill chain (for lr > 15.0). Dif f erent sensor ranges only influ ence the location of the crash point on the surf ace of hill chain, but cannot cause crash avoidance. 5.5.4. LOS Range As described earlier in Section 5.2, when an agent comes within the line-of-sight (LOS) of the goal, and terrain-acq uiring sensor detects no obstacles between the agent and the goal, the navigation vector is computed as a vector between the agent and the goal. Hence, navigation vector, computed with LOS, does not depend on the agent's sensor model. Theref ore, LOS range is viewed as system parameter rather than sensor parameter, and the conclusions made in Section 5.4.4 hold true for both described sensor models. 5.5.5. Conclusion: Revisiting the Case Study of Highly Exaggerated Terrain As discussed in the Section 5.5, proper selection of sensor parameters could practically guarantee agent's safe passage through a terrain, even if that terrain happen to exhibit great variations in elevation, 11 7 and successful attainment of the goal. To demonstrate it we would like to revisit the case study presented on Fig. X14 in Section 5.3.2. As before, 16 identical agents, every one of which uses one of the described above 16 navigation methods, need to negotiate a highly exaggerated terrain. The sensor parameters for every agent are revised in accordance to the derived earlier acceptable ranges and are as follows: (i) individual ray set coverage angle r.p = 18°, distance between adj acent ray sets 2°, total ray set coverage angle f.fJ t o t al = 58°; (ii) sensor ray set configuration 2x12, N t o t al = 93; (iii) sensor inclination angle ¢ = 25°; (iv) sensor range lr = 50.0. The results are presented on Fig. X63. For this simulation the goal is located diagonally across the terrain. Figure X63. 3-prong sensor model, 16 navigation types, revised sensor parameters. 118 On Fig. X63 tra jectory color is assigned in accordance with the selection of the "vision" ray out of 3 computed rays: white -l ongest, yellow- shortest, blue -l east slope, dark green - average. Sensor rays that inters ect the terrain are shown in blue, while those that do not are shown in red. Even though all the agents are identical and have the same initial conditions, their generated tra jectories differ in accordance with employed navigation method. The low round hill at the beginning of this terrain again makes the agents to split into 3 distinct groups. The central group passes above the hill and attempts to proceed straight toward the goal, while for the side groups veering to the sides of the terrain are less pronou nced. The choice of navigation method determines behavior of an agent as described in Section 5.3. Noneth eless, with the correctly chosen sensor parameters no crashes are detected - from the presented 16 agents 15 successfully reach the goal. Even the two non-recommended navigation methods (#8, "Longest - Averag e", and #14, "Average - Longest") still were able to reach the goal. This occurs because the shown exaggerated terrain is akin to the "hilly terrain", and for that type of test terrain <p = lSO is within the acceptable range (at the high end of it) as seen in Table T8. As expected and as happened in the previous case study, the agent with "Longest - Longest" navigation type (not-recommended navigation method #6) could not avoid the crash: it crashed further into simulation when the other agents already reached the goal, so crash site is not shown. As seen in Table T8 for this navigation method the range of acceptable sensor coverage angles for "hilly terrain" type of terrain is extremely narrow ( tp E [2° - 4°]), and selected <p = lSO, while acceptable for all the other navigation ty pes, is out-of-range for this one. With the revised sensor parameters the agents exhibit more coherent group behavior than in the example, shown on Fig. Xl4. More narrow sensor vision field, identical capabilities and initial conditions, and unity of a goal keep agents closer together. While the generated tra jectories differ in accordance with navigation type, the portion of terrain covered by the agents is narrower, and the agents' velocities are more unified. Thus, their respective times of arrival to the goal differ less than in the prev1ous case. 119 5.6. Choice of Nominal CW've and Structure of Holonomic Constraint The agent 's local coordinate system is defined as shown on Fig. X64, where XYZ refers to global Cartesian coordinate system, and xyz refers to agent 's local coordinate system. The origin of agent 's local coordinate system is at the agent 's position of the beginning of the cunent time step, Po, and x-axis coincides with the computed navigation vector, NV. Such for mulation means that for any single time step the generated trajectory segment (TR) is such that the x-component of agent 's position vector is monotonously increasing. z Figure X64. Global and agent's local coordinate systems. Since navigation vector and conesponding safe conidor are defined in terms of geometry rather than explicit time, and any nominal curve is thus expected to be defined in the same manner, we specify the constraint in agent's local coordinates. Let agent 's global position vector be transformed into the agent 's local coordinate system: q local(t) = [x( t ) y(t) z(t)JT = T.q(t) (23) where q1 oca 1 (t) is agent's position vector in local coordinate system, x(t), y(t), and z(t) are its components, q(t) is agent 's position vector in the global coordinate system, and Tis a transformation matrix. Similarly to other navigation parameters, this transformation matrix is computed once per time step, at its beginning. 120 Let x (t) be an independent variable in the context of fo rmulation the motion constraint, specified by Eq. (1 8), in agent's local coordinates as fo llows: [x(t) - f x(x(t))] >flto c at(x(t)) = y(t) - [y (x(t)) z(t) - fz( x(t)) where f x(x(t)), [y (x(t)), and fz( x(t)) define the expression for the nominal curve. (24) Using Eq. (24) for derivation of the equations of motion in agent's local coordinates as described in Section 4 the x-component ofthe derived EOMs will have a form: x(t) = F(x(t) ,x(t)) (25) where F denotes some function the form of which depends on the expression ofthe nominal curve. Eq. (25) can be presented in terms of x(t), f x(x(t)), and Baumgarte Stabilization coefficients 11 and A: x(t) = - 1 +/: (x ( t ) ) [- -< fx(x(t)) + -l x(t) + x(t) (11 ( 1 - ix(x(t)) ) - x(t)fx(x(t)) )l (26) It has been already stated that f (x(t)) = [ f x(x(t)) [y (x(t)) fz( x(t))JT needs to be continuous and continuously diff erentiable in time at least twice. From Eq. (26) another restriction on the choice of f x(x(t)) is clearly not iced: - 1 + ix( x(t)) * 0 'I t E [O,Lit] (27) If expression (27) is violated, x-component of agent's acceleration will become unbounded at some time during a time step, which will lead to system failure . The highly undesirable other restriction arises from the fact that the solution of Eq. (26) may have equilibrium poin ts. In order for the equilibrium points to exist the fo llowing conditions must be met: {x(t) = o ·· c ) at some t E [O, Lit] X t = 0 These conditions could be also written as: (28) 121 { x(t) = o A[x(t) _ Jx(x(t))] = 0 at some t E [O,M] (29) If there exists some value of t = T E [0, M], T =F 0, for which the expression x(r) - Jx(x(r)) = 0 holds true, then at the time T the function x(t) that is the x-compo nent of the solution of the derived EOMs has an extremum . That means that the function x(t) is not monotonously increasing, which means that either motion reversal has occurred or the agent attempted vertical ascent/descent (x(r) = 0). Both of these options are highly undesirable. An example of such effect is shown on Fig. X65. There an agent reaches the stable equilibrium point in all coordinate components at the same time, and motion stops. X 6 I I I I I I 4 ' I ' ' ' ' ' ' ' ' ' ' __ ..._ ... _ N 0 .5 l ll l.S (b) x )() � 10 lD l.S -1 0 X -20 (a) (c) Figure X65. Existence of an equilibrium point and resulting system failure caused by the improperly formulated constraint. The designations for Fig. X65 are as follows: (a) - shows agent's trajectory (blue curve), initial position (red sphere), and navigation vectors (dark red arrows); it is easily observable that after 3 time steps the equilibrium point is reached, all navigation vectors coincide, and motion stops; (b) - agent's velocity graph, (c)-agent's acceleration graph. On the graphs magnitude of the plotted function is shown 122 m solid line, and its x-, y-, and z-components are shown as dashed lines. From the graphs motion cessation is also clearly seen - both veloci ty and acceleration converge to zero within the 4 th time step. For the test case, presented on Fig. X65, the motion constraint was formulated as shown by Eq. (24) and was as follows. The nominal curve is represented by a sinusoid, the axis of which is the computed navigation vector. This nominal curve is obtained by rotating a sinusoid the axis of which is x-axis by the angle, formed by x-axis and the navigation vector, as shown on Fig. X66. The denominations for Fig. X66 are: (a) - original sinusoid, the axis of which is x-axis; (b) - x-axis; (c) - nominal curve represented by the rotated sinusoid; (d) - computed navigation vector; (e) - constructed safe corridor; Po - agent's position at the beginning of the current time step, Po = [x o Yo zo]T (Po is the origin of agent's local coordinate system as postulated earlier); Pd - a point on the navigation vector, Pd = [xd Yd zd ]T. 10 Figure X66. Generating nominal curve. Then the equations of the nominal curve are: [ fx (x(t)) l [ x(t) l [y(x(t)) = RM. ySin ( w x(t)) fz (x(t)) ySin ( w x(t)) where RM is the rotation matrix that rotates the vector [1 0 oF to the direction of the vector [x d Y d zdy, y describes the width of the sa fe corridor, and w is chosen as a parameter of the nominal curve . 123 Using the denominations above rotation matrix is represented as follows: The motion constraint for the test case presented on Fig. X65 is thus for mulated as: [ x(t) ] [ x(t) ] >fl to c al(x(t)) = y(t) - RM. ySin( w x(t)) z(t) ySin( wx(t)) It could be easily shown that for this constraint there exist time T that satisfies Eq. (29), and emergence of the stable equilibrium point causes cessa tion of motion. Hence, to avoid unnecessa ry restrictions on the choice of nominal curve dimensionality of the constraint >flto c al(x(t)) and, therefore, function f n(x(t)), must be smaller than dimensionality of the problem at least by one, i.e. for a 3-D problem f n(x(t)) must be a 2x1 matrix such as f n(x(t)) = [ [y ( (x(t) ) ) l · The motion constraint in agent's local coordinates then becomes: f z x(t) [ y(t) - [y(x(t)) l >flto c al(x(t)) = z(t) _ fz(x(t)) In that case the x-component of the derived EOMs is: 1 x(t) = 2 2 * 1 + (iix(t))] + (iz(x(t))] (30) [ aux - .u (iix(t))] 2 x(t) + M x(t)) ( auy - -<[y( x(t)) + -ly(t) + ,uy(t) - [x(t)F /y(x(t))) + iz( x(t))( auz - -' f z(x(t)) + -l z(t) - ,uiz(x(t))x(t) + ,ui(t) - [x(t)Fiz(x(t))J ] (31) where aux and auy are the components of acceleration vector for the unconstrained system. 124 Unlike the previous case, here x-component of agent 's acceleration cannot become unb ounded since 1 + [j y(x(t))j 2 + [j2 (x(t))] 2 > 0 for any continuously diff erential in time real [y (x(t)) and f z(x(t)). So, the fo rmerly defined restriction on the choice of nominal curve is not applicable any longer. For existence of equilibrium points in x(t) that is the solution of Eq. (31) the conditions, defined by Eq. (28), shall be true. These conditions could be written as follows: { x(t) = o aux + Mx(t)) ( auy - A[ y(x(t)) + -ly(t) + JlY(t) ) + iz(x(t))[ auz - A f z(x(t)) + Az(t) + JlZ(t)j = 0 at some time t = T E [O, Lit] (32) The Eq. (32) cannot be solved forT in general, so there are no obvious limitations on the selection of a nominal curve. In could be observed that no motion cessa tion occurs when using the same rotated sinusoid as nominal curve from the previous example in the constraint defined by Eq. (30). This test case is presented on Fig. X67, where the designations are as follows: (a) - shows agent's tra jectory (blue curve), initial position (red sphere), and navigation vectors (dark red arrows); motion progress toward the goal is observed, no equilibrium point is reached; (b) - agent's velocity graph, (c)- agent's acceleration graph. On the graphs magnitude of the plotted function is shown in solid line, and its x-, y-, and z-components are shown as dashed lines. Simulation was run for 23 time steps. 125 10 N \ I ,' I I \ / ' I ,_1 I --, I ' I ' ( b ) ' ' -4.,. _/ ( a ) --- X 20 I I I I -10 I I I I I'} I ,I I . ' I II It , I Il l 1 t jl V I I I I I I I I I I I I' ( c ) Figure X67. No equilibrium point exists with the properly formulated constraint. In the fo rmulation described above (2-D constraint fo r the 3-D dynamical system ) the motion constraint could be specified m global coordinate system as l/J ( q(t) ) = [ q y = fn y ( ( q y ) ) ] to avoid q z fn z q z unnecessary coordin ate transformations. For the described study the agent's navigation vector NV is chosen as the nominal curve. The desired line equation is parametric, derived using agent's position at the beginning of time step q0 = q(O) = [qx(O) q y (O) q z (o)f = [ q0x q0 y q0 z f, and a point p0, located at a distance r from q0, r » 1, and belonging to the navigation vector: NV [ ]T Po = q o + r IINVII = Po x Po y Poz (33) 126 Then coefficients for parametric line equation are as follows: _ Poy-Qoy {3 _ QoyPox-QoxPoy _ Poz-Qoz {3 _ QozPox-QoxPoz a y - , y - , a z - , z - Pox-Qox Pox-Qox Pox-Qox Pox-Qox The motion constraint as specified by Eq. (29) is then formulated as: and the agent's equation of motion is derived as described in Section 3. The obtained expression is: ·· c ) 1 [ .. C t) q t = 1 + '+ , q x a y a z where the components are as follows: and { aux, au y • au z } are the components of the acceleration vector of the unconstrained system. Equation (36) is solved for q(t) numerically on the interval t E [0, Lit] for every time step. (34) (35) (36) With the constraint form ulated as described by Eq. (30) there are no obvious restrictions on the choice of function that represents a nominal curve. This function needs to satisfY two requirements : (I) it shall be continuous and continuously diff erentiable in time at least twice; (2) it shall fit into the "sa fe corridor", represented by a circular cylinder the axis of which is the computed navigation vector. Several types of functions such as sinusoid, spline obtained by fitting a curve to a polynomial, defined by 4 control points, and straight line (as shown on Fig. X68) were applied as nominal curves, and system perform ance was studied. 127 z Figure X68. Possible nominal curves. The designations for Fig. X68 are as fo llows: (a) - straight line represented by the computed navigation vector; (b) - spline curve, the corresponding polynomial for which is shown in black dashed line; (c) - sinusoid; (d) - safe corridor. {Po, Pb P2, P3} denote the control points for the spline curve. XYZ- axes denote global Cartesian coordinate frame, while xyz-axes denote agent's local coordinate frame. The sinusoid-based nominal curve was defined using its projections on x-y and x-z coordinate planes (in agent's local coordinate system): [ fx(x(t))l [ x(t) l Fsine = [y (x(t)) = ay1x(t) +ySin(wx(t)) fz(x(t)) azlx(t) + ySin(wx(t)) (37) where ay1x(t) and az1x(t) are projections of the computed navigation vector on the x-y and x-z coordinate planes, y is defined by the desired diameter ofthe safe corridor, and w is the system parameter that stays constant throughout the duration of motion. Then in accordance with Eq. (29) the system constraint in agent 's local coordinates is: ( ) [y(t) - [ayx(t) + ySin(wx(t))]] 1/Jlocal_sine x(t) = z(t) - [azx(t) + ySin(wx(t))] or in global coordinates: (38) (39) 128 where /3y + ay q x(t) and fl z + a2q x(t) are pro jections of the computed navigation vector on the x-y and x-z coordinate planes. For a spline curve the control points were generated using the previously defined sinusoid as shown on Fig. X68. These control points are as fo llows: Po = (0, 0, 0), _ (:!.. na yl na zl ) pl - 2' 2 + y, 2 + y ' p _ (3rr 3rra y1 _ 3rra2 1 _ ) 2 - 2 ' 2 y, 2 y ' The spline curve is defined as a 3' ct degree polynomial. Similarly to the sinusoid curve, pro jections of the spline curve on x-y and x-z coordinate planes are used to express [y (x(t)) and f z( x(t) ) . It has been fo und that the choice of nominal curve yields little diff erence in system pe rform ance for the discussed above nominal curve opti ons. This is illustrated on Fig. X69 for two systems: one with navigation vector as nominal curve, and the other with sinusoid as nominal curve. Both systems employed a single-ra y-set sensor with the same parameters . Initial conditions and {/1, -1} parameters are the same for all depicted autonomous agents . On Fig. X69 (a) denotes generated tra jectories over "hilly terrain", and (b) - over "crater & canyon" test terrain. Color denominations of the trajectories are as fo llows. For the agents that use sinusoid as nominal curve : blue - agent with "Shortest-ray" navigation method, green - agent with "Longest-ray" navigation method, purple - agent with "Min-Alpha" navigation method, red - agent with "Average" navigation method; while for those that use navigation vector as nominal cur ve: cyan - agent with "Shortest-ray" navigation method, lighter green - agent with "Longest-ray" navigation method, pink - agent with "Min-Alpha" navigation method, orange - agent with "Average" navigation method. 129 (a) (b) Figure X69. Performance of two system s with different nominal curves: navigation vecto r (line) and sinusoid. Table T13. System performance param eters fo r different choices of nominal curve. Nominal Curve: Navigation Vector Nominal Curve: Sinusoid Agent' s navigation type TS fC (J TS fC (J "hilly terrain" 1. Shortest-ray 105 9.6875 8.0209 103 9. 6688 7. 9716 2. Longest ray 41 X X 40 X X 3. Min-Alpha ray 82 10.3947 6.3985 76 10.4206 6. 3570 4. Average ray 94 9.9912 7.2858 86 9.9856 7.43 10 "crater & canyon" 1. Shortest-ray 78 12.7782 7. 5495 70 11 .6878 7.7125 2. Longest ray 46 X X 46 X X 3. Min-Alpha ray 61 11.5253 3.9504 61 10.6360 4. 7996 4. Average ray 87 10.2475 7. 5219 82 8. 8336 6. 8995 As seen from Fig. X69 two agents with the same sensor parameters and the same initial conditions, but diff erent nominal curves, generate very similar trajectories over both test terrains. The required control force and its distribution are also similar for these agents. These re sults are summarized in Table T13 above, where TS denotes number of time steps to the goal (or crash), fiC denotes the mean of the required control force, and fJ - its standard deviation. Red color signifies terminal loss of the goal due to crash. 13 0 5.7. SamJ,Iing Frequency As mentioned in Section 4, the considered problem of tracking a chosen nominal trajectory segment is intr insically a problem of constrained motion with improper initial conditions. The constraint, defined by Eq. (30), is always satisfied at the beginning of a time step (t0 = 0) since the origin of agent's local coordinate system is at agent's current position at that time (as stated in Section 3). But its first derivative in respect to time, tP (t), is not, as illustrated on Fig. X70. Figure X70. System elements for two consecutive time steps, navigation vector is chosen as nominal trajectory. On Fig. X70 subscript i denotes current time step, while i-1 denotes the previous time step. The rest of designations are as fo llows: Po denotes agent's position at the beginning of a time step; xyz;.J and xyz; refer to agent's local coordinate systems for previous and cwrent time steps respectively; xyz refers to a global Cartesian coordinate system; TR;.J denotes an actual tra jectory generated for the (i-1) time step; NV is the computed navigation vector; X is agent's velocity vector in local coordinates. As seen on Fig. X70, the actual velocity vector at the beginning of a current time step, Xi-1> is tangent to the generated traj ectory TR;.J and is different from the nominal velocity vector X; that would have satisfied the constrain t's first derivative with respect to time, {1 (t). Thus, Baumgarte Stabilization is needed. 131 Baumgarte Stabilization Method, [73-76], allows constraints to be violated before corrective actions can take place, in order to fo rce the violation to vanish. This stabilization method is based on the damping of acceleration of constraint violations. Baumgarte Equation (Eq. (1 7)) is the 2" ct order ordinary diff erential equation for a closed-loop system, where 11 and A are feedback gains for velocity and position of constraint violations respectively. Introduction of these feedback gains, chosen as positive constants, can eliminate the growth of the constraint violations, and, in general, guarantee the stability of the derived EOMs. Nonethel ess, as highlighted in [73], there exists no explicit method of choosing these parameters in general case. As a rule, they are determined empirically, after a set of numerical experimen ts. The work [73] points out that the stabilizing values 11 = A = 5.0 fit well for systems of rigid bodies. A criterion that helps to select the se coefficients is discussed in [76], and the fo llowing conclusion is suggested: feedback parameters are inversely proportional to a time step when a constant step size /1t is used, 11 = ; , and A = :� . However, as mentioned in both [74] and [76], the above criterion may cause numerical instability when the step size becomes too small. It causes the damping terms to dominate the numerical values of Eq. (19) and makes the system numerically stiff. Several other criteria for determination of feedback parameters are discussed in [7 4-76]. One of the presented approaches is based on the adaptive scheme, where damping coefficients are initially based on critical damping, and are ad justed according to the predicted error, [74, 75]. The other approach is based on the stability analy sis for error propagation of the modified constraint equation that contains feedback parameters, [76]. As stated in literature, the choice of feedback parameters is, in the general case, empirical, and depends on the type of application. However, the conclusion is drawn that the feedback gains 11 and A should be either equal or, at least, close to each other, and should lie in the range from I to 20, [7 4, 75]. Considering these conclusions and postulated in Section 4 statement that 11 and A are predefined positive constants - system parameters, we attempt to formulate conditions for the minimal acceptable sampling frequency, or maximal duration of a single time step. 132 Even though the constraint l{J(q (t)) is defined as implicitly depending on time and is a 2x1 matrix, for simplicity it could be written as l{J(t). Then the Eq. (19) is re-written as v;(t) + 11,P(t) + Al{J(t) = 0 'It E [0, Lit] and it can be solved analytically for l{J(t). (40) As stated earlier in this Section, at the beginning of a time step l{J(O) = 0 and ,P(o) = l/Jo * 0. Obviously, l/Jo is also a 2x1 matrix. Then the analyti cal solutions for Eq. ( 40) for diff erent relationships between 11 and A are as follows. (i) underda mped case, 11 2 - 4;[ < 0 I [ (,[4Gj' ) (,[4Gj' )] l{J(t) = e - 11 t 2 * C1 * Cos 2 t + C 2 *Sin 2 t (41) where, considering the initial conditions defined above, constant coefficients C1 and C2 are: C1 = 0, and C 2 = R l/Jo , which makes the solution ofthe form 4A- Il-2 l{J(t) = --- l{J0 * e -!l t 2 *Sin --- t 2 I ( ,j4A -Il' ) ,j4A -!l ' 2 (ii) overdamp ed case, 11 2 - 4;[ > 0 (42) (43) where, considering the initial conditions defined above, constant coefficients C1 and C2 are: C1 = � l{J0 , and C 2 = - � l/Jo , which makes the solution of the form Vll-2 - 4A Vll-2 - 4A or 1 "' [ (� ) ( � )] l{J(t) = ,j 11 , _ 4A l/Jo * e - -, * exp -- 2 - t - exp - -- 2 - t 2 _!;!. (,j !l'- 4A ) l{J(t) = � l/Jo * e ' *Sinh -- t ll-2 - 4A 2 (iii) critically damped case, 11 2 - 4;[ = 0 (44a) (44b) (45) where, considering the initial conditions defined above, constant coefficients C1 and C2 are: 133 C1 = 0, and C 2 = t/Jo , which makes the solution of the form t/J(t) = t/Jo * t * e -{lt/ 2 (46) Behavior of these 3 fun ctions is shown on Fig. X71, where designations (i), (ii), and (iii) refer to Eq. ( 42), Eq. ( 44), and Eq. ( 46) respectively. For the presented example feedback parameters J1 and A were chosen in accordance with recommendations above and are as follows: (i) J1 = 5.0 and A = 7.1; (ii) J1 = 5.0 and A = 4.0; (iii) J1 = 4.0 and A = 4.0. 1/t(t) 0.8 0.6 0.4 0.2 4 Figure X71. Analytical solutions for the constraint function. 5 t As seen on Fig. X71, every solution exhibits the same behavior: the fun ction incre ases, reaches maximal value, then starts decreasing and eventually converges to zero. Depending on the length of a time step and values of damping coefficients J1 and A the convergence may or may not occur within a time step. Since the graphed constraint fun ction corresponds to the agent' s position error in respect to a chosen nominal traj ectory, avoiding maximal value by having a shorter time step is more feasible that attempting exact convergence at a longer time step. Having the position error as small as possible for the duration of a time step is beneficial since it decreases the smallest acceptable width of a safe corridor and allows an 134 agent to pass through tight spaces. Obviously, the latter holds true only provided the required safe distances from obstacles are not violated, since size of the corridor is first determined by these safe distances and only then by the maximal tracking error. Also, having a greater sampling fr equency, i.e. shorter time step, is beneficial for complex terrains (such as the one, shown on Fig. X63) where an agent may need to adj ust its heading often for obstacle avoidance. Thus, it is desired to enforce the condition: !1t < t p e ak where tp e ak is the time of reaching the maximum position error. (47) Violation of condition stated by Eq. ( 47) will cause attainment of the maximum position error, which, in tum, may cause safe corridor violation and subsequent crash into terrain. Also, as discussed earlier in Section 5.3 .l.B, increase in tracking error may accumulate for several consecutive time steps; if such trend continues, crash becomes inevitable, as shown on Fig. X9(b ). M . . . h do/J( t ) 0 d h f . do/J( t ) h . . E . f ax1mum pos1hon error occurs w en -- = an t e unctwn -- c anges 1ts s1gn. x1stence o d t d t time trise that satisfies these conditions is illustrated on Fig. X72, where designations (i), (ii), and (iii) refer to the time deriv atives of fun ction l{J ( t ) described by Eq. ( 42), Eq. ( 44), and Eq. ( 46) respectively. Figure X72. 1/J'(t) 4 Existence of tpea k for every analytical solution for the constraint function. 135 As seen from Fig. X71 and X72, both the constraint function and its first derivative in respect to time eventually converge to zero, as Baumgarte Stabilization Method postulates: the constraint violation is fo rced to vanish before control action commen ces. Therefore, t peak is the solution of equation ,f (t) = 0, where l{J(t) is described by Eq. (42), Eq. (44), and Eq. (46). This solution of,P (t peak) = 0 is expressed as fo llows: (i) underda mped case . 1 _ !!.'_ [ (,[40' ) ( ,[40' )] l{J(t) = ,j • A- �J- ' l/Jo •e '* - 11S in - 2 - t +.J 4:1 - J1 2 Cos - 2 - t 2 (,j4A -IJ- ' ) t p eak = � *ArcTan --- v4A-Il-2 11- (ii) overdamp ed case . 1 _ !!.'_ [ (� ) (� )] l{J(t) = ./ 1" ' - • A l/Jo * e '* - 11S inh - 2 - t + .J11 2 - 4:1 Cosh - 2 - t 2 ( ./ �J- ' -4A) t peak = � * ArcTanh --- " 11-2-4 A 11- (iii) critically damped case . "' ( '" ) l{J(t) = l/Jo * e - ..,-. 1 - ;; t 2 t peak = ;_ (48) (49) (50) (51) (52) (53) As expected, t peak depends only on the stabilizing gains, and not on the initial conditions and/or choice of nominal curve. Since l{J( t) is a 2xl matrix, and l/Jo is also a 2xl matrix of the form l/Jo = [>/J o y ] , where, in general case, l/Jo z >/J oy * l/Jo z , t p eak_y and t p eak_ z corresponding to >/J oy and l/Jo z components respect ively need to be computed separately, and the resulting time step length shall be chosen as: 11 t < Min {t p eak_y , t p eak_z} (54) 136 Having computed the time of reaching the maximum position error, the magnitude of that maximum position error could be estimated. Considering the defined earlier ranges for 11 and A such that 11 E [1, 20], A E [1, 20], expressions for the position error computed at trise are derived as follows: (i) (ii) (iii) ( ) 1 [ 11 (� A-ll' l underdamp ed case l{J t p eak = ,.,. * l/Jo * exp - r:;-;---:c; A rcTan vA v 4 A-!l-2 11- ( ) 1 [ /l (�] overdamp ed case l{J t peak = {I* l/Jo * exp - ,J 11,_ 4 A A rcTanh ------;--- ) critically damped case >/J(t p eak) = 2.. * l/Jo /le (55) (56) (57) The maximum value of l/J( t p eak) could be estimated using the properties of exponential, in verse tangent, and inverse hy perbolic tangent functi ons. These maximum values are estimated as follows: (i) maximum error value occurs at 4A - 11 2 "' 0 and A"' 1, i.e. for the pair of damping parameters values {A "' 1, 11 "' 2 - E} where E is an arbitrary small positive number; then (ii) maximum error value occurs at 11 2 - 4A "' 0 and A "' 1, i.e. for the pair of damping (iii) parameters values {A "' 1, 11 "' 2 + E} where E is an arbitrary small positive number; then maximum error value occurs at 11 "' 1 and A "' 0.5; then l/J( t p eak) = 0.37 * l/Jo max As these data demonstrate, maximum error happens near critical damping for both overdamp ed and underda mped cases, and its magnitude is equal to the magnitude of the velocity constraint violation at the beginning of a time step. Defining velocity constraint violation for the duration of motion is very difficult -i t varies from time step to time step, and having no prior knowledge of terrain, estimating the steepest possible navigation vector is not possible. Thus, numerical values ofl{J (t p eak) are estimated considering the worst-case max scenario, where l/Jo is the maximum velocity an agent is supp osed to achieve, multiplied by the positive coefficient that relates to the agent's maximum possible tum angle. Therefore, diameter of the narrowest 137 safe corridor for that scenario such as near-critical-damping and worst-case->/'0 is y > 2 ,P0, and for critical-damping {,u "' 1, A "' 0.5} and worst-case->/'0 is y > 0.74 ,P0. For any chosen pair of {,u ,A} diameter of the narrowest safe corridor for the worst-case velocity constraint violation operational ->/'0 is: (58) According to the postulates of the Modem Control Theory, [77], the dynamic behavior of the 2" ct order system represented as: in standard form, where I; is damping coefficient, and Wn represents natural frequency of the system, can be described in terms of these two parameters . In our for mulation these parameters of the 2" ct order dy namical system, expressed as functions of {,u ,A}, are as fo llows: damping coef ficient : natural frequency : damped frequency : The transient characteristics of the underda mped 2" ct order dy namical system, expressed as functions of {,u ,A}, are as follows. They relate to system response to a unit step input. peak time (time of maximum overshoot) : rr rr 2rr t - - - max_overshoot - wn./l - �2 - Wd - J4A _ 112 maximum overshoot: Mp = exp ( - /" ) * 100% = exp (- �) * 100% 1- .f2 y4A - Il- 2 settling time (considering 2% overshoot) Computing the above parameters of the 2" ct order dy namical system for the three examples, illustrated on Fig. X71 and X72, obtain the fo llowing: 138 (i) underda mped case: 11 = 5.0 and A = 7.1 I; = 0.94, Wn = 2.659, and wd = 0.906; (ii) overdamp ed case: 11 = 5.0 and A = 4.0 I; = 1.25, Wn = 2.0, and wd = 1.5; (iii) 11 = 4.0 and A = 4.0. I; = 1.0, Wn = 2.0, and wd = 0.0. It is important to note that, according to the postulates of the Modem Control Theory, [77], an underda mped 2" ct order dy namical system with I; E [0.4 0.8] conver ges to the unit-step input more rapidly than a critically damped or overdamped system. Among the systems responding without oscillation, a critically damped system exhibits the fastest response, while an overdamp ed system is always sluggish in responding to any inpu ts. In general case the desired performance characteristics of a control system is presented in term of time-domain quantities. Any dy namical system with energy storage (such as, for example, a generic 2" ct order system), cannot respond to an input instantaneously and will exhibit transient responses whenever this system is sub jected to any input or disturba nce. Defining system performance characteristics in terms of the transient response to a unit-step input is commonly accepted practice in control engineering. It is convenient for several reasons. First of all, such response is easy to generate, and it is expressive enough to be a good indicator of system dynamical behavior. Second, it is mathematically possible to compute the response to any input ifthe response to unit-step input is known. The standard procedure of computing the system response to a unit-step input involves using standard initial condition - the system is supposed to be at rest initially with the output and all time derivatives being zero. While this is not true for the described case where the velocity constraint violation is not zero initially, still analysis of the transient response of the system to unit-step serves its purpose, namely, determining reasonable values for 11 and A to achieve the desired system perform ance such as small overs hoot. 139 As stated in [77], with the exception of certain applications where oscillations cannot be tolerated, in general case it is desirable that the transient response be sufficiently fast and be sufficiently damped. Thus, the damping ratio for an underda mped system shall be defined as I; E [0.4 0.8]. For the values I; < 0.4 an excessive overshoot is observed, while for 0.8 < I; < 1 the system exhibits sluggish response. Case studies demonstrating selection of sampling frequency and resulting system performance are shown on Fig. X73 through X75. Underda mped case is considered since, as shown above, it yields the smallest maximum position error of the three damping possibilit ies. Navi gation vector was chosen as nominal curve. For the shown cases 11 = 3 .0 , A = 4.9, which is consistent with the stated above allowable range for the damping ratio: I;= 0.6776. The other system parameters and transient characteristics are as follows: Wn = 2.2 14, wd = 1.628 , t max_overs hoot = 1.93, Mp = 5.53 % , ts = 6.0. The worst-case velocity constraint violation is estimated as l/Jo = 7.0. Then the acceptable time step is computed as shown by Eq. (49), and, in accordance with condition specified by Eq. (47), is: /1t < t peak = 0.5 . The maximum position error l/J (t p eak) is computed as shown by Eq. (55), and is l/J (t p eak) = 1.48. The safe corridor width is given as y = 2.0, which is inconsistent with the condition specified by Eq. (58). Thus, time step length needs to be reduced to accommodate that safe corridor. Setting l/J (t p eak) = 1.0 and solving Eq. (55) for t peak obtain : t peak = 0.201. Thus, maximum time step length is set at /1t = 0.2. Fig. X73 shows system performance with selected /1t = 0.2 , while Fig. X7 4 shows system performance with selected /1t = 0.1. As expected, shorter time step (greater sampling frequency) yields smaller position errors . The diff erence in mean (FC) and standard deviation ( rr) of the required control fo rce is small: for /1t = 0.2 the parameters of constraint fo rce evolution are P = 12.82 and O" = 7.396, while for /1t = 0.1 the se values are P = 13.32 and O" = 4.857. Graphs ofP evolution with time for time steps /1t = 0.2 and /1t = 0.1 are shown on Fig. X75, where (a) refers to /1t = 0.2, and (b) - to /1t = 0.1 140 So, with shorter time step fluctuations of constraint fo rce are smaller, and the resulting trajectory is smoother. N (a) !.O f----------------- " � f �� � 0.8 � .,.. 0.6 0 ! i5 0.4 -5 Time Time (b) (c) Figure X73. Terrain-following by an agent with M = 0. 2. 141 N (a) !.O f------------------ 0.8 5 ..c .E OJ) "Ql 0 ::c -5 -10 0 2 3 4 5 6 Time Time (b) (c) Figure X74. Terrain-following by an agent with M = 0. 1. The rest of the designations for Fig. X73 and X74 are as follows: (a) shows generated traj ectory with cylindrical saf e corridors, navigation vectors (red arrows), and navigation rays (brown arrows) for every time step; (b) presents evolution of agent' s distance fr om the axis of the saf e corridor (navigation vector), size (radius) of safe corridor is shown as red horizontal line; (c) illu strates the "quality" of terrain- following: dark-blue line represents agent's actual traj ectory, while light-green lines represent the 142 minimal and maximal acceptable elevations above terrain if landscape-features-following were perfect, and the centerline ofthis "perfect" continuous space corridor. -10 , _ _ /t - ·- - .--:-- �-- � : :: - �: =�:-=J · " ' '' ' ' ' ' ' ', ! / ' -2 0�0������"""2:---�����-;---��"'--7� Time (a) 0 2 3 4 Time (b) 5 6 Figure X75. Evolution of constraint force for agents with different time step lengths. Fig. X76 illustrates system perf ormance where violation of the computed maximum time step length has occurred. For this case the selected time step length is 6.t = 0.55. It is greater than previously computed t p eak = 0.5 , so attainment of maximal position error 1/J( t p eak) = 1.48 is expected. Nonetheless, the actual saf e corridor violations are greater than a diffe rence between y and 1/JC trise). This happens due to greater velocity constraint violations caused by required sharper maneuvering. Nonetheless, crash does not happen because of the favorable terrain character (an agent is following a relatively wide canyon, and minimal saf e distance above terrain equals 10.0, while radius of the desired saf e corridor is 1.0). Fig. X77 illustrates such a crash on the not-so-f avorable terrain. As expected, when the chosen time step exceeds its longest acceptable length as defined by feedback parameters f1 and A., strong violations of saf e corridor bounds are observed, as well as the significant increase in the required control force. It is clearly visible on both Fig. X76 and X77. The designations for Fig. X76 and X77 are as follows: (a) shows generated traj ectory with cylindrical saf e corridors, navigation vectors (red arrows), and navigation rays (brown arrows) for every time step; (b) presents evolution of agent's distance from the axis of the safe corridor (navigation vector), size (radius) of saf e corridor is shown as red horizontal line; (c) shows evolution of the required control force for the duration of motion. 143 2.0 �1.5 8 N .3 1.0 1---+---t----+--+--t--+---+i "' 0 0.5 Time (b) 30 -10 -20 , , ' ' ' ' ' ' ( a ) :/ '' " " ' ' ' ' ' ' ' ' ' ' • ) I J l f I 1 1 I IJ I I �' : ,' ,, \ ' / - 30 � 0 � -- -- � 2 ---- -- 47 - ---- �6�- --- � 8--- -�,� 0 -- -- � , � 2 Tim e ( c ) Figure X76. Terrain-f ollowing by an agent with M = 0. 55, "crater & canyon" terrain. 144 N 2.0 �1.5 8 � � l. Of+-------l------+-----+-----1 "' a 0.5 Time (b) 30 '' '' -10 ' / -20 ' ' ' (a) t ; j .. I ,' j "" 1 1 I ) 1 t I "t I 1 11 I t I (I 1 1 I I 1 1 I I I t I I t, I I '' " " -30 �0���2���4���6�����1�0��1�2� Time (c) Figure X77. Terrain-f ollowing by an agent with l1t = 0. 55, "hilly terrain". The fo llowing conclusions summarize the discussion on sampling frequency: (1) minimal sampling fr equency (maximal time step length) depends solely on the system damping parameters f1 and A.; (2) to ensure agent's successful obstacle avoidance and subsequent attainment of the goal, the longest acceptable time step duration shall be selected to comply with the condition set forth by Eq. (47); 145 (3) the width of safe corridor shall be specified in accordance with the condition defined by Eq. (58), although it is an estimated value that depends on the magnitude of the possible velocity constraint violation l/Jo and its veracity therefore depends on the quality of estimation of the maximal value ofl{J0; (4) greater sampling frequency yields smaller deviations of agent's position from the nominal tra jectory in general case, and from the safe corridor axis in case where navigation vector serves as nominal tra jectory; the shortest possible time step is defined by the agent's physical capabilit ies. 5.8. Test Terrains and Quality of the Obtained Navigation Solutions In order to conclude the validity of the deve loped navigation methods their performance on repres entative terrains needs to be evaluate d. Therefore, the choice of test terrains is an important task. Ideally the dyna mical system would need to be tested on a multitude of landscapes and then statistical ana lysis of perform ance parameters vs. terrain topography metrics would be perform ed. Alas, due to time limitations such an approach is inf easible for the described research effort. Thus, the worst-case scenario was deve loped and two test terrains were constructed in accordance to it. The rationale behind choosing the worst-case scenario for design and analysis of terrain-f ollowing navigation methods is as follows. An autonomous agent employs a certain navigation mode, which consist of: (a) navigation method; (b) sensor characteristics such as sensor "vision" parameters and sampling frequency. A viable navigation mode implies that the structure of constraint function and choice of nominal curve are defined in accordance to conclusions of Section 5.7. It also implies that sampling frequency is defined as described in Section 5.6, and sensor "vision" parameters are chosen per conclusions of Sections 5.4 and 5.5. Then, if agent's navigation mode is capable of successfully negotiating these worst-case test terrains, it can be considered fit for use on any natural terrain, which, by definition of a worst-case scenario, will have easier-to-avoid obstacles. The ability to specifY universal - 146 fit fo r all navigation methods and both test terrains - sensor characteristics is an additional demonstration of viability of the presented terrain- fo llowing navigation algorithm. Another justification of worst-case scenario testing is that the certain aspects of system perform ance such as, fo r example, going in loops due to excess roaming, or flying in overly wide curves, could only be demonstrated using exaggerated complex environment settings. In order to construct the required test terrains a brief analysis of the slope and topography of natural landscapes was performed. The natural terrain is not an arbitrary surface - it can always be represented as a continuous mathematical function when mapped to latitude-longitude, i.e. a single elevation value corresponds to any given latitude-longitude point. The slope of a natural landscape obstacle depends on the material of the fe ature, e.g. fo r sand dunes maximum slope does not exceed 30°, while fo r granite/ basalt hills it may increase to 60°, [79, 80]. The test terrains, shown on Fig. X78 - "crater & canyon" (Fig. X78(a)) and "hilly terrain" (Fig. X78(b)) - represent two distinct worst-case scenarios fo r a terrain- fo llowing system due to their exaggerated shapes. As a rule, slopes of landscape obstacles on the se constructed terrains exceed 65°. N ]Q (a) (b) Figure X78. Test Terrains. The other exaggeration needed to cre ate the worst- case conditions relates to obstacle distribution. 147 Obviously, the worst case for any autonomous flight system is represented not by a single obstacle feature such as a steep hill or deep surf ace depression, but by a collection of tho se. Thus, the test terrains were constructed in a manner that incorporates the most unfavorable locations, distributi ons, and footprints of obstacles in addition to exaggerated slopes. In addition to representing the worst-case terrain topography the constructed two types of test terrain, illustrated on Fig. X78, were chosen as typical examples of common landscape obstacles. Any natural terrain could be represented as a collection of flats, craters, hills, and canyons between those hills. Marnn ade obstacles such as urban landscapes could also be approximated by the hills/ca nyons structu re. Similarly to the terrain-modeling approach, presented in [78], the employed terrain representation was developed to allow quick computations of local terrain height and derivatives of the terrain. The terrain data is as follows: z(x, y ) = Br (x, y), where {x,y}are coordinates of terrain point in global Cartesian coordinate frame, z is the elevation of that terrain point, and Br (x, y) represents a collection of functions taking {x, y} as arguments. Each test terrain is formed by a union of several terrain functions with diff erent domains for x and y coordinates, where the form ulae describing these functions are as fo llows: (i) "crater & canyon" terrain 4 z cc(x,y ) = U Br, (x,y) i= 1 Br, (x,y ) = a1 * [Sin(P1 * ( x- y ) ) - Cos(P1 * ( x- y) )] - v1 where x E [10, 80] and y E [10, 80] ; Br,( x,y ) = P 2 * (x + y) where x E [0, 90] and y E [0, 90]; Br,( x,y ) = a3 * [cos(P3 * (x- y) ) + Cos(P3 * (x + y- v3))] where x E [50, 90] and y E [50, 90]; Br4( x,y) = V 4 where X E [O, Xmax] and y E [D,Ymax]; (ii) "hilly terrain" 4 zHr( x, y ) = U Br, (x,y) i= 1 148 Br, (x,y) = l a1 * Cos(/31 * (x - y ) )l * [Cos( /31 * (x - y + v11)) - Cos(/31 * (x + y- v1 2 ))] + v13 where x E [0, 50] and y E [0, 50]; Br,( x,y) = a 2 * Sin (/3 2 1 * (x + y)) * [Cos(/3 22 * (x - y )) + Cos(/3 22 * (x + y))] + v 2 where x E [20, 70] and y E [20, 70]; Br,( x,y) = /33 * (x + y)where x E [-20, 80] and y E [-20, 80]; Br4(x,y) = V 4 where X E [O, Xmax] and y E [O, Ymax]; In this formulation {a;, /3; , v; } are positive constant coefficients (values are chosen to generate the desired terrain relief), and {xmax, Ymaxl are terrain boun ds. For this study we chose to assume that obstacles such as free-standing poles, electric lines, and the like are not present on the test terrain. We also assumed that there are no other moving entiti es in the airs pace above test terrains. It needs to be noted that the complexity of the employed test terrains exceeds the complexity of terrains commonly used for development of terrain-following navigation algorithms as demonstrated in literature. Further study of terrain relief/ topography influence on sensor parameters is planned. Preliminary results show that acceptable ran ges of sensor parameters such as coverage angle and inclination angle increase with less complex topography, smaller slope of terrain obstacles, and, in general, with landscapes closer resembling natural terra ins. So far the main criterion of navigation mode feasibility is it ability to succes sfully negotiate the test terrains and reach the goal. Another important feasibility metric is the range of crucial sensor parameter coverage an gle. In such context navigation methods "Longest-Ray" for a single-ra y-set -navi gation, and "Longest-Longest", "Longest-A verage", "Average-Longest" for a 3-prong sensor navigation are considered inf easible: for "Longest-Ray" and its counterpart "Longest-Longest" the crash over "crater & canyon" terrain is inevitable no matter what the sensor coverage angle is, while for "Longest-Average" 149 and "Average-Longest" the acceptable coverage angle range 1s prohibitively narrow. Thus, these 4 navigation methods are recommended to be avoided. This research effort does not compare performance of different navigation methods between them selves, consi dering that the choice of agent's behavior is, in general, mission-driven. The presented navigation algorithm, off ering diff erent possibilities of agent's terrain-f ollowing behavior, enables the selection of the "bes t-fit-f or-a-particular- mission" navigation mode with consideration of available sensor capability. Nonethel ess, further study is planned, aiming at the development of an optimal navigation mode(s). Motion cost metrics such as terrain traversal time and total fuel consumption will be defined and ana lyzed, and navigation algorithm will incorporate their minimization. 6. EMERGENCY OBSTACLE AVOIDANCE MANEUVER As noted in Section 5.3 in some circumstances an agent cannot succes sfully track the computed navigation vector. The limited thruster force is not the only reason for it. The tracking error that depends on system parameters that participate in Baumgarte Stabilization, presented by Eq. 19, also plays a part. As the angle between navigation vectors for two consecu tive time steps increases (as seen on Fig. X9(b)), so does the angle between velocity vector and navigation vector to be tracked. Hence, tracking error increases and the desired ascent is not achieved. Then navigation vector for the next time step calls for even larger angle of ascent, causing greater tracking error as evidenced on Fig. X9(b). Thus, with every new time step agent's ability to track the computed navigation vector di minishes until crash ensues. So, whenever steepness of the computed navigation vector exceeds agent's tracking capacity, crash into terrain becomes inevitabl e. Thus defined cause of crash facilitates for mulation of an emergency obstacle avoidance maneuver: o identifY agent's performance parameters that indicate increased possibility of crash in a few time steps; o observe evolution of these parameters during motion and define the corresponding mathematical expressions, signifYing entrance into a "danger zone"; 150 • develop a procedure of modifYing the computed navigation vector to achieve manageable smaller slope, thus, succes sfully avoiding terrain obstacle. It is obvious that for a 2-D system emergency obstacle-avoidance maneuver is meaningless - if an agent cannot negotiate the required climb, it will crash since there is nowhere to tum. For path planning problems in virtual environments implementation of rollback procedure will help. In that case an agent will have an opportunity to rollback for as many time steps as needed to find a diff erent path through terrain- one that does not yield un-trackable navigation vectors. For the case of actual environment implementation of rollback is beneficial for path planning resolved in mission preparation stage, where the output is a list of waypoints for aircraft to fo llow during mission fulfillment. While mission is already in progress, implementation of rollback is only applicable if an agent possesses a capability of turning around, re-tracing its steps back to a point generated by the rollback procedure, and choosing a different route from that point. For a rotorcraft such rollback may be applicable, while for a winged aircraft rollback applicability is marginal. For the 3-D system the fo llowing two types of obstacle avoidance maneuver are defined as: a) modifYing the computed navigation vector to decrease its slope, b) providing for the ability to tum around and choose a diff erent route, i.e. rollback . 6.1. Approaches to Modification of Computed Navigation Vector. Modification of the navigation vector, computed for a current time step, could be defined as changing the direction of motion without regard to goal vector for a single time step in order to avoid crashing into a terrain obstacle. This change of the direction of motion is as such as to veer to the right or to the left of the obstacle and pass it from the side. It could be performed in two ways: a) switch to a diff erent option of choosing the sensor "vision" ray, i.e. diff erent navigation mode; b) employ auxiliary sensors, located to the right and to the left of the current sensor, choose sensor "vision" ray for both right and left auxiliary sensors, compute corresponding navigation vectors, and choose the one with the least slope. 151 6.1.1. Switching to a Different Navigation Mode Switching to a different way of choosing the sensor "vision" ray may be a reasonable solution for navigation methods that involve Shortest-ray since the other navigation types by default yield navigation vectors with lesser slope. An example of such maneuver is shown on Fig. X79, where the longest ten·ain- intersecting sensor ray is used to mo dify the originally computed navigation vector, thus, making it less steep. As seen on Fig. X80, the modified navigation vector may veer either to the left or right of the obstacle, thus, producing a stronger deviation from the desired direction to the goal than the originally computed navigation vector. Designations for Fig. X79 are as follows: P represents agent's position at the beginning of the current time step, Dis the goal vector, VRr and VRs denote sensor "vision" rays for Longest-ray and Shortest-ray navigation modes respectively, while NVL and NVs represent the corresponding navigation vectors, that form angles eL and es wi th the positive direction of z-axis. It is demonstrated that eL > es, which means that NVL is less steep than NVs . z X NVs terrain smiace with a hill Figure X79. Modifica tion of the computed navigation vector for the emergency obstacle avoidance maneuver, single-ray-set sensor model. For a single-ray-set navigation switching to a different navigation mode is applicable to Shortest-ray navigation, as described above, and possibly to Average-ray navigation, in pmticular for cases with 152 predominance of short rays in the set of terrain-int ersecting rays. Target rays of such switch are be Min Alpha and Longest rays since the fo rmer yields close -to-horizontal navigation vectors, and the latter may even prompt downward motion instead of a steep climb. Nonetheless, switching to the Longest-ray navigation mode as an emergency obstacle avoidance maneuver needs to be done with caution since it could lead an agent into terrain depression as described in Section 5.3.1, in particular when the maneuver is repeated for several consecutive time steps. When maneuver is completed, an agent will have to ascend to exit this depre ssion and continue moving toward the goal, and the problem of negotiating steep climb may resurf ace. This is particularly important for "crater & canyon" type of terrain. Since Min-Alpha-ray yields the least slope navigation vector, switching technique is not appli cable to it. The Longest-ray navigation, favoring low-lying areas at all times, may call for a steep descent. Then switching to either Min-Alpha-ray or Average-ray navigation modes may be beneficial . Although choosing Average-ray navigation for an emergency maneuver may bring only marginal improvement for such a case, in particular when longer rays dominate the set of terrain-intersecting rays. Also, if sensor coverage angle is small, the diff erence in length between terrain-intersecting rays may be insufficient for eff ective emergency obstacle avoidance. Thu s, for a single-ra y-set navigation with emergency obstacle avoidance by switching to a diff erent navigation mode it is beneficial to choose sensor with coverage angle in the upper values of the acceptable range as defined in Section 5 .4.1. For a single-ra y-set navigation the described approach to emergency maneuver does not guarantee that switching to a different navigation method will result in desired obstacle avoidance. That happens when shape of an obstacle is as such that both currently selected (for example, Shortest) and switch target (for example, Longest) rays lay in the same vertical plane as shown on Fig. X80. In that case computed navigation vector for a single time step can be modified, but the same problem will arise at the next time step, and the next one until crash becomes inevitabl e. 153 Sensor Origin iagent's position) Main Sensor Ray Set acquired obstacle that is perpendicular to the Base Ray (a) X (b) Figure X80. Situation examples where changing the navigation mode (choice of sensor "vis ion" ray) does not lead to a successful emergency obstacle avoidance maneuver. On Fig. X80 (a) represents the case of teiTain obstacle that is perpendicular to sensor base ray, and (b) shows the case when agent acquires a ridge. The rest of designations are as follows: P represents agent's position at the beginning of the current time step, 15 is the goal vector, VRL and VRs denote sensor "vision" rays for Longest-ray and Shmtest-ray navigation modes respectively, while NVL and NV 5 represent the COITesponding navigation vectors. On Fig. X80(a) obstacle surface plane (gray) is perpendicular to the base ray of sensor ray set. Thus, the shmtest ray is the base ray itself, and all the longest rays are on the oute1most layer of vision cone and are of the same length. Since the choice of the appropriate longest ray is thus undefined, it is possible to choose the one that lies in the same ve1tical plane as the shortest ray. If the vision cone is narrow enough to allow approximating the portion of obstacle surf ace in-view as a plane, emergence of such situation is possible. On Fig. X80(b) an obstacle smface is such that sensor ray set acquires a ridge. If that ridge is sufficiently nan·ow in comparison with the width of cone, representing sensor ray set, to be approximated by a line of intersection between two planes (edge), then the ends of all the rays that acquire this obstacle 154 will lay on this line. Hence, both shortest and longest surf ace-intersecting rays will be in the same vertical plane, and instead of turning to avoid the obstacle the robot will continue moving towards it, only along the less steep tra jectory. Obvi ously, same situation will repeat in the next time step and so on, until collision becomes inevitable. The beneficial effects of switching to a diff erent navigation mode as emergency obstacle maneuver are more pronounc ed for 3-prong sensor model due to larger total sensor coverage angle and resulting greater field of vision. For example, for a 3-prong sensor model Shortest and Longest rays may belong to diff erent ray sets, thu s, being farther apart and, consequently, able to lead an agent around an obstacle. Here switching could be done in two ways: switching between navigation methods within the same group (i.e. keeping the choice of ray out of an individual ray set and changing the choice of sensor "vision" ray ), or switching between groups by either changing the choice of ray out of an individual set without changing the method of selec ting sensor "vision" ray, or changing everything to achieve the greatest diff erence in resulting navigation vectors (see Section 5.3.2 for discussion on diff erent navigation types). The switching relationships defined for single-ra y-set navigation hold true for 3-prong sensor model. Similarly to a single-ra y-set navigation the only method for which switching to a diff erent navigation mode is not applicable is Min-Alpha-Mi n-Alpha, since it yields the closest to horizontal navigation vector. 6.1.2. Ern playing Auxiliary Sensors An option of using auxiliary sensors for the emergency obstacle avoidance maneuver off ers more general solution for dealing with too steep navigation vector, even though this technique involves deliberate deviation from the desired direction to the goal. Auxiliary sensors are located to the left and to the right of the main sensor, increasing its field of vision. As discussed in Sections 5.4 and 5.5, an out-of bounds large sensor coverage angle corresponding to wide field of vision leads to excessive roaming. Noneth eless, for an emergency maneuver wide field of vision is required so that an agent could "see" a possible collisi on-f ree path around an obstacle. The selected sensor "vision" ray that belongs to an 155 auxiliary sensor will significantly deviate from the goal vector, but we do not expect it to result in terminal goal loss because, in general case, an emergency maneuver shall not persist for more than a few time steps. Goal vector D, recomputed at each time step, corrects direction of motion toward the goal, and sensor coverage angle, being within the defined bounds as discussed in Sections 5.4 and 5.5, ensures that deviation of any chosen sensor "vision" ray will not cause excessive roaming. An example of using auxiliary sensors to obtain a modified navigation vector is shown on Fig. X81, where (a) shows construction of a single-ray-set sensor with auxiliary sensors as well as illustrates the process of computing the desired less-steep navigation vector, and (b) shows 3-prong sensor model with auxiliary sensors. z BRA2 )Auxilimy Sensor 2 i5 X (a) (b) Figure X81. Emergency obstacle avoidance maneuver using the auxiliary sensors. The rest of designations for Fig. X81 are as fo llows: P represents agent's position at the beginning of the current time step; D is the goal vector; BRM and {BRMJ, BRM2, BRM3} represent base rays of a single-ray-set and 3-prong sensors respectively, while BRA 1 and BRA2 denote base rays of auxiliary sensors. VRM denotes sensor "vision" ray generated by the main 156 ray set, NVM represents the corresponding navigation vector, while VRA1 and VRA2 denote sensor "vision" ray generated by the auxiliary sensors, and NV A1 and NV A2 are their corresponding navigation vectors ; the one with srnaller slope is chosen as agent's navigation vector for the current time step. Construction of a single-ray-set sensor with auxiliary sensors looks very similar to a 3-prong sensor model. Only in this case the auxiliary sensors do not have to have the same coverage angle and configuration as the main sensor, and derived in Sections 5.4 and 5.5 relationships and/or bounds for these parameters do not apply to auxiliary sensors. Although right and left auxiliary sensors shall be identical so that no obstacle avoidance direction is fa vored. The same statements apply to auxiliary sensors for a 3-prong sensor model also. The method of choosing a "vision" ray from auxiliary ray sets does not have to be the same as the one utilized for the main sensor. For a single-ra y-set it may be anyone of the four described in Section 5.3.1, and for a 3-prong sensor model it may be anyone of the sixteen described in Section 5.3.2. Although Shortest and its counterpart Shortest-Shortest ray choice for an auxiliary ray set may yield a lesse r-slope navigation vector than the one, corresponding to the original sensor "vision" ray, due to a different field of vision and diff erent terrain areas thus acquired, it would be prudent to avoid these ray choice since they tend to generate navigation vector of the greatest slope of all the described navigation methods . It shall also be noted that for a 3-prong sensor model choice of ray out of auxiliary ray sets may be in accordance to single-ray-set navigation methods rather than those developed for multiple-ray-set navigation. This approach may be used in particular when auxiliary sensors have smaller sensor coverage angle, thus, less variation between lengths of terrain-acquiring rays. Of course, choosing sensor "vision" ray from an auxiliary ray set does not automatically mean that it generates navigation vector of lesser slope than the one, resulting from the main sensor ray set(s). For example, for an agent trapped inside the crater (as shown on Fig. X8) the use of auxiliary sensors will not help since all the rays will call for an ascent of approximately the same steepness. But for the case shown on Fig. X9 using auxiliary sensors may help by making an agent to take a route veering to the right or to the left ofthe hill, and eventually passing around it. 157 The method of using auxiliary sensors for navigation vector modification is fully applicable for all navigation methods, even I:vfin-Alpha-ray for a single-ra y-set navigation, and symmetric I:vfin-Alpha- I:vfin-Alpha for a 3-prong sensor model. It is so because portions of terrain acquired by the main sensor and auxiliary sensors may be very diff erent, thus, producing diff erent sensor "vision" rays and resulting navigation vectors of diff erent slope. The weaknesses, discussed in Section 6.1 - agent that uses Longest rays for navigation getting trapped in a terrain depre ssion, and specific, maneuver-defYing, terrain shapes - still apply, although the latter is less of a problem due to wide sensor vision field. 6.2. Navigation Vector Modification Technique. Complexity of the derived EOMs precludes explicit expression of the maximum angle of ascent as a function of system parameters . Thus, we need to find some system parameter(s) that indicate increased possibility of crash in a few time steps. Then the defined crash condition will be monitored while solving EOMs for every time step, and computed navigation vector will be modified as described in the previous section. When upward motion is required, the moving ob ject frequently slows down. During an ascent the generated acceleration becomes either dir ected opposite to the corresponding velocity vector, or they form an obtuse angle as seen on Fig. X85. This slowing down effect increases with the slope of navigation vector. That happens because as navigation vector slope approaches !E. , the a2 component of the 2 navigation vector line equation (see Section 5.6) tends to infinity, thus making all acceleration components zero as seen from the derived EOMs, presented in Eq. (36). Therefore, when the required angle of ascent becomes too large for agent's capabilit ies, the slowing down progresses until velocity magnitude becomes very close to zero and crush ensues. Therefore, the definite condition for crash is: 158 Noneth eless, since navigation parameters are updated only once per time step - at its beginning, and cannot be chang ed "inside" a time step, in order to avoid a crash velocity magnitude cannot be allowed to reach zero at any time. Hence, the emergency maneuver shall commence when velocity magnitude reaches a certain thre shold value and corresponding acceleration does not form a sharp angle with the velocity vector (i.e. slowing-down process has started): { 0 < ll q(t)ll ,; V critical q(t). q(t) = llq(t)ll llii( t)ll Cos[L(q (t) q(t))] ,; 0 If both of these conditions hold true, the navigation vector, generated by the auxiliary sensor ray sets, must be substituted for the one, generated by the main sensor ray set(s). The maneuver mechanics is illustrated on Fig. X82. through X85. For this example V critical = 5. Terrain is not shown for clarity of illustration. The event that requires maneuver is not iced "inside" the 6 th time step - velocity magnitude becomes less than the chosen critical value, as evidenced by II q ( t) II dipping below the orange line corresponding to ll<?( t) ll (as seen on Fig. X68(a)), and the angle between vectors of velocity and acceleration is obtuse (L(q(t) q(t)) = rr). Substitution of the navigation vector occurs only at the beginning of the next, 71h , time step. Fig. X82 shows agent's tra jectory with emergency maneuver employed twice per the duration of motion, and agent's navigation vectors for every time step. Trajectory, generated with regular na vigation, is shown in dark green, tra jectory during the maneuver - in red, and navigation vectors, computed per time step, are blue. On Fig. X83 (a) presents agent's velocity, and (b) shows agent's velocity and acceleration vectors for the I " instance of emergency maneuver. The remaining motion parameters for this example are shown on Fig. X84, where (a) presents evolution of system acceleration, (b) - external force (see Section 4, eq. (22) for its constituen ts), and (c)- required control (const raint) force. The color designations for Fig. X83 and Fig. X84 are as follows: parameter magnitude that corresponds to regular navigation is shown in solid !59 dark green line, while the one, corresponding to emergency maneuver, is shown in red; parameter components are shown in dashed lines, where x-component is purpl e, y-component - yellow, and z component - green. On Fig. X83(a) the chosen critical velocity value is shown as orange line. On Fig. X83(b) agent's velocity vector qi is shown as purple arrow, while its acceleration vector qi -as magenta arrow, subscript i corresponds to the time step number; traj ectory corresponding to regular navigation is shown in dark green, and the one corresponding to emergency maneuver is shown in red. 60 8 0 Figure X82. Emergency maneuver: trajectory and navigation vectors. 160 -S -10 Figure X83. -5 --- -10 >- - -, _ _jlJ. -� ', IS - - -- - - - - - ' J ' - - - - - - ' ,, ' ,"'\ (a) ... , \ ' ' ' ' ' \ ', \ ' ' ...... .... ... , ... X (b) Emergency maneuver: velocity magnitude and velocity components, accelera tion _ _ , '-, \ ,-,/ ' ' ' ' '-' and velocity vectors for the 1st maneuver instance. - 20 15 - (b) (a) 30 ' -10 / ' ' (c) Figure X84. Emergency maneuver: system acceleration, external and control forces. 161 z F' 9 (a) (b) Figure X85. Emergency maneuver: external and control forces, velocity and acceleration vectors. On Fig. X85 (a) presents agent's velocity and acceleration vectors, and forces acting on the agent for the duration of motion; (b) shows agent's velocity, acceleration, and forces vectors for the 1s t instance of emergency maneuver. The agent' s velocity vector Cfi is shown as purple arrow, its acceleration vector i:L- as magenta arrow, vector of external forces F{ - as red arrow, and vector of the required control (constraint) force F{ - as blue arrow; subscript i corresponds to the time step number; traj ectory corresponding to regular navigation is shown in dark green, and the one corresponding to emergency maneuver is shown in red. As seen on Fig. X83, the agent is slowing down consi stently for the duration of time step #6, within which conditions for emergency maneuver become true. At the beginning of the maneuver (time step #7) acceleration vector is directly opposite to the velocity vector. Then during the maneuver velocity and acceleration vectors evolve to form a sharp angle, thus, increasing the velocity and moving it away from the critical value . In this example maneuver lasts for 2 time steps - time steps #7 and #8. Maximum speed up (max. acceleration) is observed at the end of the 7 th time step, where velocity and acceleration vectors 162 are collinear and L(q(t) ij (t)) = 0. During the 8 1 h time step velocity still increases, but the rate of increase is smaller, and the angle between velocity and acceleration vectors gradually increases. At the end of the 8 1 h time step agent's velocity is approximately 1.5 times greater than the critical value, and the angle between velocity and acceleration vectors is still sharp, so for the 9 1 h time step regular navigation is employ ed. Fig. X85 further illustrates the slowing down effect and emergence of conditions for maneuver. As stated earlier in Sections 2 and 4, for a single agent represented by a particle of unit mass, the equation of motion is ij (t) = F e (t) + F c (t), where F e (t) and F c (t) are vectors of applied external fo rce and required control fo rce respectively. As seen on Fig. X85( b), for steps immediately preceding the maneuver L(F e (t) F c (t)) E] �, rr[ , measured clockwise from F e (t) to F c (t) , and resulting acceleration vector fo rms an obtuse angle with the velocity vector. As motion progresses from time step #5 to time step #7, the angle between acceleration and velocity vectors incre ases, until at the beginning of time step #7 L(q(t) ij (t)) = rr, prompting for an emergency maneuver. At the beginning of time step #8 (mid-maneuver) and time step #9 (beginning of regular navigation after succes sfully executed maneuver) the angle between vectors of external and control fo rces is measured counterc lockwise from F e (t) to F c (t), and resulting acceleration vector fo rms a sharp angle with the velocity vector. 6.3. Modification of Navigation Vector by Using the Auxiliary Sensor Ray Sets. Having defined the conditions for emergency maneuver, we check them at every time step. If it so happens that the main sensor yields navigation vector that requires a maneuver, we need to verify whether any of the auxiliary sensor ray sets generate an acceptable navigation vector. An example of that technique for a single-ra y-set navigation with 2 identical auxiliary sensors is shown on Fig. X86. As mentioned in Section 6.2, auxiliary sensors shall "look" suf ficiently far to the right and left of the main sensor to provide field of vision broad enough for meanin gful maneuver. If angular distance between auxiliary sensors and the main one is small, the possibility of them acquiring the 163 same terrain obstacle, thus, fa iling to find a path around it, increases. It may also be beneficial if auxiliary sensors have larger inclination angle to "see" farther (as shown on Fig. X5(b )). 10 -- --------- - ........ .. ... ... 0.5 --- ____ ... (a) (b) (c) (d) , , ', - - 1 .0 15 Figure X86. Emergency maneuver using single-ray-set navigation and 2 auxiliary sensors. Fig. X86 illustrates emergency maneuver using auxiliary sensors, where: (a) shows sensor model, where green arrows indicate the main set of rays and blue arrows indicate the auxiliary ray sets, and orange arrow signifies base ray of every ray set. Main and auxiliary sensors are not identical, and their parameters are as fo llows: <fJmain = <fJauxiliar y = 20°, ¢main = 35°, ¢auxiliar y = 45°, sensor configuration and sensor range are 164 the same for main and auxiliary sensors, N5 x dr 1 is 3x8, lr = 50, angle between main and auxiliary sensor is 55°, navigation method is Shortest-ray , and the choice of ray from auxiliary sensors is also the shortest ray; (b) shows evolution of agent's velocity, Vcritical = 12, velocity magnitude is shown as solid line, velocity components are shown as dashed lines, where x-component is purple, y-component- yellow, and z-component- green; (c) and (d) show the detailed view of generated trajectory (shown in dotted line) with the navigation vectors and sensor "vision" rays, where (c) presents the top view, while (d) presents the side view. Designations for vectors are as follows: navigation vector is represented by blue arTow, velocity vector - by purple arrow, and acceleration vector - by magenta arrow; "vision" ray obtained from the main sensor is shown as green arrow when it is "good" (generates an acceptable navigation vector), and as red arrow when it is "bad" (does not generate navigation vector with acceptable slope, requiring an emergency maneuver), the selected from auxiliary sensor "vision" rays are shown in green when they are "good" (generate an acceptable navigation vector) and in orange when they are "bad". The problem, clearly seen here, is that for certain time steps (#4, #6 through 8) all rays are "bad" - main and auxiliaries. This situation is somewhat similar to the case shown on Fig. X80 (a) - all three generated navigation vectors have approximately the same slope as seen further on Fig. X87. (a) Figure X87. ///////////l!ll!/////////////l/l!! i = 6 /!////!//!///!!///!//!! /!//!!//!//////!ll!/l!//!////!//!! bEvent = True dir = {0.54341 1, 0. 482047 , 0. 687267 } bEvent = True dir = {0. 713873 , 0. 185418, 0. 675282} bEvent = True dir = {0. 136371, 0. 95 1034 , 0. 277376} (b) 6th time step of the simulation. 165 The designations for Fig. X87 are as fo llows: (a) shows navigation vectors corresponding to main sensor "vision" ray (shown in dark red), and auxiliary sensors "vision" rays (shown in blue); (b) presents a snippet of software output for the 6 1 h time step, showing the generated navigation vectors and the need for emergency maneuver - all navigation vectors are unacceptable, yielding velocity smaller than the specified critical value and acceleration vector forming an obtuse angle with the velocity vector. Fig. X87 demonstrates a weakness of the discussed strategy for emergency maneuver - here the maneuver is required, but none of the auxiliary sensors can generate an acceptable navigation vector. Thus, the procedure for emergency maneuver needs to be modified. One of the ways to refine the process of checking for maneuver event is to introduce the safety layer. This is done by modifYing event conditions as fo llows: 0 < ll<? (t m;n)ll ,; Vc riti c al t min q C tmin) · ii C tmin) ,; 0 0 < II<? C t max)ll ,; Vc riti c al t max <?C tmax)· iiC t max) ,; 0 where tmin corresponds to the global time at the beginning of the current time step, and tmax = tmin + /1t corresponds to the global time at the end of the current time step. Magnitude of velocity vector and dot product of velocity and acceleration vectors are computed as fo llows: ll<? (tm;n)ll = <?x C tmin ) 2 + qy(t m;n) 2 + <?zC tmin ) 2 <?C tmax) . i.iC tmax) = II<?C tmax)ll lli.iC tmax)ll Cos[L(q C tmax) i.iC tmax))] II<? C tmax)ll = j<?x C tmax ) 2 + qy(t max ) 2 + <?zC t max ) 2 The width of safety layer is computed as fo llows: Vc riti c al_t_ min - Vc riti c al_t_ max = Esa f ety_layer· Introduction of thus defined safety layer means that in order to avoid calling for a maneuver unnecessa rily, emergency of conditions for maneuver are checked twice per time step - at its beginning 166 and at its end. It is possible that while an agent reaches critical velocity and is slowing down at the beginning of a time step, by the end of this time step agent's velocity would not reach lower critical limit, or an agent may even commence speeding up. If that is the case, maneuver for this particular time step is not required. Therefore, the ray that generated the considered navigation vector is acceptab le. This maneuver technique for a single-ra y-set navigation is demonstrated on Fig. X88 and X89. Fig. X88 depicts the succes sfully performed maneuver in its entirety - for every triple of rays (single main and two auxiliaries) there is at least one that generates an acceptable navigation vector. Motion correction and subsequent progression toward the goal are seen clea rly on Fig. X88( c). Detailed view of the generated tra jectory and motion parameters such as sensor "vision" rays, navigation vectors, and agent's velocity and acceleration vectors per time step are shown on Fig. X89. Sensor parameters for this example are the same as in the example, depicted on Fig. X86 and X88. Main and auxiliary sensors are not identical, and their parameters are as fo llows: <tJmain = <fJauxiliary = 20°, <P main = 35°, <Pauxiliary = 45°, sensor configuration and sensor range are the same for main and auxiliary sensors, Ns x d r , is 3x8, l r = 50, angle between main and auxiliary sensor is ss•, navigation method is Shortest-ray, and the choice of ray from auxiliary sensors is also the shortest ray . On Fig. X88 the designations are as follows: (a) shows evolution of agent's velocity, Vc riti c al t min = 12, Vc riti c al t max = 8, velocity magnitude is shown as solid line, velocity components are shown as dashed lines, where x-component is purple, y component - yellow, and z-component- green; (b) presents a snippet of software output for 3 consecu tive time steps, showing the generated navigation vectors and the need for emergency maneuver; (c) depicts the generated tra jectory with navigation vectors (purple arrows) and sensor "vision" rays that are shown as green arrows when "good", i.e. generate acceptable navigation vectors, and red or 167 orange otherwise. Red signifies "bad" ray that belongs to the mam sensor, and orange - to an auxiliary sensor; Po is agent' s initial position. 10 \ \ \ \ \ ' , , , __ (a) Figure X88. .... - .... -' \ / // \ / ... - - - ' , , , I I .J )x' _ _ _ _ _ J - ' 2 ', ..._ _ _ _ ________ l. __ ' , , ,./ / 4 ' ' ...... .... _�" (c) i = 5 /////////////////////// /ll//ll//ll//ll//ll//ll//ll//ll//1 bEvent = False dir = {0.5 434 11, 0. 482047, 0. 687267} /ll/llll/ll//ll/llll/1//1/ll/ll//l i = 6 ll//ll//11/llll/11//11/ /ll/llll/ll//ll/llll/1//1/ll/ll//l bEvent = True dir = {0. 380701, 0. 339607, 0.8 60078} bEvent = True dir = {0.5 23651, 0. 137567, 0.8 40752 } bEvent = False dir {0. 121143, 0. 861892 , 0. 492409} i = 7 /////////////////////// ///////////////ll/ll/////////l/11/ bEvent = True dir = {0.2 9606, 0.2 61182, 0. 918767} bEvent = True dir = {0.3 90089, 0. 100181, 0. 915311} bEvent = False dir = {0. 034358, 0. 925959, 0.3 76059} (b) Emergency obstacle avoidance maneuver with safety layer. 168 Figure X89. Emergency obstacle avoidance maneuver with safety layer: detailed view. Fig. X89 presents a detailed view of successfully executed emergency maneuver and retum to regular navigation mode afterward. Designations for vectors are as fo llows: navigation vector is represented by purple arrow, velocity vector - by blue arrow, and acceleration vector - by magenta arrow; "vision" ray obtained from the main sensor is shown as green anow when it is "good" (generates an acceptable navigation vector), and as red aJTOW when it is "bad" (does not generate navigation vector with acceptable slope, requiring an emergency maneuver), the selected from auxiliary sensor "vision" rays are shown in green when they are "good" (generate an acceptable navigation vector) and in orange when they are "bad". Despite the successful maneuver shown on Fig. X88 and X89, the possibility of all three chosen rays producing unacceptable navigation vectors still exists and the question of determining behavior in that case needs to be add ressed. Switching to a different navigation mode for auxiliary sensors, as described earlier in Section 6.2, will be beneficial, although for a single-ray-set navigation it is expected to bring only marginal improvement due to relatively narrow sensor coverage angles and resulting closeness of rays. Switching to a different navigation mode for both main and auxiliary sensors will also be beneficial, 169 but again is expected to bring marginal improvement due to small difference in the lengths of terrain intersecting rays. Parameters of auxiliary sensors such as coverage angl e, range, configuration, and inclination angl e, also play a role in bringing maneuver success or failure. Influence of these parameters needs to be studied and acceptable parameter ranges determi ned. Switching to a 3-prong navigation improves terrain acquisition and provides for more prec1se navigation as discussed in Section 5.3.2. It may be beneficial to use 3-prong navigation where a single ray-set navigation with emergency maneuver fail s. Nonetheless, employing 3-prong navigation does not negate the emergence of conditions for maneuver. The presented above procedure for an emergency maneuver with auxiliary sensors and safety layer is ap plicable for mult iple-ray-set navigation, although it is still subjected to the same weakness - all chosen "vision" rays, main and auxiliaries, yield unacceptable navigation vectors. An example of thus failed maneuver is illustrated on Fig. X90. X z Figure X90. Failed emergency obstacle avoidance maneuver with safety layer, 3-prong sensor navigation. 170 For the example, presented on Fig. X90, mam and auxiliary sensors are not identical, and their parameters are as fo llows: <tJ main_single_ra y _se t = <fJauxiliar y = 12°, distance between adjacent ray sets of the main sensor is 2°, <Pm ain = 35°, ¢auxiliar y = 45°, sensor configuration and sensor range are the same for main and auxiliary sensors, Ns x dr , is 2xl0, lr = 50, angle between central ray set of the main sensor and an auxiliary sensor is 45•, navigation method is Shortest-Shortest, and the choice of ray from auxiliary sensors is also the shortest ray. Navi gation vector is represented by purple arrow; green arrows correspond to acceptable sensor "vision" ray obtained from either main or auxiliary sensor; red and orange arrows signifY unacceptable sensor "vision" rays, where the red ones are selected from the main sensor, and orange ones -f rom auxiliary sensors. Safety layer is defined as follows: Vc ri t i c al t m in = 9, Vc ri t i c al t m ax = 7. The method of switching to a different navigation mode for either auxiliary sensors, or both main and auxiliary sensors in case when all selected sensor "vision" rays are unacceptable is fully applicable to 3- prong navigation, and is expected to produce greater improvement of the emergency maneuver that for a single-ra y-set navigation. This eff ect is attributed to significant diff erences in lengths of terrain-acquiring rays due to larger total coverage provided by a 3-prong sensor. Maneuver improvement by switching to a different navigation mode is illustrated on Fig. X9 1. In this case everything is same as in the example, presented on Fig. X91, but when maneuver is required and all the selected "vision" rays are unacceptable, navigation method for the main sensor chang es to Longest Longest, and the choice of ray for auxiliary sensors becomes longest. Also, in case when navigation method change does not help and all the selected "vision" rays are still unacceptable, default navigation vector is computed using base rays of auxiliary sensors. These base rays inters ect the terrain and navigation vector is computed using the longer one. Considering that sensor fo otprint is small in comparison with terrain obstacles, using the longer base ray means moving toward the lower-lying portion of the terrain, i.e. turning away from the obstacle and gaining a chance of passing it from the side. As seen on Fig. X91, the se refinements of maneuver technique yield succes sful obstacle avoidance. 171 goal • -------l. ___ _. (a) X (b) z 1:5 10 (c) Figure X91. Successful emergency obstacle avoidance maneuver with safety layer and change of navigation mode, 3-prong sensor navigation. On Fig. X9 1 the designations are as follows: (a) shows evolution of agent' s velocity , Vcritical_t_min = 9, Vcritical_t_max = 7, velocity magnitude is shown as solid line, velocity components are shown as dashed lines, where x-component is purple, y- component - yellow, and z-component - green; (b) presents a detailed side view of the generated trajectory with navigation vectors and sensor "vision" rays; 172 (c) depicts the generated tra jectory with navigation vectors and sensor "vision" rays. Navigation vectors for every time step are represented as purple arrows. Color designations for sensor "vision" rays are as fo llows: for the main sensor green arrows signifY "good", i.e. generating acceptable navigation vector, "vision" rays, while red arrows represent "bad" ones; for the auxiliary sensors dark blue arrows signify "good" sensor "vision" rays, while orange arrows represent "bad" ones; Po is agent's initial position. Motion correction and subsequent progression toward the goal are seen clearly . 6.4. Navigation Vector Modification Technique with Look-Ahead. As demonstrated in the previous section, a situation may arise when emergency obstacle avoidance is required, but all terrain-acquiring sensor rays yield unacceptable navigation vectors. If such a problem occurs for a single time step, crash may still be avoidable, as illustrated on Fig. X91( c) where the very first instance of maneuver generates all unacceptable navigation vectors, and default navigation vector is then used. The situation is remedied in the next time step where one of auxiliary sensors provides a "good" "vision" ray. Nonetheless, if generation of unacceptable navigation vectors persists several conse cutive time steps, crash becomes imminent as seen on Fig. X90. Thus, means for combating this problem must be devi sed. One of the widely used methods of emergency obstacle avoidance is rollback - if an agent cannot safely proceed along the generated path, it steps back for one or more time steps, and uses the diff erent member of the set of terrain-intersecting rays to compute the navigation vector. This approach works very well in virtual envirornn ents, where path-finding is performed in simulation. For an autonomous agent negotiating an unknown terrain in real-time such an approach may easily prove non-f easible for the fo llowing reasons. First of all, for a successful rollback an agent needs to be able to tum around, retrace its trajectory back to a certain point, and then proceed fo rward in a different manner. Providing for the agent's ability to tum around and choose a different route approach entails increased fuel/energy consumption, and, most likely, relaxation of physical constraints on robot motion in order to achieve the tum-around maneuver. Seco nd, 173 to be able to choose diff erent path from the already visited point in space after rollback an agent needs to have stored the inf ormation on its navigation vectors, sensor "vision" rays, and all terrain-intersecting sensor rays for every time step. That requires a significant increase in agent's computing power. Another undesirable consequence of this type of emergency maneuver is that utilizing a rollback approach firmly puts this navigation problem into the realm of path planning and AI-based algorithms, thus, negating the advant ages of reactive methods . In order to implement rollback an agent needs to incorporate "thinking into the future ", i.e. generate its tra jectory segments for several time steps ahead. This needs to be done for every time step in order to conclude on "fitne ss" of the computed navigation vectors for the whole rollback horizon - number of time steps for computing fo rward. "Fit" navigation vector means that for every time step in the rollback horizon agent's tra jectory, generated as prescribed by the discussed terrain-following algorithm, results in collisi on-free motion towards the goal. Noneth eless, the approach of "looking into the future" and estimating "fit ness" of future navigation vectors could be modified to complement the presented method for emergency obstacle avoidance maneuver. That is achieved by utilizing a look-ahead with another auxiliary sensor. It is obvious that the earlier conditions for maneuver are detected, the better chance an agent has to succes sfully avoid an obstacle. Then, instead of recognizing the need for maneuver solely for the current time step, it would be beneficial to find out whether the computed navigation vector causes generation of tra jectory that calls for maneuver in one or more time steps. For that purpose we introduce a look-ahead with auxiliary sensor as illustra ted on Fig. X92. The designations for Fig. X92 are as follows: Po denotes current position of the agent, (I) signifies rays of the main sensor (blue arrows), while (2) denotes rays of the look-ahead sensor (green arrows). To be able to acquire terrain for distances larger than those an agent can cover for a few consecutive time steps the auxiliary sensor needs a combination of longer sensor range and an inclination angle that allows closer to horizontal line of view than the main sensor. Noneth eless, that inclination angle shall not be too close to 2: since the look-ahead sensor is expected to acquire diff erent areas of terrain, not only the 2 174 tallest obstacles. For mam sensor the acceptable range for inclination angle was deter mined as ¢ E [15° - 35°] (as discussed in Section 5.4.3), while for look-ahead sensor this angle is estimated as ¢ E [35° - 75°]. Orientation ofthe look-ahead sensor is defined as shown on Fig. X5(b), and is, thus, the same as for the main sensor. Coverage angle of the look-ahead sensor may be either the same or somewhat larger than for the main sensor to provide a sufficiently wide field of view for meaningf ul estimation of terrain shape. For the look-ahead sensor configurations with large number of rays are, obviously, very beneficial even though greater number of rays to be processed calls for an increase in agent's computing power. Hence, choice of configuration depends mostly on the agent's computational capacity and available execution time. On Fig. X92 parameters of the main and look-ahead sensors are as fo llows: coverage angles are CfJmain = 30°, CfJzook-ahead = 45°, inclination angles are ¢main = 35°, ¢zook-ahead = 75°, and sensor configura tion and sensor range are the same for main and auxiliary sensors, N5 x dr 1 is 3x8, lr = 50. y 20 Figure X92. Look-ahead with auxiliary sensor. As seen on Fig. X92, the rays of look-ahead sensor acquire areas of terrain that lie along the agent's proj ected path for several consecutive time steps fo llowing the current one. The results of intersecting every ray of the look-ahead sensor with the terrain are recorded and used for estimating the distribution of 175 terrain elevations along the projected path of the agent. If agent's computational capacity allows storing previously obtained ten·ain data, it could also be used in the estimation process, possibly improving the quality of results. The estimated terrain shape is then used to determine whether currently generated navigation vector requires emergency obstacle avoidance maneuver within a finite number of time steps that constitute a look-ahead horizon. The example of navigation with look-ahead, where look-ahead horizon consists of 3 time steps, is illustrated on Fig. X93. The designations for Fig. X93 are as fo llows: for the i-th time step, i = 1, 2, 3, Pi denotes agent's position at the beginning of that time step, {SJ denotes a set of rays belonging to both main and auxilia1y sensors that corresponds to agent's position Pi, VRi denotes selected sensor "vision" ray, and i5i and N� denote goal vector and navigation vector respectively; VR1r and NV1r denote sensor "vision" ray and coiTesponding navigation vector after step- back; tH represents the dura tion of a single time step, and tis the local time counter that resets to zero at the beginning of a current time step . Auxiliary sensors for emergency maneuver as well as look-ahead sensor are not shown for clarity of illu stration. z X / t = () y terrain surf ace with hills / Figure X93. Navigation with look-ahead: look-ahead horizon equals three time steps. 176 When an agent is at the point Ph it selects the sensor "vision" ray in accordance with its navigation mode and computes the corresponding navigation vector NV 1 . This navigation vector is checked for emergence of immediate maneuver conditions as described in Section 6.2, and maneuver procedure is applied if required. Otherwi se the agent generates tra jectory segment for the first time step. It can be safely assumed that this trajectory segment is collisi on-f ree, and the agent proceeds to compute its position P 2 at the end of this time step, which is the beginning of the next, second, time step in the look ahead hori zon. Using the goal position and estimated terrain data, an agent then estimates l5 2 and VR2 to compute an estimated NV 2 and corresponding tra jectory segment. If that tra jectory segment is collision free and conditions for emergency maneuver do not arise, the procedure is repeated for P 3. If tra jectory segments for all 3 time steps in the look-ahead horizon are collisi on-f ree and conditions for emergency maneuver do not arise, then navigation vector NV 1 is considered "fit", agent moves to P2 along the generated tra jectory segment, and the procedure is repeated for the next look-ahead horizon. It needs to be noted that estimated for previous look-ahead horizon and actual sensor "vision" rays for sensor origin at P 2 may be quite different, depending on the character of terrain and estimation error. So, in general case estimated navigation data for 2" ct and 3' ct time steps of the previous look-ahead horizon cannot be used for the 1' 1 and 2" ct time steps of the current look-ahead horizon, and the full extent of computations needs to be done. If any of the computed for the current look-ahead horizon navigation vectors does not result in a collisi on-free tra jectory segment or requires emergency obstacle avoidance maneuver, the procedure of navigation vector substitution commen ces. To illustrate this procedure let us assume that the estimated pair (V R3 , NV3 ) yields a tra jectory leading to collision with terrain or requiring emergency maneuver. Then this pair is marked "unfit" and another ray of set {S3}, selected in the manner described in Sections 6.1 and 6.2, is tried. If this ray does not yield a "fit" navigation vector, other rays of set {S3} are examined until "fit" navigation vector is fo und. If no ray belonging to {S3} generates a "fit" navigation vector, it means that any path originating at P 3 results in imminent collision. Thus, agent's tra jectory that leads to 177 P3 is unacceptable, which deems the estimated pair ( VR 2 , NV 2 ) "unfit" . Therefore step-back is perfo rmed: ray V R 2 is marked as unacceptable, and another ray of set {S2}, selected in the manner described in Sections 6.1 and 6.2, is examined. The new VR 2 _ne w generates new NV 2 _ne w , and, subsequently, different P3_"cw and diff erent {S3_"cw}. Thus, to determine "fitne ss" of a pa1r (V R 2 _ne w , NV 2 _ne w) set {S3_"cw} needs to be examined as described above . If ray VR 2 _ne w proves unacceptable, the rest of {S2} is tried in the described above manner until "fit" navigation vector is generated. If {S2} can generate no "fit" navigation vectors, agent's trajectory that leads to P 2 is also unacceptable, and step-back is performed again. Now set {S1} is searched for an acceptable pair (VRl _ne w, NVl _ne w). As shown on Fig. X93, this pair is fo und and is denoted as (VR, r , NV,r). In the worst case scenario {S1} does not yield a single "fit" navigation vector, and then the default navigation vector is computed as described in Section 6.3 for an example, illustrated on Fig. X91. The computational complexity of the depicted look-ahead procedure grows significantly with each step-back. For the 3-time-steps look-ahead horizon 2 step-backs are available as described above. The total number of computations for the described above scenario is derived as fo llows. Assuming that at all points P, all sensor rays acquire the terrain, and that every set {S,} contains N rays, the 1 '' round of computations involves testing all rays of set {S3}, i.e. performing N operations consisting of navigation vector generation and solving the system EOMs. The 2" ct round of computations, occu rring after step back, involves testing all rays of set {S3} for every ray of set {S2}, i.e. total number of operations will be N 2 The 3' ct round of computati ons, occu rring af ter the next step-back, involves testing all rays of set {S2} for every ray of {S1}, and all rays of set {S3} for every ray of set {S2}. Thus, total number of operations in this step will be N 3 The maximal number of operations for 3-time-steps look-ahead horizon then will be equal (N + N 2 + N 3 ). For look-ahead horizon of k time steps total number of operations becomes :E� N k Obviously, for large number of sensor rays greater look-ahead horizon entails explosion of computational complexity and resulting undesirable increase in demand for computing power and execution time. 178 Efficiency of the look-ahead approach to refining the described navigation strategy with emergency obstacle avoidance maneuver is determined by the balance between total number of sensor rays and allowable size ofloo k-ahead horizon. On one side, large number of sensor rays results in better estimation of terrain shape, and, therefore, more precise determination of points P, and pairs ( V R; , NV; ) within the look-ahead horizon. The larger look-ahead horizon yields better opportunity for early detection of the upcoming collision, thus, having a possibility to adjust the path in time to avoid that collision. On the other side, the requisite computation time increase may become incompatible with reactive navigation as well as with the real-time/ near-real-time execution requirements. Also, the required increase in computing power may become incompatible with ph ysical characteristics of a UA V (for example, larger processor may be unfit for installation on smaller lighter UAVs). Therefore, a further investigation of correlation between sensor configuration, look-ahead horizon, and resulting increase in computation time and power needs to be conducted. 7. MODELING AND SIMULATION SOFTWARE In the course of this research a custom software tool - BeemmLink, [1] - was devel oped. BeemmLink, a next-generation software tool for modeling, simulation, visualization, and analy sis of dy namical systems, is a set of highly customizable software modules (shared librari es) that "glue" together a power ful computation engine (Wolf ram Mathemati ca, [2]) and visualization/ geometry modeling and processing tool (Autodesk Maya, [3]) providing for seamless connection between these state-of-the-art software packages, their dynamic interaction, and runtime transparent data exchange. The structure and implementation of BeemmLink is illustra ted by Fig. X94, where (a) refers to the software structure, and (b) - to its implementation. In the context of BeemrnLink architecture, Mathemati ca MathKernel performs as a computation engine, while Maya works as the simulation driver and handl es visualization and geometry modeling/ interactions/ transfor mations. As shown on Fig. X94, BeemmLink consists of three parts: Maya plug-ins (created with Maya native MEL script), Mathemati ca packages (created with Mathemati ca native 179 symbolic math script), and the link itself , that is responsible for providing the connec tion and data exchange between Mathematica and Maya, implementing custom algorithms that govern simulation parameters and logic, and invoking the appropriate Mathematica solvers . Simulations are run from the standard Maya workspace window while MathKernel runs on the background. Editable model parameters and simulation settings, communicated from EOMs via BeemmLink, are embedded into Maya workspace. Results of simulation can be stored for fu rther analysis (or to recreate it later exactly as it was run originally) either as Mathematica .mx data files (these are viewed with Mathematica front end) , or as Maya .mb scenes. Ma ya scenes Beemmlink (a) Figure X94. Wolfram MathKernel _ [ Wolfra,; I I Mathematica I ----- .J Beemmlink C/Objective-C /C++ frameworks and bundles .m Mathematica packages (b) BeemmLink: structure and implementation. BeemmLink is implemented as a set of C/Objective-C/C++ fr ameworks and bundles, using standard C/C++ APis of both Mathematica Mathlink and Maya. BeemmLink off ers an intuitive balance of programming workload between Maya and Mathematica. Mathematica programming is mandatory only for those parts of a system that require continuous-time solution; the rest can be def med and processed in Maya. Desired precision of computations can be explici tly specified within both soft ware packages so that no discrepancy occurs . Each component of BeemmLink implementation was extensively tested individually during prototype development. The complete assembly of BeemmLink modeler/ simulator was successf ully tested and verified with the extensively researched and well-understood double-pendulum problem. 180 In the context of the presented development of terrain-following control law solutions of the equations of motion are derived with Mathemati ca, while terrain modeling and ray-tracing to the terrain are done with Maya. Such separation of tasks allowed for computati ons efficiency, making each software engine perform the tasks it is best suited fo r, and significantly decreased computation time. By delegating all terrain -related tasks to Maya, we were able to incorporate high-complexity terrain models such as the ones generated from USGS DEM data files into our simulation, and afford tasks of complex geometry processing without compromising runtime efficiency. BeernrnLink has extensive error-handling capabilit ies: error messages propagate through the system in a user-friendly from, regardl ess of which system component generated the message. Essen tial features ofB eemrnLink currently include : real-time dynamic visualization of computed simulation results due to dynamic interaction and conseq uent two-way data exchange between a computation engine and a geometry modeler/ visualization software tool at each step of the simulation process; ability to solve highly nonlinear and often non-linearizable equations due to easy access to the state-of-t he-art diff erential equation solvers of MathKemel; ability to provide continuous-time solutions in addition to discrete ones; models are defined with extended use of symbolic math and allow sophisticated simulation logic as well as complicated data flow within a model; node-based model structure, ability to have both discrete-time and continuous-time components within the same model; ability for testing and verification of model components individually and in various degrees of assembly ; high-quality visualization/ animation and state-of-the-art geometry modeling/ processmg capabilit ies; 181 high level of interactivity at simula tion runtime combined with the ability to save the generated data in dif fe rent fo rmats fo r fu rther analysis, easy evaluation of runtime perf ormance and memory usage; effi cient handling of multithreading/ multiprocessing issues including the ability to parallelize execution between multiple GPUs and CPUs; extensive error-handling capabilities. An example of how simulation control window looks like is shown on Fig. X95. The set of user- defined editable model parameters related to a selected agent #5 (represented by a blue cone) is shown on the right side of the simula tion window, while the actual simulation is playing on the lef t. Figure X95. �Bnut QBnop '-tom 1.0oOl \nitPo• -25.000 1-32.000 � lnlt v�l rs.ooo rs.ooo � E!1 Sh owTraje:ctory Ntraj« t orv- 10 - \ Simulation window in BeemmLink assembly. Implementation of the developed BeemmLink software tool makes it generic and fit for working with the broadest ran ge of dynamical systems from very dif fe rent fields of knowledge -- BeemmLink is fu lly 18 2 capable of modeling any system that can be described by equations Mathemati ca solvers are able to compute and geometry Maya tools are able to process, visualize and animate. BeernrnLink is currently compiled for Mac OS X, Intel architecture, with Mathe matica 8 and Maya 20 11. Conversion to Linux and/or Windows platform is straightf orward. 8.1. Conclusions 8. CONCLUSIONS AND FUTURE WORK In this work we have developed an approach to terrain-following navigation for autonomous moving ob jects. The described control algorithm assumes a very limited knowledge of terrain prior to the beginning of motion, even though the position of a goal is assumed to be available to the moving ob ject at every instant of time, and uses agent's dynamic interaction with the terrain as navigation aid. The proposed technique generates a new control command for every time step without using anything pre planned, for example, a set of predefined waypoints . The described navigation algorithm is based on reactive navigation methods with the addition of deliberative component that is represented by a goal vector. The moving ob ject model is 3 DOF (single particle). The Udwadia-Kalaba equation used for derivation of the EOMs eliminates the need for a separate optimization step, since the constraint (control) fo rce derived with it is minimal. That makes the proposed approach suitable for near-real-time execution, where computational requirements may render finding an optimal path non-f easible. Incorporation of the deliberative component into computation of the navigation vector and full consideration of kinematic and dynamic constraints of the autonomous mobile agent makes the presented navigation algorithm capable of avoiding the common pitfalls of motion planning such as generating impossible paths, losing the goal, and getting stuck in the local minima. At the same time the necessa ry ability to react quickly to chang es in the environment is ensured. Navigation type depends on the way of processing sensor data, i.e. choosing a "vision" ray from all the terrain-intersecting rays. We considered 2 sensor models: single-ra y-set sensor and triple-ray-set (3- 183 prong) sensor, designed the corresponding 4 and 16 navigation methods, and explored strengths and weaknesses of each one. Case studies demonstrated that switching to a 3-prong sensor model and choosing an appropriate navigation method helps to alleviate the inherent weaknesses of every one of the basic 4 navigation types, thus, achieving better system performa nce. It was shown that sensor "vision" quality is of paramount importance for system perfor mance. Sensor "vision" quality parameters that have the most influence on system performance were defined as fo llows: coverage angle, configuration, range, and line-of -sight (LOS) range. For 3-prong sensor an extra parameter - distance between ad jacent ray sets - was added. We explored how the change in every one of these parameters aff ects system perform ance and determined the acceptable ranges for each parameter. Testing was performed over two types of terra in: "crater & canyon" and "hilly terrain". It has been demonstrated that the most important sensor "vision" quality parameter is sensor coverage an gle. Violation of its acceptable range results in an imminent terminal goal loss due to either motion reversal or crash. These acceptable ran ges were defined per navigation method per terrain. We have also identified the poorest performers -n avigation methods that either have a very narrow range of acceptable sensor coverage angle values, or cannot pass the terrain for any considered sensor coverage an gle. For the single-ra ys-set sensor "Longest-ray" navigation method is undesirable, while for the 3-prong sensor model three navigation methods shall be avoided: "Longest-Longest", "Longest-Aver age", and "Average Longest". We have shown that for both singl e-ray-set and 3-prong sensor models there exists a single range of acceptable sensor coverage angle values for all the other navigation types per terrain, and for all terrains. We have inve stigated influence of sensor configuration on agent's ability to reach the goal. For a single-ra y-set sensor model there is no effect for all navigation methods deemed acceptable, regardl ess type of terrain. For a 3-prong sensor model the impact depends on both navigation method and type of terrain. For "hilly terrain" all the navigation methods except the defined undesirable ones experience no difficulty reaching the goal, regardl ess sensor configuration. For "crater & canyon" type of terrain navigation methods that choose "Min-Alpha" or "Average" rays out of every individual set are more 184 susceptible to terminal goal loss due to wrong sensor configurati on. In particular, this concerns the methods that select "Longest" or "Average" rays out of three as sensor "vision" ray. It has been also noted that for navigation methods that select "Min-Alpha" or "Average" rays out of every individual set the choice of sensor "vision" ray out of three rays is more important for agent's ability to reach the goal than the choice of ray out of an individual ray set. Other than that sensor configuration does not have much influence on the ability of agent to successfully attain the goal. Nonetheless, it has an impact on the magnitude of the required control fo rce (constraint fo rce) and velocity, thus, is used mostly for an additional optimization. It is aimed at achieving the smallest possible control fo rce, minimizing its fluctuations for the duration of motion, and achieving relatively constant velocity along the path. Since finding a single sensor configuration setting to achieve all three obj ectives for all navigation types and all terrains may be impossible in the general case, pref erence is given to optimizing the control fo rce by minimizing both its mean and standard deviati on. We have defined optimized sensor configurations per navigation method per terrain, as well as for all navigation methods (except the identified earlier undesirable ones) per terrain, and for all terrains. We have defined the conditions for the smallest acceptable sensor "vision" range and have estimated it as lr = 15. It was demonstrated that sensor "vision" range increase beyond 25 has negligible effect on the agent's tra jectory for both single-ra y-set and 3-prong sensor models. We have also shown that for a 3- prong sensor 2 of the unde sirable navigation methods (those that choose "Longest" as sensor "vision" ray) could be made viable for "crater & canyon" type of terrain by using the minimal sensor "vision" range. This way the otherwise inevitable crash could be prevented. We have shown that for a 3-prong sensor model the angular distance between ad jacent ray sets has an influence on agent's ability to reach the goal. Presence of large gaps in sensor coverage of the terrain is detrimental to na vigation, while moderate increase in this distance has minimal influence on the ma jority of navigation methods, regardless of the type of terrain. For the rest of the acceptable one this impact is negative, i.e. causing a crash at the acceptable values of sensor coverage an gle. This effe ct is most pronounc ed for navigation methods that choose "Longest" as sensor "vision" ray for the "crater & 185 canyon" type of terrain, and for those that choose "Min-Alpha" rays out of an individual ray set over "hilly terrain". For the three defined poorest perform ers this effect is positive over "crater & canyon" terrain only, preventing an expected crash at unacceptable value of sensor coverage an gle. LOS range parameter was shown to be of importance for all navigation types and for all terrains. It has been demonstrated in simulation that insufficient LOS range causes terminal goal loss, and that shorter sensor "vision" range requires larger LOS range, while shorter LOS range does not impair performance of a system with longer sensor "vision" ranges. Holonomic motion constraint has been formulated. It has been shown that for a 3-D problem this constraint shall be two-dimensional, i.e. described by a 2xl vector, thus, allowing position error only in two components rather than in all th ree. Otherwi se there exist a possibility of motion reversal within a single time step, which is highly undesirable. Applicability of diff erent functions to serve as a nominal curve was studied. It was determined that any continuous and continuously diff erentiable with respect to time at least twice function could be a nominal curve as far as it fits within a cylindrical safe corridor. Performance of the system with diff erent choices of nominal curve, such as navigation vector, sinusoid, and polynomial spline function, was then ana lyzed. Sampling frequency, or time step length, was determined to be a crucial sensor parameter for all navigation types and for all terrains. The relationship between the greatest allowable length of a time step and system damping gains 11 and A was established. It has been demonstrated in simulation that safe corridor bounds violation and possible crash ensue if the time step length is chosen to exceed its maximum allowable length. The dependency of minimal safe corridor width on the selected time step length has also been formulated. Emergency obstacle avoidance maneuver supplements the presented navigation algorithm for the cases when physical constraints of an agent make regularly generated path segment inf easible. Two types of maneuver were suggested, and their applicability to each navigation type was established. As a main approach to the maneuver we have developed a navigation vector modification technique with and 186 without the use of auxiliary sensor ray sets. A set of conditions to determine when maneuver event needs to commence was derive d. The limitations of the developed maneuver technique and possible ways to alleviate them were defined. Our results allow stating that the derived control law - terrain-following navigation with emergency obstacle avoidance maneuver - succeeds in making an autonomous agent to find feasible paths through the unknown environment and fo llow them with plausible velocities while staying within the safe corridor at all times. 8.2. Future work Some future research directions will involve the fo llowing: o study oft errain relief/ topography influence on sensor parameters; o development of optimal navigation mode(s) consi dering minimization of such motion metrics as terrain tra versal time, total fuel consumption, and the others; o extension of the results of this study into 6-DOF system, researching and implementing the necessa ry adjustments of the navigation algorit hm; o research of the possible methods for refining the proposed technique for emergency obstacle avoidance maneuver such as: (i) investigation of the influence of auxiliary sensor parameters on maneuver success and determining the acceptable ranges of these parameters, (ii) consideration of rays of auxiliary sensor cones that do not acquire the terrain in determination of navigation vector and investigating the use of heuristic functions for that purposes and (iii) exploration and refinement of the look-ahead technique; o investigation of the eff ects of imperfect data (data losses/ data corruption due to point failures of agent's sensory and/or communication facilit ies) on system performance and implementation of data estimation module for dealing with uncertainti es; o investigation of the effect of delays on system performance and implementation of the functionality to minimize their adverse influen ce; 187 o extension of the results into the multiple-agent system designing a terrain-following fo rmation, development of fo rmation-keeping algorithms capable of working in con junction with the presented terrain-f ollowing contro l; o development of localization module and investigation of the possible use of the terrain-f ollowing form ation with coop erative loca lization for solving SLAM (simultaneous localization and mapping) problem. Future development of BeemmLink modules 1s also en visioned m con junction with the planned research activities. 188 BIBLIOGRAPHY [1] I. Abramova, S. Latyshev, B. Yang, "Bee mmLink - a new tool with integration of Wolf ram Mathe matica and Au todesk Maya in modeling and simulation of dy namical systems, and its application to terrain-following navigation" , Proceed ings of AIAA Modeling and Simulation Technologies Conference, AIAA 2009, URL: htt p:/ / pd f.aiaa. org/prev iew/CDRead y MMST09 1999/PV2009 5698. pdf [2] Mathe matica, URL: htt p: // www.wo lfram.com / [3] Maya by Autodesk Inc., URL: www.autodesk.com (under heading "Media & Entertainment" ) [4] A Dieguez, R. Sanz, J. Lopez, "Deliber ative On-Line Local Path Planning for Autonomous Mobile Robots", Journal of Intelligent and Robotic Systems, Vol. 37, 2003, pp. 1-19 [5] S. Russel, P. Norvig, "Artificial Intelligence: a Modern Approach ", Prentice-Hall, 1995 [6] J. C. Latombe, "Robot Motion Planning", Kluwer Academic Publishers, Springer, 1991 [7] J. C. Latombe, "Motion Planning : a journey ofRobots, Molecu les, Digital Actors, and Other Artifacts", International Jo urnal of Robotics Research, Vol. 18(11 ), 1999, pp. 11 19-1 128 [8] R. Murri eta-Cid, H. Gonza lez-Banos, B. Tovar, "A Reactive Motion Planner to Maintain Visibility of Unpredictable Targets", Proceed ings of IEEE International Conference on Robotics and Automation, Vol. 4, 2002, pp. 4242-4248 [9] X-J. Jiang, "Behavior Dyna mics Based Motion Planning of Mobile Robots in Uncertain Dynamic Environments ", Jo urnal of Robotics and Autonomous Systems, Vol. 53, 2005, pp. 99-123 [10] Y. Wang, L. Han, M. Li, Q. Wang, J. Zhou, M. Cartmell, "A real-time Path Planning Approach Without the Computation ofCs pace Obstacles", Robotica, Vol. 22, Issue 2, 2004, pp. 173-187 [11] H. M. Choset, "Prin ciples of Robot Motion: Theory, Algorithms, and Implementation", MIT Press, 2005 [12] S. La Valle, J. Kuff ner, "Randomized Kinodynamic Plannin g", International Jo urnal of 189 Robotics Research, Vol. 20, No. 5, 2001, pp. 275-400 [13] D. Hsu, R. Kindel, J. C. Latombe, S. Rock, "Randomized Kinodynamic Motion Planning with Moving Obstacles", Internationa!Journal of Robotics Research, Vol. 21(3), 2002, pp. 233- 255 [14] R. Geraerts, M. Overrnars, "Clearance Based Path Op timization fo r Motion Planning", 2004 [15] M. Wzorek, G. Conte, P. Rudol, T. Merz, S. Duranti, P. Doherty, "From Motion Planning to Control -- a Navi gation Framework for an Autonomous Unman ned Aerial Vehicle", Proceed ings of 21th Bristol UA V Sy stems Con ference, 2006 [16] D. Pham, D. Parhi, "Navigation of multiple mobile robots using a neural network and a petri net model", Robotica, Vol. 21, 2003, pp. 79-93 [17] S. Nefti, M. Oussalah, K. Dj ouani, J. Pontnau, "Intelligent Adaptive Mobile Robot Nav igation ", Jo urnal of Intelligent and Robotic Systems, Vol. 30, No. 4, 2001, pp. 311-329 [18] J. Redding, J. Amin, J. Boskovic, Y. Kang, K. Hedri ck, J. Howlett, S. Poll, "A Real-time Obstacle Detection and Reactive Path Planning System for Autonomous Small-Scale Helicopters", Proceed ings of AIAA Guidance, Navigation and Control Conference and Exhibit, AIAA 2007-6413, 2007 [19] E. Frazzoli, M. Dahleh, E. Feron, "Real-time Motion Planning for Agile Autonomous Vehicles", AIAA Jou rnal of Guidance, Control, and Dynamics, Vol. 25, 2000, pp. 116 -129 [20] J. Bruce, M. Veloso, "Real- Time Randomized Path Planning for Robot Navigati on", RoboCup 2002: Robot Soccer world Cup VI, LNAI Vol. 2752, 2003, pp. 288-295 [21] L. Kavraki, P. Svestka, J. C. Latombe, M. Overrnars, "Probabilistic roadmaps for Path Planning in High-Dimensional Configuration Space", IEEE Tr ansactions on Robotics and Automation, Vol. 12, No. 4, 1996, pp. 566-580 [22] N. Amato, Y. Wu, "A Randomized Roadmap Method for Path and Manipulation Plannin g", Proceed ings of IEEE International Con f erence on Robotics and Automation, 1996 [23] J. van den Berg, M. Overrnars, "Planning Time-Minimal Safe Paths Amidst Unpredictably 190 Moving Obstacles", The International Journal of Robotics Research, Vol. 27, No. 11- 12, 2008, pp. 127 4- 1294 [24] V. Kunchev, L. Jain, V. Ivancevic, A. Finn, "Path Planning and Obstacle Avoidance for Autonomous Mobile Robots: a Review", Knowledge-Based Intelligent Inf ormation and Engineering Systems, I Oth International Con ference, KES 2006, Part II, LNAI 4252, pp. 536- 544 [25] J. Mingu ez, L. Montano, "Nearness Diagram Navi gation (ND): Collision Avoidance in Troublesome Scenar ios", IEEE Tr ansactions on Robotics and Automation, Vol. 20, no. 1, 2004, pp. 45-59 [26] J. Mingu ez, L. Montano, "Nearness Diagram Navi gation (ND): a new real time collision avoidance approach", Proceed ings of the 2000 IEEE International Con f erence on Intelligent Robots and Systems, pp. 2094-2100 [27] R. Arkin, "Behavior-based Robotics", Cambridge, MIT Press, 1999 [28] J. Evans, P. Patron, B. Smith, D. M. Lane, "Design and Evaluation of a Reactive and Deliberative Collision Avoidance and Escape Architecture for Autonomous Robots", Jo urnal of Autonomous Robotics, Vol. 24, 2008, pp. 247-266 [29] L. Montano, J. R. Asensio, "Real-Time Robot Navi gation in Unstructured Environments Using a 3D Laser Rangefi nder", Proceed ings of IEE E-RSJ International Con f erence on Intelligent Robots and Systems, 1997, pp. 526-532 [30] Y. Koren, J. Borenstein, "Potential Field Methods and Their Inherent Limitations for Mobile Robot Navigati on", Proceed ings of IEEE International Con f erence on Robotics and Automation, 1991, pp. 1398-14 04 [31] M. Khatib, "S ensor-based Motion control for mobile robots ", PhD the sis, LAAS-CNRS, France, 1996 [32] N. Tsourveloudis, K. Valavanis, T. Hebert, "Autonomous Vehicle Navi gation Utilizing Electrostatic Potential fields and Fuzzy Logic", Journal of Intelligent and Robotic Systems, 191 Vol. 40, 2004, pp. 45-88 [33] S. Loizou, H. Tanner, V. Kumar, K. Kyri akopoulos, "Closed Loop Motion Planning and Control for Mobile Robots in Uncertain Envirornnents", Proceed ings of 42nd IEEE Con f erence on Decision and Control, Vol. 3, 2003, pp. 2926-293 1 [34] J. Borenstein, Y. Koren, "Real-time obstacle avoidance for fast mobile robots", IEEE Tr ansactions on Systems, Man, and Cybernet ics, Vol. 19, No. 5, Sept./Oct. 1989, pp. 11 79- 118 7 [35] J. Borenstein, Y. Koren, "Real-time Obstacle avoidance for fast mobile robots in cluttered enviro rnn ents ", IEEE International Conference on Robotics and Automation, Vol. I, pp. 572- 577, May 1990 [36] I. Ulrich, J. Borenstein, "VFH+ : Reliable Obstacle Avoidance for Fast Mobile Robots", Proceed ings of the 1998 IEEE International Con ference on Robotics and Automation, 1998, pp. 1572 -1 577 [37] J. Mingu ez, "Robot Shape, Kinemati cs, and Dyna mics in Sensor-Based Motion Planning", PhD thesis, Dept. of Inf ormati cs and Systems Engineering, University of Zaragoza, Spain, 2002 [38] S. Quinian, 0. Khatib, "Elastic Bands: Connecting Path Planning and Control", Proceed ings of IEEE International Con ference on Robotics and Automation, 1993, pp. 802-807 [39] R. Simmons, "The Curvature Velocity Method for Local Obstacle Avoida nce", Proceed ings of IEEE International Conference on Robotics and Automation, !996, pp. 3375-3382 [40] D. Fox, W. Burgard, S. Thrun, "The Dynamic Window Approach to Collision Avoida nce", IEEE Robotics and Automation Magazine, Vol. 4, No. I, 1997, pp. 23-33 [41] 0. Brock, 0. Khatib, "High -speed navigation using the global dynamic window approach", Proceed ings of the 1999 IEEE International Con ference on Robotics and Automation, Vol. I, pp. 341 -346 [ 42] J. Lennon, E. Atkins, "Making Decisions about Mot ion", AIAA Fall Symposium on Cognitive 192 Science and Robotics, October 2004 [43] S. Griffiths, J. Saunders, A. Curtis, B. Barber, T. McLain, R. Beard, "Obstacle and Terrain Avoidance for Miniature Aerial Vehicles", in: K. Valavanis (ed.), "Advances in Unmanned Aerial Vehicles", Ch. 7, Springer Netherlands, 2008, pp. 21 3-244 [44] R. Sk jetne, T. Fossen, P. Kokotov ic, "Robust Output Maneuvering for a Class ofNonlinear Systems", Automatica, Vol. 40, 2004, pp. 373-383 [ 45] E. Anderso, R. Beard, T. McLain, "Real Time dynamic Traject ory Smoothing for Uninhabited Aerial Vehicles", IEEE Tr ansactions on Control Systems Technology, Vol. 13, No. 3, 2005, pp. 471-477 [46] S. Petti, T. Fraichard, "S afe Motion Planning in Dynamic Environmen ts", Proceed ings of IEEEIRSJ International Conference on Intelligent Robots and Systems, 2005, pp. 221 0-22 15 [47] J. Dark, J. Buscemi, S. Burkholder, "Method for Using a Dynamic Mission Replanning Algorithm as an Aid to Assess Jam Effectivene ss", US Patent Publication Application, Pub. No. US 2009/0224956 Al, 2009 [ 48] F. E. Udwadi a, R. E. Kalaba, "An al ytical Dynamics: a New Approac h", Cambridge University Press, 1996, 276 pp. [ 49] I. Abramova, S. Latyshev, "Using the Fundamental Equation of Constrained Motion with Inequality Constrain ts", App lied Mathematics and Computation, 2009, http :/ /dx.doi.org/1 0.1 016 / j.amc.2009 .09.0 29 [50] B. Yang, "Stress, Strain, and Structural Dynamics: an Interactive Handbook of Formulas, Solutions, andM ATLAB toolboxes", Elsevier Academic Press, 2005, 960 pp. [51] R. Chatterjee, F. Matsuno, "Use of Single Side Reflex for Autonomous Navi gation of Mobile Robots in Unknown Environ ments ", Journal of Robotics and Autonomous Systems, Vol. 35, Issue 2, 2001, pp. 77-96 [52] A. Correa Victorino, P. Rivers, J. Borrelly, "Sa fe Navigation for Indoor Mobile Robots, part I: a Sensor-based Navigation Framework", International Jo urnal of Robotics Research, Vol. 22, 193 No. 12, 2003, pp. 1005 -1118 [53] E. Medagoda, P. Gibbens, "S ynthe tic-Waypoint Guidance Algorithm for Following a Desired Flight Trajectory", Jo urnal of Guidance, Control, and Dynamics, 0731-50 90 vol.33 no.2, 2010, pp. 601-606 [54] D. Gates, "Nonlinear Path Following Metho d", Jo urnal of Guidance, Control, and Dynamics, 0731-50 90 vol.33 no.2, 2010 pp. 321-332 [55] F. E. Udwadi a, R. E. Kalaba, "Equations of Motion for Mechanical Systems", Jou rnal of Ae rosp ace Engineering, Vol. 9, 1996, pp. 64-69 [56] F. E. Udwadi a, "Equations of Motion for Mechanical Systems: a Unified Appro ach", International Jo urnal of Nonlinear Mechanics, Vol 31, 1997, pp. 951-958 [57] F. E. Udwadi a, R. E. Kalaba, "A Unified approach for the Recursive Determination of Generalized Inverses", Computers and Mathematics with Applications, Vol. 37(1), 1999, pp. 125-130 [58] F. E. Udwadi a, "On Constrained Motion", Applied Mathematics and Computation, Vol. 164, 2005, pp. 313-320 [59] F.E. Udwadia, "A New Perspective on the Tracking Control of Nonlinear Structural and Mechanical Systems", Proceed ings of the Royal Society of London, Series A, 459, pp. 1783- 1800, 2003 [60] R.E. Kalaba, F.E. Udwadia, "Equations of Motion for Nonhol onornic, Constrained Dynami cal Systems via Gauss's Principle", Journal of Applied Mechanics, 60(3), pp. 662-668, 1993 [61] F.E. Udwadia, "Equations of Motion for Constrained Multi body Systems and their Contr ol", Journal of Op timization Theory and Applications, Vol. 127, No. 3, December 2005 [62] A. Wehr, "LiDAR: Airborn and Terrestrial Sensors", Advances in Photogram metry, Remote Sensing and Spatial Information Scie nces: 2008 IS PRS Congress Book, edited by Li, Chen & Baltsavias, Taylor&Francis Group, London, 2008, Ch. 6 194 [63] Toth, C., "Airborne LIDAR Technology: the State-of-the-Art and Future Trends", in Proceed ings of Latin Am erican Remote Sensing Week Con f erence of International Society fo r Photogrammetry and Remote Sensing, November 2010, pp. 3-15, URL: htt p: // www.lars. cl/bi blioteca!LARS Booklet-201 0-4. pdf [retrieved October 1, 20 12] [64] Lemmens, M., 2007, "Airborne LiDAR Sensors: Product Survey", GIM International, 21(2), URL: htt p: // www.gim-internati onal.com/files / pr oductsurve y v pdf document 11.pdf [65] Lemmens, M., "Airborne LiDAR Scanners: Status and Development" , GIM International, Vol. 25, No. 2, 20 11, URL: htt p : //www. gi m-internati onal.com /issues /arti cles /id1667- Airborne Lidar Scanners.html [retrieved October 1, 2012] [66] N. K. Shup e, "The Control of Aircraft in Terrain-Following and Formation-Flight Applicati ons", IEEE Transactions on Aer os pace and Electronic Systems, AES-2:6, 1966, pp. 502-507 [67] D. W. Dorr, "Rotary-Wing Aircraft Terrain-Following/Terrain-Avoidance System Development", NASA Tech. Documents, 1986, retrieved from http ://www.archive .or g /detail s /nasa techdoc 1987991 1549 [68] B. Guerriero, C. Silvestre, R. Cunha, "Terrain Avoidance Model Predictive Control for Autonomous Rotorcraft" , Proceed ings of the 11 h IFA C World Congress, 2008 [69] N. Paulino, C. Silvestre, R. Cunha, "Affine Parameter-Dependent Preview Control for Rotorcraft Terrain Following Fligh t", AIAA Journal of Guidance, Control, and Dynamics, Vol. 29, No. 6, 2006, pp. 1350-1359 [70] T. Sharma, P. Williams, C. Bil, A. Eberhard, "Optimal Three-Dimensional Aircraft Terrain Following and Collision Avoidance", Australian and New Zealand Industrial and Applied Mathematics Jo urnal, Vol. 47, 2007, pp. 695-711 [71] S. M. Malaek, A. R. Kosari, "Novel Minimum Time Trajectory Planning in Terrain Following Fligh ts", IEEE Tra nsactions on Ae rosp ace & Electronic Systems, Vol. 43, No. 1, 2007, pp. 20-12 195 [72] P. Williams, "Aircraft Traject ory Planning for Terrain Following Incorporating Actuator Constrain ts", AIAA Jo urnal of Airc raft, Vol. 42, No. 5, 2005, pp. 1358-1361 [73] J. Baumgarte, "Sta bilization of constraints and integrals of motion in dynamical systems", Computer Methods in Applied Mechanics and Engineering, Vol. 1, 1972, pp. 1-16 [74] P. Flores, J. Ambrosio, J.C. Pimente-Claro, H.M. Lankarani, "Kinematics and Dynamics of Multib ody Systems with Imper fe ct Jo ints: Models and Case Stud ies", Springer, 2008, Chapter 2, pp. 22-46 [75] P. Flores, R. Pereira, M. Machado, E. Seabra, "Investigation on the Baumgarte Stabilization Method for Dynamic Anal ysis of Constrained Multibody Systems", Proceed ings of The Second European Con f erence on Mechanism Scie nce, EUCOMES 08, 2009, pp. 305-312 [76] J.K. Kim, I.S. Chung, B.H. Lee, "Determination of the Feedback Coe fficients fo r the Constraint Violation Stabilization Method', Proceedings of the Institution of Mechanical Engineers, Vol. 204, no. 4, 1990, pp. 233-242 [77] K. Ogata, "Modern Control Engineering" , 4 1 h Ed., Prentice-Hall, 2002, 964 pp. [78] P. Williams, "Three-Dimensional Aircraft Terrain-Following via Real- Time Optimal Cont rol", AIAA Jo urnal of Guidance, Control, and Dynamics, Vol. 30, No. 4, 2007, pp. 1201-1205 [79] "Land Resources: Global Terrain Slope and Aspect Data" , a collection ofDatabases and Information Systems on Global Land Resources presented by Food and Agriculture Organization of the United Nations, 2013, URL: htt p: // www.f ao.or g /nr /land/soils /har monized world-soil-database/ gl o hal-terrain -slo pe -and -as p ect -datal en/ [80] M.A. Summerfi eld, "Global Geomorphology", Pearson, 1991, 537 p. ISBN 9780582301566 196 APPENDIX Determination of the acceptable LOS range, single ray set sensor model. The simulation was run with the fo llowing parameters : - navigation method - "Min-Alpha ray", - sensor coverage angle !1tp = 34•, - sensor cone model has 3 concentric spherical segments (ray surf aces), the innermost segment (1 " ray surf ace) containing 8 rays (3x8 configurati on); thu s, number or rays N = 48, -sensor inclination angle "' = 25°, - test terrain- "hilly terrain". Fig. Al.l. presents snippets of the output that demonstrate evolution of agent's position and distance to the goal at the final stages of motion, where line-of-sight determination of the navigation vector shall be used instead ofthe standard terrain-following algorithm. The designations for Fig. A5.1 are as fo llows: (a) - proof of insufficient height and insufficient LOS (LOS goal; 10) with lr = 15, terminal loss of the (b) - proof of suf ficient height with the same LOS (LOS the goal; 10) with lr = 20, successful attaimnent of (c) - proof of suffi cient LOS (LOS attaimnent of the goal; 20) and still insufficient height with lr = 15, successful posMin denotes agent's coordinates at the beginning ofthe current time step; posMax denotes agent's coordinates at the end of the current time step; currentDTG denotes distance to the goal at the beginning of the current time step. 197 current timestep =62 current timestep =68 posMin = {60 . 8502 , 62.879, 19. 7913} posMin = {63 . 3321 , 65 .18 23, 18. 4281) posMax = {62.5377, 64. 4551, 19.797) posMax = {63 . 84 86 , 65.6561, 19.241} current DTG = 19. 0391 current DTG = 17 . 2353 current timestep =63 current timestep =69 posMin = {62.5377, 64. 4551, 19.797) posMin = { 63 . 84 86 , 65 .6561, 19.241) posMax = {64 . 0173, 65. 8093, 20.2261} posMax = {64. 4334, 66.1923, 20. 0368) current DTG = 17.5972 current DTG = 17. 0284 current time step =64 current ti mestep = 70 posMin = {64 . 0173, 65. 8093, 20.2261) posMin = {64. 4334, 66.1923, 20. 0368} posMax = {65. 4014, 67. 0778, 20.8428} posMax = { 65.1 64 3, 66.8606, 20. 7176) current DTG = 16. 5064 current DTG = 16.6691 current timestep =65 current timestep =71 current timestep =62 posMin = {65. 4014, 67. 0778, 20.8428) posMin = { 65 . 1 64 3, 66.8606, 20. 7176) posMin {60.8502, 62. 879 , 19.7913} posMax = {66. 8359, 68. 3869, 21 .255) posMax = { 66 . 085 7 , 67.7, 21. 1663) posMax = {62.5377, 64 .4551, 19. 797) current DTG = 15. 3968 current DTG = 16. 045 current timestep =66 current timestep =72 posMin = {66. 8359, 68. 3869, 21 .255) posMin = {66 . 0857 , 67 .7, 21. 1663) current DTG = 1 9 . 039 1 current timestep =63 posMin = {62.5377, 64.4551, 19. 797) posMax = {68.3 624, 69. 7661, 21 .3093} posMax = {67 . 172 , 68.6842, 21. 2075) posMax = {64. 1032, 65 . 889 1 , 1 9 . 69 ) current DTG = 14. 1193 current DTG = 15 . 059 1 current DTG = 1 7 . 1 94 3 current timestep =67 current timestep =73 current timestep =64 posMin = {68. 3624 , 69. 7661, 21.3093) posMin = { 67 .17 2, 68.6842, 21. 2075) posMin = {64. 1032, 65 . 8891 , 19.69} posMax = {69.9841, 71.2077, 21 . 1372) posMax = {68. 4016, 69. 7619, 20.715) posMax = {65.6747, 67 .331 , 19. 0161) current DTG = 12. 7898 current DTG = 1 3 . 6304 current DTG = 15 . 0686 current timestep =68 current timestep =74 current timestep =65 posMin = {69.9841, 71.2077, 21 . 1372} posMin = {68. 4016, 69. 7619, 20.715} posMin {65. 6747, 67 . 331, 19. 0161} posMax = {71 .6982, 72. 6945, 20.8489) posMax = { 69 . 7671 , 70. 9356, 19. 7422} posMax = {67. 3089, 68.8211, 17.9446) current DTG = 11.5722 current DTG = 11. 7819 current DTG = 12. 6668 current time step =69 current timestep = 75 current timestep = 66 posMin = {71 .6982, 72. 6945, 20.8489} posMin = { 69. 7671, 70. 9356, 19. 7422} posMin = {67. 3089, 68.8211, 17.9446) posMax = { 73.5011, 74. 1958, 20.501} posMax = { 71. 266, 72. 2258, 18.4213) posMax = {69.0164, 70 . 3585 , 16. 5789) current DTG = 10. 6379 current DTG = 9. 62066 current DTG = 10. 0314 current timestep =70 current timestep =76 current timestep =67 posMin = {73.5011, 74. 1958, 20.501} posMin = { 71 . 266, 7 2 . 2258 , 18.42 13) posMin = {69.0164, 70 . 3585 , 16. 5789} posMax = {75 .41 02, 75. 6355, 20.1259} posMax = {72 . 7 1 98 , 73. 4619, 16. 6775) posMax = { 7 0 . 788 4 , 71 . 9223, 14 . 9813) current DTG = 10.1 541 current DTG = 7 . 22183 current DTG = 7 . 21 27 1 current timestep =71 current timestep =77 current times tep =68 posMin = {75. 4102, 75. 6355, 20.1259) posMin = {72 . 7198, 73. 4619, 16. 6775) posMin = {70. 7884, 71.9223, 14.9813} posMax = {77.0654, 77. 0081, 20.0226) posMax = { 73 . 9677, 74.4892, 14. 4716) posMax = {72. 6081, 73.4777, 13. 1832} current DTG = 10. 4283 current DTG = 4.61758 current DTG = 4.26277 (a) (b) (c) Figure Al.l. Performance of an agent with "Min-Alpha ray" navigation method over "hilly terrain" - evolution of agent's position and distance to the goal at the final stages of motion. Fig. Al.2. also presents snippets of the output that demonstrate evolution of agent's position and distance to the goal at the final stages of motion, further illustrating the concept that for longer sensor "vision" ranges LOS range does not have much influence on successful attainment of the goal, and 198 shorter LOS ran ges are acceptab le. This simulation was run with lr = 20. The designations for Fig. A5.2. are as fo llows: (a) - lr = 20, LOS 10; (b) -l r = 20, LOS = 20; poslvfin denotes agen t's coordinates at the beginning of the current time step; poslvfax denotes agent's coordinates at the end of the current time step; currentDTG denotes distance to the goal at the beginning of the current time step. Here attained position at time step #63 is absolutely the same, then for the next time step for LOS 10 regular navigation is employed, and for LOS = 20 line-of-sight-navigation starts . current timestep =63 current timestep =63 posMin = {58.1 03, 60.2849, 16. 8256} posMin = {58.1 03, 60.2849, 16. 8256} posMax = {59.8 253, 61. 9398, 16. 3641} posMax = {59.8 253, 61. 9398, 16. 3641} current DTG = 21. 0082 current DTG = 21. 0082 current timestep =64 current timestep =64 posMin = {59.8 253, 61. 9398, 16. 3641} posMin = {59.8 253, 61. 9398, 16. 3641} posMax = {61.1 92, 63.2 283, 16. 484} posMax = {61.1 92, 63. 2283, 16. 484} current DTG = 19. 2685 current DTG = 19. 2685 current timestep =65 current timestep =65 posMin = {61.1 92, 63.2 283, 16. 484} posMin = {61.1 92, 63. 2283, 16. 484} posMax = {62. 1338, 64. 0903, 16. 9782} posMax = {62.3 937 , 64. 3398, 16. 6101} current DTG = 18. 2553 current DTG = 17. 7835 (a) (b) Figure Al.2. Performance of an agent with "Min-Alpha ray" navigation method and diff erent LOS range values over "hilly terrain" - evolution of agent's position and distance to the goal at the final stages of motion. 199
Abstract (if available)
Abstract
This work considers the problem of motion planning in the unknown environment, where terrain features and goal positioning data are used for navigation. The described terrain-following motion control law is based on reactive collision avoidance methods, but also involves a strong deliberative component as well as full consideration of kinematic and dynamic constraints of the autonomous mobile agent. That way common pitfalls such as generating impossible paths, losing the goal, and getting stuck in the local minima are avoided, whereas the necessary ability to react quickly to changes in the environment is ensured. Emergency obstacle avoidance maneuver supplements the described navigation algorithm when physical constraints of an agent make regularly generated path segment infeasible. Terrain-acquiring sensor model constitutes an important part of the described navigation algorithm since processing of sensor data determines behavior type of an agent, for example, whether it tends to choose low-lying terrain areas vs. passing above the hills, or favors close-to-horizontal motion. The implemented terrain-acquiring sensor model is consistent with the simplified model of rotating laser rangefinder/ LIDAR, where terrain “vision” process is discrete, and could be viewed as “snapshot-based ray-tracing”. The equations of motion are derived using Udwadia-Kalaba Equation, thus, obtained control force is always minimized. Case studies, illustrating different behavior types and resulting paths, are presented.
Linked assets
University of Southern California Dissertations and Theses
Conceptually similar
PDF
Flexible formation configuration for terrain following flight: formation keeping constraints
PDF
On the synthesis of dynamics and control for complex multibody systems
PDF
Discrete geometric motion control of autonomous vehicles
PDF
Large-scale path planning and maneuvering with local information for autonomous systems
PDF
Target assignment and path planning for navigation tasks with teams of agents
PDF
Mathematical model and numerical analysis of a shape memory polymer composite cantilever beam for space applications
PDF
On the synthesis of controls for general nonlinear constrained mechanical systems
PDF
Transient modeling, dynamic analysis, and feedback control of the Inductrack Maglev system
PDF
An analytical dynamics approach to the control of mechanical systems
PDF
Efficient bounded-suboptimal multi-agent path finding and motion planning via improvements to focal search
PDF
Autonomous mobile robot navigation in urban environment
PDF
Speeding up trajectory planning for autonomous robots operating in complex environments
PDF
Decentralized real-time trajectory planning for multi-robot navigation in cluttered environments
PDF
New approaches in modeling and control of dynamical systems
PDF
Active state learning from surprises in stochastic and partially-observable environments
PDF
Provable reinforcement learning for constrained and multi-agent control systems
PDF
New approaches to satellite formation-keeping and the inverse problem of the calculus of variations
PDF
Risk-aware path planning for autonomous underwater vehicles
PDF
Nonlinear control of flexible rotating system with varying velocity
PDF
Navigation and guidance of an autonomous surface vehicle
Asset Metadata
Creator
Abramova, Inna
(author)
Core Title
Terrain-following motion of an autonomous agent as means of motion planning in the unknown environment
School
Viterbi School of Engineering
Degree
Doctor of Philosophy
Degree Program
Aerospace Engineering
Publication Date
04/10/2013
Defense Date
03/04/2013
Publisher
University of Southern California
(original),
University of Southern California. Libraries
(digital)
Tag
constrained motion dynamics,modeling and simulation,motion control of autonomous agents,navigation in unknown and dynamically changing environments,nonlinear controls,OAI-PMH Harvest,reactive navigation,terrain-following formation motion
Format
application/pdf
(imt)
Language
English
Contributor
Electronically uploaded by the author
(provenance)
Advisor
Yang, Bingen (Ben) (
committee chair
), Flashner, Henryk (
committee member
), Wang, Chunming (
committee member
), Yan, Jin (
committee member
)
Creator Email
abramova@usc.edu,bobcat_173@hotmail.com
Permanent Link (DOI)
https://doi.org/10.25549/usctheses-c3-235819
Unique identifier
UC11294784
Identifier
etd-AbramovaIn-1536.pdf (filename),usctheses-c3-235819 (legacy record id)
Legacy Identifier
etd-AbramovaIn-1536.pdf
Dmrecord
235819
Document Type
Dissertation
Format
application/pdf (imt)
Rights
Abramova, Inna
Type
texts
Source
University of Southern California
(contributing entity),
University of Southern California Dissertations and Theses
(collection)
Access Conditions
The author retains rights to his/her dissertation, thesis or other graduate work according to U.S. copyright law. Electronic access is being provided by the USC Libraries in agreement with the a...
Repository Name
University of Southern California Digital Library
Repository Location
USC Digital Library, University of Southern California, University Park Campus MC 2810, 3434 South Grand Avenue, 2nd Floor, Los Angeles, California 90089-2810, USA
Tags
constrained motion dynamics
modeling and simulation
motion control of autonomous agents
navigation in unknown and dynamically changing environments
nonlinear controls
reactive navigation
terrain-following formation motion