Bách khoa toàn thư về an toàn cháy nổ

Lái xe trên hàng bằng vô lăng trong ev3. Theo dõi dòng với hai cảm biến ánh sáng. Một ví dụ về thuật toán

Trong bài học này, chúng ta sẽ tiếp tục khám phá công dụng của cảm biến màu. Tài liệu được trình bày dưới đây là rất quan trọng để nghiên cứu sâu hơn về khóa học robot. Sau khi chúng ta học cách sử dụng tất cả các cảm biến Lego mindstorms EV3 trong việc giải quyết nhiều vấn đề thực tế, chúng ta sẽ xây dựng dựa trên kiến ​​thức thu được trong bài học này.

6.1. Cảm biến màu - Chế độ cường độ ánh sáng phản xạ

Vì vậy, chúng tôi đang bắt đầu nghiên cứu chế độ hoạt động tiếp theo của cảm biến màu, được gọi là "Độ sáng của ánh sáng phản chiếu". Trong chế độ này, cảm biến màu hướng chùm ánh sáng đỏ vào một vật thể hoặc bề mặt gần đó và đo lượng ánh sáng phản xạ. Các vật thể tối hơn sẽ hấp thụ ánh sáng, do đó, cảm biến sẽ đọc giá trị thấp hơn so với các bề mặt sáng hơn. Phạm vi giá trị cảm biến được đo từ 0 (rất tối) để 100 (rất sáng). Chế độ hoạt động của cảm biến màu này được sử dụng trong nhiều nhiệm vụ trong chế tạo rô bốt, ví dụ như tổ chức chuyển động của rô bốt dọc theo một tuyến đường nhất định dọc theo một đường màu đen được vẽ trên lớp phủ màu trắng. Khi sử dụng chế độ này, nên đặt cảm biến sao cho khoảng cách từ nó đến bề mặt đang nghiên cứu là xấp xỉ 1 cm (Hình 1).

Cơm. một

Hãy chuyển sang đào tạo thực tiễn: Cảm biến màu sắc đã được cài đặt trên rô bốt của chúng tôi và được hướng xuống bề mặt vỉa hè mà rô bốt của chúng tôi sẽ đi trên đó. Khoảng cách giữa cảm biến và sàn theo khuyến nghị. Cảm biến màu đã được kết nối với cổng "2" Gạch EV3. Hãy tải môi trường lập trình, kết nối rô bốt với môi trường và sử dụng trường sọc màu mà chúng ta đã thực hiện để hoàn thành các nhiệm vụ trong Phần 5.4 của Bài học số 5 để thực hiện các phép đo. Cài đặt robot sao cho cảm biến màu nằm trên bề mặt trắng. "Trang phần cứng" môi trường lập trình chuyển sang chế độ "Xem các cổng" (Hình 2 vị trí 1). Trong chế độ này, chúng ta có thể quan sát tất cả các kết nối mà chúng ta đã thực hiện. Trên Cơm. 2 cổng kết nối hiển thị "B""C" hai động cơ lớn và đến cổng "2" - cảm biến màu.

Cơm. 2

Để chọn tùy chọn hiển thị các chỉ số cảm biến, hãy nhấp vào hình ảnh cảm biến và chọn chế độ mong muốn (Hình 3)

Cơm. 3

Trên Cơm. 2 vị trí. 2 chúng ta có thể thấy rằng giá trị của cảm biến màu đọc trên bề mặt trắng là 84 . Trong trường hợp của bạn, bạn có thể nhận được một giá trị khác, vì nó phụ thuộc vào chất liệu của bề mặt và ánh sáng bên trong phòng: một phần ánh sáng, phản xạ từ bề mặt, chạm vào cảm biến và ảnh hưởng đến kết quả đọc của nó. Sau khi cài đặt rô-bốt theo cách mà cảm biến màu nằm trên dải màu đen, chúng tôi sẽ sửa các kết quả đọc của nó (Hình 4). Cố gắng tự đo các giá trị ánh sáng phản xạ phía trên các dải màu còn lại. Bạn đã nhận được những giá trị nào? Viết câu trả lời của bạn trong phần bình luận cho bài học này.

Cơm. bốn

Bây giờ chúng ta hãy giải quyết các vấn đề thực tế.

Nhiệm vụ số 11: cần phải viết một chương trình cho chuyển động của rô-bốt, chương trình này sẽ dừng lại khi đến vạch đen.

