Chuyên đề Tin học 10 Bài 10 (Kết nối tri thức): Điều khiển robot nhận biết vật cản

Với giải bài tập Chuyên đề Tin học 10 Bài 10: Điều khiển robot nhận biết vật cản sách Kết nối tri thức hay nhất, chi tiết giúp học sinh dễ dàng làm bài tập Chuyên đề học tập Tin học 10 KNTT Bài 9.

1 553 08/02/2023
Tải về


Giải bài tập Chuyên đề Tin học 10 Bài 10: Điều khiển robot nhận biết vật cản

Khởi động trang 44 Chuyên đề Tin học 10: 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 vật cản và làm gì để tránh vật cản đó?

Trả lời:

Robot sẽ tự động phát hiện và tránh được vật cản khi di chuyển, robot có thể: dừng lại hoặc đổi hướng di chuyển tùy thuộc vào chương trình lập trình điều khiển của con người.

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

Hoạt động 1 trang 44 Chuyên đề Tin học 10Tìm hiểu cách điều khiển cảm biến siêu âm

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

Trả lời:

Nguyên tắc hoạt động của cảm biến siêu âm:

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. Cảm biến siêu âm dựa trên nguyên lý phát sóng và phản xạ sóng siêu âm.

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

Chuyên đề Tin học 10 Bài 10: Điều khiển robot nhận biết vật cản - Kết nối tri thức (ảnh 1)

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ị centimet.

Để 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

Câu hỏi 1 trang 45 Chuyên đề Tin học 10Nế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ạn thì sẽ như thế nào?

Trả lời:

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ạn thì sẽ như sau: Robot giáo dục chỉ nhận được tín hiệu và thực hiện câu lệnh xử lý cảm biến siêu âm với số lần tương ứng với số lần của vòng lặp không vô hạn. Khi hết số vòng lặp đó robot sẽ không phát hiện và tránh được vật cản nữa.

Câu hỏi 2 trang 45 Chuyên đề Tin học 10: 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 1cm?

Trả lời:

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 1cm vì như thế khoảng cách giữa cảm biến siêu âm và vật cản quá ngắn nên robot chưa kịp thực hiện câu lệnh xử lý mà đã chạm phải vật cản. Khoảng cách đo tối thiểu khuyến cáo là 10cm.

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

Hoạt động 2 trang 45 Chuyên đề Tin học 10Robot 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.

Trả lời:

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 đặt trong nhóm lệnh lặp vô tận forever. Có một số trường hợp cụ thể 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 sát đến vật cản mới dừng lại.

(2) Điều khiển robot gặp vật cản thì rẽ trái để tránh vật cản

Trong thực tế cần điều chỉnh chi tiết 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.

Khi sử dụng các biến nhớ trong lập trình cần chú ý đến các giá trị thay đổi của biến để chương trình lập trình được chính xác và tối ưu nhất.

Câu hỏi trang 48 Chuyên đề Tin học 10Em 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.

Trả lời:

Đoạn 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) < 15

Xoay trái (50)

Đợi 2.5 giây

Đi thẳng (50)

Đợi 1 giây

Luyện tập 1 trang 48 Chuyên đề Tin học 10: Vì sao luôn phải đặt lệnh nhận tín hiệu cảm biến siêu âm trong vòng lặp vô hạn?

Trả lời:

Vì như vậy robot sẽ luôn nhận được tín hiệu trả về từ cảm biến siêu âm để biết được phía trước đang có vật cản hay không và kịp thời xử lý nếu có vật cản.

Luyện tập 2 trang 48 Chuyên đề Tin học 10: 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?

Trả lời:

Cần cắm mỗi cảm biến siêu âm ở một cổng khác nhau trên robot và chú ý phân biệt tên của hai cổng đó trong lúc lập trình. Ví dụ có 2 cảm biến siêu âm lần lượt cắm ở cổng 1 và cổng 3 trên robot thì câu lệnh lập trình tương ứng là:

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

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

Vận dụng 1 trang 48 Chuyên đề Tin học 10Em 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?

Trả lời:

Một robot hút bụi thường được tích hợp nhiều loại cảm biến như: Cảm biến hồng ngoại giúp robot không bị rơi khi ở gần cầu thang, cảm biến siêu âm giúp robot chống va đạp vào tường…

Cảm biến siêu âm vẫn hoạt động theo nguyên lý phát sóng siêu âm liên tục cho đến khi phát hiện vật cản trong khoảng đo đã được lập trình thì điều khiển robot hút bụi tránh vật cản.

Vận dụng 2 trang 48 Chuyên đề Tin học 10: Em hãy viết chương trình mở rộng yêu cầu của chương trình minh họa trong Mục 2, yêu cầu robot xử lý vật cản như sau:

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

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

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

- Nếu gặp phải các vật cản tiếp theo thì lặp lại yêu cầu như trên: robto 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.

Trả lời:

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

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)

Đợi 0.5 giây

if Dem_vat_can = 1

Xoay phải (50)

Đợi 0.5 giây

if Dem_vat_can = 2

Xoay trái (100)

Đợi 1 giây

dem_vat_can = Dem_vat_can + 1

if Dem_vat_can = 3

dem_vat_can = 0

Xem thêm lời giải bài tập Chuyên đề Tin học lớp 10 Kết nối tri thức với cuộc sống hay, chi tiết khác: 

Bài 7: Thực hành: Cài đặt và kết nối robot

Bài 8: Thực hành: Kiểm tra tình trạng hoạt động của robot

Bài 9: Điều khiển robot chuyển động

Bài 11: Dẫn đường tự động cho robot

Bài 12: Thực hành điều khiển robot trên sa bàn

1 553 08/02/2023
Tải về


Xem thêm các chương trình khác: