Presentation is loading. Please wait.

Presentation is loading. Please wait.

Planning and Navigation

Similar presentations


Presentation on theme: "Planning and Navigation"— Presentation transcript:

1 Planning and Navigation
دکتر سعید شیری قیداری & فصل 6 کتاب Amirkabir University of Technology Computer Engineering & Information Technology Department

2 Cognition Cognitionعبارت است از تصمیم گیری هدف مندانه و اجرای آن توسط یک سیستم برای نیل به یک هدف سطح بالا. در یک روبات متحرک این امر متوجه مسئله navigation است که باعث میشود تا روبات با داشتن اطلاعات جزئی از محیط و مقادیر سنسورها بتواند به موقعیت هدف برسد. Navigation شامل اجرای یک سری عمليات برای رسیدن به هدف میشود (planing) که در ضمن اجرای آن روبات باید از برخورد با موانع جلوگیری نماید. (reacting)

3 Path planning مسئله مسیریابی برای روباتهای متحرک یک امر اساسی است اما قبل از برای رباتهای صنعتی نیز مطرح بوده و مطالعات زیادی در این زمینه شده است. بعلت محدودیت درجات آزادی روباتهای متحرک این مسئله برای آنها ساده تر از روباتهای صنعتی میباشد. در روباتهای صنعتی بعلت سرعت زیاد علاوه بر سینماتیک مسئله دینامیک هم مهم است.

4 Configuration Space مسئله مسیریابی برای روباتهای صنعتی و متحرک در فضائی با نام configuration space انجام میشود. برای روباتی با k درجه آزادی هر ترکیب موقعیت آن را میتوان با k مقدار حقیقی q1,…,q k نشان داد. که این مقادیر نقطه ای مثل p را در فضای kبعدی نشان میدهند. این فضا configuration space نامیده میشود.

5 Free Space اگر فضای حقیقی (work space ) دارای مانع باشد، عمل مسیریابی باید مسیری از نقطه اولیه به هدف پیدا نماید که بدون مانع باشد.این مسیر فضای آزاد نامیده میشود: F=C-O فضای ازاد فضای موقعیت فضای مانع

6 Configuration Space فضای موقعیت و فضای آزاد و مسیری که به هدف منجر میشود یک روبات با دو درجه آزادی در فضای حقیقی

7 configuration space of a mobile robot
برای یک روبات متحرک رسم بر این است که آنرا بصورت holomonic فرض کنیم. در اینصورت روبات را میتوان بصورت یک نقطه در نظر گرفت . در نتیجه فضای موقعیت را میتوان بصورت دو بعدی با محورهای x, y نشان داد. در این حالت اشیا موجود در محیط باندازه شعاع روبات بزرگ میشوند تا فرض نقطه ای بودن روبات درست باشد.

8 Example of a World (and Robot)
Obstacles Free Space Robot x,y

9 Configuration Space: Accommodate Robot Size
Obstacles Free Space Robot (treat as point object) x,y

10 Path Planing توپولوژیک متریک یا ترکیبی از این دو
فرض میشود که یک نقشه مناسب از محیط وجود داشته باشد: توپولوژیک متریک یا ترکیبی از این دو اولین مرحله از مسیریابی تبدیل نقشه به یک نقشه گسسته است. اینکار به چند طریق ممکن است انجام شود: Visibility Graph Voronoi Diagram Cell Decomposition  Connectivity Graph Potential Field

11 Road-Map Path Planning:
در این روش فضای آزاد بصورت شبکه ای از منحنی ها و یا خطوط که نقشه راه نامیده میشوند نشان داده میشود. مسیریابی در این حالت عبارت است از اتصال مبدا و مقصد روبات به نقشه راه و بدنبال آن جستجوی راه هائی که ایندو را به هم متصل میکنند. در این روش فضای حالت روبات با استفاده از هندسه موانع تجزیه میشود. دو روش مختلف برای اینکار: Visibility Graph Voronoi Diagram

