Bài 9: Điều Khiển Robot Chuyển Động | 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 9: Điều Khiển Robot Chuyển Động - Hướng dẫn các lệnh cơ bản để lập trình cho robot di chuyển theo ý muốn trên các địa hình khác nhau.


Trang 38

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

- Biết các lệnh điều khiển động cơ DC và động cơ servo của robot.

- Biết và lập trình điều khiển được robot chuyển động cánh tay.

Khởi động

Các em đã từng được quan sát robot chuyển động chưa? Làm thế nào để robot có thể chuyển động được? Trong các nhà máy, người ta sử dụng cánh tay robot để thực hiện một số công đoạn trong sản xuất thay cho con người. Cơ chế để điều khiển cánh tay robot là gì?

1. Lập trình điều khiển động cơ DC

Hoạt động 1: Tìm hiểu các lệnh điều khiển động cơ DC
Đọc, thảo luận để hiểu các lệnh cơ bản điều khiển động cơ DC của robot giáo dục.

a) Các lệnh điều khiển động cơ DC

Trong Bài 2 em đã làm quen với động cơ DC thường dùng để tạo chuyển động cho các bánh xe của robot. Động cơ DC chỉ có hai chiều xoay: (1) xoay từ trái sang phải theo chiều kim đồng hồ (quy ước gọi là chiều tiễn) và ngược lại (2) xoay từ phải sang trái ngược chiều kim đồng hồ (chiều lùi). Câu lệnh để điều khiển động cơ DC có thể được mô tả như sau:

Xoay động cơ (chiều, tốc độ)

Trong đó, tham số chiều nhận một trong hai giá trị "tiễn" hoặc "lùi"; tham số tốc độ nhận một giá trị nguyên từ 0 đến 255.

Chú ý: Trong thực tế, để động cơ DC của robot hoạt động ổn định với tốc độ xác định cần đảm bảo nguồn điện đủ theo quy định. Nếu nguồn điện yếu hơn quy định thì có thể dẫn đến sai số hoặc động cơ không hoạt động. Ngoài ra, bề mặt hoặc địa hình di chuyển cũng sẽ ảnh hưởng đến tốc độ của động cơ DC.

Các robot thường dùng hai động cơ DC độc lập là M1 và M2 kết nối với các cổng tương ứng trên bảng mạch điều khiển. Khi lắp ráp, các động cơ được quy định kết nối như sau:

Trang 39

– Động cơ lắp bên trái được kết nối với cổng M1.

– Động cơ lắp bên phải được kết nối với cổng M2.

Các robot đều hỗ trợ các lệnh trong Bảng 9.1 để điều khiển từng động cơ DC M1, M2 độc lập.

Bảng 9.1. Các lệnh để điều khiển động cơ DC

                         Lệnh                  Tham số                          Mô tả ý nghĩa
Xoay động cơ DC M1 (chiều, tốc độ) chiều ("tiến", "lùi")
tốc độ (từ 0 đến 255)
Điều khiển động cơ M1 (động cơ trái) chuyển động theo chiều kim đồng hồ (nếu chiều = "tiến") hoặc ngược lại (nếu chiều = “lùi").
Xoay động cơ DC M2 (chiều, tốc độ) chiều (“tiến", "lùi")
tốc độ (từ 0 đến 255)
Điều khiển động cơ tại cổng M2 (động cơ phải). Ý nghĩa tương tự lệnh điều khiển động cơ M1.


b) Điều khiển robot chuyển động

Để điều khiển robot chuyển động cần thiết lập các lệnh điều khiển đồng thời cả hai động cơ DC M1 và M2. Sau đây là phân tích một số trường hợp.

1) Chuyển động thẳng: Hai động cơ được thiết lập với các tham số như nhau.

Xoay động cơ DC M1 (tiến, tốc độ)

Xoay động cơ DC M2 (tiến, tốc độ)

2) Chuyển động lùi: Hai động cơ cùng "lùi" với cùng tốc độ.

Xoay động cơ DC M1 (lùi, tốc độ)

Xoay động cơ DC M2 (lùi, tốc độ)

3) Điều khiển robot rẽ trái: Có nhiều cách thực hiện, ví dụ:

– Cho động cơ trái dừng lại, động cơ phải vẫn chuyển động tiến.

Xoay động cơ DC M1 (tiến, 0)

Xoay động cơ DC M2 (tiến, tốc độ)

– Cho động cơ trái đi lùi, động cơ phải vẫn chuyển động tiến.

Xoay động cơ DC M1 (lùi, tốc độ)

Xoay động cơ DC M2 (tiến, tốc độ)

– Cho cả hai động cơ cùng chuyển động tiến nhưng tốc độ của M1 nhỏ hơn tốc độ của M2.

Xoay động cơ DC M1 (tiến, tốc độ 1)

Xoay động cơ DC M2 (tiến, tốc độ 2)

4) Điều khiển robot rẽ phải: Trường hợp này xử lí tương tự trường hợp rẽ trái.

5) Điều khiển robot dừng lại: Đặt tốc độ chuyển động của cả 2 động cơ bằng 0.

Xoay động cơ DC M1 (tiến, 0)

Xoay động cơ DC M2 (tiến, 8)

c) Các câu lệnh lập trình tích hợp điều khiển robot chuyển động Trong lập trình điều khiển robot, người ta thường thiết lập các lệnh tích hợp điều khiển chuyển động như trong Bảng 9.2.

Trang 40

Bảng 9.2. Các lệnh tích hợp điều khiển chuyển động

Câu lệnh Tham số Ý nghĩa
Đi thẳng (tốc độ) tốc độ (từ 0 đến 255)  Điều khiển robot chuyển động thẳng với <tốc độ>.
Đi lùi (tốc độ) tốc độ (từ 0 đến 255) Điều khiển robot chuyển động lùi với <tốc độ>.
Dừng lại  tốc độ (từ 0 đến 255) Điều khiển robot dừng lại.
Xoay trái (tốc độ) tốc độ (từ 0 đến 255) Điều khiển robot xoay trái với <tốc độ.
Xoay phải (tốc độ) tốc độ (từ 0 đến 255) Điều khiển robot xoay phải với <tốc độ>.
Đợi (thời gian) thời gian tính bằng  Chương trình dừng không thực hiện giây trong <thời gian> tính bằng giây.


d) Ví dụ minh hoạ

Ví dụ 1. Cần điều khiển robot chuyển động từ vị trí A đến vị trí B và dừng lại. Đặt robot tại vị trí A và hướng về B. Chương trình điều khiển có thể như sau:

Bắt đầu chương trình

Đi thẳng (158)

Đợi 2 giây

Dừng lại

hinh-anh-bai-9-dieu-khien-robot-chuyen-dong-13381-0

Hình 9.1. Sơ đồ điều khiển robot đi thẳng

Phân tích: Chương trình sẽ cho robot đi thẳng với tốc độ 150 trong thời gian 2 giây. Để điều khiển robot dừng lại tại vị trí B chúng ta phải điều chỉnh hai tham số tốc độ (150) và thời gian (2 giây) để đạt được mục đích.

Chú ý: Nếu chương trình bỏ đi lệnh Đợi 2 giây thì robot sẽ đứng im một chỗ. Lí do là khi ra lệnh điều khiển Đi thẳng(150), robot chưa kịp chuyển động thì chương trình đã thực hiện lệnh Dừng lại và do vậy robot sẽ đứng im. Do đó lệnh Đợi 2 giây là rất quan trọng, lệnh sẽ cho phép robot di chuyển trong 2 giây trước khi dừng lại.

Ví dụ 2. Điều khiển A đi đến B, sau đó quay trái và đi đến C rồi dừng lại. Đặt robot tại vị trí A và hướng về B. Chương trình điều khiển có thể như sau:

Bắt đầu chương trình

Đi thẳng (150)

Đợi 2 giây

Xoay trái (100)

Đợi 0.5 giây

Đi thẳng (150)

Đợi 1.5 giây

Dừng lại

hinh-anh-bai-9-dieu-khien-robot-chuyen-dong-13381-1

