Bài 6: Chương Trình Điều Khiển Robot | Chuyên đề học tập Tin học 10 (Định hướng khoa học máy tính) | Chuyên Đề 2: Kết Nối Robot Với Máy Tính - 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 6: Chương Trình Điều Khiển Robot - Phân tích cấu trúc và nguyên lí hoạt động của các chương trình lập trình robot.


Trang 28

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

- Biết cách thiết lập và kiểm tra chương trình điều khiển robot.

- Biết cấu trúc chung của một chương trình điều khiển robot.

Khởi động

Em đã biết muốn điều khiển robot thì cần viết chương trình. Một chương trình điều khiển robot có đặc điểm gì? Cấu trúc một chương trình như thế nào? Bài học này sẽ giúp các em thiết lập được chương trình để điều khiển robot.

1. Thiết lập chương trình điều khiển robot

Hoạt động 1 Cách thiết lập chương trình điều khiển robot
Đọc, quan sát và tìm hiểu các bước đầu tiên thiết lập chương trình điều khiển robot.

a) Ngôn ngữ lập trình

Nói chung, các phần mềm lập trình điều khiển robot đều cho phép sử dụng một số ngôn ngữ lập trình bậc cao như C++, Python,... hoặc lập trình kéo thả để viết các chương trình điều khiển. Hình 6.1 là giao diện phần mềm GaraBlock lập trình điều khiển cho bảng mạch điều khiển G-Robot.

hinh-anh-bai-6-chuong-trinh-dieu-khien-robot-13378-0

Hình 6.1. Giao diện phần mềm GaraBlock

Trang 29

b) Thiết lập chương trình đầu tiên

Chúng ta sẽ thiết lập một chương trình đơn giản bằng cách kéo thả vào màn hình để tạo hai khối lệnh như Hình 6.2. Khối thứ nhất bao gồm các lệnh được thực hiện bốn lần phía sau khối lệnh Khởi động chương trình. Khối thứ hai nằm trong vòng lặp vô tận.
hinh-anh-bai-6-chuong-trinh-dieu-khien-robot-13378-1

Khối thứ nhất (Khởi động chương trinh) gồm lệnh lặp bốn lần hành động đi thẳng với tốc độ 100 trong một giây.

Khối thứ hai (Lặp lại vô tận) gồm lệnh lặp vô tận hành động đi thẳng với tốc độ 100 trong một giây và bật còi trong một giây sau đó tắt cõi.

Hình 6.2. Chương trình đầu tiên

Câu hỏi

1. Trong chương trình ở Hình 6.2, nếu bỏ 5 câu lệnh nằm trong vòng lặp vô tận (trong khối lệnh thứ hai) ra ngoài vòng lặp vô tận thì chương trinh sẽ chạy như thế nào?

2. Vì sao 5 câu lệnh trong khối lệnh thứ hai ở Hình 6.2 cần phải đưa vào trong vòng lặp vô tận?

2. Cấu trúc chương trình điều khiển robot

Hoạt động 2 Tìm hiểu cấu trúc chương trình điều khiển robot
Đọc, quan sát và tìm hiểu cấu trúc chung của các chương trình điều khiển robot.


Trước hết cần phân biệt sự khác nhau giữa việc thực hiện chương trình trên máy tính và chương trình điều khiển robot. Với chương trình thực hiện trên máy tính, toàn bộ chương trình và dữ liệu thường được đưa vào bộ nhớ và thực hiện lần lượt các lệnh, chương trình chủ động yêu cầu khi cần thông tin từ thiết bị vào (bàn phím, chuột,...). Với robot, chương trình điều khiển phải thường xuyên chờ để tiếp nhận thông tin vào (tín hiệu thu được từ các cảm biến, nút bấm,...) và xử lí để điều khiển các cơ cấu chấp hành (động cơ, tay nâng...) và phụ kiện tiếp nhận điều khiển (cõi, màn hình,...) gần như tức thời, cho nên cấu trúc và thực hiện chương trình khác chương trình thực hiện trên máy tính.

Các chương trình điều khiển robot thường có hai khối lệnh như Hình 6.3.

hinh-anh-bai-6-chuong-trinh-dieu-khien-robot-13378-2

Khối lệnh này thực hiện khi khởi động chương trình và chạy một lần.

Khối lệnh này thực hiện lập vô tận dùng để xử lí tín hiệu nhận từ bên ngoài.

Hình 6.3. Cấu trúc chương trình điều khiển robot

Trang 29

– Khối lệnh thứ nhất sẽ được thực hiện một lần ngay sau khi nạp chương trình vào bộ nhớ của robot hoặc mỗi khi bật công tắc nguồn của bộ nhớ.

– Khối lệnh nằm trong vòng lặp vô tận thường là những lệnh thu nhận thông tin vào từ cảm biến hoặc phụ kiện (như bẫm nút hoặc nhận sóng hồng ngoại từ vì điều khiển). Các lệnh này sẽ xử lí thông tin nhận được và chuyển điều khiển đến các cơ cấu chấp hành và các phụ kiện tiếp nhận điều khiển theo yêu cầu của chương trình.