12 Visibility Graph Visibility Graph (گراف پدیداری)برای یک فضای موقعیت مرکب از چند ضلعی ها از لبه هائی تشکیل میشود که رئوس چند ضلعیها را دو بدو به هم متصل میکنند. وظیفه مسیریاب پیدا کردن کوتاهترین مسیر از مبدا به مقصد است. پیاده سازی این روش ساده بوده و مسیر پیدا شده توسط آن بهینه است. اگر تعداد اشیا محیط زیاد شود تعداد لبه ها و گره ها زیاد شده و سرعت الگوریتم کاهش می یابد. مشکل جدی این روش این است که مسیر پیدا شده توسط آن روبات را تا حد ممکن به اشیا نزدیک میکند.

13 Visibility Graph G: non-directed graph
گره ها عبارتند از نقطه شروع و هدف و رئوس چند ضلعی ها یال ها عبارتند از خطوط مستقیمی که از اتصال دو نقطه بدست می آیند و هیچ مانعی را قطع نمیکنند. qinit qGoal

14 الگوریتم 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.

15 Reduced Visibility Graphs
میتوان با کاهش تعداد یالها مرتبه اجرای الگوریتم را کاهش داد. از G رئوس مقعر و یالهای non-tangentحذف میشوند. یال tangent یالی است که از هر دو گره برموانع مماس باشد. Algorithm: O(… + n log n) possible. qinit qgoal Qgoal qinit

16 Voronoi Diagram برخلاف روش visibility graph این روش سعی دارد تا فاصله روبات تا اشیا را حداکثر نماید. برای ساختن Veronoi graphنقاطی از صفحه که فاصله شان ازدو و یا چند شیئ یکسان است پیدا شده و به هم متصل میشوند. این نمودار شامل خطوط صاف و منحنی خواهد بود. مسیر یافته شده توسط این روش با مسیر بهینه فاصله دارد. اجرای این الگوریتم بر روی روبات ساده است: روبات با استفاده از سنسور های فاصله سعی درحداکثر کردن فاصله اش از اشیا اطراف خواهد نمود تا همیشه در مسیر این نمودار قراربگیرد. این خطر وجود دارد که روبات بعلت محدودیت سنسورهایش قادر به اندازه گیری فاصله تا اشیا دور نباشد.

17 Voronoi Diagram

18 Voronoi diagram Voronoi diagram of floor map

19 نمودار ورونوی برای مجموعه ای از نقاط

20 Generalized Voronoi Diagrams

21 Naive Method of Constructing Voronoi Diagrams
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

22 Cell Decomposition در این روش محل های مربوط به فضای آزاد و اشیاء از هم جدا میشوند. برای اینکار: فضا را به نواحی ساده و به هم متصلی به نام سلول تقسیم کنید. سلولهای آزادی که مجاورهم هستند را مشخص نموده ویک گراف اتصال تشکیل دهید. سلولهائی که حاوی نقطه مبدا و مقصدهستند را پیدا کنید. مسیری در گراف اتصال پیدا کنید که این سلولها رابه هم وصل کند. در این سلولها مسیری را پیدا کنید که از آن سلول عبور کند. مثلا مسیری که نقطه وسط سلول را به مرزهایش وصل نماید.

23 Exact Cell Decomposition

24 Cell Decomposition Trapezoidal Decomposition

25 Cell Decomposition Trapezoidal Decomposition
بازای هر یک از رئوس موانع خط عمودی در فضای آزاد رسم میشود که یا به مانع دیگری برسد و یا به مرز برخورد کند

26 Cell Decomposition Trapezoidal Decomposition
با تقلیل محیط به سلولها میتوان گراف متناظری را ساخت start goal

27 Cell Decomposition Trapezoidal Decomposition
با استفاده از یک گراف مجاورت میتوان مسیری را از مبدا به مقصد بدست اورد. start goal

28 Approximate Cell Decomposition
یکی از روشهای متداول در مسیریابی روباتهای متحرک است که بخصوص برای مواردی که محیط بصورت grid based استفاده میشود. فضا به سلولهائی با اندازه ثابت( یا متغیر) تقسیم بندی میشود. در حالت استفاده از سلول با اندازه ثابت ممکن است برخی مسیرها از دست بروند.

