Hệ thống truyền động#
Giới thiệu#
Robot VEX IQ (thế hệ thứ 2) sử dụng hệ thống truyền động để di chuyển và xoay hướng. Hệ thống truyền động bao gồm các động cơ và bánh xe hoạt động cùng nhau để di chuyển robot.
Hệ thống truyền động được cấu hình có thể sử dụng Cảm biến con quay hồi chuyển, Cảm biến quán tính tích hợp sẵn của Brain, hoặc không sử dụng cảm biến nào. Khi sử dụng cảm biến, hệ thống truyền động sẽ sử dụng nó để giúp robot di chuyển và quay chính xác. Khi bắt đầu mỗi dự án, hệ thống truyền động sẽ tự động hiệu chỉnh cảm biến. Giữ robot đứng yên trong khoảng 2 giây trong quá trình hiệu chỉnh để robot có thể di chuyển và quay chính xác.
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 theo hướng — Xoay robot để hướng về một hướng cụ thể từ -359 đến 359 độ. Robot sẽ quay theo hướng ngắn nhất để đạt được hướng mục tiêu.
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.
set drive stopping — Cho biết robot sẽ dừng chuyển động như thế nào: bằng cách phanh, trượt hoặc giữ nguyên.
đặ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.
đặ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.
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 độ.
quay chuyển động — Báo cáo hướng quay hiện tại của robot.
vận tốc di chuyển — Cho biết tốc độ di chuyển của robot.
dòng điện truyền động — Cho biết lượng dòng điện mà hệ thống truyền động đang sử dụng.
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
[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
[Drive backward 500 mm (millimeters).]
lái [lùi 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
[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
[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 di chuyển ban đầu của robot 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 mặt, tính bằng độ. Giá trị này có thể là số nguyên hoặc số thập phân 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
[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.
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
[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
[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 vận tốc di chuyển cho robot biết tốc độ di chuyển. Vận tốc cao hơn sẽ làm cho robot di chuyển nhanh hơn và vận tốc thấp hơn sẽ làm cho robot 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% khi sử dụng %. rpm (vòng/phút) sử dụng các giá trị từ 0 đến 120. |
đơn vị |
Đơn vị đo: % hoặc rpm (vòng/phút). |
Ví dụ
khi bắt đầu
[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 vận tốc quay cho robot biết tốc độ quay. Vận tốc càng cao thì robot quay càng nhanh, còn vận tốc 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% khi sử dụng %. rpm (vòng/phút) sử dụng các giá trị từ 0 đến 120. |
đơn vị |
Đơn vị đo: % hoặc rpm (vòng/phút). |
Ví dụ
khi bắt đầu
[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) [% v]
quay [phải v] trong (100) độ ▶
chờ (1) giây
[Turn faster.]
đặt vận tốc quay thành (100) [% v]
quay [phải v] trong (100) độ ▶
chờ (1) giây
đặt dừng truyền động#
Khối lệnh set drive stopping thiết lập cách robot sẽ dừng chuyển động: bằng cách phanh, chạy trượt hoặc giữ nguyên vị trí.
đặt chế độ dừng lái thành [phanh v]
Thông số |
Sự miêu tả |
|---|---|
hành vi dừng lại |
Cách robot sẽ dừng lại:
|
Nếu khối lệnh này không được sử dụng, robot sẽ sử dụng phanh khi dừng lại.
Ví dụ
khi bắt đầu
[Drive forward and coast to a stop.]
đặt vận tốc lái thành (100) [% v]
đặt chế độ dừng lái thành [trôi v]
lái [tiến v]
chờ (2) giây
dừng lái
đặ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
[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) độ ▶
đặ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ị 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 từ 0 đến 359. |
Ví dụ
khi bắt đầu
[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
[Spin counterclockwise two times.]
đặt góc quay lái thành (720) độ
quay đến góc quay (0) độ ▶
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 Drivetrain sau có tham số và không chờ: lái trong, quay trong, quay theo hướng và quay theo vòng quay.
<đã 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
[Start spinning when the drive is complete.]
lái [tiến v] trong (200) [mm v] ◀ và không chờ
mãi mãi
nếu <đã xong lái?> thì
quay [phải v] trong (360) độ ▶
thoát vòng lặp
nếu không
đặt con trỏ đến hàng (1) cột (1) trên màn hình
in [Still Moving...] trên màn hình ▶
chờ (0.1) giây
xóa màn hình
ổ đĩ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 Drivetrain sau có tham số và không chờ: lái trong, quay trong, quay theo hướng và quay theo vòng quay.
<đ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
[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?>
đặt con trỏ đến hàng (1) cột (1) trên màn hình
in [Still Moving...] trên màn hình ▶
chờ (0.1) giây
xóa màn hình
fin
đặt con trỏ đến hàng (1) cột (1) trên màn hình
in [Done!] trên màn hình ▶
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 hiện tại của robot từ 0 đến 359 độ.
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
[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
[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
tốc độ lái#
Khối báo cáo vận tốc di chuyển cho biết robot đang di chuyển nhanh như thế nào.
Nó có thể hiển thị vận tốc dưới dạng phần trăm từ -100% đến 100%, hoặc theo vòng/phút (rpm) từ -127 đến 127. Giá trị dương có nghĩa là robot đang di chuyển về phía trước. Giá trị âm có nghĩa là robot đang di chuyển về phía sau.
(vận tốc lái tính bằng [% v])
Thông số |
Sự miêu tả |
|---|---|
đơn vị |
Đơn vị dùng để báo cáo vận tốc truyền động là: % (từ -100% đến 100%) hoặc rpm (vòng/phút, từ -127 đến 127). |
Ví dụ
khi bắt đầu
[Display the velocity as the robot is moving.]
lái [tiến v]
chờ (1) giây
in (vận tốc lái tính bằng [% v]) trên màn hình ◀ và đặt con trỏ xuống hàng tiếp theo
dừng lái
dòng điện dẫn động#
Khối báo cáo dòng điện truyền động cho biết lượng dòng điện mà hệ thống truyền động đang sử dụng, được đo bằng ampe (ampe) từ 0,0 đến 1,2 A. Dòng điện là lượng điện năng chảy qua hệ thống truyền động.
Giá trị dòng điện cao hơn có nghĩa là hệ thống truyền động đang sử dụng nhiều dòng điện hơn. Điều này có thể xảy ra khi robot đang đẩy vào một vật thể hoặc cố gắng di chuyển khi bị kẹt.
Điều này có thể được sử dụng để kiểm tra xem hệ thống truyền động có gặp khó khăn trong quá trình vận hành hay không. Nếu dòng điện vẫn cao, hệ thống truyền động có thể bị nóng lên hoặc sử dụng năng lượng kém hiệu quả hơn.
(dòng điện lái tính bằng [amps v])
Thông số |
Sự miêu tả |
|---|---|
Khối này không có tham số. |
Ví dụ
khi bắt đầu
[Display the current as the robot is moving.]
đặt độ chính xác in thành [0.01 v] trên màn hình
lái [tiến v]
chờ (1) giây
in (dòng điện lái tính bằng [amps v]) trên màn hình ◀ và đặt con trỏ xuống hàng tiếp theo
dừng lái