Chương trình robot chuyển động dòng ev3. Thuật toán chuyển động dòng nâng cao

Chương trình robot chuyển động dòng ev3. Thuật toán chuyển động dòng nâng cao

Thuật toán điều khiển robot LEGO di động. Chuyển động của đường với hai cảm biến ánh sáng

Giáo viên giáo dục bổ sung

Kazakova Lyubov Alexandrovna


Di chuyển dọc theo tuyến

  • Hai cảm biến ánh sáng
  • Bộ điều khiển tỷ lệ (bộ điều khiển P)

Thuật toán di chuyển dọc theo đường màu đen mà không cần bộ điều khiển tỷ lệ

  • Cả hai động cơ đều quay với công suất như nhau
  • Nếu cảm biến ánh sáng bên phải chạm vạch đen thì công suất mô tơ bên trái (ví dụ B) giảm hoặc dừng
  • Nếu cảm biến ánh sáng bên trái chạm vạch đen thì công suất của động cơ khác (ví dụ C) giảm (trở về vạch), giảm hoặc dừng
  • Nếu cả hai cảm biến đều có màu trắng hoặc đen thì chuyển động thẳng

Chuyển động được tổ chức bằng cách thay đổi công suất của một trong các động cơ


Ví dụ về chương trình lái xe dọc theo vạch đen mà không cần bộ điều khiển P

Chuyển động được tổ chức bằng cách thay đổi góc quay


  • Bộ điều khiển tỷ lệ (bộ điều khiển P) cho phép bạn điều chỉnh hành vi của robot tùy thuộc vào mức độ khác biệt của hành vi của nó so với hành vi mong muốn.
  • Robot càng đi chệch khỏi mục tiêu thì càng cần phải nỗ lực nhiều hơn để quay trở lại mục tiêu.

  • Bộ điều khiển P được sử dụng để giữ robot ở trạng thái nhất định:
  • Giữ vị trí của người thao tác Di chuyển dọc theo một đường (cảm biến ánh sáng) Di chuyển dọc theo bức tường (cảm biến khoảng cách)
  • Giữ vị trí của người thao túng
  • Chuyển động của đường (cảm biến ánh sáng)
  • Chuyển động dọc theo bức tường (cảm biến khoảng cách)

Chuyển động của đường với một cảm biến

  • Mục tiêu là di chuyển dọc theo đường viền “trắng-đen”
  • Một người có thể phân biệt ranh giới giữa trắng và đen. Một robot không thể.
  • Mục tiêu của robot có màu xám

Lái xe qua các giao lộ

Khi sử dụng hai cảm biến ánh sáng, có thể tổ chức chuyển động dọc theo các tuyến đường phức tạp hơn



Thuật toán lái xe dọc theo đường cao tốc có nút giao nhau

  • Cả hai cảm biến đều có màu trắng - robot đang chạy thẳng (cả hai động cơ đều quay với cùng công suất)
  • Nếu cảm biến ánh sáng bên phải chạm vạch đen và cảm biến ánh sáng bên trái chạm vạch trắng thì xảy ra rẽ phải
  • Nếu cảm biến ánh sáng bên trái chạm vạch đen và cảm biến bên phải chạm vạch trắng thì rẽ trái
  • Nếu cả hai cảm biến đều có màu đen thì chuyển động tuyến tính sẽ xảy ra. Bạn có thể đếm các giao lộ hoặc thực hiện bất kỳ hành động nào


Nguyên lý hoạt động của bộ điều chỉnh P

Vị trí cảm biến

O=O1-O2


Thuật toán di chuyển dọc theo đường màu đen với bộ điều khiển tỷ lệ

HC = K*(C-T)

  • Ts - giá trị mục tiêu (lấy số đọc từ cảm biến ánh sáng trên màu trắng và đen, tính giá trị trung bình)
  • T - giá trị hiện tại - thu được từ cảm biến
  • K - hệ số nhạy cảm. Càng nhiều thì độ nhạy càng cao