29 Approximate Cell Decomposition

30 Adaptive Cell Decomposition

31 Adaptive Cell Decomposition
Uniform Quadtree

32 مسائل پیوستگی مسیر تابعی از رزولوشن انتخاب شده است.
با افزایش رزلوشن پیچیدگی محاسباتی افزایش می یابد. مواردی وجود دارند که دقت از بین میرود. برای مثال در شکل زیر تشخیص مانع از فضای آزاد مشکل خواهد بود

33 Path / Graph Search Strategies
برای جستجو از تکنیک NF1 و یا grassfire استفاده میشود که در آن به هر سلول فاصله آن تا نقطه هدف نسبت داده میشود. سایرروشها: Breadth-First Search Depth-First Search Greedy search and A *

34 The Wavefront planner از این الگوریتم میتوان برای تعیین کوتاهترین فاصله بین دو نقطه استفاده نمود. در حقیقت یک جستجوی breadth first انجام میدهد. مقدار دهی اولیه: فضای آزاد با 0 علامت گذاری میشود موانع با 1 علامت گذاری میشوند. مقصد با 2 علامت گذاری میشود.

35 The Wavefront planner

36 The Wavefront planner از نقطه هدف شروع کرده و سلولهای مجاور آن را یکواحد افزایش میدهیم.

37 The Wavefront planner به همین ترتیب برای سلولهای مجاور عمل میکنیم.
الگوریتم آنقدر ادامه پیدا میکند تا هیچ سلولی که همسایه برزگتر از 2 داشته برابر صفر نباشد. مگر سلولی هائی که قابل دسترس نباشند.

38 The Wavefront planner برای پیدا کردن کوتاهترین مسیر با شروع از مبدا درجهتی حرکت میکنیم که مقدار عددی سلولها کمتر شود.

39 Potential Field Path Planning
با توجه به مشکلاتی که برای نمایش فضای موقعیت وجود دارد روشهای دیگری توسعه یافته اند که از طریق جستجو در محیط فضای آزاد را شناسائی میکنند. یکی از این روشها روش میدان پتانسیل است. این روش یک میدان و یا گرادیانی در نقشه روبات ایجاد میکند که میتواند روبات را از موقعیت فعلی به سمت هدف هدایت نماید. روبات بصورت یک نقطه فرض میشود که تحت تاثیر یک میدان پتانسیل U(q) قرار دارد. میدان بصورت یک تابع مشتق پذیر تعریف میشود. روبات همانند توپی که در سرازیری قرار دارد مسیر میدان را دنبال میکند. نقطه هدف بصورت یک نیروی جاذب و موانع بصورت نیروهای دافع عمل میکنند. برایند نیرو های دوگانه به روبات اعمال خواهد شد. بدین ترتیب روبات همزمان با حرکت بسوی هدف از موانع نیز دور خواهد شد. اگر اشیا جدید در مسیر روبات قرار داده شوند میدان طوری تغییر داده میشود تا تاثیر آنها را در بر داشته باشد.

40 Potential Field Path Planning

41 Potential Field Generation
اگر روبات بصورت یک نقطه فرض شود میتوان از qصرفنظر نموده و میدان پتانسیل U(q) را بصورت دو بعدی در نظر گرفت. در اینصورت نیروئی که در نقطهq=(x,y) بر روبات اثر میکند عبارت است از: سرعت روبات (vx, vy) متناسب با نیروی F(q) در نظر گرفته میشود.

42 Attractive Potential Field
پتانسیل جذبی را میتوان بصورت یک تابع سهمی گون در نظر گرفت. در این رابطه Katt ضریب مقیاس و rgoal(q) فاصله اقلیدسی || q-qgoal ||تا هدف را مشخص میکند. با مشتق گیری از این رابطه مقدار نیروی جاذ ب بدست خواهد آمد. وقتی که روبات به هدف میرسد مقدار این نیرو صفر خواهد شد.