Ví dụ 1. Robot tự hành, khi thấy vật cản phía trước thì dừng lại. Như vậy khi bắt đầu chương trình chúng ta thiết lập lệnh cho robot chuyển động. Trong vòng lặp vô tận cần luôn thực hiện kiểm tra nếu thấy vật cản phía trước thì dừng lại.

Ví dụ 2. Robot dò đường, tự động tim đường đi trên sa bàn. Khi bắt đầu chương trình cần thiết lập lệnh cho robot chuyển động. Trong vòng lặp vô tận cần luôn kiểm tra dò đường, nếu thấy lệch khỏi đường đi thì điều chỉnh robot quay trái hoặc quay phải để đảm bảo đi đúng theo đường đã vạch ra trên sa bàn.

Câu hỏi

Nếu thay vòng lặp vô tận trong sơ đồ ở Hình 6.3 bằng vòng lặp hữu hạn thì chương trình còn đúng không?

3. Lập trình điều khiển robot

Hoạt động 3 Tìm hiểu mô hình mã giả chương trình điều khiển robot
Đọc, quan sát và tìm hiểu cách viết chương trình điều khiển robot qua hệ thống mã già (pseudocode).


Để có thể mô tả chung chương trình điều khiển cho các loại robot khác nhau chúng ta sẽ không sử dụng một ngôn ngữ lập trình cụ thể mà thiết lập một hệ thống mã giả đơn giản và dễ hiểu. Bảng 6.1 mô tả các lệnh mã giả cơ bản. Các lệnh điều khiển các cơ cấu cảm biến và chấp hành sẽ được học trong các bài tiếp theo.

Bảng 6.1. Mô tả các lệnh mã giả cơ bản

                     Lệnh            Mô tả bằng mã giá                      Ý nghĩa
Khởi động chương trình Khởi động chương trình
<các lệnh>
<các lệnh> được thực hiện khi chạy chương trình.
Lệnh gán <biến nhớ> = <giá trị>  Định nghĩa và gán giá trị cho biến nhớ.
Lệnh rẽ nhánh, dạng thiếu if <điều kiện>
<các lệnh>
Nếu <điều kiện> đúng thì thực hiện <các lệnh>.
Lệnh rẽ nhánh, dạng đầy đủ if <điều kiện>
<nhóm lệnh 1>

else
<nhóm lệnh 2>
Nếu <điều kiện> đúng thì thực hiện <nhóm lệnh 1>, trái lại thực hiện <nhóm lệnh 2>.
Lệnh lặp vô tận forever forever
<các lệnh>
<nhóm lệnh> được thực hiện lặp vô tận.

 

Trang 31

                     Lệnh            Mô tả bằng mã giá                      Ý nghĩa
Lệnh lặp hữu hạn repeat  repeat <số lần lặp>
<nhóm lệnh>
<các lệnh> được thực hiện khi chạy chương trình.
Lệnh lặp hữu hạn for for <biến> = <giá trị đầu> to <giá trị cuối> Cho biến nhớ <biến> lần lượt gán từ giá trị từ <giá trị đầu> cho đến <giá trị cuối>, mỗi lần gần sẽ thực hiện <nhóm lệnh>.
Lệnh lặp có điều kiện dừng, kiểm tra trước while  while <điều kiện>
<nhóm lệnh>
Kiểm tra liên tục nếu <điều kiện> đúng thì thực hiện <các lệnh>.
Dừng toàn bộ chương trình  stop Dừng toàn bộ chương trình.

 

Lưu ý: Một số bảng mạch không hỗ trợ lệnh dừng toàn bộ stop.

Ví dụ chương trình điều khiển bảng mạch G-Robot ở Hình 6.2 có thể mô tả lại bằng mã giả như sau:

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

repeat 4

Đi thẳng (100)

Đợi 1 giây

forever

Đi thẳng (100)

Đợi 1 giây

Bật còi

Đợi 1 giây

Tắt còi

Câu hỏi

1. Vì sao nhóm lệnh lặp vô tận phải đặt ở cuối chương trình?

2. Em hãy viết chương trình bằng mã giả để điều khiển G-Robot luôn đi thẳng với tốc độ 100 trong 1 giây và xoay trái với tốc độ 100 trong 0.5 giây.

LUYỆN TẬP

1. Khi robot hoạt động theo chương trình đã nạp chưa đúng như mong muốn thì cần phải làm gi?

2. Robot nhận các tín hiệu từ bên ngoài như thế nào? Em hãy trình bày cơ chế nhận các thông tin đó.

VẬN DỤNG

Em hãy viết chương trình bằng mã giả điều khiển G-Robot thực hiện:

- Khi bắt đầu chương trình G-Robot sẽ bật còi trong 1 giây rồi tắt còi. Quá trình bật tắt còi lặp lại 3 lần.

- Sau đó, G-Robot luôn đi thẳng với tốc độ 100 trong 1 giây và đi lùi với tốc độ 100 trong 2 giây.

Tin tức mới


Đánh giá

Bài 6: Chương Trình Điều Khiển Robot | Chuyên đề học tập Tin học 10 (Định hướng khoa học máy tính) | Chuyên Đề 2: Kết Nối Robot Với Máy Tính - 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.