Dung dịch:

Thí nghiệm cho chúng ta thấy rằng khi vượt qua vạch đen, giá trị của cảm biến màu ở chế độ "Độ sáng của ánh sáng phản chiếu" bằng 6 . Vì vậy, để hoàn thành Nhiệm vụ # 11 rô bốt của chúng tôi sẽ di chuyển theo đường thẳng cho đến khi giá trị mong muốn của cảm biến màu trở nên nhỏ hơn 7 . Hãy sử dụng khối chương trình đã quen thuộc với chúng ta "Kỳ vọng" Bảng màu cam. Chúng ta hãy chọn phương thức hoạt động của khối chương trình theo yêu cầu của điều kiện bài toán "Chờ đợi" (Hình 5).

Cơm. 5

Bạn cũng phải cấu hình các thông số khối chương trình "Kỳ vọng". Tham số "Kiểu so sánh" (Hình 6 vị trí 1) có thể nhận các giá trị sau: "Bằng"=0, "Không công bằng"=1, "Hơn"=2, "Nhiều hơn hoặc bằng"=3, "Ít hơn"=4, "Ít hơn hoặc bằng"= 5. Trong trường hợp của chúng tôi, chúng tôi đặt "Loại so sánh" thành ý nghĩa "Ít hơn". Tham số "Ngưỡng"đặt bằng 7 (Hình 6 vị trí 2).

Cơm. 6

Ngay sau khi giá trị cảm biến màu được đặt thành nhỏ hơn 7 , điều gì sẽ xảy ra khi cảm biến màu ở trên vạch đen, chúng ta sẽ cần phải tắt động cơ, dừng robot. Vấn đề đã được giải quyết (Hình 7).

Cơm. 7

Để tiếp tục nghiên cứu, chúng tôi sẽ cần làm một lĩnh vực mới, đó là một hình tròn màu đen có đường kính khoảng 1 mét, áp dụng cho một lĩnh vực màu trắng. Độ dày của đường tròn là 2 - 2,5 cm, đối với mặt ruộng, bạn có thể lấy một tờ giấy có kích thước A0 (841x1189 mm), dán hai tờ giấy có kích thước A1 (594x841 mm) lại với nhau. Trên trường này, đánh dấu đường của hình tròn và tô lên nó bằng mực đen. Bạn cũng có thể tải xuống bố cục của trường, được tạo ở định dạng Adobe Illustrator, sau đó đặt hàng in trên vải biểu ngữ tại nhà in. Kích thước bố trí là 1250x1250 mm. (Bạn có thể xem bố cục được tải xuống bên dưới bằng cách mở nó trong Adobe Acrobat Reader)

Trường này sẽ hữu ích cho chúng tôi để giải quyết một số nhiệm vụ cổ điển của khóa học người máy.

Nhiệm vụ số 12: cần phải viết chương trình cho rô bốt di chuyển bên trong vòng tròn có viền đen theo quy tắc sau:

  • robot di chuyển về phía trước trên một đường thẳng;
  • đến vạch đen, robot dừng lại;
  • robot di chuyển ngược lại hai vòng quay của động cơ;
  • robot quay sang phải 90 độ;
  • chuyển động của robot được lặp lại.

Kiến thức có được trong các bài học trước sẽ giúp bạn tự tạo một chương trình, nhiệm vụ quyết định №12.

Lời giải của bài toán số 12

  1. Bắt đầu thẳng tiến (Hình 8 vị trí 1);
  2. Chờ cảm biến màu vượt qua vạch đen (Hình 8 vị trí 2);
  3. Lùi lại 2 lượt (Hình 8 vị trí 3);
  4. Rẽ phải 90 độ (Hình 8 vị trí 4); giá trị của góc quay được tính toán cho robot được lắp ráp theo hướng dẫn small-robot-45544 (Hình 8 vị trí 5);
  5. Lặp lại các lệnh 1 - 4 trong một vòng lặp vô tận (Hình 8 vị trí 6).

Cơm. tám

Đối với hoạt động của cảm biến màu trong chế độ "Độ sáng của ánh sáng phản chiếu" chúng ta sẽ quay lại nhiều lần khi chúng ta xem xét các thuật toán di chuyển dọc theo đường màu đen. Trong khi chờ đợi, chúng ta hãy phân tích chế độ hoạt động thứ ba của cảm biến màu.