43 Repulsing Potential Field
نیروی دافعه باید روبات را از موانع معلوم دور سازد. از اینرو مقدار آن وقتی که روبات به موانع نزدیک میشود باید زیاد بوده و وقتی که روبات بقدر کافی از موانع دور است تاثیر چندانی نداشته باشد. در این رابطه Krep ضریب مقیاس و r (q) حد اقل فاصله از q به شیئ و r0 فاصله تاثیر شیئ است .مقدار میدان دافعه مثبت و یا صفر بوده و با نزدیک شدن به شیئ مقدار آن بینهایت میشود. اگر مرز شیئ محدب بوده و بصورت تکه تکه مشتق پذیر باشد میتوان از r (q) مشتق گرفت. در اینصورت:

44 Generating the Potential Field A Parabolic Well for Attracting to Goal

45 Gaussian Obstacle Potential Function

46 Parabolic Well for Goal Exponential Source for Obstacle

47 Parabolic Well Goal & Two Exponential Source Obstacles

48 Potential Field Path Planning:
محدودیت های این روش: احتمال قرار گرفتن در مینیمم محلی وجود دارد. در اشیا مقعر ممکن است چندین فاصله حد اقل r (q) وجود داشته باشد. این امر ممکن است به نوسان بین دو نقطه نزدیک به شیئ منجر گردد. اگر نتوان روبات را بصورت نقطه ای فرض کرد مسئله بعرنج خواهد شد.

49 Extended Potential Field Method
در این روش دو میدان به صورت زیر تعریف میشود: Rotation Potential Field این میدان نیروی دافعه را تابعی از فاصله تا مانع و جهت روبات فرض میکند. طوری که اگر روبات موازی مانع بود نیروی دافعه مانع کمتراثر نماید. بدین ترتیب عمل wall following راحت تر انجام میشود. Task potential field با استفاده از سرعت روبات اشیائی که نباید تاثیری بر میدان پتانسیل داشته باشند را مشخص مینماید. اینکار مسیر هموارتری را ایجاد مینماید.

50 Extended Potential Field Method
مقایسه بین دو روش

51 Obstacle Avoidance یک مسیریاب فقط میتواند اشیائی را در نظر بگیرد که از قبل مشخص باشند. در عمل ممکن است در یک محیط پویا بعلت وجود اشیا جدید و یا عدم دقت نقشه قرائت سنسورهای روبات با مقادیر موجود در نقشه همخوانی نداشته باشد. در نتیجه یک روبات متحرک باید قادر به ممانعت از برخورد با اشیا باشد.

52 Obstacle Avoidance عمل پرهیز از اشیا سعی دارد تا مسیر روبات را به محض اینکه سنسورهای روبات آن را از وجود مانعی آگاه کردند تغییر دهد. اینکار وابسته به عوامل زیر است: نقشه محیط، اطلاع دقیق روبات از موقعیت خودش در روی نقشه، مقدار فعلی قرائت سنسورها، نقطه هدف ، سرعت و دینامیک روبات، خطر کنونی و بعدی برخورد معمولا قابلیت پرهیز از مانع بصورت جداگانه پیاده سازی میشود.

53 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

54 Obstacle Avoidance: Bug1
در این روش روبات یک دور کامل دور شیئ زده و سپس از نزدیکترین نقطه به هدف از مانع جدا میشود.

55 Obstacle Avoidance: Bug2
در این روش روبات محیط مانع را دور میزند و به محض اینکه راهی بسوی هدف پیدا کرد از آن جدا میشود.

56 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).

57 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).

58 Bug Algorithms Bug1 Bug2 Exhaustive search Optimal leave point
Performs better with complex obstacles Path length : n = # of obstacles Pi = perimeter of obstacle i Bug2 Opportunistic (greedy) search Performs better with simple obstacles Path length : ni = # of times the start-goal line intersects obstacle i

59 The Certainty Grid for Obstacle Representation
Probabilistic representation of obstacles in a grid-type world model developed by CMU Especially suited to the accommodation of inaccurate sensor data such as range measurements from ultrasonic sensors The robot's work area is represented by a two-dimensional array of square elements, Each cell contains a certainty value (CV) that indicates the measure of confidence that an obstacle exists within the cell area.