Hình 9.2. Sơ đồ điều khiển robot đi thẳng và rẽ trái

Phân tích: Chương trình sẽ điều khiển robot chuyển động từ A đến B (xem Ví dụ 1), sau đó thực hiện hai lệnh Xoay trái (100) Đợi 0.5 giây để robot rẽ trái, sau đó đi tiếp đến C thì dừng lại. Em cần điều chỉnh các tham số để robot thực sự rẽ trái và đi tiếp đến C.

Trang 41

Câu hỏi

Em hãy viết câu lệnh điều khiển robot quay lại 180° và đi tiếp.

2. Lập trình điều khiển động cơ servo

Hoạt động 2: Tìm hiểu cách điều khiển động cơ servo
Đọc, thảo luận về câu lệnh điều khiển của động cơ servo và mô hình ứng dụng hai động cơ servo.

a) Cách điều khiển động cơ servo

Khác với động cơ DC có thể điều khiển được chiều xoay và tốc độ xoay, động cơ servo chỉ có thể thực hiện được lệnh xoay cánh tay động cơ đến vị trí được lập trình sẵn nhưng không điều khiển được tốc độ xoay (Hình 9.3).

hinh-anh-bai-9-dieu-khien-robot-chuyen-dong-13381-2

Hình 9.3. Minh hoạ vị trí của động cơ servo

Chiều xoay của động cơ servo là hướng khi chúng ta quan sát trực diện với mặt trục xoay. Theo quy ước, chiều xoay từ phải sang trái tức ngược chiều kim đồng hồ của động cơ servo sẽ tính từ góc 0° đến 180°. Ta có hình ảnh minh hoạ các vị trí góc của động cơ servo như Hình 9.4. Góc xoay của động cơ servo là từ 0° đến 180°.

hinh-anh-bai-9-dieu-khien-robot-chuyen-dong-13381-3

Hình 9.4. Các góc xoay của động cơ servo

Như vậy lệnh điều khiển động cơ servo sẽ có hai tham số là cổng kết nối và góc xoay cần điều khiển của động cơ.

Bảng 9.3. Lệnh điều khiển động cơ servo

            Lệnh              Tham số                  Mô tả ý nghĩa
Xoay động cơ servo (cổng, góc) cổng (vị trí cổng I/O có kết nối với động cơ) góc (từ 0° đến 180°) Điều khiển động cơ servo có kết nối tại cổng <cổng> xoay đến vị trí góc <góc
tính theo độ.

 

b) Mô hình cánh tay robot điều khiển bởi hai động cơ servo

Cánh tay robot là một loại thiết bị cơ khí được thiết kế để thực hiện các chức năng tương tự như cánh tay của con người và thường được sử dụng trong các dây chuyền lắp ráp, thay thế linh kiện tại các nhà máy.

Trang 42

Chúng ta sẽ quan sát một mô hình cánh tay robot đơn giản bao gồm phần tay máy và cơ cấu gắp đồ vật được điều khiển bởi hai động cơ servo: động cơ 1 điều khiển tay máy nâng lên/hạ xuống; động cơ 2 điều khiển đóng/mở cơ cấu gắp.

Hình 9.5 mô tả một mô hình cánh tay máy hai bậc như vậy. 

hinh-anh-bai-9-dieu-khien-robot-chuyen-dong-13381-4

Động cơ 1 dùng để nâng (hạ) cánh tay robot. Góc nâng được xác định bởi quy trình lắp ghép cơ khí của cánh tay. Ví dụ góc = 90 là vị trí nằm ngang, góc = 80 là vị trí đứng thẳng của cánh tay.

Động cơ 2 dùng để mở, đóng hai tay của cơ cấu gắp các đồ vật. 

Hình 9.6 Mô hình cánh tay máy hai bậc.

e) Ví dụ bài toán điều khiển cánh tay robot hai động cơ

hinh-anh-bai-9-dieu-khien-robot-chuyen-dong-13381-5

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

Xoay động cơ SERVO (5, 90) 

Xoay động cơ SERVO (6, 85)

Goc_xoay = 90

