Document 7544143
Download
Report
Transcript Document 7544143
Planning and
Navigation
دکتر سعید شیری قیداری
کتاب6 & فصل
Amirkabir University of Technology
Computer Engineering & Information Technology Department
Cognition
Cognitionعبارت است از تصمیم گیری هدفمندانه و اجرای
آن توسط یک سیستم برای نیل به یک هدف سطح باال.
در یک روبات متحرک این امر متوجه مسئله navigation
است که باعث میشود تا روبات با داشتن اطالعات جزئی از
محیط و مقادیر سنسورها بتواند به موقعیت هدف برسد.
Navigationشامل اجرای یک سری عملیات برای رسیدن
به هدف میشود ) (planingکه در ضمن اجرای آن روبات
باید از برخورد با موانع جلوگیری نماید ). (reacting
Path planning
مسئله مسیریابی برای روباتهای متحرک یک امر اساسی است
اما قبل از برای رباتهای صنعتی نیز مطرح بوده و مطالعات
زیادی در این زمینه شده است.
بعات محدودیت درجات آزادی روباتهای متحرک این مسئله
برای آنها ساده تر از روباتهای صنعتی میباشد.
در روباتهای صنعتی بعلت سرعت زیاد عالوه بر سینماتیک
مسئله دینامیک هم مهم است.
Configuration Space
مسئله مسیریابی برای روباتهای صنعتی و متحرک در فضائی
با نام configuration spaceانجام میشود.
برای روباتی با kدرجه آزادی هر ترکیب موقعیت آن را
میتوان با kمقدار حقیقی q1,…,q kنشان داد .که این مقادیر
نقطه ای مثل pرا در فضای kبعدی نشان میدهند .این فضا
configuration spaceنامیده میشود.
Free Space
اگر فضای حقیقی ) (work spaceدارای مانع باشد ،عمل
مسیریابی باید مسیری از نقطه اولیه به هدف پیدا نماید که
بدون مانع باشد.این مسیر فضای آزاد نامیده میشود:
F=C-O
فضای مانع
فضای موقعیت
فضای ازاد
Configuration Space
فضای موقعیت و فضای آزاد و
مسیری که به هدف منجر میشود
یک روبات با دو درجه آزادی در فضای حقیقی
configuration space of a mobile
robot
برای یک روبات متحرک رسم بر این است که آنرا بصورت
holomonicفرض کنیم .در اینصورت روبات را میتوان
بصورت یک نقطه در نظر گرفت.
در نتیجه فضای موقعیت را میتوان بصورت دو بعدی با
محورهای x, yنشان داد.
در این حالت اشیا موجود در محیط باندازه شعاع روبات
بزرگ میشوند تا فرض نقطه ای بودن روبات درست باشد.
Example of a World (and Robot)
Free Space
Obstacles
Robot
x,y
Configuration Space:
Accommodate Robot Size
Free Space
Obstacles
x,y
Robot
(treat as point object)
Path Planing
فرض میشود که یک نقشه مناسب از محیط وجود داشته باشد:
توپولوژیک
متریک
یا ترکیبی از این دو
اولین مرحله از مسیریابی تبدیل نقشه به یک نقشه گسسته است .اینکار
به چند طریق ممکن است انجام شود:
Visibility Graph
Voronoi Diagram
Cell Decomposition Connectivity Graph
Potential Field
•
•
•
•
Road-Map Path Planning:
در این روش فضای آزاد بصورت شبکه ای از منحنی ها و یا خطوط
که نقشه راه نامیده میشود نشان داده میشود.
مسیریابی در این حالت عبارت است از اتصال مبدا و مقصد روبات به
نقشه راه و بدنبال آن جستجوی راه هائی که ایندو را به هم متصل میکنند.
در این روش فضای حالت روبات با استفاده از هندسه موانع تجزیه
میشود.
دو روش مختلف برای اینکار :
• Visibility Graph
• Voronoi Diagram
Visibility Graph
( Visibility Graphگراف پدیداری)برای یک فضای موقعیت مرکب
از چند ضلعی ها از لبه هائی تشکیل میشود که رئوس چند ضلعیها را
دو بدو به هم متصل میکنند.
وظیفه مسیریاب پیدا کردن کوتاهترین مسیر از مبدا به مقصد است.
پیاده سازی این روش ساده بوده و مسیر پیدا شده توسط آن بهینه است.
اگر تعداد اشیا محیط زیاد شود تعداد لبه ها و گره ها زیاد شده و سرعت
الگوریتم کاهش می یابد .
مشکل جدی این روش این است که مسیر پیدا شده توسط آن روبات را
تا حد ممکن به اشیا نزدیک میکند.
Visibility Graph
G: non-directed graph
گره ها عبارتند از نقطه شروع و هدف و رئوس چند ضلعی ها
یال ها عبارتند از خطوط مستقیمی که از اتصال دو نقطه بدست
می آیند و هیچ مانعی را قطع نمیکنند.
qGoal
qinit
الگوریتم
Construct a visibility graph G
Search G for a path from qinit to qgoal
If a path is found, return it; otherwise, indicate
failure
Construction most expensive:
- naively O(n3)
- sweep-line algorithm renders it O(n2 log n)
- O(n2) proposed.
Reduced Visibility Graphs
میتوان با کاهش تعداد یالها مرتبه اجرای الگوریتم را کاهش داد.
از Gرئوس مقعر و یالهای non-tangentحذف میشوند .یال
tangentیالی است که از هر دو گره برموانع مماس باشد.
Algorithm: O(… + n log n) possible.
qgoal
Qgoal
qinit
qinit
Voronoi Diagram
برخالف روش visibility graphاین روش سعی دارد تا فاصله روبات
تا اشیا را حداکثر نماید.
برای ساختن Veronoi graphنقاطی از صفحه که فاصله شان ازدو و
یا چند شیئ یکسان است پیدا شده و به هم متصل میشوند .این نموداز
شامل خطوط صاف و منحنی خواهد بود.
مسیر یافته شده توسط این روش با مسیر بهینه فاصله دارد.
اجرای این الگوریتم بر روی روبات ساده است :روبات با استفاده از
سنسور های فاصله سعی درحداکثر کردن فاصله اش از اشیا اطراف
خواهد نمود تا همیشه در مسیر این نمودار قراربگیرد.
این خطر وجود دارد که روبات بعلت محدودیت سنسورهایش قادر به
اندازه گیری فاصله تا اشیا دور نباشد.
Voronoi Diagram
Voronoi diagram
Voronoi
diagram of floor map
نمودار ورونوی برای مجموعه ای از نقاط
Generalized Voronoi Diagrams
Naive Method of Constructing
Voronoi Diagrams
1.
2.
3.
compute all arcs (for each vertex-vertex,
edge-edge, and vertex-edge pair)
compute all intersection points (dividing arcs
into segments)
keep segments which are closest only to the
vertices/edges that defined them
Cell Decomposition
در این روش محل های مربوط به فضای آزاد و اشیاء از هم جدا میشوند.
برای اینکار:
فضا را به نواحی ساده و به هم متصلی به نام سلول تقسیم کنید.
سلولهای آزادی که مجاورهم هستند را مشخص نموده ویک گراف اتصال
تشکیل دهید.
سلولهائی که حاوی نقطه مبدا و مقصدهستند را پیدا کنید.
مسیری در گراف اتصال پیدا کنید که این سلولها رابه هم وصل کند.
در این سلولها مسیری را پیدا کنید که از آن سلول عبور کند .مثال مسیری
که نقطه وسط سلول را به مرزهایش وصل نماید.
Exact Cell Decomposition
Cell Decomposition
Trapezoidal Decomposition
Cell Decomposition
Trapezoidal Decomposition
بازای هر یک از رئوس موانع خط عمودی در فضای آزاد رسم میشود
که یا به مانع دیگری برسد و یا به مرز برخورد کند
Cell Decomposition
Trapezoidal Decomposition
با تقلیل محیط به سلولها میتوان گراف متناظری را ساخت
start
goal
Cell Decomposition
Trapezoidal Decomposition
با استفاده از یک گراف مجاورت میتوان مسیری را از مبدا به
مقصد بدست اورد.
goal
start
Approximate Cell Decomposition
یکی از روشهای متداول در مسیریابی روباتهای متحرک است
که بخصوص برای مواردی که محیط بصورت grid based
استفاده میشود.
فضا به سلولهائی با اندازه ثابت( یا متغیر) تقسیم بندی میشود.
در حالت استفاده از سلول با اندازه ثابت ممکن است برخی
مسیرها از دست بروند.
Approximate Cell Decomposition
Adaptive Cell Decomposition
Adaptive Cell Decomposition
Uniform
Quadtree
مسائل
پیوستگی مسیر تابعی از رزولوشن انتخاب شده است.
با افزایش رزلوشن پیچیدگی محاسباتی افزایش می یابد.
مواردی وجود دارند که دقت از بین میرود .برای مثال در
شکل زیر تشخیص مانع از فضای آزاد مشکل خواهد بود
Path / Graph Search Strategies
استفاده میشود که در آن بهgrassfire و یاNF1 برای جستجو از تکنیک
.هر سلول فاصله آن تا نقطه هدف نسبت داده میشود
:سایرروشها
Breadth-First Search
Depth-First Search
Greedy search and A *
The Wavefront planner
از این الگوریتم میتوان برای تعیین کوتاهترین فاصله بین دو
نقطه استفاده نمود.
در حقیقت یک جستجوی breadth firstانجام میدهد.
مقدار دهی اولیه:
فضای آزاد با 0عالمت گذاری میشود
موانع با 1عالمت گذاری میشوند.
مقصد با 2عالمت گذاری میشود.
The Wavefront planner
The Wavefront planner
از نقطه هدف شروع کرده و سلولهای مجاور آن را یکواحد
افزایش میدهیم.
The Wavefront planner
به همین ترتیب برای سلولهای مجاور عمل میکنیم.
الگوریتم آنقدر ادامه پیدا میکند تا هیچ سلولی که همسایه برزگتر از 2داشته برابر صفر نباشد .
مگر سلولی هائی که قابل دسترس نباشند.
The Wavefront planner
برای پیدا کردن کوتاهترین مسیر با شروع از مبدا درجهتی
حرکت میکنیم که مقدار عددی سلولها کمتر شود.
Potential Field Path Planning
این روش یک میدان و یا گرادیانی در نقشه روبات ایجاد میکند که
میتواند روبات را از موقعیت فعلی به سمت هدف هدایت نماید.
روبات بصورت یک نقطه فرض میشود که تحت تاثیر یک میدان
پتانسیل ) U(qقرار دارد .روبات همانند توپی که در سرازیری قرار
دارد مسیر میدان را دنبال میکند.
نقطه هدف بصورت یک نیروی جاذب و موانع بصورت نیروهای دافع عمل
میکنند .برایند نیرو های دوگانه به روبات اعمال خواهد شد .بدین ترتیب روبات
همزمان با حرکت بسوی هدف از موانع نیز دور خواهد شد.
اگر اشیا جدید در مسیر روبات قرار داده شوند میدان طوری تغییر داده میشود تا
تاثیر آنها را در بر داشته باشد.
Potential Field Path Planning
Potential Field Generation
اگر روبات بصورت یک نقطه فرض شود میتوان از qصرفنظر نموده
و میدان پتانسیل ) U(qرا بصورت دو بعدی در نظر گرفت .در
اینصورت نیروئی که در نقطه )q=(x,yبر روبات اثر میکند عبارت
است از:
U
x
F(q) -U(q) U att (q) U rep (q) U
y
سرعت روبات ) (vx, vyمتناسب با نیروی ) F(qدر نظر گرفته میشود.
Attractive Potential Field
پتانسیل جذبی را میتوان بصورت یک تابع سهمی گون در
نظر گرفت.
در این رابطه Kattضریب مقیاس و ) rgoal(qفاصله
اقلیدسی|| || q-qgoalتا هدف را مشخص میکند .با مشتق
گیری از این رابطه مقدار نیروی جاذ ب بدست خواهد آمد.
وقتی که روبات به هدف میرسد مقدار این
نیرو صفر خواهد شد.
Repulsing Potential Field
نیروی دافعه باید روبات را از موانع معلوم دور سازد .از اینرو مقدار آن وقتی
که روبات به موانع نزدیک میشود باید زیاد بوده و وقتی که روبات بقدر کافی
از موانع دور است تاثیر چندانی نداشته باشد .
در این رابطه Krepضریب مقیاس و ) r (qحد اقل فاصله از qبه شیئ و r0
فاصله تاثیر شیئ است .مقدار میدان دافعه مثبت و یا صفر بوده و با نزدیک
شدن به شیئ مقدار آن بینهایت میشود.اگر مرز شیئ محدب بوده و بصورت
تکه تکه مشتق پذیر باشد میتوان از ) r (qمشتق گرفت .در اینصورت:
Generating the Potential Field
A Parabolic Well for Attracting to Goal
Gaussian Obstacle Potential
Function
Parabolic Well for Goal
Exponential Source for Obstacle
Parabolic Well Goal &
Two Exponential Source Obstacles
Potential Field Path Planning:
محدودیت های این روش:
احتمال قرار گرفتن در مینیمم محلی وجود دارد.
در اشیا مقعر ممکن است چندین فاصله حد اقل ) r (qوجود داشته
باشد .این امر ممکن است به نوسان بین دو نقطه نزدیک به شیئ
منجر گردد.
اگر نتوان روبات را بصورت نقطه ای فرض کرد مسئله بعرنج
خواهد شد.
Extended Potential Field Method
در این روش دو میدان به صورت زیر تعریف میشود:
.1
.2
Rotation Potential Fieldاین میدان نیروی دافعه را تابعی
از فاصله تا مانع و جهت روبات فرض میکند .طوری که اگر
روبات موازی مانع بود نیروی دافعه مانع کمتراثر نماید.بدین
ترتیب عمل wall followingراحت تر انجام میشود.
Task potential fieldبا استفاده از سرعت روبات اشیائی را که
نباید تاثیری بر میدان پتانسیل داشته باشند را مشخص مینماید.
اینکار مسیر هموارتری را ایجاد مینماید.
Extended Potential Field Method
مقایسه بین دو روش
Obstacle Avoidance
یک مسیریاب فقط میتواند اشیائی را
در نظر بگیرد که از قبل مشخص
باشند.
در عمل ممکن است در یک محیط پویا
بعلت وجود اشیا جدید و یا عدم دقت
نقشه قرائت سنسورهای روبات با
مقادیر موجود در نقشه همخوانی
نداشته باشد.
در نتیجه یک روبات متحرک باید قادر
به ممانعت از برخورد با اشیا باشد.
Obstacle Avoidance
عمل پرهیز از اشیا سعی دارد تا مسیر روبات را به محض اینکه
سنسورهای روبات آن را از وجود مانعی آگاه کردند تغییر دهد.
اینکار وابسته به عوامل زیر است:
نقشه محیط،
اطالع دقیق روبات از موقعیت خودش در روی نقشه،
مقدار فعلی قرائت سنسورها،
نقطه هدف ،
سرعت و دینامیک روبات،
خطر کنونی و بعدی برخورد
معموال قابلیت پرهیز از مانع بصورت جداگانه پیاده سازی میشود.
Bug Algorithms
جزو ساده ترین روشهای پرهیز از اشیاBug الگوریتم های
.هستند
ایده اصلی این است که روبات با مشاهده هر مانع در مسیر
.خود محیط پیرامون آنرا دور میزند
:فرضیات
Point robot
Contact sensor (Bug1,Bug2) or finite range sensor (Tangent Bug)
Bounded environment
Robot position is perfectly known
Robot can measure the distance between two points
Obstacle Avoidance: Bug1
در این روش روبات یک دور کامل دور شیئ زده و سپس از نزدیکترین
نقطه به هدف از مانع جدا میشود.
Obstacle Avoidance: Bug2
در این روش روبات محیط مانع را دور میزند و به
محض اینکه راهی بسوی هدف پیدا کرد از آن جدا
میشود.
Bug Algorithms
Algorithm consists of two behaviors:
1. Motion to goal – move toward the goal
•Bug1: move along the line that connects an “initial”
point to the goal until you reach the goal or an
obstacle (hit point).
•Bug2: move along the line that connects the start
point to the goal until you reach the goal or an
obstacle (hit point).
Bug Algorithms
2. Boundary following – obstacle handling
•Bug1: circumnavigate the entire perimeter of the
obstacle, find the closest point to the goal on the
perimeter (leave point), move to that point .
•Bug2: circumnavigate the obstacle until you reach a
new point on the line connecting start and goal, that
is closer to the goal (leave point).
Bug Algorithms
•Bug1
•Bug2
•Exhaustive search
•Optimal leave point
•Performs better with
complex obstacles
•Path length :
•Opportunistic (greedy)
search
•Performs better with simple
obstacles
•Path length :
•n = # of obstacles
•Pi = perimeter of obstacle i
•ni = # of times the start-goal line
intersects obstacle i
Obstacle Avoidance: Vector Field
Histogram (VFH)
سایر روشها
The Bubble Band Concept
Lane Curvature Velocity Methods
Global Dynamic Window Approach
The Schlegel Approach
The EPFL-ASL approach
Fuzzy, Neuro-Fuzzy
Navigation Architectures
چگونه میتوان روشهای مختلف مسیریابی ،پرهیز از موانع،
مکان یابی ،و ادراکی را در یک روبات واقعی تحت یک
سیستم مجتمع نمود؟
روش متداول طراحی یک نرم افزار مخصوص کاربرد مورد
نظر است.
اما این کار را میتوان به شیوه های ساخت یافته تر ی نیز
انجام داد.
Control localization
معموال در طراحی روبات عملیات کنترلی مختلف به صورت
واحد های مشخصی در معماری سیستم پیاده سازی میشوند.
مثال پرهیز از موانع بصورت یک واحد مجزا اجرا میشود.
همچنین تصمیم گیری های سطح باال نظیر planningنیز
بصورت مجزا اجرا میشوند .معموال این بخشها با استفاده از
یک شبیه ساز تست میشوند.
معموال از دو روش برای تجزیه عملیات روبات استفاده میشود
• Temporal decomposition and
• Control decomposition
Temporal decomposition
تجزیه زمانی نرم افزار
روبات بر اساس عملیاتی
که باید بصورت بالدرنگ
انجام شوند و عملیاتی که
میتوانند بصورت off
lineانجام میشوند
صورت میپذیرد.
Off line planning
Strategic decisions
Tactical decisions
Quasi real time
Hard real time
Temporal decomposition
در پائین ترین سطح
تصمیم گیری بر
اساس مقادیر فوری
سنسور ها انجام
میگیرد در حالیکه
در سطوح باالتر
تصمیم گیری
براساس صورت
مسئله موجود انجام
میگیرد.
Control decomposition
این روش نرم افزار را بر اساس ارتباطی که خروجی های
یک بخش با قسمت های دیگر دارد تجزیه میکند.
سیستم ( شامل روبات و محیط) به mماجول با یک یا چند
ورودی و فقط یک خروجی تجزیه میشود که ورودی هر
ماجول از خروی ماجول دیگری تامین شده و یک سیستم بسته
ایجاد میشود.
ورودی ماجول rو یا روبات کلیه عملیاتی که روبات فیزیکی
قادر به انجام آن است را شامل میشود .خروجی آن نیز تمامی
ادارکاتی را که روبات قادر به حس آن است در بر میگیرد.
Control decomposition
این ایده میتواند بصورت کامال سلایر و یا موازی پیاده سازی
شود.
کنترل موازی
در حالت موازی الزم است تا روشی برای انتخاب بین خروحی های
ماجولهای مختلف تعیین گردد.
در روش سوئیچینگ در هر لحظه خروجی یکی از ماجولها بر اساس
شرایط موجود انتخاب میشود ( .مثال در هنگام نزدیک شدن به موانع
ماجول پرهیز از موانع انتخاب میشود)
در روش ترکیبی خروجی همه ماجولها برای تولید خروجی الزم مورد
استفاده قرار میگیرد .مثال خروجی ماجول پرهیز از موانع همیشه روشن
است ولی یک تابع ریاضی تاثیر آن در حرکت روبات را تعیین مینماید.
روش کنترل موازی در حقیقت تقلیدی از موجودات زنده است:
Biomimetc
An architectural example:
Functional Decomposition
مسیر کمانها ار تباط زمانی بین ماجولها را نشان میدهد
General Tiered Architecture
مثالی از تجزیه زمانی عملیات روبات:
ماجول Path Planningتصمیم گیری های استراتژیک را
انجام میدهد .این تصمیم گیری real timeنبوده و بر
اساس اطالعات کلی در یافتی از محیط انجام میشود.
از طرف دیگرکنترلرهای Real timeدارای پهنای باند
زیادی بوده و ورودی سنسورها را به عملگرها ربط میدهند.
در پائین ترین مرحله کنترلر موتورها قرار میگیرد.
الیه اجرائی یا Executiveکه بین دو الیه path
plannerو real timeقرار میگیرد ،مسئول میانجیگری
بین ایندو بخش است که رفتار ها را بر اساس مقدار سنسور
ها فعال میکند ،خرابی را تشخیص میدهد و در صورت لزوم
plannerرا دوباره راه اندازی میکند.
A Three-Tiered Episodic Planning
Architecture.
Planner is triggered when needed: e.g. blockage, failure
An integrated planning and
execution architecture
All integrated, no temporal between planner and executive layer
روبات خودکار
• برای داشتن یک روبات کامال خودکار الزم است تا عالوه بر
ایجاد ارتباط بین ورودی سنسورهای روبات و خروجی
عملگرهای آن:
• روبات باید قادر باشد تا هدفی را انجام دهد
• روبات باید مسئله ای را حل نماید
ویژگی های معماری
• A control architecture provides a set of principles
for
• Organizing a control system
• provides structure
• provides constraints
• refers to software control level, not hardware!
دسته بندی معماری های مختلف برای کنترل روبات
• Deliberative
• look-ahead; think, plan, then act
• Reactive
• no look-ahead; react!
• Hybrid
• think slowly, react quickly
• Behavior-based
• distribute thinking over acting
Deliberative Control
• Classical control architecture (first to be tried)
• First used in AI to reason about actions in
nonphysical domains (like chess)
• Natural to use this in robotics at first
• High-level planning architectures including
STRIPS, GAPPS, PRS, and RAPS
Reactive Control
• Operate on a short time scale
• Does not look ahead
• Reactive control is based on a tight loop
connecting the robot’s sensors with its effectors
• Purely reactive controllers do not use any internal
representation; they merely react to the current
sensory information.
• Use a direct mapping between sensor and
effectors; minimal state information (if any)
Reactive Control
• Collection of rules that map situations to actions
• Simplest form:
• divides perceptual world into a set of mutually exclusive
situations
• recognize which situation we are in
• react to it
• Usually too hard to define mutually exclusive situations
• what if multiple sensors are involved?
• robot’s entire sensory space could be very large!
مثال
Arbitration
• Deciding between two or more different possible
actions or behaviors
• Can be done based on:
• fixed priority hierarchy
• dynamic hierarchy
• Learning
Universal Plans
• Suppose:
•
all possible plans for all possible actions can be generated in
advance and
• An optimal reaction for each situation can be identified
• This is a universal plan also called a complete mapping.
• Reactive planning is done at compile-time, not run-time.
• but not viable, because:
•
•
•
•
world must be deterministic
world must not change
goals must not change
world is too complex (state space is too large)
Situated Automata
• Formal notion of finite state machines (FSM)
• inputs connected to sensors
• outputs connected to effectors
•
•
•
•
•
“situated” = interacting with a complex world
Used to create reactive principled control systems
Control With Situated Automata
two ways to construct
manually
•
e.g., subsumption architecture [Brooks 1986]
• pre-compiling a complete plan
• similar to universal plans, but in terms of FSM circuitry
Subsumption Architecture
• Best known reactive control architecture (Q Rodney
Brooks, MIT, 1985)
• principles:
•
•
•
•
•
•
•
•
systems are built from the bottom up
components are task achieving actions/behaviors (not functional
modules)
components can be executed in parallel
components are organized in layers, from the bottom up
lowest layers handle most basic tasks
newly added components and layers exploit existing ones
each component provides and does not disrupt tight coupling
between sensing and action
no internal models (“the world is its own best model”)
Hybrid Control
•
•
Basic idea:
use the best of both worlds (deliberative and reactive)
•
•
•
Typically consists of three components:
1.
2.
3.
•
•
combine open-loop and closed-loop execution
combine different time scales and representations
reactive layer
planner
integration layer to combine (1) and (2)
often called three-layer architectures
planner and reactive layers are standard
Strengths
• Deliberative planners
• rely heavily on world models
• can readily integrate world knowledge
• have broader perspective and scope
• Reactive and behavior-based systems
•
•
•
•
afford modular development
provide real-time robust performance in dynamic world
provide for incremental growth
tightly coupled to incoming sensory data
Behavior-based systems
BBR is founded on the Subsumption Architecture
Reactive systems are limited by their lack of internal
state. BBR systems overcome this limitation
because their underlying unit of representation
behaviors can store state.
Information is not centralized instead various forms
of distributed representations are used ranging from
static table structures and networks to active
procedural processes implemented within the
behavior networks.
Behavior-based systems
Like hybrid systems they also provide both low level
control and High level deliberation.
The latter is performed by one or more distributed
representations that compute over the other
behaviors often directly utilizing low level behaviors
and their outputs.
The resulting system built from the bottom up does
not divide into differently represented and
independent components but instead constitutes an
integrated computational behavior network.
Behavior-based systems
The whole robot control is built upon a family of
behaviors, each implementing a set of actions
which specify, at each computational step, the
most appropriate response to a perceptual
stimulus.
An arbitration mechanism allows the system to
inhibit a behavior which is not currently
requested, eventually, reactivating it later .
Behavior-based controllers
Behavior-based controllers consist of a
collection of behaviors.
Behaviors are processes or control laws that
achieve and/or maintain goals.
For example, 'avoid-obstacles' maintains the
goal of preventing collisions, 'go-home'
achieves the goal of reaching some home
destination.
Behavior-based controllers
Each behavior can
take inputs from the robot's sensors (e.g., camera,
ultrasound, infra-red, tactile) and/or from other behaviors in
the system, and
send outputs to the robot's effectors (e.g, wheels, grippers,
arm, speech) and/or to other behaviors.
Thus, a behavior-based controller is a structured
network of such interacting behaviors.
The behaviors themselves can have state, and can
form representations when networked together.
Behavior-based controllers
The key difference between behavior-based and hybrid systems
is in the way representation and time-scale are handled.
Hybrid systems typically employ a low-level reactive system that
functions on a short time-scale, and a high-level planner that
functions on a long time-scale. The two interact through a middle
layer. Consequently hybrid systems are often implemented with
so-called three-layer architectures.
In contrast, behavior-based systems attempt to make the
representation, and thus the time-scale, of the system uniform.
Behavior-based representations are parallel, distributed, and
active, in order to accommodate the real-time demands of other
parts of the system. Furthermore, they are implemented using
the behavior structure, much like the rest of the system.
پیاده سازی رفتارها
Behaviors can be designed at a variety of
abstraction levels In general they are higher than
the robots atomic actions.
Some implemented behaviors include:
Go home , Get recharged, Find Landmark, Pickup Object,..
Deciding what behavior to execute at each point in
time is called behavior arbitration and is one of the
central design challenges of BBR
Fixed priority for behaviors
مثال
Structure of the behavior networks for the delivery task
معیارهای انتخاب معماری
• Support for parallelism
• the ability of the architecture to execute parallel
processes/behaviors at the same time
• Hardware targetability
•
•
•
•
how well the architecture can be mapped onto real-robot
sensors and effectors
how well the computation can be mapped onto real
processing elements (i.e., microprocessors)
• Run-time flexibility
• does the architecture allow run-time adjustment and
reconfiguration?
معیارهای انتخاب معماری
• Modularity
• how does the architecture address encapsulation of
control?
• how does it treat abstraction?
• does it allow many levels?
• e.g., feedback loops, primitives, agents
• Robustness
• how well does the architecture perform if individual
components fail?
• how well does it enable and facilitate writing
controllers capable of fault tolerance?
معیارهای انتخاب معماری
• Ease of use
• how easy to use and accessible is the architecture?
• are there programming tools and expertise?
• Performance
• how well does the robot perform using the
architecture?
• does it act in real-time?
• does it get the job
Designing Principles
Designing control programs for autonomous robots
is a very difficult activity especially if it is compared
with the analogous activity of writing computer
programs.
These difficulties stem from the hard coupling
between the robot and its environment which makes
input/output operations to play a crucial role inside
the program.
The consequence is that robot capabilities are
deeply affected by the performance of its sensors,
which handle inherently noisy data, and its actuators
whose reliability is not perfectly predictable.
Text Books:
Robot Motion Planning, Jean-Claude
Latombe, Kluwer, 1991.
Behavior-Based Robotics by R. Arkin
Example: Task Control
Architecture
It means the integration and coordination of
perception, planning and real-time control to achieve
a given set of goals (tasks).
TCA has no built-in control functions for particular
robots (such as path planning algorithms)
It provides control functions, such as task
decomposition, monitoring, and resource
management, that are common to many mobile
robot applications.
TCA can be thought of as a robot operating system .
Within NASA, TCA has been used on several
robots.
Inter-Process Communication
TCA provides a flexible mechanism for passing
coarse-grained messages between processes
(which is called modules).
The communication mechanisms automatically
marshall and unmarshall data, invoke user-defined
handlers when a message is received, and include
both publish/subscribe and client/server type
messages, and both blocking and non-blocking
types of messages.
TCA also provides orderly access to robot resources
so that you don't have to build your own queuing
mechanisms.
Planning and Execution
The fundamental capability of a robot is to achieve
its goals.
TCA enables developers to easily specify
hierarchical task-decomposition strategies, such as
how to navigate to a particular location or how to
collect a desired sample.
This can include temporal constraints between subgoals, leading to a variety of sequential or
concurrent behaviors.
TCA schedules the execution of planned behaviors,
based on those temporal constraints.
Execution Monitoring and Error
Recovery
TCA provides constructs that enable the robot
system to monitor selected sensors and inform the
system when the monitored conditions are triggered.
To recover from errors in plans, TCA utilities enable
robot systems to reason about plans, terminate or
suspend portions of plans, add patches, and retry
plans.
TCA provides a hierarchical exception-handling
mechanism for specifying context-dependent error
procedures.
Human/Robot Interaction
No robot will be fully autonomous; interaction with
humans is a necessity.
TCA provides users with the ability to interact with
the robot at any level of the task hierarchy.
Users may also view the current task decomposition
that the robot is executing, and modify it on the fly, if
need be.
Note that TCA may not be an appropriate framework
for real-time control systems.
Source: http://www.cs.cmu.edu/~TCA/tca.orig.html
موضوعاتی برای ارائه
Probabilistic Road Maps
Multi-Robot Systems
Subsumption Architecture
موضوعاتی برای پروژه
یادگیری و روبات
شبیه سازی :شبیه ساز روبات کوکا ،شبیه ساز روباتهای
متحرک،
پیاه سازی Slamتوسط شبیه ساز
برخی پروژه های پیشین
سه بعدي فوتبال با استفاده از روش کالمن فیلتر
تخمین میزان آب الزم براي خاموش كردن یك ساختمان مشتعلRoboCup – Rescue.
تخمین و پیشبینی رفتار گسترش آتش در محیط شبیهسازی امداد
جلوگیري از برخورد به موانع با استفاده از یادگیري تقویتي براي روبات کپرا
طراحی و پیادهسازی محیط شبیهسازی رباتهای متحرک
حل سینماتیک معکوس برای ربات افزاینده با ۴درجه آزادی با وجود مانع بوسیله
مکانیابي روبات فوتبالیست در محیط شبیه سازي سه بعدي فوتبال با استفاده از روش پارتیکل
فیلترینگ
پیاده سازی و مقایسه روشهای مسیریابی ربات
استفاده از یادگیري تقویتي براي حرکت روبات در یک مسیر منحني
برنامه ریزی حرکت و جلوگیری از برخورد روبات با موانع با استفاده از پارامترهای فازی
حل سینماتیک معکوس در روباتهاي افزونه با استفاده از اتوماتاي یادگیر سلولي
ارائه یک مدل فازي براي تعیین اولویت خاموش کردن ساختمانهاي آتش گرفته توسط عاملهاي اتش
نشان تیم امداد
برخی پروژه های پیشین
فازی کردن معماری Subsumption
یادگیري مهارت ضربه زدن در روبوکاپ
پیاده سازي یك ربات یادگیر
موقعیت یابي با استفاده از کالمن فیلتر
مسیریابي ربات با استفاده از یک روش تغییر یافته میدان نیروی مجازی،
ضمن شناسائي و فرار از مینیمم هاي محلي
Multiple Target Tracking For Mobile Robots Using
the JPDAF Algorithm
Mobile Robot Global Localization using Differential
Evolution and Particle Swarm Optimization