Hệ thống truyền động#
Giới thiệu#
Hệ thống truyền động điều khiển cách robot VR di chuyển và xoay hướng. Hệ thống truyền động có thể tiến hoặc lùi, rẽ trái hoặc phải, xoay theo hướng mong muốn và theo dõi chuyển động quay của nó.
Có nhiều cách để lập trình hệ thống truyền động. Dưới đây là danh sách tất cả các khối lập trình hệ thống truyền động:
Thao tác — Di chuyển và xoay robot.
drive — Di chuyển robot tiến hoặc lùi mãi mãi.
lái cho — Di chuyển robot tiến hoặc lùi một khoảng cách cụ thể.
quay — Xoay robot sang trái hoặc phải mãi mãi.
quay một góc — Xoay robot sang trái hoặc phải một số độ cụ thể.
quay về hướng — Xoay robot để đối mặt với một hướng cụ thể.
quay theo hướng xoay — Xoay robot theo hướng xoay cụ thể.
dừng lái xe — Dừng chuyển động của robot.
Cài đặt — Điều chỉnh cài đặt hệ thống truyền động.
đặt tốc độ di chuyển — Cho robot biết tốc độ di chuyển.
đặt vận tốc quay — Cho robot biết tốc độ quay.
đặt hướng lái — Thay đổi hướng hiện tại của robot thành một hướng mới.
đặt hướng quay — Thay đổi hướng quay hiện tại của robot thành hướng quay mới.
đặt thời gian chờ điều khiển — Đặt số giây mà robot sẽ cố gắng hoàn thành một chuyển động.
Giá trị — Kiểm tra trạng thái di chuyển.
quá trình di chuyển đã hoàn tất — Báo cáo liệu robot đã hoàn thành việc di chuyển hay chưa.
động cơ đang di chuyển — Báo cáo xem robot có đang di chuyển hay không.
hướng lái — Báo cáo hướng hiện tại của robot từ 0 đến 359,99 độ.
quay chuyển động — Báo cáo hướng quay hiện tại của robot.
Hành động#
lái xe#
Khối lệnh drive cho phép robot di chuyển tiến hoặc lùi liên tục. Robot sẽ tiếp tục di chuyển cho đến khi nhận được lệnh khác, chẳng hạn như rẽ hoặc dừng lại.
lái [tiến v]
Thông số |
Sự miêu tả |
|---|---|
phương hướng |
Hướng di chuyển của robot: tiến hoặc lùi. |
Ví dụ
khi bắt đầu :: hat events
[Drive forward, then stop.]
lái [tiến v]
chờ (2) giây
dừng lái
lái xe cho#
Khối lệnh drive for cho phép robot di chuyển tiến hoặc lùi một khoảng cách nhất định. Chương trình sẽ chờ cho đến khi robot hoàn thành việc di chuyển trước khi khối lệnh tiếp theo trong chuỗi lệnh được thực thi.
lái [tiến v] trong (200) [mm v] ▶
Thông số |
Sự miêu tả |
|---|---|
phương hướng |
Hướng di chuyển của robot: tiến hoặc lùi. |
khoảng cách |
Quãng đường robot di chuyển. Đây có thể là số nguyên hoặc số thập phân. |
đơn vị |
Đơn vị đo khoảng cách: mm (milimét) hoặc inch |
và đừng chờ đợi |
Chọn mũi tên ( ▶ ) để mở rộng khối lệnh thành và đừng chờ, nhờ đó khối lệnh tiếp theo trong ngăn xếp sẽ chạy ngay lập tức. |
Ví dụ
khi bắt đầu :: hat events
[Drive forward.]
lái [tiến v] trong (500) [mm v] ▶
xoay#
Khối lệnh quay cho phép robot quay sang trái hoặc phải liên tục. Robot sẽ tiếp tục quay cho đến khi nhận được lệnh thực hiện hành động khác, chẳng hạn như di chuyển hoặc dừng lại.
quay [phải v]
Thông số |
Sự miêu tả |
|---|---|
phương hướng |
Hướng quay của robot: trái hoặc phải. |
Ví dụ
khi bắt đầu :: hat events
[Turn right, then stop.]
quay [phải v]
chờ (2) giây
dừng lái
rẽ sang#
Khối lệnh quay theo sẽ xoay robot sang trái hoặc phải một số độ cụ thể. Góc quay được tính tương đối so với vị trí hiện tại của robot. Chương trình sẽ chờ cho đến khi robot quay xong trước khi khối lệnh tiếp theo trong chuỗi lệnh được thực thi.
quay [phải v] trong (90) độ ▶
Thông số |
Sự miêu tả |
|---|---|
phương hướng |
Hướng quay của robot: trái hoặc phải. |
góc |
Số độ mà robot quay. Số này có thể là số nguyên hoặc số thập phân. |
và đừng chờ đợi |
Chọn mũi tên ( ▶ ) để mở rộng khối lệnh thành và đừng chờ, nhờ đó khối lệnh tiếp theo trong ngăn xếp sẽ chạy ngay lập tức. |
Ví dụ
khi bắt đầu :: hat events
[Turn left, then turn around to the right.]
quay [trái v] trong (90) độ ▶
quay [phải v] trong (180) độ ▶
quay đầu#
Hướng quay là hướng mà robot đang đối mặt, được đo bằng độ. Khối lệnh quay theo hướng quay sẽ xoay robot để quay theo một hướng cụ thể từ -359 đến 359 độ. Robot sẽ quay theo hướng ngắn nhất để đạt được hướng quay mục tiêu.
Hướng ban đầu là 0 độ.
Dự án sẽ chờ cho đến khi robot quay xong trước khi khối lệnh tiếp theo trong chuỗi được thực thi.
quay đến hướng (90) độ ▶
Thông số |
Sự miêu tả |
|---|---|
tiêu đề |
Hướng mà robot nên quay, từ -359 đến 359 độ. |
và đừng chờ đợi |
Chọn mũi tên ( ▶ ) để mở rộng khối lệnh thành và đừng chờ, nhờ đó khối lệnh tiếp theo trong ngăn xếp sẽ chạy ngay lập tức. |
Ví dụ
khi bắt đầu :: hat events
[Turn to face the cardinal directions.]
quay đến hướng (90) độ ▶
chờ (2) giây
quay đến hướng (180) độ ▶
chờ (2) giây
quay đến hướng (270) độ ▶
chờ (2) giây
quay đến hướng (0) độ ▶
chờ (2) giây
xoay#
Khối lệnh quay để điều chỉnh hướng quay cho phép robot quay theo một hướng cụ thể.
Góc quay là mức độ robot đã quay, được đo bằng độ. Khi bắt đầu một dự án, giá trị góc quay được đặt là 0 độ. Góc quay cũng có thể được đặt bằng cách sử dụng khối set drive rotation.
Các giá trị xoay là tuyệt đối. Điều này có nghĩa là hướng quay phụ thuộc vào góc xoay hiện tại của robot. Xoay sang phải sẽ làm tăng góc xoay, và xoay sang trái sẽ làm giảm góc xoay.
Ví dụ, nếu robot bắt đầu ở 0 độ và bạn xoay nó một góc 720 độ, nó sẽ quay sang phải hai lần. Nếu sau đó bạn xoay nó một góc 360 độ, nó sẽ quay sang trái một lần, vì 360 nhỏ hơn 720.
Dự án sẽ chờ cho đến khi robot quay xong trước khi khối lệnh tiếp theo trong chuỗi được thực thi.
quay đến góc quay (90) độ ▶
Thông số |
Sự miêu tả |
|---|---|
xoay |
Giá trị góc quay, tính bằng độ, mà robot sẽ quay tới. Giá trị này có thể là số nguyên hoặc số thập phân. |
và đừng chờ đợi |
Chọn mũi tên ( ▶ ) để mở rộng khối lệnh thành và đừng chờ, nhờ đó khối lệnh tiếp theo trong ngăn xếp sẽ chạy ngay lập tức. |
Ví dụ
khi bắt đầu :: hat events
[Turn left, then spin in a circle clockwise and face right.]
quay đến góc quay (-90) độ ▶
chờ (2) giây
quay đến góc quay (450) độ ▶
dừng lái xe#
Khối lệnh dừng di chuyển sẽ dừng chuyển động của robot.
dừng lái
Thông số |
Sự miêu tả |
|---|---|
Khối này không có tham số. |
Ví dụ
khi bắt đầu :: hat events
[Drive forward, then stop.]
lái [tiến v]
chờ [4] giây
dừng lái
Cài đặt#
đặt tốc độ truyền động#
Khối lệnh thiết lập tốc độ di chuyển cho robot biết tốc độ di chuyển mong muốn. Tỷ lệ phần trăm càng cao thì robot càng di chuyển nhanh hơn, và tỷ lệ phần trăm càng thấp thì robot càng di chuyển chậm hơn.
Mỗi dự án đều bắt đầu với việc robot di chuyển ở tốc độ mặc định là 50%.
Lưu ý: Vận tốc cao hơn giúp robot di chuyển nhanh hơn, nhưng có thể kém chính xác hơn. Vận tốc thấp hơn giúp robot di chuyển chậm hơn, nhưng có thể chính xác hơn.
đặt vận tốc lái thành (50) [% v]
Thông số |
Sự miêu tả |
|---|---|
vận tốc |
Tốc độ lái xe từ 0% đến 100%. |
đơn vị |
Đơn vị vận tốc: % |
Ví dụ
khi bắt đầu :: hat events
[Drive forward at the default velocity.]
lái [tiến v] trong (100) [mm v] ▶
chờ (1) giây
[Move slower.]
đặt vận tốc lái thành (20) [% v]
lái [tiến v] trong (100) [mm v] ▶
chờ (1) giây
[Move faster.]
đặt vận tốc lái thành (100) [% v]
lái [tiến v] trong (100) [mm v] ▶
chờ (1) giây
đặt tốc độ quay#
Khối lệnh thiết lập tốc độ quay cho robot biết tốc độ quay. Tỷ lệ phần trăm càng cao thì robot quay càng nhanh và tỷ lệ phần trăm càng thấp thì robot quay càng chậm.
Mỗi dự án đều bắt đầu với việc robot quay ở tốc độ 50% theo mặc định.
Lưu ý: Vận tốc cao hơn làm cho robot quay nhanh hơn, nhưng có thể kém chính xác hơn. Vận tốc thấp hơn làm cho robot quay chậm hơn, nhưng có thể chính xác hơn.
đặt vận tốc quay thành (50) [% v]
Thông số |
Sự miêu tả |
|---|---|
vận tốc |
Tốc độ quay từ 0% đến 100%. |
đơn vị |
Đơn vị vận tốc: % |
Ví dụ
khi bắt đầu :: hat events
[Turn at default velocity.]
quay [phải v] trong (100) độ ▶
chờ (1) giây
[Turn slower.]
đặt vận tốc quay thành (20)%
quay [phải v] trong (100) độ ▶
chờ (1) giây
[Turn faster.]
đặt vận tốc quay thành (100)%
quay [phải v] trong (100) độ ▶
chờ (1) giây
đặt hướng lái#
Hướng di chuyển là hướng mà robot đang đối mặt, được đo bằng độ. Khối lệnh set drive heading thay đổi hướng di chuyển hiện tại của robot thành một giá trị hướng di chuyển mới.
Ví dụ, nếu robot đã quay mặt sang phải, việc đặt hướng quay về 0 độ sẽ biến vị trí quay mặt sang phải đó thành 0 độ mới. Sau đó, robot có thể quay đến các vị trí khác dựa trên hướng quay mới đó.
đặt hướng lái thành (0) độ
Thông số |
Sự miêu tả |
|---|---|
tiêu đề |
Giá trị hướng, tính bằng độ, cần thiết lập cho robot. |
Ví dụ
khi bắt đầu :: hat events
[Turn to the left.]
đặt hướng lái thành (90) độ
quay đến hướng (0) độ ▶
thiết lập vòng quay ổ đĩa#
Góc quay là mức độ robot đã xoay, được đo bằng độ. Khi bắt đầu một dự án, giá trị góc quay được đặt là 0 độ. Khối lệnh set drive rotation sẽ thay đổi góc quay hiện tại của robot thành một giá trị mới.
Ví dụ, nếu robot đã quay hai vòng hoàn chỉnh sang phải, giá trị góc quay của nó sẽ là 720 độ. Việc đặt góc quay về 0 độ sẽ thiết lập lại góc quay từ 720 độ về 0 độ. Sau đó, robot có thể quay theo các hướng dựa trên giá trị mới đó.
đặt góc quay lái thành (0) độ
Thông số |
Sự miêu tả |
|---|---|
xoay |
Giá trị góc quay, tính bằng độ, cần thiết lập cho robot. Giá trị này có thể là số nguyên hoặc số thập phân. |
Ví dụ
khi bắt đầu :: hat events
[Spin counterclockwise two times.]
đặt góc quay lái thành (720) độ
quay đến góc quay (0) độ ▶
đặt thời gian chờ ổ đĩa#
Khối lệnh set drive timeout thiết lập số giây mà robot sẽ cố gắng hoàn thành một chuyển động. Nếu robot không thể hoàn thành trong thời gian đó, nó sẽ ngừng cố gắng và chuyển sang khối lệnh tiếp theo trong ngăn xếp. Điều này giúp robot không bị kẹt trong một chuyển động.
đặt thời gian chờ lái thành (1) giây
Thông số |
Sự miêu tả |
|---|---|
thời gian |
Số giây mà robot có thể cố gắng hoàn thành một chuyển động. Số này có thể là số nguyên hoặc số thập phân. |
Ví dụ
khi bắt đầu :: hat events
[Drive forward for 1 second, then turn.]
đặt thời gian chờ lái thành (1) giây
lái [tiến v] trong (25) [inch v] ▶
quay [phải v] trong (90) độ ▶
Giá trị#
Chuyến đi đã kết thúc#
Khối lệnh Boolean drive is done báo cáo liệu robot đã hoàn thành việc di chuyển hay chưa. Điều này có thể được sử dụng để điều khiển thời gian của các hành vi khác dựa trên chuyển động của robot.
Đúng — Robot đã hoàn thành việc di chuyển.
Sai — Robot vẫn đang di chuyển.
Khối này hoạt động cùng với các khối hệ thống truyền động có tham số và không chờ.
<đã xong lái?>
Thông số |
Sự miêu tả |
|---|---|
Khối này không có tham số. |
Ví dụ
khi bắt đầu :: hat events
[Start spinning when the drive is complete.]
lái [tiến v] trong (200) [mm v] ◀ và không chờ
chờ cho đến khi <đã xong lái?>
quay [phải v] trong (360) độ ▶
ổ đĩa đang di chuyển#
Khối lệnh Boolean drive is moving báo cáo liệu robot có đang di chuyển hay không. Điều này có thể được sử dụng để điều khiển thời gian của các hành vi khác dựa trên chuyển động của robot.
Đúng — Robot đang di chuyển.
Sai — Robot không di chuyển.
Khối này hoạt động cùng với các khối hệ thống truyền động có tham số và không chờ.
<đang lái?>
Thông số |
Sự miêu tả |
|---|---|
Khối này không có tham số. |
Ví dụ
khi bắt đầu :: hat events
[Print that the robot is moving while it is still driving.]
lái [tiến v] trong (200) [mm v] ◀ và không chờ
trong khi <đang lái?>
in [Still Moving...] ▶
chờ (0.1) giây
xóa màn hình
fin
in [Done!] ▶
lái xe hướng#
Hướng di chuyển là hướng mà robot đang đối mặt, được đo bằng độ. Khối báo cáo hướng di chuyển hiển thị hướng di chuyển từ 0 đến 359,99 độ.
Hướng di chuyển ban đầu của robot là 0 độ.
(hướng lái tính bằng độ)
Thông số |
Sự miêu tả |
|---|---|
Khối này không có tham số. |
Ví dụ
khi bắt đầu :: hat events
[Display the heading after turning.]
quay [phải v] trong (450) độ ▶
in (hướng lái tính bằng độ) trên màn hình ◀ và đặt con trỏ xuống hàng tiếp theo
sự quay của ổ đĩa#
Góc quay là mức độ robot đã xoay, được đo bằng độ. Khi bắt đầu một dự án, giá trị góc quay được đặt là 0 độ. Khối báo cáo góc quay truyền động sẽ báo cáo góc quay hiện tại của robot.
Rẽ phải sẽ làm tăng góc quay, và rẽ trái sẽ làm giảm góc quay. Ví dụ, quay hai vòng đầy đủ sang phải sẽ cho kết quả góc quay là 720 độ.
(góc quay lái tính bằng độ)
Thông số |
Sự miêu tả |
|---|---|
Khối này không có tham số. |
Ví dụ
khi bắt đầu :: hat events
[Display the rotation after turning.]
quay [phải v] trong (450) độ ▶
in (góc quay lái tính bằng độ) trên màn hình ◀ và đặt con trỏ xuống hàng tiếp theo