6.2. Cảm biến màu - Chế độ cường độ ánh sáng xung quanh

Chế độ cảm biến màu "Độ sáng ánh sáng xung quanh" rất giống với chế độ "Độ sáng của ánh sáng phản chiếu", chỉ trong trường hợp này, cảm biến không phát ra ánh sáng, nhưng đo ánh sáng tự nhiên Môi trường. Bằng mắt thường, chế độ hoạt động này của cảm biến có thể được xác định bằng đèn LED màu xanh phát sáng yếu. Các chỉ số cảm biến thay đổi từ 0 (thiếu ánh sáng) để 100 (đèn sáng nhất). Khi giải quyết các vấn đề thực tế yêu cầu đo ánh sáng xung quanh, nên định vị cảm biến sao cho cảm biến vẫn mở nhất có thể và không bị che khuất bởi các bộ phận và cấu trúc khác.

Hãy gắn cảm biến màu vào rô-bốt của chúng ta giống như cách chúng ta đã gắn cảm biến cảm ứng trong Bài học số 4 (Hình 9). Kết nối cảm biến màu bằng cáp với cổng "2" Gạch EV3. Hãy chuyển sang giải quyết các vấn đề thực tế.

Cơm. 9

Nhiệm vụ # 13: nó là cần thiết để viết một chương trình thay đổi tốc độ của robot của chúng tôi tùy thuộc vào cường độ của ánh sáng bên ngoài.

Để giải quyết vấn đề này, chúng ta cần học cách lấy giá trị hiện tại của cảm biến. Và bảng màu Vàng của các khối chương trình, được gọi là "Cảm biến".

6.3. Bảng màu vàng - "Cảm biến"

Bảng màu vàng của môi trường lập trình Lego mindstorms EV3 chứa các khối lập trình cho phép bạn nhận các kết quả cảm biến hiện tại cho xử lý thêm trong một chương trình. Không giống như, ví dụ, khối chương trình "Kỳ vọng" Các khối chương trình bảng màu cam, bảng màu vàng ngay lập tức chuyển quyền điều khiển sang các khối chương trình sau.

Số lượng khối lập trình trong Bảng màu vàng khác nhau trong các phiên bản gia đình và giáo dục của môi trường lập trình. Trong phiên bản chính của môi trường lập trình, không có khối lập trình nào cho cảm biến không được bao gồm trong phiên bản chính của hàm tạo. Nhưng, nếu cần, chúng có thể được kết nối độc lập.

Phiên bản giáo dục của môi trường lập trình chứa các khối lập trình cho tất cả các cảm biến có thể được sử dụng với bộ xây dựng Lego mindstorms EV3.

Hãy quay lại quyết định. Nhiệm vụ # 13 và xem cách bạn có thể nhận và xử lý các kết quả đọc của cảm biến màu. Như chúng ta đã biết: phạm vi giá trị của cảm biến màu trong chế độ "Độ sáng ánh sáng xung quanh" nằm trong phạm vi của 0 trước 100 . Tham số điều chỉnh công suất của các động cơ có cùng phạm vi. Hãy thử điều chỉnh công suất của các động cơ trong khối chương trình bằng cách đọc cảm biến màu "Hệ thống lái".

Dung dịch:


Cơm. mười

Hãy tải chương trình kết quả vào robot và chạy nó để thực thi. Robot có di chuyển chậm không? Bật đèn pin LED và cố gắng đưa đèn đến cảm biến màu đang bật khoảng cách khác nhau. Chuyện gì đang xảy ra với người máy? Hãy đóng cảm biến màu bằng lòng bàn tay - điều gì đã xảy ra trong trường hợp này? Viết câu trả lời cho những câu hỏi này trong phần bình luận cho bài học.

Nhiệm vụ - Tiền thưởng

Tải vào rô bốt và chạy tác vụ được hiển thị trong hình bên dưới. Lặp lại các thí nghiệm với đèn pin LED. Chia sẻ ấn tượng của bạn trong các bình luận cho bài học.

Đây là cách một người nhìn thấy dòng:

Đây là cách robot nhìn thấy nó:


Chúng tôi sẽ sử dụng tính năng này khi thiết kế và lập trình robot cho hạng mục cuộc thi "Quỹ đạo".

