Cử động#
Giới thiệu#
Động cơ điều khiển cách các bộ phận của robot di chuyển. Động cơ có thể được sử dụng để nâng cánh tay, xoay càng, quay bánh xe hoặc di chuyển một bộ phận khác của cấu trúc. Hai động cơ có thể hoạt động cùng nhau như một hệ thống truyền động để di chuyển và xoay toàn bộ robot.
Mỗi động cơ được cấu hình trong cửa sổ Thiết bị. Tùy thuộc vào phiên bản, tên và hướng quay của động cơ có thể thay đổi. Ví dụ, phiên bản Competition Advanced 2.0 có một động cơ tên là ArmMotor, với hướng quay lên và xuống. Một robot tùy chỉnh có thể sử dụng tên hoặc hướng quay động cơ khác nhau.
Theo mặc định, chế độ tiến sẽ làm động cơ quay ngược chiều kim đồng hồ, và chế độ lùi sẽ làm động cơ quay theo chiều kim đồng hồ. Nếu động cơ được thiết lập để quay ngược chiều trong cửa sổ Thiết bị, hướng quay sẽ được đảo ngược.
Có rất nhiều cách để lập trình động cơ. Dưới đây là danh sách tất cả các khối điều khiển chuyển động:
Thao tác — Dừng và quay động cơ.
động cơ quay — Quay động cơ tiến hoặc lùi mãi mãi.
quay động cơ trong — Quay động cơ trong một khoảng cách cụ thể.
quay động cơ đến vị trí — Quay động cơ đến một vị trí cụ thể.
dừng động cơ — Dừng động cơ quay.
Cài đặt — Điều chỉnh cài đặt động cơ.
đặt vị trí động cơ — Thay đổi vị trí hiện tại của động cơ thành một giá trị mới.
đặt tốc độ động cơ — Cho động cơ biết tốc độ quay.
đặt dừng động cơ — Đặt cách động cơ sẽ dừng chuyển động: bằng cách phanh, chạy tự do hoặc giữ nguyên.
đặt mô-men xoắn tối đa của động cơ — Đặt lực đẩy tối đa mà động cơ được phép tạo ra khi quay.
đặt thời gian chờ động cơ — Đặt số giây mà động cơ sẽ cố gắng hoàn thành một chuyển động.
Giá trị — Kiểm tra trạng thái động cơ.
động cơ đã hoàn thành — Báo cáo liệu động cơ đã ngừng chuyển động hay chưa.
động cơ có đang quay không? — Cho biết động cơ có đang quay hay không.
vị trí động cơ — Báo cáo vị trí hiện tại của động cơ.
vận tốc động cơ — Cho biết tốc độ quay của động cơ, dưới dạng phần trăm từ -100% đến 100%.
dòng điện động cơ — Cho biết lượng điện năng mà động cơ đang sử dụng từ pin, dưới dạng phần trăm từ 0% đến 100%.
Hành động#
động cơ quay#
Khối lắp ghép động cơ quay cho phép động cơ quay tiến hoặc lùi liên tục. Động cơ sẽ tiếp tục quay cho đến khi nhận được một thao tác khác, chẳng hạn như quay theo hướng khác hoặc dừng lại.
quay [ArmMotor v] [lên v]
Thông số |
Sự miêu tả |
|---|---|
động cơ |
Động cơ cần quay. Chọn từ các động cơ đã được cấu hình trong cửa sổ Thiết bị. |
phương hướng |
Hướng quay của động cơ. Theo mặc định, các lựa chọn là tiến và lùi. Các lựa chọn hướng quay có thể thay đổi tùy thuộc vào cấu hình của động cơ. |
Ví dụ
khi bắt đầu :: hat events
[Build Used: Competition Advanced 2.0]
[Raise the ArmMotor, then stop.]
quay [ArmMotor v] [lên v]
chờ [1] giây
dừng [ArmMotor v]
động cơ quay cho#
Khối quay động cơ cho khối xếp chồng sẽ quay một động cơ một khoảng cách nhất định. Khoảng cách quay này tương đối so với vị trí hiện tại của động cơ. Dự án sẽ chờ cho đến khi động cơ quay xong trước khi khối tiếp theo trong chuỗi hoạt động.
quay [ArmMotor v] [lên v] trong [90] [độ v] ▶
Thông số |
Sự miêu tả |
|---|---|
động cơ |
Động cơ cần quay. Chọn từ các động cơ đã được cấu hình trong cửa sổ Thiết bị. |
phương hướng |
Hướng quay của động cơ. Theo mặc định, các lựa chọn là tiến và lùi. Các lựa chọn hướng quay có thể thay đổi tùy thuộc vào cấu hình của động cơ. |
khoảng cách |
Quãng đường động cơ quay. Độ sử dụng số nguyên. Số vòng quay có thể sử dụng số nguyên hoặc số thập phân. |
đơn vị |
Đơn vị đo khoảng cách: độ hoặc quay vòng. |
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
[Build Used: Competition Advanced 2.0]
[Raise and lower the ArmMotor.]
quay [ArmMotor v] [lên v] trong [180] [độ v] ▶
chờ [1] giây
quay [ArmMotor v] [xuống v] trong [180] [độ v] ▶
quay động cơ để định vị#
Khối xếp chồng quay động cơ để định vị sẽ quay động cơ đến một vị trí cụ thể.
Vị trí của động cơ là khoảng cách nó đã quay, được đo bằng độ hoặc vòng quay. Một vòng quay bằng 360 độ. Khi bắt đầu một dự án, vị trí của động cơ được đặt là 0 độ. Vị trí của động cơ cũng có thể được đặt bằng cách sử dụng khối set motor position.
Các giá trị vị trí là tuyệt đối. Điều này có nghĩa là hướng quay phụ thuộc vào vị trí hiện tại của động cơ.
quay [ArmMotor v] đến vị trí (90) [độ v] ▶
Thông số |
Sự miêu tả |
|---|---|
động cơ |
Động cơ cần quay. Chọn từ các động cơ đã được cấu hình trong cửa sổ Thiết bị. |
chức vụ |
Giá trị vị trí mà động cơ sẽ quay tới. Độ sử dụng số nguyên. Số vòng quay có thể sử dụng số nguyên hoặc số thập phân. |
đơn vị |
Đơn vị vị trí: độ hoặc vòng quay. |
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
[Build Used: Competition Advanced 2.0]
[Return ArmMotor to 0 degrees after raising.]
quay [ArmMotor v] [lên v] trong [180] [độ v] ▶
chờ [1] giây
quay [ArmMotor v] đến vị trí [0] [độ v] ▶
dừng động cơ#
Khối chặn động cơ (stop motor stack block) giúp dừng động cơ quay.
dừng [ArmMotor v]
Thông số |
Sự miêu tả |
|---|---|
động cơ |
Động cơ cần dừng. Chọn từ các động cơ đã được cấu hình trong cửa sổ Thiết bị. |
Ví dụ
khi bắt đầu :: hat events
[Build Used: Competition Advanced 2.0]
[Raise the ArmMotor.]
quay [ArmMotor v] [lên v]
chờ [1] giây
dừng [ArmMotor v]
Cài đặt#
đặt vị trí động cơ#
Vị trí của động cơ được xác định bằng độ quay, tính bằng độ hoặc vòng quay. Một vòng quay tương đương với 360 độ. Khối lệnh đặt vị trí động cơ thay đổi vị trí hiện tại của động cơ thành một giá trị mới.
Ví dụ, nếu một động cơ đã quay đến 180 độ, việc đặt vị trí về 0 độ sẽ thiết lập lại vị trí đó từ 180 độ về 0 độ. Sau đó, động cơ có thể quay đến các vị trí dựa trên giá trị mới đó.
đặt vị trí [ArmMotor v] thành (0) [độ v]
Thông số |
Sự miêu tả |
|---|---|
động cơ |
Chọn động cơ để thiết lập vị trí. Chọn từ các động cơ đã được cấu hình trong cửa sổ Thiết bị. |
chức vụ |
Giá trị vị trí cần thiết lập cho động cơ. Độ sử dụng số nguyên. Số vòng quay có thể sử dụng số nguyên hoặc số thập phân. |
đơn vị |
Đơn vị vị trí: độ hoặc vòng quay. |
Ví dụ
khi bắt đầu :: hat events
[Build Used: Competition Advanced 2.0]
[Return ArmMotor to 0 degrees after raising.]
đặt vị trí [ArmMotor v] thành [0] [độ v]
quay [ArmMotor v] [lên v] trong [180] [độ v] ▶
chờ [1] giây
quay [ArmMotor v] đến vị trí [0] [độ v] ▶
đặt tốc độ động cơ#
Khối lệnh thiết lập tốc độ quay động cơ cho biết tốc độ quay của động cơ. Tỷ lệ phần trăm càng cao thì động cơ quay càng nhanh, và tỷ lệ phần trăm càng thấp thì động cơ quay càng chậm.
Mỗi dự án đều bắt đầu với việc mỗi động cơ quay ở tốc độ 50% theo mặc định.
Lưu ý: Tốc độ cao hơn làm cho động cơ quay nhanh hơn, nhưng có thể kém chính xác hơn. Tốc độ thấp hơn làm cho động cơ quay chậm hơn, nhưng có thể chính xác hơn.
đặt vận tốc [ArmMotor v] thành [50] %
Thông số |
Sự miêu tả |
|---|---|
động cơ |
Chọn động cơ để thiết lập tốc độ. Chọn từ các động cơ đã được cấu hình trong cửa sổ Thiết bị. |
vận tốc |
Tốc độ quay từ 0% đến 100%. |
Ví dụ
khi bắt đầu :: hat events
[Build Used: Competition Advanced 2.0]
[Move the ArmMotor at different velocities.]
quay [ArmMotor v] [lên v] trong [180] [độ v] ▶
chờ [1] giây
[Move slow.]
đặt vận tốc [ArmMotor v] thành [20] %
quay [ArmMotor v] [xuống v] trong [180] [độ v] ▶
chờ [1] giây
[Move fast.]
đặt vận tốc [ArmMotor v] thành [100] %
quay [ArmMotor v] [lên v] trong [180] [độ v] ▶
đặt dừng động cơ#
Khối lệnh set motor stopping thiết lập cách động cơ dừng chuyển động: bằng cách phanh, chạy tự do hoặc giữ nguyên vị trí.
đặt chế độ dừng [ArmMotor v] thành [phanh v]
Thông số |
Sự miêu tả |
|---|---|
động cơ |
Chọn động cơ cần thiết lập chế độ dừng. Chọn từ các động cơ đã được cấu hình trong cửa sổ Thiết bị. |
hành vi dừng lại |
Cách động cơ sẽ dừng:
|
Ví dụ, nếu sử dụng bản dựng Competition Advanced 2.0 và ArmMotor được thiết lập ở chế độ giữ, động cơ sẽ giữ cánh tay ở vị trí hiện tại cho đến khi có chuyển động khác của cánh tay. Điều này có nghĩa là động cơ sẽ hoạt động chống lại trọng lực để giữ cánh tay ở trên không nếu động cơ bị dừng lại khi cánh tay đang được nâng lên.
Nếu khối này không được sử dụng, động cơ sẽ sử dụng phanh khi dừng lại.
Ví dụ
khi bắt đầu :: hat events
[Build Used: Competition Advanced 2.0]
[Move the ArmMotor, then coast to a stop.]
đặt vận tốc [ArmMotor v] thành [20] %
đặt chế độ dừng [ArmMotor v] thành [trôi v]
quay [ArmMotor v] [lên v]
chờ [1] giây
dừng [ArmMotor v]
đặt mô-men xoắn tối đa của động cơ#
Mô-men xoắn là lực quay. Nó cho biết động cơ có thể đẩy hoặc kéo mạnh đến mức nào khi quay.
Khối lệnh đặt mô-men xoắn tối đa của động cơ thiết lập mô-men xoắn tối đa mà động cơ được phép sử dụng.
Tỷ lệ phần trăm cao hơn cho phép động cơ đẩy mạnh hơn, ví dụ như khi nâng vật nặng. Tỷ lệ phần trăm thấp hơn giới hạn lực đẩy tối đa của động cơ. Điều này giúp bảo vệ robot nếu động cơ bị kẹt hoặc đạt đến giới hạn chuyển động tối đa.
Mỗi dự án đều bắt đầu với mô-men xoắn của mỗi động cơ ở mức 50% theo mặc định.
đặt mô-men xoắn tối đa [ArmMotor v] thành (50) %
Thông số |
Sự miêu tả |
|---|---|
động cơ |
Chọn động cơ cần thiết lập mô-men xoắn tối đa. Chọn từ các động cơ đã được cấu hình trong cửa sổ Thiết bị. |
mô-men xoắn |
Mô-men xoắn cực đại mà động cơ có thể sử dụng từ 0% đến 100%. |
Ví dụ
khi bắt đầu :: hat events
[Build Used: Competition Advanced 2.0]
[Move the ArmMotor at different torques.]
quay [ArmMotor v] [lên v] trong [180] [độ v] ▶
chờ [1] giây
[Move with less torque.]
đặt mô-men xoắn tối đa [ArmMotor v] thành [20] %
quay [ArmMotor v] [xuống v] trong [180] [độ v] ▶
chờ [1] giây
[Move with maximum torque.]
đặt mô-men xoắn tối đa [ArmMotor v] thành [100] %
quay [ArmMotor v] [lên v] trong [180] [độ v] ▶
đặt thời gian chờ động cơ#
Khối lệnh set motor timeout thiết lập số giây mà động cơ sẽ cố gắng hoàn thành một chuyển động. Nếu động cơ 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 ngăn động cơ bị kẹt ở một chuyển động nào đó.
đặt thời gian chờ [ArmMotor v] thành (1) giây
Thông số |
Sự miêu tả |
|---|---|
động cơ |
Chọn động cơ cần thiết lập thời gian chờ. Chọn từ các động cơ đã được cấu hình trong cửa sổ Thiết bị. |
thời gian |
Số giây mà động cơ 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
[Build Used: Competition Advanced 2.0]
[Move ArmMotor as far as possible for 1 second before resetting.]
đặt vị trí [ArmMotor v] thành [0] [độ v]
đặt thời gian chờ [ArmMotor v] thành [1] giây
quay [ArmMotor v] [lên v] trong [180] [độ v] ▶
quay [ArmMotor v] đến vị trí [0] [độ v] ▶
Giá trị#
Động cơ hỏng rồi à?#
Khối lệnh Boolean motor is done báo cáo liệu động cơ đã ngừng chuyển động 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 động cơ.
Đúng — Động cơ đã ngừng chuyển động.
Sai — Động cơ vẫn đang hoạt động.
Khối này hoạt động cùng với các khối Chuyển động sau có tham số và không chờ: quay động cơ trong và quay động cơ đến vị trí.
<[ArmMotor v] đã xong?>
Thông số |
Sự miêu tả |
|---|---|
động cơ |
Động cơ sẽ báo cáo xem nó đã hoàn thành quá trình chuyển động hay chưa. Chọn từ các động cơ đã được cấu hình trong cửa sổ Thiết bị. |
Ví dụ
khi bắt đầu :: hat events
[Build Used: Competition Advanced 2.0]
[Turn the Eye Sensor's light on while ArmMotor is moving.]
quay [ArmMotor v] [lên v] trong [180] [độ v] ◀ và không chờ
chờ [0.1] giây
mãi mãi
nếu <[ArmMotor v] đã xong?> thì
đặt đèn mắt [tắt v]
nếu không
đặt đèn mắt [bật v]
Động cơ đang quay?#
Khối Boolean động cơ có đang quay không? báo cáo xem động cơ có đang quay 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 động cơ.
Đúng — Động cơ đang quay.
Sai — Động cơ không quay.
Khối này hoạt động cùng với các khối Chuyển động sau có tham số và không chờ: quay động cơ trong và quay động cơ đến vị trí.
<[ArmMotor v] đang quay?>
Thông số |
Sự miêu tả |
|---|---|
động cơ |
Động cơ cần báo cáo xem nó có đang quay hay không. Chọn từ các động cơ đã được cấu hình trong cửa sổ Thiết bị. |
Ví dụ
khi bắt đầu :: hat events
[Build Used: Competition Advanced 2.0]
[Turn the Eye Sensor's light on while ArmMotor is moving.]
quay [ArmMotor v] [lên v] trong [180] [độ v] ◀ và không chờ
chờ [0.1] giây
mãi mãi
nếu <[ArmMotor v] đang quay?> thì
đặt đèn mắt [bật v]
nếu không
đặt đèn mắt [tắt v]
vị trí động cơ#
Vị trí của động cơ là khoảng cách nó đã quay, được đo bằng độ hoặc vòng quay. Khối báo cáo vị trí động cơ hiển thị vị trí hiện tại của động cơ.
Khi bắt đầu dự án, vị trí của động cơ được đặt ở 0 độ. Nếu động cơ quay một vòng hoàn chỉnh về phía trước, vị trí sẽ là 360 độ hoặc 1 vòng. Nếu động cơ quay theo hướng ngược lại, vị trí sẽ là số âm.
(vị trí [ArmMotor v] tính bằng [độ v] :: custom-motion)
Thông số |
Sự miêu tả |
|---|---|
động cơ |
Động cơ cần báo cáo vị trí. Chọn từ các động cơ đã được cấu hình trong cửa sổ Thiết bị. |
đơn vị |
Đơn vị dùng để báo cáo vị trí của động cơ là: độ hoặc vòng quay. |
Ví dụ
khi bắt đầu :: hat events
[Build Used: Competition Advanced 2.0]
[Display how far the ArmMotor moves after one second.]
đặt vị trí [ArmMotor v] thành [0] [độ v]
in [Start: ] ▶
in (vị trí [ArmMotor v] tính bằng [độ v] :: custom-motion) ▶
đặt con trỏ xuống hàng tiếp theo
quay [ArmMotor v] [lên v]
chờ [1] giây
dừng [ArmMotor v]
in [After: ] ▶
in (vị trí [ArmMotor v] tính bằng [độ v] :: custom-motion) ▶
tốc độ động cơ#
Khối báo cáo tốc độ động cơ hiển thị tốc độ quay của động cơ, được biểu thị bằng phần trăm từ -100% đến 100%.
Giá trị dương có nghĩa là động cơ đang quay thuận. Giá trị âm có nghĩa là động cơ đang quay ngược.
(vận tốc [ArmMotor v] tính bằng %)
Thông số |
Sự miêu tả |
|---|---|
động cơ |
Chọn động cơ cần báo cáo vận tốc. Chọn từ các động cơ đã được cấu hình trong cửa sổ Thiết bị. |
Ví dụ
khi bắt đầu :: hat events
[Build Used: Competition Advanced 2.0]
[Display the ArmMotor's velocity when it moves.]
in [Resting: ] ▶
in (vận tốc [ArmMotor v] tính bằng %) ▶
đặt con trỏ xuống hàng tiếp theo
quay [ArmMotor v] [lên v]
chờ [1] giây
in [Moving: ] ▶
in (vận tốc [ArmMotor v] tính bằng %) ▶
dừng [ArmMotor v]
dòng điện động cơ#
Khối báo cáo dòng điện động cơ hiển thị lượng điện năng mà động cơ đang sử dụng từ pin, dưới dạng phần trăm từ 0% đến 100%.
Giá trị dòng điện cao hơn có nghĩa là động cơ đang sử dụng nhiều điện năng hơn. Điều này có thể xảy ra khi động cơ đang nâng vật nặng, đẩy vào vật thể hoặc cố gắng di chuyển khi bị kẹt.
(dòng điện [ArmMotor v] tính bằng %)
Thông số |
Sự miêu tả |
|---|---|
động cơ |
Động cơ cần báo cáo dòng điện. Chọn từ các động cơ đã được cấu hình trong cửa sổ Thiết bị. |
Ví dụ
khi bắt đầu :: hat events
[Build Used: Competition Advanced 2.0]
[Display the motor's current when it moves.]
in [Resting: ] ▶
in (dòng điện [ArmMotor v] tính bằng %) ▶
đặt con trỏ xuống hàng tiếp theo
quay [ArmMotor v] [lên v]
chờ [1] giây
in [Moving: ] ▶
in (dòng điện [ArmMotor v] tính bằng %) ▶
dừng [ArmMotor v]