1 2 - Sự ra đời của mô hình phản ứng là do sự không hài lòng về mô hình thứ bậc và từ ý tưởng đến từ sinh học. Mặc dù nhiều hệ thống phản ứng có thể hoặc không thể tuân thủ nguyên lý thông minh của sinh học, nhưng chúng đều bắt chước những vấn đề trong sinh học - Nhược điểm chính của cấu trúc thứ bậc là: phụ thuộc vào mô hình toàn cục (global frame), sự phân chia ,nhiệm vụ (tasks) trong mô hình thứ bậc đều liên quan tới nhau, vì thế robotics mang tiếng là một thiết kế hơn là khoa học, vấn đề tiếp là sự không chắc chắn (uncertainty), sự không chắc chắn này có thể đến từ nhiều phía như: ngữ nghĩa, nhiễu cảm biến, lỗi của thiết bị truyền động, hoàn thành nhiệm vụ (khi nào thì robot thực sự hoàn thành nhiệm vụ) - Cách phân chia nhiệm vụ trong cấu trúc thứ bậc được gọi là phân chia theo chiều ngang 3 - Những hạn chế của phân chia nhiệm vụ theo chiều ngang đã được khắc phục bằng cách phân chia theo chiều dọc, đây là cách phân chia mang tính thông minh hơn. - Trong phân chia theo chiều dọc: mỗi một phần tử (agents) sẽ bắt đầu với các hành vi ban đầu và phát triển các lớp hành vi mới hoặc là sử dụng các hành vi cũ, hoặc ức chế các hành vi cũ, hoặc tạo ra các hành vi mới tốt hơn. Mỗi lớp (layer) sẽ truy cập dữ liệu cảm biến và thiết bị truyền động một cách độc lập của bất kỳ lớp nào. Nếu có bất kỳ vấn đề nào xảy ra với hành vi tốt hơn thì các hành vi lớp dưới vẫn hoạt động 4 - Thuộc tính cơ bản của mô hình phản ứng là tất cả các hành động/tác động đều được thực hiện thông qua các hành vi - Định nghĩa hành vi: là sự ánh xạ trực tiêp lối vào của cảm biến tới các hành động của động cơ để thưc hiện được nhiệm vụ yêu cầu - Schema: sơ đồ 5 - Mô hình phản ứng: bao gồm các sense và act gắn kết chặt chẽ với nhau vào trong các behavior 6 - Vấn đề cảm nhận: mỗi một hành vi sẽ có các dữ liệu cảm biến lối vào xác định. Các dữ liệu cảm biến lối vào có thể sử dụng cho một hành vi riêng biệt hoặc dùng chung cho các hành vi khác nhau. Một hành vi sẽ không biết một hành vi khác đang cùng sử dụng chung dữ liệu cảm biến lối vào. Việc sử dụng nhiều cảm biến lối vào cho phép tang độ chính xác của phép đo. Quá trình này gọi là sensor fusion - Chú ý mô hình này ngược với mô hình của thế giới toàn cục trong mô hình thứ bậc ở chỗ: cảm nhận ngay lập tức có sẵn tới perceptual schema và đưa ra hành động nhanh, giảm quá trình xử lý tính toán - Đến đây mô hình phản ứng sẽ có 2 vấn đề chính cần quan tâm đó là sensor fusion và cách thức kết hợp các acturators để tạo ra một lối ra điều khiển duy nhất??? 7 - Sensor fusion: là một khái niệm được sử dụng rộng rãi cho quá trình kết hợp thông tin từ nhiều cảm biến thành một cảm nhận duy nhất - Sensor fission: phân chia cảm biến, mỗi cảm biến đưa vào một behavior, trường hợp sensor fusion này cho các robot sử dụng các loại cảm biến đơn giản, cho các ứng dụng robot thời kỳ đầu. 8 - Sensor fusion định hướng hành động: bất kỳ cảm biến nào hoặc tất cả các cảm biến đều có thể kích hoạt và tác động tới hành vi. - Định hướng hành động để nhấn mạnh rằng dữ liệu cảm biến đang được biến đổi vào trong một biểu diễn cho một hành vi đặc biệt cốt để trợ giúp hành động cụ thể chứ không phải để xây dựng mô hình thế giới - Sensor fashion: trong phương pháp định hướng hành động hành vi có thể sử dụng một hoặc nhiều cảm biến, từ đó đưa ra sensor fashion có thêm phần lựa chọn thứ tự của các cảm biến lối vào 9 - Triggering: kích hoạt các hành vi hay lựa chọn hành vi - Có nhiều kỹ thuật để kết hợp các actions tạo thành một overall action hoặc overall command. Trong đó có 2 kỹ thuật nổi tiếng và được sử dụng nhiều là subsumption (xếp gộp) và potentital field (trường thế) 10 11 - Có 4 khía cạnh cần quan tâm trong cấu trúc xếp chồng theo cách tiếp cận về phân tách và điều khiển: + các mô đun được nhóm thành các lớp khả năng: các lớp sẽ phản ánh thứ tự thông minh hoặc khả năng thực hiện. Các lớp thấp hơn đóng gói các hàm cơ bản như tránh va chạm trong khi các lớp cao hơn tạo ra các hành động định hướng mục tiêu như lập bản đồ. Một trong các lớp có thể được xem như là một hành vi của một nhiệm vụ cụ thể +các mô đun ở lớp cao có thể bỏ qua hoặc xếp gộp các lối ra của các hành vi ở lớp thấp hơn: do các lớp hành vi hoạt động đồng thời và độc lập nên cần có một cơ chế để điểu khiển xung đột. Giải pháp trong cấu trúc xếp chồng là thực hiện loại winner take all, trong đó winner luôn là ở lớp cao hơn (nói đến mức độ ưu tiên) + tránh sử dụng các trạng thái nội bộ: trạng thái nội bộ trong trường hợp này là những biểu diễn trạng thái của thế giới hoặc mô hình. Do robot là một đối tượng cụ thể nên hầu hết các thông tin đến trực tiếp từ thế giới hoạt động thực tế. Nếu robot phụ thuộc biểu diễn nội bộ thì nó sẽ tạo ra những thứ khác thực tế. Một số trạng thái nội bộ là cần thiết cho việc phân tách các hành vi nhưng cần phải tối thiểu việc sử dụng + một nhiệm vụ được gắn bằng cách kích hoạt lớp thích hợp, sau đó kích hoạt các lớp thấp hơn và tiếp tục. Tuy nhiên trong thực tế mô hình xếp chông không dễ để phân nhiệm vụ vì cần phải được lập trình thứ tự hoạt động. 12 - Cấu trúc xếp chồng sẽ thực hiện theo nguyên tắc sau: lối ra của lớp cao hơn sẽ gộp với lối ra từ lớp thấp hơn theo một trong hai cách sau: - Inhibition: cấm: lối ra của module xếp chồng sẽ nối tới lối ra của module khác. Nếu lối ra của module xếp chồng là on hoặc có bất kì giá trị nào thì lối ra của module bị xếp chồng sẽ khóa và off - Suppression: chặn: lối ra của module xếp chồng được kết nối tới lối vào của module khác. Nếu lối ra của modue xếp chồng là on và thay thế lối vào của module bị xếp chồng 13 14 - Mục tiêu của lớp 0: robot có khả năng di chuyển thẳng và không có bất kỳ va chạm nào - Để thực hiện điều đó như sơ đồ của hình vẽ: robot sử dụng các cảm biến siêu âm hoặc cảm biến đo khoảng cách theo các hướng khác nhau và hai cơ cấu dẫn động: 1 đi theo hướng thẳng và và một rẽ. - Hoạt động của sơ đồ trên như sau: module SONAR đọc dữ liệu từ các cảm biến siêu âm, lọc nhiễu và tạo ra một bản đồ cực (polar plot – bản đồ vị trí khoảng cách của các cảm biến tới vật) thể hiện giá trị trong tọa độ cực (r, theta) xung quanh robot. Nếu giá trị của các cảm biến ở trong vùng chết, tức là dưới một ngương nhất định thì module COLLIDE sẽ cảnh báo có một va chạm và gửi tín hiệu tới “tạm ngừng (halt)” tới module FORWARD. Khi đó nếu robot đang đi thẳng thì sẽ dừng lại. Cùng lúc đó, module FEEL FORCE cũng nhận cùng giá trị cảm biến và coi như giá trị đọc của mỗi cảm biến là một lực đẩy biểu thị qua véc tơ (vecto là một đại lượng bao gồm độ lớn và hướng), và tính tổng của các vecto và ra được vecto tổng hay gọi là hợp lực. Giá trị của vecto này sẽ biết được chuyển đến module TURN. Module TURN xác định hướng quay và truyền tới động cơ. Đồng thời module TURN cũng truyền giá trị vector tổng tới module FORWARD để module này xác định độ lớn (quay bao xa hoặc nhanh bao nhiêu) của hướng chuyển động thẳng tiếp theo. Do đó robot sẽ quay và tránh va chạm với vật. - Hành vi trên có thể quan sát được nếu robot vẫn hoạt động trong không gian không bị chiếm đống, cho tới tận khi có một chướng ngại vật khác đến gần. Nếu vật ở bên cạnh robot thì robot có thể dễ dàng tránh được (ví dụ quay 180 15 độ). Nhưng nếu vật ở ngay trước mặt, ví dụ như đâm vào tường, thì robot sẽ dừng, quay, và bắt đầu lại di chuyển thẳng. Hành động dừng sẽ làm cho robot không bị va vào vật, nhưng hành động quay và đi thẳng có thể làm cho robot bị va vào vật (trường hợp gần vật). Như vậy có thể dẫn đến tình huống nguy hiểm. 15 - Mục tiêu của Lớp 1: Wander là lớp khả năng thứ 2 được đưa thêm vào để cho robot để robot có thể đi xung quanh thay vì ngồi không di chuyển và vẫn đảm bảo tránh được vật - Module WANDER tính ngẫu nghiên hướng di chuyển (heading) trong khoảng n giây, giá trị hướng sẽ là một vecto. Giá trị này không thể đưa trưc tiếp tới module TURN vì TURN chỉ chấp nhận một giá trị lối vào. Vì thế module AVOID được sinh ra để kết hợp vecto hợp lực của FEEL FORCE và WANDER. Việc thêm AVOID này để tạo một đáp ứng phức tạp hơn cho vật. AVOID kết hợp hướng của lực tránh với hướng di chuyển mong muốn, kết quả là hướng thực sự của robot gần như đúng hướng mong muốn hơn là chỉ quay xung quanh. - Lúc này tại lối vào của TURN có 2 giá trị : một là hướng di chuyển từ AVOID (lớp 1) và hai là hướng quay từ RUN AWAY (lớp 0). Cấu trúc xếp chồng sẽ thực hiện theo nguyên tắc sau: lối ra của lớp cao hơn sẽ gộp với lối ra từ lớp thấp hơn theo một trong hai cách sau: - Inhibition: cấm: lối ra của module xếp chồng sẽ nối tới lối ra của module khác. Nếu lối ra của module xếp chồng là on hoặc có bất kì giá trị nào thì lối ra của module bị xếp chồng sẽ khóa và off - Suppression: chặn: lối ra của module xếp chồng được kết nối tới lối vào của module khác. Nếu lối ra của modue xếp chồng là on và thay thế lối vào của module bị xếp chồng - Ví dụ trong mô hình trên thì module ADVOID sẽ chặn (đánh dấu bằng chữ S) lối ra từ RUN AWAY, RUN AWAY vẫn hoạt động nhưng lối ra của nó không đi tới đâu. Thay vì đó lối ra từ AVOID sẽ đi tới TURN 16 - Lớp 2: cho phép di chuyển xuống hành lang. - Lớp 2 bao gồm module LOOK kiểm tra dữ liệu từ các cảm biến siêu âm và xác định đâu là hành lang ( đây cũng là ví dụ các hành vi sử dụng chung dữ liệu của cảm biến nhưng cho các mục đích khác nhau). Do quá trình xác định hành lang cần nhiều tính toán hoăn nên LOOK có thể mất nhiều thời gian các hành vi ở lớp dưới. LOOK sẽ trả lại vecto biểu thị hướng tới vị trí giữa của hành lang tới module STAY IN MIDDLE. STAY IN MIDDLE sẽ xếp chồng với WANDER và đưa tơi AVOID. Như vậy lối ra của AVOI là vừa tránh vật vừa đi tới giữa hành lang - Tuy nhiên trong trường hợp nếu LOOK không tính ra được hướng mới tới vị trí giữa hành lang thì INTERGRATE sẽ quan sát chuyển động thực sự của robot từ bộ lập mã quang và ước tính robot đã di chuyển bao xa kể từ khi được cập nhật bởi LOOK. STAYIN MIDDLE có thể sử dụng dữ liệu này với mong muốn chủ định để tính ra vecto mới, điều này sẽ lấp đầy khoảng trống giữa tốc độ caapjnhaatj của các module khác - INTERGRATE là ví dụ tạo ra một trạng thái nội bộ nguy hiểm bởi nó thay thế phản hồi từ thế giới thực, vì lý do nào đó LOOK không bao giờ cập nhật thì sẽ robot sẽ hoạt động mà không có dữ liệu từ cảm biến, vì thế chỉ hoạt động với dữ liệu nội bộ từ robot. Khi đó STAYIN MIDDLE cần phải có một hằng số thời gian trên Suppression hoặc Inhibition để kiểm soát việc cập nhật này, ví dụ lớn hơn n giây mà không có cập nhật thì sẽ dừng suppression, robot chỉ còn lớp wander 17 18 19 - Tác động của động cơ hay motion của một hành vi phải được biểu diễn như một trường thế - Một trường thế là một mảng hoặc một trường của các vecto - Một vecto được biểu diễn bởi độ lớn và hướng, mỗi một vecto biểu diễn một lực và được thể hiện như một mũi tên 20 - Mảng biểu diễn một vùng không gian. Trong hầu hết các ứng dụng của robo, thì không gian hoạt động là 2D nên được biểu thị như bản đồ. Bản đồ có thể được chia thành các ô vuông tạo nên lưới tọa độ (x,y). Mỗi thành phần của mảng biểu diễn một ô vuông của không gian. - Các đối tượng có thể cảm nhận hay có thể nhận biết được trong môi trường gây ra một trường lực lên không gian xung quanh - Robot được xem như là một chất điểm hoạt động trong trường sinh ra bởi đối tượng hoặc môi trường hoạt động 21 - Ví dụ về một vật gây ra một trường thế đẩy trong vùng bán kính 1m và chia thành các vùng mà robot có thể cảm nhận hoặc không cảm nhận được vật. - Nếu robot ở trong vùng cảm nhận được vật, nó sẽ có hướng để thoát khỏi vùng đó, ngược lại vẫn hoạt động trong vùng không có vật - Chú ý rằng trường thể hiện rằng robot nên làm gì (motor schema) dựa trên nó nhận được vật (perceptual schema) 22 - 5 loại trường thế chính: - Đồng dạng: trường hợp này robot sẽ cảm thấy cùng lực tác dụng mà không cần quan tâm nó ở đâu. Khi đó robot chỉ cảm thấy cần tự điều chỉnh hướng theo hướng mũi tên và di chuyển theo hướng đó với vận tốc tỷ lệ với chiều dài của mũi tên (tỷ lệ thuận với cường độ của trường thế). Trường đồng dạng thường được sử dụng để thể hiện hành vi đi theo hướng n độ. - Trực giao: sử dụng khi robot được định hướng vuông góc với đối tượng hoặc tường hoặc biên. Trường thế trên hình vẽ là tạo ra từ hướng vuông góc với tường nhưng cũng có trường hợp trường thế trực giao có thể hướng thẳng tới vật - Hút: đường tròn tại tâm của trường thế là vật để tạo ra một lực hút trên robot, robot sẽ cảm nhận được một lực liên quan tới vật. Các trường hút được sử dụng để biểu diễn hướng tới mục tiêu hay hướng đích - Đẩy: lực đẩy thường liên quan tới vật cản hoặc những tác tử cần phải tránh. Khi robot càng gần đối tượng thì lực đẩy càng lớn - Tiếp tuyến: trường thế tiếp tuyến xung quanh vật, có thể quay cùng chiều hoặc ngược chiều kim đồng hồ. Thường sử dụng trong trường hợp điều chỉnh hướng của robot đi xung quanh một vật cản hoặc đi thực hiện nhiệm vụ điều tra 23 - Trong hình ví dụ trên ta thấy rằng chiều dài của mũi tên càng trở nên nhỏ hơn khi càng gần đối tượng. Độ lớn của các vecto thay đổi được gọi là magnitude profile (đặc trưng độ lớn hay hồ sơ độ lớn) - Trường hợp 1: độ lớn là hằng số, khi đó hướng sẽ là góc phi âm nào đó. Độ lớn là hằng số c cũng là chiều dài của các mũi tên là như nhau. Giá trị biên độ thay đổi trong dải từ 0 đến 1. Đặc trưng này nói lên rằng robot sẽ chạy thoát (theo hướng –phi) với cùng vận tốc. Ngay khi robot thoát ra khỏi phạm vi của vật thì vận tốc sẽ giảm tới 0.0 và robot sẽ dừng lại. Trường này là giá trị nhị phân cơ bản: robot hoặc là chạy thoát với một tốc độ cố định hoặc dừng. Đây là một nhược điểm của trường hợp này trong thực tế, dẫn tới chuyển động giật tại biên giới phạm vi của trường, ví dụ như robot đang di chuyển theo một hướng đặc biệt, gặp vật, quay để thoát trường ngay lập tức, và quay trở lại đường đi cũ, và lại gặp vật. - Trường hơp 2: linear drop off: dừng tuyến tính. Nếu robot xa vật thì nó sẽ quay và di chuyển nhanh chóng tới vật, sau đó giảm tốc để giữ không đâm vào vật. Gọi là linear drop off vì tốc độ (độ lớn của các vector dừng) có thể vẽ như là một đường thẳng, y= mx+b, x là khoảng cách, y là độ lớn. Đặc trưng tuyến tính này phù hợp với hành vi: robot càng hành động nhiều thì càng gần vật hơn. Tuy nhiên đặc trưng này cung gặp phải vấn đề của đặc trưng hằng số ở điểm là sự chuyển đổi cứng tới giá trị vận tốc 0.0 vì thế có trường hợp 3 - Trường hợp 3: dừng mũ: việc dừng tỷ lệ với bình phương khoảng cách. - Tất cả các đặc trưng độ lớn trên đều chấp nhận được. Động lực sử dụng đặc trưng là để tinh chỉnh hành vi. Cần chú ý quan trọng đó là robot chỉ tính các 24 vecto tác động lên nó tại vị trí hiện tai. Trong khi hình vẽ lại thể hiện toàn bộ trường cho mọi vị trí có thể của robot. Đó là vì muốn có một cái nhìn trực quan toàn bộ hoạt động của robot chứ không chỉ ở tại một vị trí cụ thể tại thời điểm xét, thứ 2 đó là các trường là biểu diễn liên tục nên trường là đúng và thực hiện bất kỳ chuyển đổi đột ngột nào cũng dễ dàng thực hiện được 24 - Trong ví dụ trên ta đã thấy lực của trường thế tại bất kỳ một điểm nào là một hàm của khoảng cách tương đối giữa robot và vật và đặc trưng độ lớn. Giá trị của một trường thế có thể xem như là hàm của khoảng cách 25 26 27 28 - Ở phần trước thì kết hợp các hành vi theo xếp chồng - Phần này thì mỗi hành vi sẽ tạo ra các lực tác động và đồng thời, vì vậy cần phải kết hợp lại với nhau để xác định giá trị tác động của robot - Thực hiện qua hai ví dụ để đánh giá hành vi hoạt động như thế nào và chúng kết hợp với nhau ra sao - Ví dụ 1: robot đang di chuyển theo hướng tới đích G và gặp vật O. Trên sơ đồ motor thì hành vi MOVE2GOAL được biểu thị với lực hút (sử dụng encoder để xác định vị trí đã tới đích hay chưa). Hành vi RUNAWAY biểu thị lực đẩy và sử dụng cảm biến khoảng cách để xác định vật phía trước 29 - Hành vi RUNAWAY tạo ra trường lực đẩy trong vòng bán kính của vật. Về kỹ thuật có thể tạo ra lực đẩy toàn không gian nhưng độ lớn ngoài bán kính bằng 0 - Hành vi MOVE2GOAL tạo ra trường lực hút của toàn không gian - Hình c là lực kết hợp 30 - Robot đang di chuyển từ góc thấp phía trái của hình. - Tại t0 đến t1 robot chưa cảm nhận được vật mà chỉ cảm nhận được lực hút từ đích nên đi thẳng tới đích - Đến t1 robot đã cảm nhận được cả vật và đích nên đi theo vecto tổng hợp để tránh vật và tới đích - Từ t3 đến t4 thì robot đã thoát ra khỏi vật và cảm nhận được đích nên đi thẳng về đích, gần đích thì lực hút đã mạnh hơn - Chú ý 1: thời gian cập nhật: giá trị vecto càng gần vật thì độ lớn càng nhỏ và vận tốc di chuyển sẽ chậm vì thế thu được quãng đường đi ít hơn trong cùng một khoảng thời gian lấy mẫu. Cũng trong khoảng thời gian đó nhưng từ t3 – t4 robot đi nhanh hơn (theo độ lớn của vecto) và đi thẳng với vận tốc đã được xác định trước đó tới đích nên đoạn bị sắc hơn (sharp), vì vậy nếu khoảng thời gian cập nhật nhanh hơn thì đường đi sẽ smooth hơn - Chú ý 2: trường thế coi robot là một chất điểm nên thay đổi về vận tốc và hướng có thể xảy ra đồng thời nhưng trên thực tế các robot thực lại không như vậy. Có thể có những robot quay được 360 độ theo các hướng nhưng cần phải cập nhật giá trị lỗi do tiếp xúc giữa mặt sàn và bánh xe hay có robot chỉ có thể quay theo các hướng nhất định - Chú ý 3: trường hợp vecto chỉ có mũ mà không có thân tức là độ lớn của vecto đó sẽ bằng 0, khi robot di chuyển tới vị trí gặp vecto như thế robot sẽ dừng và không di chuyển lại nữa (mắc kẹt, thung lũng), trường hợp này gọi là cực tiểu cục bộ và sẽ có các kỹ thuật để thoát khỏi vùng cực tiểu cục bộ 31 - Ví dụ 2: ứng dụng một hành vi sử dụng cho một cảm biến nhưng đối với robot có nhiều cảm biến thì sao? - Trên thực tế robot sử dụng nhiều cảm biến để phát hiện và tránh vật, có thể sử dụng nhiều loại cảm biến như nhau - Ví dụ nếu sử dụng một IR thì sẽ không thể nói được là vật nhỏ hay có thể ngoài trục của cảm biến sẽ không phát hiện đươc vật, nếu chỉ có 1 IR thì RUNAWAY sẽ đi theo đường thẳng. - Một cách chung nhất là mỗi hành vi sử dụng cho 1 IR. Gọi là khởi tạo nhiều lần cho cùng một hành vi. Giải pháp được thực hiện là tạo một vòng lặp hỏi vòng cho mỗi một cảm biến, đây là ưu điểm. - Ứng dụng cộng vecto cho phép robot thoát ra khỏi vùng cực tiểu cục bộ mà không cần phải xay dựng mô hình của tường. Mỗi trường hợp tạo nên một vecto, và vecto tổng sẽ chỉ hướng để robot thoát ra khỏi vùng bị kẹt 32 - Ví dụ 3 - Làm thế nào kết hợp các hành vi đơn giản tạo thành một hành vi nổi bật phức tạp? Cách đơn giản nhất là xây dựng trường thế phức tạp từ các trường thế cơ bản hay là kết hợp khởi tạo nhiều lần các hành vi đơn giản. - Ví dụ trong level 0: đọc giá trị của cảm biến siêu âm. Đối với cơ cấu xếp chồng thì các vecto được cộng trong module RUNAWAY. Còn trong trường thế , mỗi cảm biến siêu âm sẽ tạo ra một lối ra của hành vi RUNAWAY. Các vecto lối ra sau đó cũng được cộng vào và vecto tổng hợp sẽ hướng động cơ quay và chuyển động thằng. - Đối với hành vi COLLIDE với mục đích là nếu gặp vật thì robot sẽ dừng. Trong xếp chồng thì robot sẽ dừng nhưng trong PF thì vẫn có giá trị nhưng độ lớn bằng 0 và vecto lối ra của hành vi đó vẫn được cộng vào vecto tổng . Trường hợp này đưa vào tình huống panic (hoảng loạn) 33 - Ví dụ 3 - Hành vi WANDERpf tạo ra trường đồng nhất để di chuyển robot theo hướng xác định tùy thuộc vào vị trí hiện tại - Tuy nhiên sự kết hợp giữa hành vi WANDER và RUNAWAY trong PF đã loại bỏ đi hành vi AVOID trong xếp chồng. Do trong PF các vecto của WANDER được cộng với các trường đẩy vì thế robot vừa di chuyển khỏi vật vừa tới được hướng mong muốn. Sự khác nhau chính trong mức này là trường thế rút gọn dứt khoát cảm biến và hành động vào trong các hành vi cơ bản và không phả xếp chồng theo các mức hành vi. 34 - Ví dụ 3: hành vi đi theo hành lang được thực hiện trong PF phức tạp hơn do yêu cầu trường thế phức tạp. Yêu cầu robot sẽ đi giữa hành lang. - Việc này có thể thực hiện theo sử dụng 2 PF: PF đồng dạng vuông góc với biên trái và phải và hướng tới hướng giữa. Chú ý cả hai trường này đều có biên độ giảm tuyến tính khi đến gần tâm của hành lang. - Tuy nhiên nếu chỉ sử dụng 2 trường đồng dạng này thì chưa đủ vì chúng không cho phép robot di chuyển thẳng, hay không xác định được hướng di chuyển của robot. Do đó phải sử dụng thêm một trường nữa đồng dạng song song với hành lang. Các trường này kết hợp với nhau tạo thành trường mềm mại (smooth) vừa đẩy ra ra giữa hành lang và đi thẳng 35 - Các hành vi hoạt động độc lập và được cộng vào tạo thành vector tổng chứ không phải phân lớp như xếp chồng - Một hành vi có thể thay đổi hệ số lên một hành vi khác do đó giảm hoặc tang độ lớn của lối ra. Điều này có nghĩa là các hành vi có thể ngăn chặn hoặc kích thích các hành vi khác mặc dù tình huống này hiếm khi gặp trong thực tế - Khối cảm nhận có thể được chia sẻ bởi nhiều hành vi. 36