← Thiết lập vị trí ban đầu: động cơ 1 cổng 5, động cơ 2 cổng 6

repeat 10

Xoay động cơ SERVO (6, 100) 

Đợi 6.5 giây 

← Điều khiển nắm tay gấp (mô phỏng động tác gắp đồ vật)

while Góc_ xoay < 150 

Goc_xoay = Goc_xoay + 2

Xoay động cơ SERVO (5, Goc_xoay) .

Đợi 0.05 giây 

← Sử dụng biến nhớ Góc_xoay để điều khiển áanh tay robot từ từ nâng lên vị trí 150°. Biến nhớ góc xoay luôn bằng giá trị góc xoay hiện thời của động cơ 2.

while Goc_xoay > 90 

Goc_xoay = Goc_xoay - 2 

Xoay động cơ SERVO (5, Goc_ xoay)

Đợi 0.05 giây

← Sử dụng biến nhớ Goc_ xoay để điều khiển cánh tay robot từ từ hạ xuống vị trí 90°.

Xoay động cơ SERVO (6, 85)

Đợi 6.5 giây 

← Điều khiển tay gắp mở ra (mô phỏng động tác thả đồ vật).

Chương trình được viết bằng các lệnh mã giả như sau:

Giả sử tham số của hai động cơ như sau:

- Động cơ 1 kết nối tại công 5, có góc xoay từ 90° đến 150°. Góc 90° là hướng nằm ngang góc 150° là hướng lên trên.

- Động cơ 2 kết nối tại cổng 6, có góc quay từ 85° đến 100°. Đây là động cơ điều khiển cơ cấu gắp đồ vật: 85° là mở hai tay gắp, 100° là đóng hai tay gắp. Ban đầu

Trang 43

cần thiết lập động cơ 1 đến vị trí góc xoay 90° (hướng ngang), động cơ 2 đến vị trí góc 85° (hai tay gắp mở).

Chương trình sẽ lặp lại 10 lần thao tác gắp đồ vật như sau:

+ Hai tay của cơ cấu gắp đóng lại để gắp đồ vật.

+ Tay máy nâng dần vật lên đến góc 150°, sau đó tay máy hạ dần vật xuống vị trí ban đầu là 90°.

+ Hai tay thuộc cơ cấu gắp mở ra để thả đồ vật.

Hình 9.6 là đoạn chương trình trên được viết trên phần mềm GaraBlock để điều khiển cánh tay hai bậc của robot G-Robot.

hinh-anh-bai-9-dieu-khien-robot-chuyen-dong-13381-6

Thiết lập góc xoay của động cơ 1 tại góc 90°, góc xoay động cơ 2 tại 85°

Lặp 10 lần

Đóng hai tay gắp đồ vật tại 100°

Nâng đồ vật lên vị trí tương ứng 150°

Hạ đồ vật xuống vị tương ứng 90°

Cuối cùng mở hai tay gắp đồ vật để chuẩn bị cho lần tiếp theo

Hình 9.6. Chương trình điều khiển cánh tay hai bậc của robot G-Robot

Câu hỏi

1. Em hãy giải thích ý nghĩa của hai lệnh Đợi 0.5 giây trong chương trình ở Hình 9.6.

2. Em hãy cho biết hai lệnh thiết lập tham số ban đầu của động cơ tại cổng 5 và 6 trong chương trình ở Hình 9.6 có thể thay đổi vị trí được không.

LUYỆN TẬP

1. Em hãy viết chương trình bằng mã giả lập để điều khiển robot di chuyển theo cạnh của hình vuông cho trước theo chiều ngược kim đồng hồ.

2. Em hãy nêu sự khác biệt cơ bản giữa lập trình động cơ DC và động cơ servo.

VẬN DỤNG

1. Em hãy viết lại các chương trình điều khiển robot chuyển động được giới thiệu trong bài, sử dụng lệnh điều khiển từng động cơ M1 và M2.

2. Em hãy tìm hiểu thêm các kiểu kết nối ứng dụng khác của cánh tay robot hai bậc.

 

Tin tức mới


Đánh giá

Bài 9: Điều Khiển Robot Chuyển Động | 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.