Để xem bản trình bày có hình ảnh, thiết kế và trang trình bày, tải xuống tệp của nó và mở nó trong PowerPoint trên máy tính của bạn.
Nội dung văn bản của slide thuyết trình:
“Thuật toán di chuyển dọc theo vạch đen bằng cảm biến một màu” Câu lạc bộ về “Robotics” Giáo viên trước Yezidov Akhmed ElievichTại MBU DO “Shelkovskaya TsTT” Để nghiên cứu thuật toán di chuyển dọc theo vạch đen, robot Lego Mindstorms EV3 với một cảm biến màu sẽ được sử dụng Cảm biến màu Cảm biến màu phân biệt 7 màu và có thể phát hiện sự thiếu màu. Như trong NXT, nó có thể hoạt động như một cảm biến ánh sáng.Sân thi đấu robot "Dòng S" Sân tập được đề xuất với đường chạy hình chữ "S" sẽ cho phép bạn thực hiện một bài kiểm tra thú vị khác về tốc độ của các robot được tạo ra và phản ứng. Hãy xem xét thuật toán đơn giản nhất để di chuyển dọc theo đường màu đen trên một cảm biến màu trên EV3. Thuật toán này chậm nhất nhưng ổn định nhất. Robot sẽ không di chuyển dọc theo đường màu đen mà dọc theo đường viền của nó, rẽ trái và phải và dần dần tiến về phía trước Thuật toán rất đơn giản: nếu cảm biến thấy màu đen thì robot sẽ quay theo một hướng, nếu màu trắng thì quay theo hướng khác. Đi theo một đường ở chế độ ánh sáng phản chiếu bằng hai cảm biến Đôi khi cảm biến màu không đủ hiệu quả để phân biệt giữa màu đen và màu trắng. Giải pháp cho vấn đề này là sử dụng cảm biến không phải ở chế độ phát hiện màu mà ở chế độ độ sáng ánh sáng phản chiếu. Ở chế độ này, khi biết các giá trị cảm biến trên bề mặt tối và sáng, chúng ta có thể nói một cách độc lập cái gì sẽ được coi là màu trắng và cái gì sẽ có màu đen. Bây giờ hãy xác định giá trị độ sáng trên bề mặt trắng và đen. Để thực hiện việc này, trong menu khối EV3, chúng tôi tìm thấy tab "Ứng dụng mô-đun". Bây giờ bạn đang ở trong cửa sổ xem cổng và có thể xem số đọc của tất cả các cảm biến tại thời điểm hiện tại. cảm biến của chúng tôi sẽ sáng màu đỏ, có nghĩa là chúng đang hoạt động ở chế độ phát hiện độ sáng của ánh sáng phản chiếu. Nếu chúng tỏa sáng màu xanh lam, trong cửa sổ xem cổng trên cổng mong muốn, hãy nhấn nút ở giữa và chọn chế độ COL-REFLECT. Bây giờ, hãy đặt robot sao cho cả hai cảm biến đều nằm phía trên bề mặt màu trắng. Chúng tôi xem xét các số ở cổng 1 và 4. Trong trường hợp của chúng tôi, các giá trị lần lượt là 66 và 71. Đây sẽ là giá trị màu trắng của cảm biến. Bây giờ chúng ta hãy định vị robot sao cho các cảm biến nằm phía trên bề mặt màu đen. Chúng ta hãy xem lại giá trị của cổng 1 và 4. Chúng ta lần lượt có 5 và 6. Đây là những ý nghĩa của màu đen. Tiếp theo, chúng ta sẽ thay đổi chương trình trước đó. Cụ thể, chúng tôi sẽ thay đổi cài đặt của các công tắc. Hiện tại họ đã cài đặt Cảm biến màu -> Đo lường -> Màu sắc. Chúng ta cần đặt Cảm biến màu -> So sánh -> Độ sáng ánh sáng phản chiếu. Bây giờ chúng ta cần đặt “loại so sánh” và “ giá trị ngưỡng" Giá trị ngưỡng là giá trị của một số giá trị “xám”, nhỏ hơn giá trị mà chúng ta sẽ coi là màu đen và nhiều hơn nữa là màu trắng. Đối với phép tính gần đúng đầu tiên, sẽ thuận tiện hơn khi sử dụng giá trị trung bình giữa màu trắng và màu đen của mỗi cảm biến. Do đó, giá trị ngưỡng của cảm biến đầu tiên (cổng số 1) sẽ là (66+5)/2=35,5. Hãy làm tròn lên 35. Giá trị ngưỡng của cảm biến thứ hai (cổng số 4): (71+6)/2 = 38,5. Hãy làm tròn lên 38. Bây giờ chúng ta đặt các giá trị này trong mỗi công tắc cho phù hợp. Chỉ vậy thôi, các khối có chuyển động vẫn ở nguyên vị trí của chúng mà không thay đổi, vì nếu chúng ta đặt dấu "loại so sánh"<», то все, что сверху (под галочкой) будет считаться черным, а снизу (под крестиком) – белым, как и было в предыдущей программе.Старайтесь ставить датчики так, чтобы разница между белым и черным была как можно больше. Если разница меньше 30 - ставьте датчики ниже. Это было краткое руководство по программированию робота Lego ev3, для движения по черной линии, с одним и двумя датчиками цвета