60 The Certainty Grid for Obstacle Representation
CVs are updated by a probability function that takes into account the characteristics of a given sensor. Ultrasonic sensors, for example, have a conical field of view. If an object is detected by an ultrasonic sensor, it is more likely that this object is closer to the acoustic axis of the sensor than to the periphery of the conical field of view. CMU's probabilistic function Cx increases CVs in cells close to the acoustic axis more than CVs in cells at the periphery.

61 The Certainty Grid for Obstacle Representation
In CMU's applications of this method [the mobile robot remains stationary while it takes a panoramic scan with its 24 ultrasonic sensors. Next, the probabilistic function Cx is applied to each of the 24 range readings, updating the certainty grid. Finally, the robot moves to a new location, stops, and repeats the procedure. After the robot traverses a room in this manner, the resulting certainty grid represents a fairly accurate map of the room. A global path-planning method is then employed for off-line calculations of subsequent robot paths.

62 THE VIRTUAL FORCE FIELD (VFF) METHOD
VFF is areal-time obstacle avoidance method for fast-running vehicles It differs from the certainty grid in the way it is built and updated. It does not require the vehicle to stop in front of obstacles VFF uses a two-dimensional Cartesian histogram grid C for obstacle representation. Each cell (i,j) in the histogram grid holds a certainty value, ci,j, that represents the confidence of the algorithm in the existence of an obstacle at that location. VFF increments only one cell in the histogram grid for each range reading, creating a "probability" distribution with small computational overhead

63 The Virtual Force Field (VFF)
For ultrasonic sensors, this cell corresponds to the measured distance d and lies on the acoustic axis of the sensor Robot continuously and rapidly samples each sensor while the vehicle is moving. Thus, the same cell and its neighboring cells are repeatedly incremented. This results in a histogramic probability distribution, in which high certainty values are obtained in cells close to the actual location of the obstacle.

64 The Virtual Force Field (VFF)
As the vehicle moves, a window of ws x ws cells accompanies it. We call this region the "active region" (denoted as C*), and cells that momentarily belong to the active region are called "active cells“ (denoted as c*i,j).

65 The Virtual Force Field (VFF)
Each active cell exerts a virtual repulsive force Fi,j toward the robot. The magnitude of this force is proportional to the certainty value c*i,j and inversely proportional to d , where d is the distance between the cell and the center of the vehicle, and x is a positive real number (we assume x=2 in the following discussion). At each iteration, all virtual repulsive forces are added up to yield the resultant repulsive force Fr. Simultaneously, a virtual attractive force Ft of constant magnitude is applied to the vehicle, "pulling" it toward the target. The summation of Fr and Ft yields the resulting force vector R.

66 Shortcomings of the VFF Method
Sometimes, the robot would not pass through a doorway, because the repulsive forces from both sides of the doorway resulted in a force that pushed the robot away. Another problem arose out of the discrete nature of the histogram grid. In order to efficiently calculate repulsive forces in real-time, the robot's momentary position is mapped onto the histogram grid. Whenever this position changes from one cell to another, drastic changes in the resultant R may be encountered.

67 Obstacle Avoidance: Vector Field Histogram (VFH)
Vector Field Histogram (VFH) is a real time motion planning algorithm proposed by Johann Borenstein and Yoram Koren in 1991. he VFH utilizes a statistical representation of the robot's environment through the so called histogram grid, and therefore place great emphasis on dealing with uncertainty from sensor and modeling errors. Unlike other obstacle avoidance algorithms, VFH takes into account the dynamics and shape of the robot, and returns steering commands specific to the platform. While considered a local path planner, i.e., not designed for global path optimality, the VFH has been shown to produce near optimal paths.

68 The Problem To simultaneously:
Detect, and avoid, unknown obstacles in real-time Steer in the best direction that leads to some target, ktarg Do it as quickly as possible

