速度障碍算法
‘壹’ ORCA绠楁硶镐荤粨
ORCA绠楁硶娣卞害瑙f瀽锛氭櫤鑳介伩闅灭殑楂樻晥阃夋嫨
ORCA锛屼綔涓哄垎甯冨纺纰版挒阆垮厤棰嗗烟镄勭粡鍏哥畻娉曪纴镞ㄥ湪瑙e喅涓や釜瀹炰綋A鍜孊鍦ㄥ嶆潅鐜澧冧腑镄勪氦浜挜梾棰樸傚畠镄勬牳蹇冧换锷℃槸(瀵逛簬A)锛屽湪缁椤畾澶栭儴鍜屽唴閮ㄥ睘镐х殑锘虹涓婏纴瀵绘垒涓绉岖瓥鐣ワ纴纭淇濆弻鏂瑰湪镞犻渶阃氢俊镄勬儏鍐典笅锛屼篃鑳藉疄鐜板畨鍏ㄧ殑浜や簰銆
杈揿叆: A涓嶣镄勫嚑浣曞舰鐘讹纸鍦嗗舰銆杈圭晫锛夈佷綅缃(鍧愭爣銆璺濈)銆侀熷害(鐭㈤噺銆阃熺巼)锛汚镄勫亸濂介噺锛鐩镙囬熷害锛夊拰闄愬埗閲忥纸瀹夊叏璺濈锛夈杈揿嚭鍒欐槸鍙屾柟鍏变韩镄勚佷笉浼氩艰嚧纰版挒镄勮矾寰勬垨阃熷害銆
ORCA鍦≧VO镄勫熀纭涓婃彁鍗囷纴瀹幂殑浼桦娍鍦ㄤ簬鍏奸【浜嗛熷害镄勫ぇ灏忥纴阃氲繃寮曞叆镞堕棿绐楀彛(镞堕棿闂撮殧蟿)锛屽归熷害阃夋嫨锣冨洿杩涜屼简缁嗗寲锛岃繖浣垮缑绠楁硶鍦ㄥ勭悊澶嶆潅锷ㄦ佺幆澧冩椂镟村姞绮惧嗳銆备笌浠呰冭槛阃熷害鏂瑰悜镄刅O鍜孯VO涓嶅悓锛孙RCA镄勬眰瑙h繃绋嬩富瑕佷緷璧栦簬绾挎ц勫垝锛屾晥鐜囨樉镢楁彁鍗囥
镞堕棿绐楀彛镄勬傚康浣垮缑链哄櫒浜哄湪绉诲姩镞讹纴涓崭粎钥冭槛阃熷害鏂瑰悜锛岃缮钥冭槛浜嗛熷害镄勫ぇ灏忥纴阆垮厤鍦ㄧ煭镞堕棿鍐呬笌闅灭岖墿纰版挒銆备簩缁撮熷害绌洪棿涓镄勭版挒鍖哄烟(纰版挒鍖哄烟V)瀹氢箟涓猴纴A涓嶣镄勭浉瀵归熷害鍦ㄨ繖涓鍖哄烟鍐咃纴浼氩艰嚧鍦ㄏ勬椂闂村唴纰版挒銆傝纰版挒阆垮厤阃熷害闆嗗悎 (CAV)鍒欐槸链哄櫒浜洪伩鍏崭笌鍏朵粬链哄櫒浜虹版挒镄勯熷害锣冨洿銆
ORCA镄勬牳蹇冩槸镓惧埌涓や釜闆嗗悎镄勬渶浼树氦闆嗭纴鍗冲湪灏藉彲鑳芥帴杩戠洰镙囬熷害(链浼橀熷害v*)镄勮寖锲村唴锛岄夋嫨涓涓阃熷害锛屼娇寰楀弻鏂归伩鍏岖版挒銆傚湪瀹为檯搴旂敤涓锛链浼橀熷害v*镄勯夋嫨鍙栧喅浜庢満鍣ㄤ汉瀵嗗害锛屼竴鑸鍊惧悜浜庨夋嫨褰揿墠阃熷害(v)锛屼互淇濊瘉骞虫粦杩囨浮锛岄伩鍏嶆瀬绔𨱍呭喌涓嬬殑纰版挒鎴栨婚挛銆
ORCA镄勬眰瑙h繃绋嬭槠澶嶆潅锛屼絾镙稿绩鍦ㄤ簬绾挎ц勫垝镄勫阀濡椤簲鐢ㄣ傚叿浣撶殑鎺ㄥ煎拰璇︾粏姝ラわ纴鍙鍙傝冨师璁烘枃銆奟eciprocal n-body Collision Avoidance銆嬨傚湪瀹为檯镎崭綔涓锛孉浼氢笌鍏朵粬镓链塧gents镄凮RCA缁撴灉浜ら泦锛岀劧钖庨夋嫨涓庤嚜宸卞亸濂介熷害链鎺ヨ繎镄勫欓夐熷害銆
涓轰简褰㈣薄灞旷ずORCA镄勮繍浣滐纴鎴戜滑鍙浠ュ弬钥冨姩鐢绘紨绀猴细绾㈣壊鍦咥闱㈠瑰叾浠栭滆壊鍦咮銆丆銆丏銆丒銆丗锛岄氲繃绾挎у垎鍓茬‘瀹氩悇镊镄勯伩闅滃尯锘(鍙阃夐熷害锣冨洿)鍜鍗婂钩闱㈡湁鏁埚尯锘銆侫镄勭洰镙囬熷害镐绘槸鎸囧悜缁堢偣锛屽叾镟存柊阃熷害鍦ㄧ槠镩插尯锘熷弹闄愶纴浣嗕细阃愭笎钖戠洰镙囨柟钖戦潬杩戯纴鐩磋呖鎶佃揪鐩镄勫湴銆
娣卞叆鐞呜ВORCA绠楁硶锛屽逛簬璁捐¢珮鏁堛佹櫤鑳界殑链哄櫒浜虹郴缁熻呖鍏抽吨瑕併傛劅鍏磋叮镄勮昏呭彲鍙傝幂浉鍏宠烘枃绗旇般佸崥瀹㈡枃绔狅纴濡傛煶链︽湨镄勮В璇汇丷VO浼桦寲鐗圤RCA锛屼互鍙奜RCA绠楁硶鍦ㄦ満鍣ㄤ汉阆块㱩棰嗗烟镄勫簲鐢ㄣ
‘贰’ mpc为什么不能动态避障
MPC的计算量较大,运行速度较慢,从而使其难以用来动态避障。
MPC指的是模型预测毕备控制。MPC是一种高级控制方法,它可以对未来的控制行为差丛进行优化,以满足各种约束条件。MPC的优势在于它可以考虑到系统参数的变化和不确定性等因素。然而,相比其他控制算法,MPC的计算量较大,运行速度较慢,从而使其难以用来动态避障。动态避障需要实时高效的障碍物检测和规划手庆毁路径的能力,这对于MPC算法来说是一项挑战。现有的计算机视觉和深度学习技术可以实现实时的障碍物检测,但在MPC中需要集成的路径规划算法应该也能够快速运行以响应检测到的障碍物。
此外,MPC还可能需要对车辆的动力学和运动约束进行建模,这意味着需要更多的传感器和对车辆运动的更多理解。
虽然MPC不是最好的选择来实现动态避障,但它可以在包括自动驾驶在内的其他应用中发挥重要作用。
‘叁’ DWA绠楁硶镐荤粨
DWA绠楁硶锛氩姩镐佺獥鍙g瓥鐣ュ湪阆块㱩涓镄勫簲鐢
DWA绠楁硶锛屽叏绉板姩镐佺獥鍙f柟娉曪纴鍏舵牳蹇冨湪浜庡湪阃熷害绌洪棿锛v, w锛変腑阃氲繃閲囨牱鐢熸垚涓绯诲垪鍙鑳界殑杩愬姩杞ㄨ抗锛屽苟阃氲繃绮惧绩璁捐$殑璇勪环鍑芥暟璇勪及姣忔浔杞ㄨ抗锛屾渶缁堥夋嫨链浼樿矾寰勬寚瀵兼満鍣ㄤ汉琛屽姩銆傝繖绉嶆柟娉曞湪钥冭槛阃熷害鍜屽姞阃熷害闄愬埗镄勫悓镞讹纴瀹炵幇浜嗗疄镞堕伩闅滐纴浣嗗逛簬澶嶆潅镄勫姩镐佺幆澧冩写鎴樿缉澶с
浼樼偣鍦ㄤ簬锛璁$畻鏁堢巼楂锛岀敱浜庨熷害绌洪棿镄勭瓫阃夌瓥鐣ワ纴鍙钥冭槛瀹夊叏杞ㄨ抗锛屼笖閲囨牱镞堕棿鐭锛岃繖浣垮缑绠楁硶鍦ㄦ湁闄愮殑杞ㄨ抗绌洪棿鍐呭嵆鍙瀹炵幇楂樻晥阆块㱩銆傜劧钥岋纴缂轰箯鍓岖灮镐鏄鍏舵樉镢楃己镣癸纴阆囧埌澶嶆潅镄勯㱩纰岖粨鏋勬椂锛屽傗淐钬濆瓧褰㈤㱩纰嶏纴阆块㱩鏁堟灉鍙鑳藉弹闄愩傛ゅ栵纴DWA绠楁硶镟村惧悜浜庡眬閮ㄦ渶浼桡纴钥岄潪鍏ㄥ眬链浼樿矾寰勶纴瀵归樋鍏嬫浖妯″瀷镄勯傜敤镐ф湁闄愩
鐞呜В链哄櫒浜鸿繍锷ㄥ﹁呖鍏抽吨瑕锛屽洜涓洪熷害阃夋嫨鐩存帴褰卞搷杩愬姩杞ㄨ抗銆备互涓よ疆宸鍒嗗拰鍏ㄥ悜绉诲姩链哄櫒浜轰负渚嬶纴鎴戜滑棣栧厛鍒嗘瀽闱炲叏钖戣繍锷锛v(t)锛夊拰鍏ㄥ悜绉诲姩锛阃熷害鐭㈤噺锛夌殑杩愬姩瀛︽ā鍨嬶纴鎻绀轰袱钥呭湪鍧愭爣绯昏浆鎹涓镄勫叧阌鍏崇郴銆
阃熷害绌洪棿(v, w)镄勫畾涔夋槸鍏抽敭锛屽畠鍙楀埌澶氱嶅洜绱犵殑绾︽潫锛屽傛満鍣ㄤ汉镊韬镄勬渶澶с佹渶灏忛熷害锛岀数链烘ц兘镄勫姞阃熷害闄愬埗锛屼互鍙婇㱩纰岖墿瀵归熷害锣冨洿镄勫奖鍝嶃傚姩镐佺獥鍙o纸锷ㄦ佹悳绱㈢┖闂锛夐殢杩欎簺锲犵礌瀹炴椂璋冩暣锛岀‘淇濇満鍣ㄤ汉鍦ㄩ伩寮闅灭岖殑钖屾椂淇濇寔钖堢悊镄勯熷害銆
璇勪环鍑芥暟鏄疍WA镄勭伒榄傦纴瀹冮氲繃璇稿鏂逛綅瑙掑亸宸锛heading(v,w)锛夈链杩戦㱩纰岖墿璺濈锛dist(v,w)锛夈阃熷害璐$尞绛夋寚镙囷纴瀵硅建杩硅繘琛屾墦鍒嗭纴浠ョ‘淇濋伩闅沧晥鏋滃拰鐩镙囬熷害镄勫钩琛°傚綋铹讹纴璇勪环鍑芥暟鍙镙规嵁搴旂敤鍦烘櫙杩涜屼釜镐у寲瀹氩埗銆
镐荤殑𨱒ヨ达纴DWA绠楁硶鏄涓涓瀹炵敤涓旂伒娲荤殑阆块㱩绛栫暐锛屽畠闇瑕佹垜浠娣卞叆鐞呜В链哄櫒浜鸿繍锷ㄥ︼纴钖堢悊璁惧畾阃熷害绌洪棿锛屼互鍙婅捐¢珮鏁堢殑璇勪环鍑芥暟銆傚敖绠″瓨鍦ㄥ眬闄愭э纴浣嗛氲繃涓嶆柇浼桦寲锛娈WA鍦ㄥ疄闄呭簲鐢ㄤ腑浠嶅𪾢鐜板嚭寮哄ぇ镄勯傚簲镐с