Để robot di chuyển trơn tru dọc theo đường màu đen, bạn cần buộc nó phải tự tính toán tốc độ di chuyển.

Một người nhìn thấy một đường màu đen và ranh giới rõ ràng của nó. Cảm biến ánh sáng hoạt động hơi khác một chút.

Chính đặc tính này của cảm biến ánh sáng - không có khả năng phân biệt rõ ràng giữa trắng và đen - mà chúng ta sẽ sử dụng để tính tốc độ chuyển động.

Đầu tiên, hãy giới thiệu khái niệm “Điểm quỹ đạo lý tưởng”.

Chỉ số cảm biến ánh sáng nằm trong khoảng từ 20 đến 80, thông thường nhất là trên màu trắng, chỉ số là khoảng 65, trên màu đen là khoảng 40.

Điểm lý tưởng là điểm có điều kiện nằm ở giữa hai màu trắng và đen, sau đó robot sẽ di chuyển dọc theo đường màu đen.

Ở đây vị trí của điểm là cơ bản - giữa trắng và đen. Sẽ không thể đặt chính xác nó trên nền trắng hoặc đen vì lý do toán học; lý do tại sao sẽ trở nên rõ ràng sau.

Theo kinh nghiệm, chúng tôi đã tính toán rằng điểm lý tưởng có thể được tính bằng công thức sau:

Robot phải di chuyển dọc theo điểm lý tưởng. Nếu có sai lệch về hướng nào thì robot phải quay về điểm đó.

Hãy sáng tác mô tả toán học của vấn đề.

Dữ liệu ban đầu.

Điểm lý tưởng.

Chỉ số cảm biến ánh sáng hiện tại.

Kết quả.

Công suất quay động cơ V.

Công suất quay của động cơ C.

Giải pháp.

Hãy xem xét hai tình huống. Đầu tiên: robot đi chệch từ vạch đen sang vạch trắng.

Trong trường hợp này, robot phải tăng công suất quay của động cơ B và giảm công suất quay của động cơ C.

Trong tình huống robot đi vào vạch đen thì ngược lại.

Robot càng đi chệch khỏi điểm lý tưởng thì cần quay lại điểm đó càng nhanh.

Nhưng việc tạo ra một bộ điều chỉnh như vậy là một nhiệm vụ khá khó khăn và không phải lúc nào cũng cần thiết.

Do đó, chúng tôi quyết định chỉ giới hạn ở bộ điều chỉnh P, bộ điều chỉnh này đáp ứng đầy đủ các sai lệch so với đường màu đen.

Trong ngôn ngữ toán học nó sẽ được viết như thế này:

trong đó Hb và Hc lần lượt là công suất cuối cùng của động cơ B và C,

Base – công suất cơ bản nhất định của động cơ quyết định tốc độ của robot. Nó được lựa chọn bằng thực nghiệm, tùy thuộc vào thiết kế của robot và độ sắc nét của các vòng quay.

Itek – số đọc hiện tại của cảm biến ánh sáng.

Iid – điểm lý tưởng được tính toán.

k – hệ số tỷ lệ, được chọn bằng thực nghiệm.

Trong phần thứ ba, chúng ta sẽ xem xét cách lập trình điều này trong môi trường NXT-G.

Vấn đề này rất cổ điển, đơn giản về mặt tư tưởng, nó có thể được giải quyết nhiều lần và mỗi lần như vậy bạn sẽ khám phá ra một điều gì đó mới mẻ.

Có nhiều cách tiếp cận để giải bài toán tiếp theo. Việc lựa chọn một trong số chúng phụ thuộc vào thiết kế cụ thể của robot, vào số lượng cảm biến, vị trí của chúng so với các bánh xe và với nhau.

Trong ví dụ của chúng tôi, ba ví dụ về robot sẽ được phân tích dựa trên mô hình giáo dục chính của Robot Educator.

Để bắt đầu, chúng tôi lắp ráp mô hình cơ bản của robot giáo dục Robot Educator; để làm được điều này, bạn có thể sử dụng các hướng dẫn trong phần mềm MINDSTORMS EV3.

Ngoài ra, chẳng hạn, chúng ta sẽ cần cảm biến màu sáng EV3. Những cảm biến ánh sáng này, không giống ai, phù hợp nhất cho nhiệm vụ của chúng ta, khi làm việc với chúng, chúng ta không phải lo lắng về cường độ ánh sáng xung quanh. Đối với cảm biến này, trong các chương trình, chúng ta sẽ sử dụng chế độ ánh sáng phản xạ, trong đó ước tính lượng ánh sáng phản xạ từ đèn nền màu đỏ của cảm biến. Giới hạn của số đọc cảm biến lần lượt là 0 - 100 đơn vị, tương ứng với “không phản xạ” và “phản xạ toàn phần”.

Để làm ví dụ, chúng tôi sẽ phân tích 3 ví dụ về chương trình di chuyển dọc theo quỹ đạo màu đen được mô tả trên nền phẳng, sáng:

· Một cảm biến, với bộ điều chỉnh P.

· Một cảm biến, với bộ điều chỉnh PC.

· Hai cảm biến.

Ví dụ 1. Một cảm biến, có bộ điều chỉnh P.

Thiết kế

Cảm biến ánh sáng được lắp đặt trên chùm tia nằm ở vị trí thuận tiện trên mô hình.


Thuật toán

Hoạt động của thuật toán dựa trên thực tế là, tùy thuộc vào mức độ chồng chéo của chùm chiếu sáng cảm biến với vạch đen, số đọc mà cảm biến trả về sẽ thay đổi theo độ dốc. Robot duy trì vị trí của cảm biến ánh sáng trên đường viền của vạch đen. Bằng cách chuyển đổi dữ liệu đầu vào từ cảm biến ánh sáng, hệ thống điều khiển tạo ra giá trị cho tốc độ quay của robot.


Vì trên quỹ đạo thực, cảm biến tạo ra các giá trị trong toàn bộ phạm vi hoạt động của nó (0-100), nên 50 được chọn làm giá trị mà robot phấn đấu. Trong trường hợp này, các giá trị được truyền đến các chức năng quay được tạo ra trong phạm vi -50 - 50, nhưng những giá trị này không đủ để chuyển quỹ đạo dốc. Do đó, phạm vi nên được mở rộng gấp rưỡi lên -75 - 75.

Kết quả là, trong chương trình, hàm tính toán là một bộ điều khiển tỷ lệ đơn giản. Chức năng của ( (a-50)*1,5 ) trong khoảng hoạt động của cảm biến ánh sáng tạo ra các giá trị góc quay theo biểu đồ:

