Bài 10: Điều Khiển Robot Nhận Biết Vật Cản | Chuyên đề học tập Tin học 10 (Định hướng khoa học máy tính) | Chuyên Đề 3: Lập Trình Điều Khiển Robot - Lớp 10 - Kết Nối Tri Thức Với Cuộc Sống

Chuyên đề học tập Tin học 10 - Bài 10: Điều Khiển Robot Nhận Biết Vật Cản - Tập trung vào lập trình cảm biến, giúp robot phát hiện chướng ngại vật và điều chỉnh hành vi phù hợp.


Trang 44

Học xong bài này em sẽ:

-  Biết được các lệnh điều khiển cảm biến siêu âm của robot.

- Biết lập trình điều khiển được robot nhận biết vật cản trên sa bàn.

Khởi động

Nếu trên đường đi robot gặp vật cản thì sẽ như thể nào? Làm thế nào để robot nhận ra được vật cản và làm gì để tránh vật cản đó?

1. Cảm biến siêu âm

Hoạt động 1: Tìm hiểu cách điều khiển cảm biến siêu âm
Đọc, thảo luận về nguyên tắc hoạt động và lệnh lập trình cảm biến siêu âm.

a) Lệnh lập trình của cảm biến siêu âm

Câu lệnh lập trình cảm biến siêu âm luôn trả về giá trị là khoảng cách từ cảm biến siêu âm đến vật cản phía trước theo đơn vị centimét.

Bảng 10.1. Lệnh lập trình cảm biền siêu âm

             Lệnh                Tham số                 Mô tả ý nghĩa
Tín hiệu siêu âm (cổng) cổng = vị trí cổng I/O có kết nối với cảm biến siêu âm.  Lệnh trả lại giá trị là khoảng cách từ vị trí cảm biến đến vật cản.

 

Tham số cổng là cổng kết nối cảm biến siêu âm với bảng mạch điều khiển. Đối với mỗi loại robot thì các công được quy định và đặt tên khác nhau.

Chú ý: Mỗi cảm biến siêu âm chỉ có tác dụng trong một khoảng cách nhất định. Gọi khoảng cách này là Max. Khi vật cản ở xa, vượt qua giới hạn Max, có thể coi hàm nhận tín hiệu cảm biến sẽ trả về giá trị Max.

b) Lập trình với cảm biến siêu âm

Trong Bài 6 chúng ta đã biết cấu trúc chung của một chương trình điều khiển robot bao gồm hai phần: Phần các lệnh được chạy một lần được đặt sau lệnh Khởi động chương trình và phần gồm các lệnh sẽ được lặp vô tận nằm trong vòng lặp forever.

Trang 45

Để robot nhận được tín hiệu cảm biến siêu âm liên tục với thời gian thực chúng ta cần đưa lệnh điều khiển cảm biến siêu âm vào trong nhóm lệnh thứ hai, tức là nhóm lệnh lặp vô hạn trong chương trình.

Sơ đồ chung của việc xử lí thông tin cảm biến siêu âm của robot:

forever

if <nhận tín hiệu cảm biến siêu âm>

Xử lí tín hiệu cảm biến siêu âm

Giả sử cảm biến siêu âm kết nói với bảng mạch điều khiển ở cổng 3. Chương trình điều khiển robot dừng lại khi phía trước có vật cản ở khoảng cách nhỏ hơn 10 cm có dạng sau:

Khởi động chương trình

forever

if tín hiệu siêu âm (3) ‹ 10

Dừng lại

else

Đi thẳng (150)

Câu hỏi

1. Nếu câu lệnh xử lí tín hiệu cảm biến siêu âm đặt trong vòng lặp không vô hạnthì sẽ như thế nào?

2. Vì sao không thể đặt lệnh kiểm tra nhận biết vật cản của cảm biến siêu âm ở khoảng cách quá ngắn, ví dụ dưới 1 cm?

2. Robot nhận biết và tránh vật cản

Hoạt động 2: Robot tránh vật cản như thế nào?
Đọc, thảo luận về nguyên tắc chung và cách lập trình điều khiển robot tránh vật cản.

a) Cách điều khiển chung để robot xử lí khi gặp vật cản

Chúng ta đã biết các lệnh sử dụng cảm biến siêu âm để nhận biết và tránh vật cản của robot đều phải được đặt trong nhóm lệnh lặp vô tận forever. Chúng ta sẽ xét các trường hợp cụ thể hơn của công việc điều khiển này.

(1) Điều khiển robot gặp vật cản thì dừng lại. có thể cho robot tiền đến sát vật cản mới dừng lại. Chương trình có thể như sau:

Khởi động chương trình

forever

Đi thẳng (50)

if Tín hiệu siêu âm (cổng) < 10

Dừng lại

Trang 46

(2) Điều khiển robot gặp vật cản thì rẽ trái để tránh vật cản. Có hai cách để thực hiện:

Cách 1. Vì yêu cầu robot rẽ trái cần một lệnh điều khiển bổ sung nên chúng ta cho robot cảm nhận vật cản ở khoảng cách xa hơn, thực hiện lệnh xoay trái và đi tiếp.

Chương trình có thể như sau:

Khởi động chương trình

forever

Đi thẳng(0).

if Tín hiệu siêu âm (cổng) < 10

Xoay trái (50)

Đợi 1 giây

Cách 2. Trong một số trường hợp để điều khiển robot tránh vật cản có thể cho robot đi lùi lại 0,5 giây để đảm bảo khoảng cách an toàn với vật cản, sau đó mới cho robot rẽ trái và đi tiếp:

Khởi động chương trình

forever

Đi thẳng (50)

if Tín hiệu siêu âm (cổng) < 10

Đi lùi (50)

Đợi 0.5 giây

Xoay trái (50)

Đợi 0.5 giây

Chú ý:

- Xử lí tương tự cho robot rẽ phải để tránh vật cản

- Trên thực tế em cần điều chỉnh chi tiết các tham số về tốc độ, khoảng cách và thời gian để chương trình đạt được hiệu quả như ý muốn.

b) Cách điều khiển robot tránh nhiễu vật cản trên đường đi

Trong phần này chúng ta xét một ví dụ với yêu cầu phức tạp hơn của robot khi gặp và tránh vật cản. Giả sử trên đường đi đã lập trình sẵn của robot có rất nhiều vật cản. Yêu cầu như sau:

- Nếu gặp vật cản thứ nhất thì rẽ trái.

- Nếu gặp vật cản thứ hai thì rẽ phải.

- Nếu gặp các vật cản tiếp theo thì lặp lại yêu cầu như trên: robot sẽ rẽ trái và sau đó rẽ phải nếu gặp vật cản tiếp theo.

Để thực hiện yêu cầu trên, chúng ta sẽ thiết lập một biến nhớ có tên dem_vat_can để đếm số vật cản và tính toán để thực hiện đúng theo yêu cầu của chương trình.

Trang 47

hinh-anh-bai-10-dieu-khien-robot-nhan-biet-vat-can-13382-0

Rẽ trái

Rẽ phải

Hình 10.1. Hướng di chuyển của robot

Ban đầu thiết lập dem_ vat_can = 0, sau đó mỗi lần gặp vật cản thì tăng biến nhớ lên 1 đơn vị. Nếu dem_vat_ can = 2 thì đặt lại giá trị 0 để lặp lại quá trình tránh vật cản từ đầu.

Sau đây là một phương án thực hiện:

Khởi động chương trình

dem_vat_can = 0

forever

Đi thẳng (50)

if Tín hiệu siêu âm (cổng) < 10

if dem_vat_can = 0

Xoay trái (50)

if dem_vat_can = 1

Xoay phải (50)

dem_vat_can = dem_vat_can + 1

if dem_vat_can = 2

dem_vat_can = 0

Đợi 0.5 giây

Giải thích chương trình.

Ban đầu robot sẽ đi thẳng với tốc độ 50 cho đến khi gặp các vật cản robot sẽ xoay trái hoặc xoay phải tương ứng thứ tự vật cản. Lệnh đợi 0.5 giây ở cuối chương trình giúp tạo thời gian để robot thực hiện các lệnh xoay ở phía trên

Trang 48

c) Ví dụ minh họa cho chương trình trên G-Robot

Trên robot G-Robot, cổng mặc định của cảm biến siêu âm là port 3. Chương trình lập trình trên phần mềm GaraBlock sẽ như Hình 10.2.

hinh-anh-bai-10-dieu-khien-robot-nhan-biet-vat-can-13382-1

Hình 10.2. Chương trình minh hoạ

Câu hỏi

Em hãy viết đoạn chương trình điều khiển robot chuyển động thẳng, nếu gặp vật cản thì quay lại đi theo chiều ngược lại.

LUYỆN TẬP

1. Vì sao luôn phải đặt lệnh nhận tín hiệu cảm biến siêu âm trong một vòng lặp vô hạn?

2. Nếu có 2 cảm biến siêu âm kết nối với robot thì làm thế nào để phân biệt được tín hiệu của 2 cảm biến khi lập trình?

VẬN DỤNG

1. Em hãy tìm hiểu xem các robot hút bụi sử dụng cảm biến siêu âm để cảm nhận vật cản như thế nào.

2. Em hãy viết chương trình mở rộng yêu cầu của chương trình minh hoạ trong Mục 2, yêu cầu robot xử lí vật cản như sau:

- Nếu gặp vật cản thứ nhất thì rẽ trái

- Nếu gặp vật cản thứ hai thì rẽ phải.

- Nếu gặp vật cản thứ ba thì xoay 180 độ đi theo chiều ngược lại.

- Nếu gặp các vật cản tiếp theo thi lặp lại yêu cầu như trên: robot sẽ rẽ trái, sau đó rẽ phải, sau đó xoay để đi ngược lại nếu gặp các vật cản tiếp theo.