69 The Solution: The Vector Field Histogram (VFH)
The first step generates a 2D Cartesian coordinate from each range sensor, and increments that position in the histogram grid C Note: this method does not depend on a specific sensor model

70 The Solution, Continued (2)
The next step filters this two dimensional grid down into a one dimensional structure The final step calculates the steering angle and the velocity controls from this structure

71 First, Some Terminology
VCP The center point of the vehicle (robot) Obstacle vector A vector pointing from a cell in C* to the VCP Robot VCP

72 Step 2: Mapping 2D onto 1D In order to simplify calculations, the 2D grid used in this step is a window of C, with constant dimensions, and centered on the VCP, called the active grid, or C*.

73 Step 2: Continued (2) This is then mapped onto a 1D structure known as a polar histogram, or H. A polar histogram is a one-dimensional grid comprising of n angular sections with width a Figure included with permission from J. Borenstein

74 Step 2: Continued (3) In order to generate H, we must first map every cell in C* onto a 1D point in H’s coordinate system

75 Step 2: Continued (4) H has an arbitrary angular resolution a such that n=360/ a is an integer (e.g., a =5o and n=72). Each sector k corresponds to a discrete angle r quantized to multiples of a, such that r =ka, where k = 0,1,2,...,n-1. Correspondence between c*i,j and sector k is established through

76 Step 2: Continued (5) Because H at this point contains discrete points, a smoothing function can be applied in order to better approximate the environment

77 Example: A typical obstacle setup

78 Example (Continue)

79 Step 3: Computing the Steering Direction
A typical polar histogram contains “peaks”, or sectors with a high polar obstacle density (POD), and “valleys”, sectors that contain low POD’s A valley below some threshold is called a candidate valley

80 Step 3: Continued (2) From all the candidate valleys, the valley closest to the ktarg is selected Once a valley is selected, it is further necessary to choose a suitable sector within that valley. The type of the valley is dependant on the some consecutive number of sectors, Smax, under the threshold Wide is greater than Smax Narrow is less than Smax

81 Step 3: Continued (3) In that valley, kn is selected from the first or the last sector, whichever is closer to ktarg Wide valleys: kf = kn ± Smax, which results in kf in the valley Narrow valleys: kf is the last sector in the valley Then q = (kn + kf)/2

82 Step 3: Selecting the Threshold
If set too high, the robot may be too close to an obstacle, and moving too quickly in order to prevent a collision However, if set too low, VFH can miss some valid candidate valleys Generally, the threshold does not need much tuning, unless the application of the robot requires very fast navigation of tightly packed obstacles

83 Step 3: Speed Controls The robot's maximum speed Vmax can be set at the beginning of a run. The robot tries to maintain this speed during the run unless forced by the VFH algorithm to a lower instantaneous speed V.

84 Comparison to Potential Fields
Influences of a bad sensor read is minimized because it is averaged out with prior data Instability in traveling down a narrow corridor is eliminated because the polar histogram varies only slightly between sonar reads The “repulsive forces” from obstacles cannot counterbalance the “attractive force” from the target and trap the robot in a local minima, as VFH only tries to drive through the best possible valley, regardless if it leads away from the target

85 Comparison, Continued (2)
However, VFH cannot solve all the limitations inherent with the potential field method Nothing prevents the robot from being caught in a real local minima, or a cycle When this occurs, a global path planner must be used to generate intermediary targets for the VFH until it is out of the trap Robot ktarg

86 سایر روشها The Bubble Band Concept Lane Curvature Velocity Methods
Global Dynamic Window Approach The Schlegel Approach The EPFL-ASL approach Fuzzy, Neuro-Fuzzy

87 Navigation Architectures
چگونه میتوان روشهای مختلف مسیریابی، پرهیز از موانع، مکان یابی، و ادراکی را در یک روبات واقعی تحت یک سیستم مجتمع نمود؟ روش متداول طراحی یک نرم افزار مخصوص کاربرد مورد نظر است. اما این کار را میتوان به شیوه های ساخت یافته تر ی نیز انجام داد.

88 Control localization معمولا در طراحی روبات عملیات کنترلی مختلف به صورت واحد های مشخصی در معماری سیستم پیاده سازی میشوند. مثلا پرهیز از موانع بصورت یک واحد مجزا اجرا میشود. همچنین تصمیم گیری های سطح بالا نظیر planning نیز بصورت مجزا اجرا میشوند. معمولا این بخشها با استفاده از یک شبیه ساز تست میشوند. معمولا از دو روش برای تجزیه عملیات روبات استفاده میشود Temporal decomposition and Control decomposition

89 Temporal decomposition
Off line planning تجزیه زمانی نرم افزار روبات بر اساس عملیاتی که باید بصورت بلادرنگ انجام شوند و عملیاتی که میتوانند بصورت off line انجام میشوند صورت میپذیرد. Strategic decisions Tactical decisions Quasi real time Hard real time

90 Temporal decomposition
در پائین ترین سطح تصمیم گیری بر اساس مقادیر فوری سنسور ها انجام میگیرد در حالیکه در سطوح بالاتر تصمیم گیری براساس صورت مسئله موجود انجام میگیرد.

91 Control decomposition
این روش نرم افزار را بر اساس ارتباطی که خروجی های یک بخش با قسمت های دیگر دارد تجزیه میکند. سیستم ( شامل روبات و محیط) به m ماجول با یک یا چند ورودی و فقط یک خروجی تجزیه میشود که ورودی هر ماجول از خروجی ماجول دیگری تامین شده و یک سیستم بسته ایجاد میشود. ورودی ماجول r و یا روبات کلیه عملیاتی که روبات فیزیکی قادر به انجام آن است را شامل میشود. خروجی آن نیز تمامی ادارکاتی را که روبات قادر به حس آن است در بر میگیرد.

92 Control decomposition
این ایده میتواند بصورت کاملا سریال و یا موازی پیاده سازی شود.

93 کنترل موازی در حالت موازی لازم است تا روشی برای انتخاب بین خروحی های ماجولهای مختلف تعیین گردد. در روش سوئیچینگ در هر لحظه خروجی یکی از ماجولها بر اساس شرایط موجود انتخاب میشود. ( مثلا در هنگام نزدیک شدن به موانع ماجول پرهیز از موانع انتخاب میشود) در روش ترکیبی خروجی همه ماجولها برای تولید خروجی لازم مورد استفاده قرار میگیرد. مثلا خروجی ماجول پرهیز از موانع همیشه روشن است ولی یک تابع ریاضی تاثیر آن در حرکت روبات را تعیین مینماید. روش کنترل موازی در حقیقت تقلیدی از موجودات زنده است: Biomimetc

94 An architectural example: Functional Decomposition
مسیر کمانها ار تباط زمانی بین ماجولها را نشان میدهد

95 General Tiered Architecture
مثالی از تجزیه زمانی عملیات روبات: ماجول Path Planning تصمیم گیری های استراتژیک را انجام میدهد. این تصمیم گیری real time نبوده و بر اساس اطلاعات کلی در یافتی از محیط انجام میشود. از طرف دیگرکنترلرهای Real time دارای پهنای باند زیادی بوده و ورودی سنسورها را به عملگرها ربط میدهند. در پائین ترین مرحله کنترلر موتورها قرار میگیرد. لایه اجرائی یا Executive که بین دو لایه path planner و real time قرار میگیرد، مسئول میانجیگری بین ایندو بخش است که رفتار ها را بر اساس مقدار سنسور ها فعال میکند، خرابی را تشخیص میدهد و در صورت لزوم planner را دوباره راه اندازی میکند.

96 A Three-Tiered Episodic Planning Architecture.
Planner is triggered when needed: e.g. blockage, failure

97 An integrated planning and execution architecture
All integrated, no temporal between planner and executive layer

98

99 روبات خودکار برای داشتن یک روبات کاملا خودکار لازم است تا علاوه بر ایجاد ارتباط بین ورودی سنسورهای روبات و خروجی عملگرهای آن: روبات باید قادر باشد تا هدفی را انجام دهد روبات باید مسئله ای را حل نماید