Ví dụ về cách hoạt động của thuật toán

Ví dụ 2. Một cảm biến, có bộ điều chỉnh PK.

Ví dụ này dựa trên cùng một cách xây dựng.

Bạn có thể nhận thấy rằng trong ví dụ trước, robot lắc lư quá mức, điều này không cho phép nó tăng tốc đủ. Bây giờ chúng ta sẽ cố gắng cải thiện tình trạng này một chút.

Đối với bộ điều khiển tỷ lệ, chúng tôi cũng đang thêm một bộ điều khiển khối đơn giản, điều này sẽ bổ sung thêm một số thao tác uốn cong cho chức năng của bộ điều khiển. Điều này sẽ làm giảm sự lắc lư của robot khi ở gần ranh giới quỹ đạo mong muốn, cũng như tạo ra những cú giật mạnh hơn khi ở xa nó.

Một trong những chuyển động cơ bản trong xây dựng nhẹ là đi theo đường màu đen.

Lý thuyết chung và các ví dụ cụ thể về việc tạo chương trình được mô tả trên trang web wroboto.ru

Tôi sẽ mô tả cách chúng tôi triển khai điều này trong môi trường EV3 vì có những khác biệt.

Điều đầu tiên robot cần biết là ý nghĩa của “điểm lý tưởng” nằm trên ranh giới đen trắng.

Vị trí của chấm đỏ trong hình tương ứng chính xác với vị trí này.

Tùy chọn tính toán lý tưởng là đo các giá trị đen trắng và lấy trung bình số học.

Bạn có thể làm điều này bằng tay. Nhưng những nhược điểm có thể thấy ngay: ngay cả trong một khoảng thời gian ngắn, độ sáng có thể thay đổi và giá trị tính toán sẽ không chính xác.

Vì vậy, bạn có thể nhờ robot làm việc đó.

Trong quá trình thử nghiệm, chúng tôi nhận thấy rằng không cần thiết phải đo cả màu đen và trắng. Chỉ có thể đo được màu trắng. Và giá trị điểm lý tưởng được tính bằng giá trị màu trắng chia cho 1,2 (1,15), tùy thuộc vào độ rộng của vạch đen và tốc độ của robot.

Giá trị được tính toán phải được ghi vào một biến để truy cập nó sau này.

Tính toán điểm lý tưởng

Tham số tiếp theo liên quan đến chuyển động là hệ số quay. Nó càng lớn thì robot càng phản ứng mạnh mẽ hơn với những thay đổi về độ chiếu sáng. Nhưng giá trị quá lớn sẽ khiến robot bị chao đảo. Giá trị được chọn riêng lẻ bằng thực nghiệm cho từng thiết kế robot.

Thông số cuối cùng là công suất cơ bản của động cơ. Nó ảnh hưởng đến tốc độ của robot. Việc tăng tốc độ di chuyển dẫn đến tăng thời gian phản ứng của robot trước những thay đổi về ánh sáng, điều này có thể dẫn đến việc robot chệch khỏi quỹ đạo. Giá trị cũng được chọn bằng thực nghiệm.

Để thuận tiện, các tham số này cũng có thể được viết thành các biến.

Tỷ lệ rẽ và công suất cơ bản

Logic di chuyển dọc theo đường màu đen như sau: đo độ lệch so với điểm lý tưởng. Nó càng lớn thì robot càng phải cố gắng quay trở lại nó càng mạnh.

Để làm điều này, chúng tôi tính toán hai số - giá trị công suất của từng động cơ B và C riêng biệt.

Ở dạng công thức, nó trông như thế này:

Trong đó Isens là giá trị của số đọc cảm biến ánh sáng.

Cuối cùng, việc triển khai trong EV3. Thuận tiện nhất là sắp xếp nó dưới dạng một khối riêng biệt.

Thực hiện thuật toán

Đây chính xác là thuật toán đã được triển khai trên robot dành cho hạng trung của WRO 2015

lượt xem