Có nhiều cách để dạy robot nhìn một đường thẳng và di chuyển theo đường đó. Có những chương trình phức tạp và những chương trình rất đơn giản.

Tôi muốn nói về một cách lập trình mà ngay cả trẻ em lớp 2-3 cũng sẽ thành thạo. Ở độ tuổi này, việc lắp ráp các cấu trúc theo hướng dẫn sẽ dễ dàng hơn rất nhiều đối với các em, và việc lập trình một con robot là một nhiệm vụ khó khăn đối với các em. Nhưng phương pháp này sẽ cho phép trẻ lập trình robot trên bất kỳ tuyến đường nào của đường đua trong 15-30 phút (có tính đến việc xác minh theo từng giai đoạn và điều chỉnh một số tính năng của quỹ đạo).

Phương pháp này đã được thử nghiệm tại các cuộc thi cấp thành phố và khu vực trong lĩnh vực người máy ở vùng phẫu thuật và Khu tự trị Khanty-Mansi Okrug-Yugra và đã mang lại cho trường chúng tôi những vị trí đầu tiên. Ở đó, tôi tin rằng chủ đề này rất phù hợp với nhiều đội.

Vâng, chúng ta hãy bắt đầu.

Khi chuẩn bị cho cuộc thi kiểu này, lập trình chỉ là một phần của giải pháp cho vấn đề. Bạn cần bắt đầu bằng cách thiết kế một robot cho một đường đua cụ thể. Trong bài viết tiếp theo, tôi sẽ hướng dẫn bạn cách làm điều đó. Chà, vì sự chuyển động dọc theo đường thẳng là rất phổ biến, tôi sẽ bắt đầu với việc lập trình.

Hãy xem xét phiên bản của robot với hai cảm biến ánh sáng, vì nó dễ hiểu hơn đối với học sinh tiểu học.

Cảm biến ánh sáng được kết nối với cổng 2 và 3. Động cơ đến cổng B và C.
Các cảm biến được đặt ở các cạnh của đường thẳng (hãy thử thử nghiệm với việc đặt các cảm biến ở các khoảng cách khác nhau và ở các độ cao khác nhau).
Một điểm quan trọng. Vì công việc tốt hơn một chương trình như vậy, nó là mong muốn để chọn một cặp cảm biến theo các tham số. Nếu không, sẽ cần thiết phải giới thiệu một khối để hiệu chỉnh các giá trị của các cảm biến.
Lắp đặt các cảm biến trên khung máy theo sơ đồ cổ điển (tam giác), gần giống như trong hình.

Chương trình sẽ bao gồm một số khối nhỏ:


1. Hai khối cảm biến ánh sáng;
2. Bốn khối "Toán học";
3. Hai khối động cơ.

Robot được điều khiển bởi hai động cơ. Sức mạnh của mỗi chiếc là 100 đơn vị. Đối với sơ đồ của chúng tôi, chúng tôi sẽ lấy giá trị trung bình của công suất động cơ bằng 50. Tức là, tốc độ trung bình khi chuyển động trên một đường thẳng sẽ bằng 50 đơn vị. Khi đi chệch khỏi chuyển động thẳng công suất của động cơ sẽ tăng hoặc giảm tương ứng, tùy thuộc vào góc lệch.