Tin tức mới


Đánh giá

Bài 10: Điều Khiển Robot Nhận Biết Vật Cản | Chuyên đề học tập Tin học 10 (Định hướng khoa học máy tính) | Chuyên Đề 3: Lập Trình Điều Khiển Robot - Lớp 10 - Kết Nối Tri Thức Với Cuộc Sống

Tổng số sao của bài viết là: 5 trong 1 đánh giá
Xếp hạng: 5 / 5 sao

Bình Luận

Để Lại Bình Luận Của Bạn

Tin tức mới

Môn Học Lớp 10 - Kết Nối Tri Thức Với Cuộc Sống

Chuyên đề học tập Toán 10

Chuyên đề học tập Vật lí 10

Chuyên đề học tập Ngữ văn 10

Chuyên đề học tập Hóa học 10

Chuyên đề học tập Sinh học 10

Chuyên đề học tập Lịch sử 10

Chuyên đề học tập Địa lí 10

Chuyên đề học tập Giáo dục Kinh tế và Pháp luật 10

Chuyên đề học tập Âm nhạc 10

Chuyên đề học tập Công nghệ 10 (Công nghệ trồng trọt)

Chuyên đề học tập Mĩ thuật 10

Chuyên đề học tập Công nghệ 10 (Thiết kế và Công nghệ)

Chuyên đề học tập Tin học 10 (Định hướng khoa học máy tính)

Chuyên đề học tập Tin học 10 (Định hướng tin học ứng dụng)

Vật Lí 10

Hóa học 10

Sinh học 10

Âm nhạc 10

Giáo Dục Quốc Phòng Và An Ninh 10

Ngữ văn 10 - Tập 1

Ngữ văn 10 - Tập 2

Giáo Dục Kinh Tế Và Pháp Luật 10

Giáo dục thể chất cầu lông

Giáo dục thể chất bóng đá

Công nghệ trồng trọt 10

Giáo dục thể chất bóng chuyền

Giáo dục thể chất bóng rổ

Hoạt Động Trải Nghiệm, Hướng Nghiệp 10

Công Nghệ 10

Địa Lí 10

Toán 10 - Tập 1

Toán 10 - Tập 2

Lịch Sử 10

Mĩ thuật_Thiết kế thời trang 10

Mĩ thuật_Thiết kế mĩ thuật sân khấu, điện ảnh 10

Mĩ thuật_Thiết kế công nghiệp 10

Mĩ thuật_Thiết kế đồ hoạ 10

Mĩ thuật_Thiết kế mĩ thuật đa phương tiện 10

Mĩ thuật_Lí luận và lịch sử mĩ thuật 10

Mĩ thuật _Điêu khắc 10

Mĩ thuật_Đồ hoạ (tranh in) 10

Mĩ thuật_Hội hoạ 10

Mĩ thuật_Kiến trúc 10

Tin Học 10

Giải bài tập Sinh học 10

Giải bài tập Hóa học 10

Giải bài tập Vật lý 10

Bộ Sách Lớp 10

Giáo Dục Việt Nam

Bộ Sách Giáo Khoa của Nhà Xuất Bản Giáo Dục Việt Nam

Tài liệu học tập

Đây là tài liệu tham khảo hỗ trợ trong quá trình học tập

Global Success & Bộ Giáo Dục - Đào Tạo

Bộ sách Global Success & Bộ Giáo Dục - Đào Tạo là sự kết hợp giữa ngôn ngữ Tiếng Anh theo lối giảng dạy truyền thống và cập nhật những phương thức quốc tế

Cánh Diều

Bộ sách giáo khoa của Nhà xuất bản Cánh Diều

Kết Nối Tri Thức Với Cuộc Sống

Sách giáo khoa của nhà xuất bản Kết Nối Tri Thức Với Cuộc Sống

Sách Kết Nối Tri Thức Với Cuộc Sống

Lớp 1

Sách giáo khoa dành cho lớp 1

Lớp 6

Sách giáo khoa dành cho lớp 6

Lớp 5

Sách giáo khoa dành cho lớp 5

Lớp 4

Sách giáo khoa dành cho lớp 4

Lớp 2

Sách giáo khoa dành cho lớp 2

Lớp 3

Sách giáo khoa dành cho lớp 3

Lớp 7

Sách giáo khoa dành cho lớp 7

Lớp 8

Sách giáo khoa dành cho lớp 8

Lớp 9

Sách giáo khoa dành cho lớp 9

Lớp 10

Sách giáo khoa dành cho lớp 10

Lớp 11

Sách giáo khoa dành cho lớp 11

Lớp 12

Sách giáo khoa dành cho lớp 12

Liên Kết Chia Sẻ

** Đây là liên kết chia sẻ bới cộng đồng người dùng, chúng tôi không chịu trách nhiệm gì về nội dung của các thông tin này. Nếu có liên kết nào không phù hợp xin hãy báo cho admin.