Sách Giáo Khoa 247

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

Xem chi tiết nội dung bài Bài 10: Điều Khiển Robot Nhận Biết Vật Cản và tải xuống miễn phí trọn bộ file PDF Sách Chuyên đề học tập Tin học 10 (Định hướng khoa học máy tính) | Kết Nối Tri Thức Với Cuộc Sống

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

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

Rẽ trái

Rẽ phải

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.

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.

Xem và tải xuống trọn bộ sách giáo khoa Chuyên đề học tập Tin học 10 (Định hướng khoa học máy tính)

Tổng số đánh giá:

Xếp hạng: / 5 sao

Sách giáo khoa liên quan

Ngữ Văn 10 - Tập Một

Sách Ngữ Văn Lớp 10 Cơ Bản Tập 1.

Ngữ Văn 10 - Tập Hai

Sách Ngữ Văn Lớp 10 Cơ Bản Tập 2. Tổng 35 tuần.

Ngữ Văn 10 (Nâng Cao) - Tập Một

Sách Ngữ Văn Lớp 10 Nâng Cao Tập 1. Tổng 18 tuần

Ngữ Văn 10 (Nâng Cao) - Tập Hai

Sách Ngữ Văn Lớp 10 Nâng Cao Tập 2. Tổng 35 tuần.

Đại Số 10

Sách Toán Đại Số Lớp 10 (Thường/Cơ bản). Tổng 6 chương và 30 bài.

Đại Số 10 (Nâng Cao)

Sách Toán Đại Số Lớp 10 Nâng Cao. Tổng 6 chương, 34 bài.

Hình Học 10

Sách Toán Hình Học Lớp 10 (Thường/ Cơ bản). Tổng 3 chương, 10 bài.

Hình Học 10 (Nâng Cao)

Sách Toán Hình Học Lớp 10 (Nâng Cao). Tổng 3 chươn, 20 bài.

Hoá Học 10

Sách Hoá Học Lớp 10 (Thường/ Cơ bản). Tổng 7 chương, 41 bài.

Hoá Học 10 (Nâng Cao)

Sách Hoá Học Lớp 10 Nâng Cao. Tổng 7 chương, 53 bài.

Vật Lí 10

Sách Vật Lí Lớp 10 (Thường/ Cơ bản). Tổng 7 chương, 41 bài

Vật Lí 10 (Nâng Cao)

Sách Vật Lí Lớp 10 Nâng Cao. Tổng 8 chương, 60 bài.

Gợi ý cho bạn

my-thuat-thiet-ke-cong-nghiep-1176

Mỹ Thuật Thiết Kế Công Nghiệp

Mỹ Thuật Thiết Kế Công Nghiệp 11

vo-thuc-hanh-mi-thuat-1-743

VỞ THỰC HÀNH Mĩ thuật 1

Môn học lớp 1 - NXB Cánh Diều

dao-duc-5-279

Đạo Đức 5

Sách Lớp 5 NXB Giáo Dục Việt Nam

chuyen-de-hoc-tap-tin-hoc-10-dinh-huong-khoa-hoc-may-tinh-3659

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

Sách Chuyên đề học tập Tin học 10 (Định hướng khoa học máy tính) Kết Nối Tri Thức Với Cuộc Sống - Trang bị kiến thức về robot giáo dục, lập trình điều khiển và ứng dụng thực tiễn.

lich-su-va-dia-li-5-1634

Lịch Sử Và Địa Lí 5

NXB Kết nối tri thức - Lịch sử và địa lý 5

Nhà xuất bản

canh-dieu-1

Cánh Diều

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

chan-troi-sang-tao-2

Chân Trời Sáng Tạo

Bộ sách giáo khoa của Nhà xuất bản Chân Trời Sáng Tạo

ket-noi-tri-thuc-voi-cuoc-song-3

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

giao-duc-viet-nam-5

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

sach-bai-giai-6

Sách Bài Giải

Bài giải cho các sách giáo khoa, sách bài tập

sach-bai-tap-7

Sách Bài Tập

Sách bài tập tất cả các khối lớp

tai-lieu-hoc-tap-9

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-bo-giao-duc-dao-tao-11

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ế

nxb-dai-hoc-su-pham-tphcm-12

NXB - Đại Học Sư Phạm TPHCM

NXB - Đại Học Sư Phạm TPHCM

Chủ đề

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.