Bây giờ chúng ta hãy tìm cách kết nối tất cả các khối, thiết lập chương trình và điều gì sẽ xảy ra trong đó.
Hãy phơi sáng hai cảm biến ánh sáng và gán cho chúng cổng 2 và 3.
Chúng tôi chọn một khối toán học và chọn "Phép trừ".
Hãy kết nối các cảm biến ánh sáng từ đầu ra "Cường độ" với lốp xe đến khối toán học với đầu vào "A" và "B".
Nếu các cảm biến của robot được lắp đặt đối xứng từ tâm của đường chạy, thì giá trị của cả hai cảm biến sẽ bằng nhau. Sau khi trừ, chúng ta nhận được giá trị - 0.
Khối tiếp theo của toán học sẽ được sử dụng làm hệ số và bạn cần đặt "Nhân" trong đó.
Để tính toán hệ số, bạn cần đo mức độ "trắng" và "đen" bằng cách sử dụng đơn vị NXT.
Giả sử: trắng -70, đen -50.
Tiếp theo, chúng tôi tính toán: 70-50 = 20 (chênh lệch giữa trắng và đen), 50/20 = 2,5 (chúng tôi đặt giá trị công suất trung bình khi di chuyển theo đường thẳng trong các khối toán học là 50. Giá trị này cộng với công suất bổ sung khi điều chỉnh chuyển động phải bằng 100)
Hãy thử đặt giá trị thành 2,5 trên đầu vào "A", sau đó chọn giá trị chính xác hơn.
Nối đầu ra "Kết quả" của khối toán "Phép trừ" trước đó với đầu vào "B" của khối toán "Phép nhân".
Tiếp theo là một cặp - một khối toán học (Phép cộng) và động cơ B.
Thiết lập khối toán học:
Đầu vào "A" được đặt thành 50 (một nửa công suất động cơ).
Đầu ra của khối "Kết quả" được kết nối bằng một bus với đầu vào "Nguồn" của động cơ B.
Theo sau hơi nước là khối toán (Phép trừ) và động cơ C.
Thiết lập khối toán học:
Đầu vào "A" được đặt thành 50.
Đầu vào "B" được kết nối bởi một bus với đầu ra "Kết quả" của khối toán học "Phép nhân".
Đầu ra của khối "Kết quả" được kết nối bằng một bus với đầu vào "Nguồn" của động cơ C.

Kết quả của tất cả các hành động này, bạn sẽ nhận được chương trình sau:

Vì tất cả điều này sẽ hoạt động trong một chu kỳ, chúng tôi thêm "Chu trình", chọn và chuyển tất cả vào "Chu trình".

Bây giờ chúng ta hãy thử tìm hiểu xem chương trình sẽ hoạt động như thế nào và cấu hình nó như thế nào.


Trong khi robot đang di chuyển trên một đường thẳng, giá trị của các cảm biến là như nhau, có nghĩa là đầu ra của khối "Trừ" sẽ là 0. Đầu ra của khối "Nhân" cũng cho giá trị 0. Giá trị này được cấp song song với cặp điều khiển động cơ. Vì giá trị 50 được đặt trong các khối này, nên việc cộng hoặc trừ 0 không ảnh hưởng đến công suất của động cơ. Cả hai động cơ đều chạy cùng công suất 50 và robot lăn trên một đường thẳng.

Giả sử đường chạy rẽ hoặc rô bốt đi chệch khỏi đường thẳng. Chuyện gì sẽ xảy ra?

Hình cho thấy độ sáng của cảm biến được kết nối với cổng 2 (sau đây gọi là cảm biến 2 và 3) tăng lên, vì nó chuyển sang trường màu trắng và độ sáng của cảm biến 3 giảm. Giả sử các giá trị của các cảm biến này trở thành: cảm biến 2 - 55 đơn vị và cảm biến 3 - 45 đơn vị.
Khối "Phép trừ" sẽ xác định sự khác biệt giữa các giá trị của hai cảm biến (10) và đưa nó vào khối hiệu chỉnh (nhân với một hệ số (10 * 2,5 = 25)) và sau đó đến khối điều khiển
động cơ.
Trong khối toán học (Phép cộng) điều khiển động cơ B đến giá trị tốc độ trung bình là 50
25 sẽ được thêm vào và giá trị công suất 75 sẽ được áp dụng cho động cơ B.
Trong khối toán học (Phép trừ) điều khiển động cơ C, 25 sẽ được trừ đi giá trị tốc độ trung bình là 50 và giá trị công suất 25 sẽ được áp dụng cho động cơ C.
Do đó, độ lệch so với một đường thẳng sẽ được sửa chữa.

Nếu rãnh quay ngoắt sang một bên và cảm biến 2 sáng trắng và cảm biến 3 sáng đen. Giá trị chiếu sáng của các cảm biến này trở thành: cảm biến 2 - 70 đơn vị và cảm biến 3 - 50 đơn vị.
Khối "Phép trừ" sẽ xác định sự khác biệt giữa các giá trị của hai cảm biến (20) và đưa nó vào khối hiệu chỉnh (20 * 2,5 = 50) rồi đến khối điều khiển động cơ.
Bây giờ trong khối toán học (Phép cộng) điều khiển động cơ B, giá trị công suất 50 +50 = 100 sẽ được áp dụng cho động cơ B.
Trong khối toán học (Phép trừ) của điều khiển động cơ C, giá trị công suất 50 - 50 = 0 sẽ được áp dụng cho động cơ C.
Và robot sẽ thực hiện một bước ngoặt.

Trên các ô trắng và đen, rô bốt phải di chuyển trên một đường thẳng. Nếu điều này không xảy ra, hãy thử kết hợp các cảm biến có cùng giá trị.

Bây giờ chúng ta hãy tạo một khối mới và sử dụng nó để di chuyển robot dọc theo bất kỳ đường nào.
Chọn chu trình, sau đó trong menu "Chỉnh sửa", chọn lệnh "Tạo khối của tôi".

Trong hộp thoại "Block Builder", đặt tên cho khối của chúng ta, ví dụ: "Go", chọn một biểu tượng cho khối và nhấp vào "DONE".

Bây giờ chúng ta có một khối có thể được sử dụng trong trường hợp chúng ta cần di chuyển dọc theo đường thẳng.

Nhiệm vụ này là 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 bạn sẽ khám phá ra điều gì đó mới mẻ.

Có nhiều cách tiếp cận để giải quyết vấn đề dòng sau. 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ị trí của nhau.

Trong ví dụ của chúng tôi, ba ví dụ về rô bốt sẽ được tháo rời dựa trên mô hình hướng dẫn của Nhà giáo dục rô bốt chính.

Để bắt đầu, chúng tôi thu thập mô hình cơ sở robot giáo dục Robot Educator, để làm điều này, bạn có thể sử dụng các hướng dẫn trong phần mềm CÁC ĐIỀU KHOẢN TRỊ LIỆU EV3.

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

Ví dụ: chúng tôi sẽ phân tích 3 ví dụ về các chương trình di chuyển dọc theo đường đen được mô tả trên nền sáng đều:

· 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 PK.

· Hai cảm biến.

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

Thiết kế

Cảm biến ánh sáng được gắn trên một 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, chùm chiếu sáng của cảm biến với đường màu đen, các giá trị được cảm biến trả về thay đổi theo một gradient. Robot lưu vị trí của cảm biến ánh sáng trên đường viền 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ị 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), giá trị mà rô bốt phấn đấu là 50. Trong trường hợp này, các giá trị được truyền đến chức năng quay được hình thành trong phạm vi -50 - 50, nhưng những giá trị này không đủ để quay quỹ đạo dốc. Do đó, phạm vi nên được mở rộng một lần rưỡi thành -75 - 75.

Cuối cùng, trong chương trình, chức năng máy tính là một bộ điều khiển tỷ lệ đơn giản. chức năng của ai ( (a-50) * 1,5 ) trong phạm vi hoạt động của cảm biến ánh sáng tạo ra các giá trị quay phù hợp với đồ thị:

Một ví dụ về thuật toán

Ví dụ 2. Một cảm biến, với bộ điều khiển PK.

Ví dụ này được biên dịch trên cùng một thiết kế.

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

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

Hãy xem xét thuật toán đơn giản nhất để di chuyển dọc theo đường đen trên một cảm biến màu đơn trên EV3.

Thuật toán này là chậm nhất, nhưng ổn định nhất.

Robot sẽ không di chuyển hoàn toàn dọc theo đường màu đen mà dọc theo đường viền của nó, quay sang trái hoặc sang phải và dần dần di chuyển về phía trước.

Thuật toán rất đơn giản: nếu cảm biến nhìn thấy màu đen, thì robot quay theo một hướng, nếu màu trắng - theo hướng khác.

Thực hiện trong môi trường Lego Mindstorms EV3

Trong cả hai khối chuyển động, hãy chọn chế độ "bật". Công tắc được đặt thành cảm biến màu - đo lường - màu sắc. Ở dưới cùng, đừng quên thay đổi "no color" thành màu trắng. Ngoài ra, bạn phải chỉ định chính xác tất cả các cổng.

Đừng quên thêm một vòng lặp, robot sẽ không đi đâu nếu không có nó.

Kiểm tra. Để đạt được thành tích kết quả tốt nhất thử thay đổi cài đặt lái và điện.

Chuyển động với hai cảm biến:

Bạn đã biết thuật toán di chuyển robot dọc theo đường màu đen bằng cách sử dụng một cảm biến. Hôm nay chúng ta sẽ xem xét chuyển động dọc theo đường bằng cách sử dụng hai cảm biến màu.
Các cảm biến phải được lắp đặt sao cho đường đen chạy giữa chúng.


Thuật toán sẽ như sau:
Nếu cả hai cảm biến đều nhìn thấy màu trắng- tiến về phía trước;
Nếu một trong các cảm biến nhìn thấy màu trắng và màu đen còn lại, chúng ta sẽ chuyển sang màu đen;
Nếu cả hai cảm biến đều nhìn thấy màu đen, chúng ta đang ở giao lộ (ví dụ: dừng lại).

Để thực hiện thuật toán, chúng ta cần theo dõi các kết quả đọc của cả hai cảm biến và chỉ sau đó thiết lập robot để di chuyển. Để làm điều này, chúng tôi sẽ sử dụng các công tắc được lồng trong một công tắc khác. Vì vậy, chúng tôi sẽ thăm dò cảm biến đầu tiên trước tiên, và sau đó, bất kể kết quả của cảm biến đầu tiên là bao nhiêu, chúng tôi sẽ thăm dò cảm biến thứ hai, sau đó chúng tôi sẽ thiết lập hành động.
Kết nối cảm biến bên trái với cổng số 1, cảm biến bên phải với cổng số 4.

Chương trình với bình luận:

Đừng quên rằng chúng tôi khởi động động cơ ở chế độ "Bật" để chúng hoạt động miễn là cần thiết dựa trên các kết quả đọc của cảm biến. Ngoài ra, sự cần thiết của một vòng lặp thường bị lãng quên - nếu không có nó, chương trình sẽ ngay lập tức kết thúc.

http://studrobots.ru/

Chương trình tương tự cho mô hình NXT:

Nghiên cứu chương trình vận động. Lập trình cho robot. Tải lên video thử nghiệm mô hình

Văn bản của tác phẩm được đặt không có hình ảnh và công thức.
Phiên bản đầy đủ công việc có sẵn trong tab "Tệp công việc" ở định dạng PDF

Lego Mindstorms EV3

Giai đoạn chuẩn bị

Tạo và hiệu chỉnh một chương trình

Sự kết luận

Văn chương

1. Giới thiệu.

Người máy là một trong những lĩnh vực quan trọng nhất của tiến bộ khoa học và công nghệ, trong đó các vấn đề của cơ học và công nghệ mới tiếp xúc với các vấn đề của trí tuệ nhân tạo.

Mỗi những năm trước những tiến bộ trong chế tạo người máy và hệ thống tự độngđã thay đổi cá nhân và lĩnh vực kinh doanh cuộc sống của chúng tôi. Robot được sử dụng rộng rãi trong giao thông vận tải, nghiên cứu Trái đất và vũ trụ, trong phẫu thuật, trong ngành quân sự, thực hiện nghiên cứu trong phòng thí nghiệm, trong lĩnh vực an ninh, trong sản xuất hàng loạt hàng công nghiệp và hàng tiêu dùng. Nhiều thiết bị đưa ra quyết định dựa trên dữ liệu nhận được từ cảm biến cũng có thể được coi là rô bốt - chẳng hạn như thang máy, nếu không có nó thì cuộc sống của chúng ta đã không thể tưởng tượng được.

Nhà xây dựng Mindstorms EV3 mời gọi chúng ta bước vào thế giới hấp dẫn của robot, hòa mình vào môi trường phức tạp của công nghệ thông tin.

Mục tiêu: Học cách lập trình cho rô bốt chuyển động trên đường thẳng.

    Làm quen với phương thức khởi tạo Mindstorms EV3 và môi trường lập trình của nó.

    Viết chương trình chuyển động của rô bốt trên các đoạn thẳng dài 30 cm, 1 m 30 cm và 2 m 17 cm.

    Phương thức khởi tạo Mindstorms EV3.

Bộ phận thiết kế - 601 chiếc, động cơ servo - 3 chiếc., Cảm biến màu, cảm biến chuyển động, cảm biến hồng ngoại và một cảm biến cảm ứng. bộ vi xử lý EV3 là bộ não Bộ xây dựng LEGO Bão tâm trí.

Một động cơ servo lớn chịu trách nhiệm cho chuyển động của robot, kết nối với EV3 Brick và làm cho robot di chuyển: tiến và lùi, quay vòng và lái theo một quỹ đạo nhất định. Động cơ servo này được tích hợp cảm biến quay, cho phép bạn điều khiển rất chính xác chuyển động của rô bốt và tốc độ của nó.