100 ویژگی های معماری A control architecture provides a set of principles for Organizing a control system provides structure provides constraints refers to software control level, not hardware!

101 دسته بندی معماری های مختلف برای کنترل روبات
Deliberative look-ahead; think, plan, then act Reactive no look-ahead; react! Hybrid think slowly, react quickly Behavior-based distribute thinking over acting

102 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

103 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)

104 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!

105 مثال

106 Arbitration Deciding between two or more different possible actions or behaviors Can be done based on: fixed priority hierarchy dynamic hierarchy Learning

107 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)

108 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

109 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”)

110 Hybrid Control Basic idea:
use the best of both worlds (deliberative and reactive) combine open-loop and closed-loop execution combine different time scales and representations Typically consists of three components: reactive layer planner integration layer to combine (1) and (2) often called three-layer architectures planner and reactive layers are standard

111 Strengths Deliberative planners Reactive and behavior-based systems
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

112 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.

113 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.

114 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 .

115 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.

116 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.

117 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.

118 پیاده سازی رفتارها 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

119 مثال Structure of the behavior networks for the delivery task

120 معیارهای انتخاب معماری
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?

121 معیارهای انتخاب معماری
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?

122 معیارهای انتخاب معماری
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

123 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.

124 Text Books: Robot Motion Planning, Jean-Claude Latombe, Kluwer, 1991.
Behavior-Based Robotics by R. Arkin

125 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.

126 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.

127 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 sub-goals, leading to a variety of sequential or concurrent behaviors. TCA schedules the execution of planned behaviors, based on those temporal constraints.

128 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.

129 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:

130 موضوعاتی برای ارائه Probabilistic Road Maps Multi-Robot Systems
Subsumption Architecture

131 موضوعاتی برای پروژه یادگیری و روبات
شبیه سازی: شبیه ساز روبات کوکا، شبیه ساز روباتهای متحرک، پیاه سازی Slam توسط شبیه ساز

132 برخی پروژه های پیشین سه بعدي فوتبال با استفاده از روش کالمن فيلتر
سه بعدي فوتبال با استفاده از روش کالمن فيلتر   تخمين ميزان آب لازم براي خاموش كردن  يك ساختمان مشتعل.RoboCup – Rescue تخمين و پيش‌بينی رفتار گسترش آتش در محيط شبيه‌سازی امداد جلوگيري از برخورد به موانع با استفاده از يادگيري تقويتي براي روبات کپرا طراحی و پياده‌سازی محيط شبيه‌سازی رباتهای متحرک حل سینماتیک معکوس برای ربات افزاینده با۴ درجه آزادی با وجود مانع بوسیله  مکان‌يابي روبات فوتباليست در محيط شبيه سازي سه بعدي فوتبال با استفاده از روش پارتيکل فيلترينگ پیاده سازی و مقایسه روش­های مسیریابی ربات استفاده از يادگيري تقويتي براي حرکت روبات در يک مسير منحني برنامه ریزی حرکت و جلوگیری از برخورد روبات با موانع با استفاده از پارامترهای فازی حل سينماتيک معکوس  در روباتهاي افزونه با استفاده از اتوماتاي يادگير سلولي ارائه يک مدل فازي براي تعيين اولويت خاموش کردن ساختمانهاي آتش گرفته توسط عاملهاي اتش نشان تيم امداد

133 برخی پروژه های پیشین فازی کردن معماری Subsumption
يادگيري مهارت ضربه زدن در روبوکاپ پياده سازي يك ربات يادگير موقعيت يابي با استفاده از کالمن فيلتر مسيريابي ربات با استفاده از يک روش تغيير يافته میدان نیروی مجازی، ضمن شناسائي و فرار از مينيمم هاي محلي Multiple Target Tracking For Mobile Robots Using the JPDAF Algorithm Mobile Robot Global Localization using Differential Evolution and Particle Swarm Optimization


Download ppt "Planning and Navigation"

Similar presentations


Ads by Google