1. Trang chủ
  2. » Tất cả

Giải chuyên đề tin học 10 – kết nối tri thức bài (22)

5 8 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Điều Khiển Robot Nhận Biết Vật Cản
Trường học Trường Đại Học Sư Phạm Hà Nội
Chuyên ngành Tin học
Thể loại Bài tập chuyên đề
Năm xuất bản 2024
Thành phố Hà Nội
Định dạng
Số trang 5
Dung lượng 147,49 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Bài 10 Điều khiển robot nhận biết vật cản Khởi động Khởi động trang 44 chuyên đề học tập 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[.]

Trang 1

Bài 10: Điều khiển robot nhận biết vật cản Khởi động

Khởi động trang 44 chuyên đề học tập 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

Hoạt động 1 trang 44 chuyên đề học tập Tin học 10: 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

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:

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

Trang 2

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

Câu hỏi 1 trang 45 chuyên đề học tập Tin học 10: 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ư 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 đề học tập 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

Hoạt động 2 trang 45 chuyên đề học tập Tin học 10: 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

Trả lời:

Trang 3

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

Câu hỏi trang 48 chuyên đề học tập Tin học 10: 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

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

Luyện tập 1 trang 48 chuyên đề học tập 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?

Trang 4

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 đề học tập 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

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

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 đề học tập 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:

Trang 5

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

Ngày đăng: 09/02/2023, 14:00

TỪ KHÓA LIÊN QUAN