Bạn có thể làm cho rô bốt thực hiện một hành động với chương trình máy tính EV3. Chương trình bao gồm các khối điều khiển khác nhau. Chúng tôi sẽ làm việc với khối chuyển động.

Khối chuyển động điều khiển các động cơ của robot, bật, tắt, làm cho nó hoạt động theo đúng nhiệm vụ. Có thể được lập trình để di chuyển một số tiền nhất định của số vòng quay hoặc độ.

    Giai đoạn chuẩn bị.

    Tạo ra một lĩnh vực kỹ thuật.

Chúng tôi sẽ đánh dấu lĩnh vực làm việc của rô-bốt, bằng cách sử dụng băng dính điện và thước kẻ, chúng tôi sẽ tạo ba đường dài 30 cm - đường màu xanh lá cây, 1 m 15 cm - đường màu đỏ và 2 m 17 cm - đường màu đen.

    Các tính toán cần thiết:

Đường kính bánh xe rô bốt - 5 cm 7 mm = 5,7 cm.

Một vòng quay của bánh xe rô bốt bằng chu vi của hình tròn có đường kính 5,7 cm. Chu vi được tìm theo công thức

Trong đó r là bán kính của bánh xe, d là đường kính, π = 3,14

l = 5,7 * 3,14 = 17,898 = 17,9.

Những thứ kia. Trong một vòng quay của bánh xe, robot đi được 17,9 cm.

Tính số vòng quay cần thiết để vượt qua:

N = 30: 17,9 = 1,68.

    1m 30cm = 130cm

N = 130: 17,9 = 7,26.

    2 m 17 cm = 217 cm.

N = 217: 17,9 = 12,12.

    Tạo và hiệu chuẩn chương trình.

Chúng ta sẽ tạo một chương trình theo thuật toán sau:

Thuật toán:

    Chọn một khối chuyển động trong phần mềm Mindstorms EV3.

    Bật cả hai động cơ theo hướng đã cho.

    Chờ cho số đọc cảm biến quay của một trong các động cơ thay đổi đến giá trị được chỉ định.

    Tắt động cơ.

Chương trình hoàn thành được tải vào bộ điều khiển robot. Chúng tôi đưa robot vào sân và nhấn nút bắt đầu. EV3 lái qua một trường và dừng lại ở cuối một dòng nhất định. Nhưng để đạt được kết thúc chính xác, bạn phải hiệu chỉnh, vì các yếu tố bên ngoài ảnh hưởng đến chuyển động.

    Trường được lắp đặt trên bàn học sinh nên có thể bị lệch một chút bề mặt.

    Bề mặt sân trơn nên không loại trừ khả năng bám dính của bánh xe của robot với sân kém.

    Khi tính toán số vòng quay, chúng tôi phải làm tròn các con số, và do đó, bằng cách thay đổi hàng trăm vòng quay, chúng tôi đã đạt được kết quả cần thiết.

5. Kết luận.

Khả năng lập trình để robot di chuyển theo đường thẳng sẽ hữu ích cho việc tạo ra các chương trình phức tạp hơn. Theo quy định, tất cả các kích thước của chuyển động được chỉ ra trong điều kiện tham chiếu cho các cuộc thi người máy. Chúng cần thiết để chương trình không bị quá tải với các điều kiện logic, vòng lặp và các khối điều khiển phức tạp khác.

Trên bước tiếp theo làm quen với robot Lego Mindstorms EV3 bạn sẽ phải học cách lập trình các lượt quay ở một góc nhất định, chuyển động theo đường tròn, đường xoắn ốc.

Rất thú vị khi làm việc với nhà thiết kế. Tìm hiểu thêm về khả năng của nó, bạn có thể giải quyết bất kỳ nhiệm vụ kỹ thuật. Và trong tương lai, có lẽ, hãy tạo ra những mô hình thú vị của riêng bạn về robot Lego Mindstorms EV3.

Văn chương.

    Koposov D. G. "Bước đầu tiên học người máy cho lớp 5-6." - M.: Binom. Phòng thí nghiệm Tri thức, 2012 - 286 tr.

    Filippov S. A. "Người máy cho trẻ em và cha mẹ" - "Khoa học" 2010

    tài nguyên Internet

    http: // lego. rkc-74.ru/

    http://www.9151394.ru/projects/lego/lego6/beliovskaya/

    http: // www. lego. com / giáo dục /

Bài viết tương tự