Hệ thống truyền động#

Giới thiệu#

The drivetrain class controls how a robot drives and turns. A drivetrain is made of motors and wheels that work together to move the robot.

Hệ thống truyền động drivetrain không sử dụng Cảm biến quán tính hoặc Cảm biến con quay hồi chuyển cho các lượt rẽ dựa trên hướng hoặc dựa trên vòng quay. Nó có thể lái tiến hoặc lùi và rẽ trái hoặc phải, nhưng nó không thể rẽ theo một hướng hoặc vòng quay cụ thể. Đối với các lượt rẽ dựa trên hướng và dựa trên vòng quay, hãy sử dụng lớp smartdrive.

Lớp dẫn xuất#

Lớp hệ thống truyền động drivetrain đóng vai trò là lớp cơ sở cho các lớp dẫn xuất sau:

  • smartdrive - Lớp này bổ sung hỗ trợ Cảm biến quán tính hoặc Cảm biến con quay hồi chuyển để cho phép quay theo hướng và theo vòng quay.

Hàm tạo lớp#

1 - Tạo hệ thống truyền động bằng cách sử dụng các đối tượng motor_group hiện có cho phía bên trái (&l) và bên phải (&r).

drivetrain(
    motor_group      &l,
    motor_group      &r,
    double           wheelTravel = 320,
    double           trackWidth = 320,
    double           wheelBase = 130,
    distanceUnits    unit = mm,
    double           externalGearRatio = 1.0 );

2 - Tạo hệ thống truyền động bằng cách sử dụng các đối tượng motor hiện có cho phía bên trái (&l) và bên phải (&r).

drivetrain(
    motor            &l,
    motor            &r,
    double           wheelTravel = 320,
    double           trackWidth = 320,
    double           wheelBase = 130,
    distanceUnits    unit = mm,
    double           externalGearRatio = 1.0 );

Lớp Destructor#

Phá hủy đối tượng hệ thống truyền động drivetrain và giải phóng các tài nguyên liên quan.

virtual ~drivetrain();

Thông số#

Tham số

Kiểu

Sự miêu tả

&l / &r

motor_group / motor

Các động cơ hoặc nhóm động cơ bên trái và bên phải. Cả hai tham số phải sử dụng cùng một kiểu: hoặc hai đối tượng motor_group hoặc hai đối tượng motor.

wheelTravel

double

Chu vi của các bánh xe truyền động. Giá trị mặc định là 320.

trackWidth

double

Khoảng cách giữa bánh xe bên trái và bên phải. Giá trị mặc định là 320.

wheelBase

double

Khoảng cách giữa bánh trước và bánh sau. Giá trị mặc định là 130.

unit

distanceUnits

Đơn vị cho wheelTravel, trackWidthvà wheelBase: mm (milimét, mặc định) hoặc inches.

externalGearRatio

double

Tỷ số truyền được sử dụng để điều chỉnh quãng đường di chuyển nếu có sử dụng hộp số. Giá trị mặc định là 1.0.

Ví dụ#

// Create the left and right motor objects
motor leftMotor = motor(PORT1, false);
motor rightMotor = motor(PORT9, true);

// Create the drivetrain object
drivetrain myDrivetrain = drivetrain(
    leftMotor,  // left motor object
    rightMotor, // right motor object
    259.34,     // wheelTravel
    320,        // trackWidth
    40,         // wheelBase
    mm,         // unit
    1.0 );      // externalGearRatio

Chức năng thành viê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ả drivetrain 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.

  • driveFor - Di chuyển robot tiến hoặc lùi một khoảng cách cụ thể.

  • turn - Xoay robot sang trái hoặc phải mãi mãi.

  • turnFor - Xoay robot sang trái hoặc phải một số độ cụ thể.

  • stop - Dừng chuyển động của robot.

Bộ điều chỉnh - Điều chỉnh cài đặt hệ thống truyền động.

  • setDriveVelocity - Cho robot biết tốc độ lái xe.

  • setTurnVelocity - Cho robot biết tốc độ quay.

  • setStopping - Cho biết cách robot sẽ dừng di chuyển: bằng cách phanh, trượt hoặc giữ nguyên.

  • setTimeout - Đặt số giây mà robot sẽ cố gắng hoàn thành một chuyển động.

Người nhận hàng - Kiểm tra trạng thái di chuyển.

  • isDone - Trả về giá trị Boolean cho biết robot đã hoàn thành việc di chuyển hay chưa.

  • isMoving - Trả về giá trị Boolean cho biết robot có đang di chuyển hay không.

  • velocity - Trả về tốc độ di chuyển của robot.

  • current - Trả về lượng dòng điện mà hệ thống truyền động đang sử dụng.

  • power - Trả về tốc độ sử dụng năng lượng của hệ thống truyền động.

  • torque - Trả về lượng mô-men xoắn mà hệ thống truyền động đang sử dụng.

  • efficiency - Trả về mức độ hiệu quả của hệ thống truyền động khi sử dụng năng lượng.

  • temperature - Trả về nhiệt độ của hệ thống truyền động.

  • voltage - Trả về điện áp được cung cấp cho hệ thống truyền động.

Before calling any drivetrain member functions, a drivetrain object must be created, as shown below:

/* This constructor is required when using VS Code.
Drivetrain configuration is generated automatically
in VEXcode using the Device Menu. Replace the values
as needed. */

// Create the left and right motor objects
motor leftMotor = motor(PORT1, false);
motor rightMotor = motor(PORT9, true);

// Create the drivetrain object
drivetrain myDrivetrain = drivetrain(
    leftMotor,  // left motor object
    rightMotor, // right motor object
    259.34,     // wheelTravel
    320,        // trackWidth
    40,         // wheelBase
    mm,         // unit
    1.0 );      // externalGearRatio

Hành động#

lái xe#

Chế độ 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. Đối với RPM hoặc DPS, giới hạn được thay đổi bởi tỷ số truyền của hệ thống truyền động.

Available Functions

1 - Lái xe sử dụng vận tốc lái xe được cấu hình hiện tại.

void drive(
    directionType dir );

2 - Lái xe với vận tốc đã chỉ định.

void drive(
    directionType dir,
    double        velocity,
    velocityUnits units );

Parameters

Tham số

Kiểu

Sự miêu tả

dir

directionType

Hướng di chuyển của robot: forward hoặc reverse.

velocity

double

Tốc độ di chuyển từ 0% đến 100% khi sử dụng velocityUnits::pct, từ 0 đến 600 vòng/phút khi sử dụng rpm, hoặc từ 0 đến 3600 độ/giây khi sử dụng dps. Nếu không cung cấp tốc độ, robot sẽ di chuyển với tốc độ hiện tại.

units

velocityUnits

Đơn vị vận tốc: velocityUnits::pct (phần trăm), rpm (vòng quay mỗi phút), hoặc dps (độ mỗi giây).

Return Values

Hàm này không trả về giá trị nào.

Notes
  • drive không chờ; dự án sẽ tiếp tục thực thi dòng mã tiếp theo ngay sau khi gọi hàm.

  • Hệ thống truyền động sẽ tiếp tục di chuyển cho đến khi stop được gọi hoặc một chức năng di chuyển hệ thống truyền động khác (chẳng hạn như driveFor hoặc turn) được thực thi.

  • Các chức năng như isDone và isMoving không áp dụng cho drive, vì nó không sử dụng chuyển động dựa trên mục tiêu (không có tham số distance).

Examples
// Drive forward and back
myDrivetrain.drive(forward);
wait(2, seconds);
myDrivetrain.drive(reverse, 25, rpm);
wait(2, seconds);
myDrivetrain.stop();

lái xe cho#

Lệnh driveFor di chuyển robot tiến hoặc lùi một khoảng cách cụ thể. Theo mặc định, dự án sẽ đợi cho đến khi robot hoàn thành việc di chuyển trước khi chạy dòng mã tiếp theo. Đối với RPM hoặc DPS, giới hạn được thay đổi bởi tỷ số truyền của hệ thống truyền động.

Available Functions

1 - Di chuyển theo hướng đã chỉ định trong một khoảng cách bằng cách sử dụng vận tốc di chuyển được cấu hình hiện tại.

bool driveFor(
    directionType dir,
    double        distance,
    distanceUnits units,
    bool          waitForCompletion = true );

2 - Di chuyển theo hướng phụ thuộc vào khoảng cách sử dụng vận tốc di chuyển được cấu hình hiện tại.

bool driveFor(
    double        distance,
    distanceUnits units,
    bool          waitForCompletion = true );

3 - Di chuyển theo hướng phụ thuộc vào khoảng cách với vận tốc đã xác định.

bool driveFor(
    double        distance,
    distanceUnits units,
    double        velocity,
    velocityUnits units_v,
    bool          waitForCompletion = true );

4 - Di chuyển theo hướng đã chỉ định trong một khoảng cách với vận tốc đã chỉ định.

bool driveFor(
    directionType dir,
    double        distance,
    distanceUnits units,
    double        velocity,
    velocityUnits units_v,
    bool          waitForCompletion = true );

Parameters

Tham số

Kiểu

Sự miêu tả

dir

directionType

Hướng di chuyển của robot: forward hoặc reverse.

distance

double

Quãng đường robot di chuyển.

units

distanceUnits

Đơn vị đo khoảng cách: mm (milimét), inchesinch) , hoặc cm (centimet).

velocity

double

Tốc độ di chuyển từ 0% đến 100% khi sử dụng velocityUnits::pct, từ 0 đến 600 vòng/phút khi sử dụng rpm, hoặc từ 0 đến 3600 độ/giây khi sử dụng dps. Nếu không cung cấp tốc độ, robot sẽ di chuyển với tốc độ hiện tại.

units_v

velocityUnits

Đơn vị vận tốc: velocityUnits::pct (phần trăm), rpm (vòng quay mỗi phút), hoặc dps (độ mỗi giây).

waitForCompletion

bool

true (mặc định) khiến dự án chờ cho đến khi robot hoàn thành chuyển động trước khi dòng mã tiếp theo được thực thi. false khiến dòng mã tiếp theo được thực thi ngay lập tức.

Return Values

Trả về giá trị Boolean cho biết robot đã đạt được khoảng cách mục tiêu hay chưa.

  • true - Robot đã đạt được khoảng cách mục tiêu.

  • false - Robot không hoàn thành chuyển động, hoặc hàm trả về trước khi chuyển động hoàn tất vì waitForCompletion được đặt thành false.

Notes
  • Việc thực hiện một chức năng di chuyển hệ thống truyền động khác (chẳng hạn như drive hoặc turnFor) trong khi driveFor đang diễn ra sẽ làm gián đoạn chuyển động hiện tại.

  • Vì driveFor dựa trên mục tiêu (sử dụng tham số distance ), nên các hàm như isDone và isMoving hoạt động với driveFor.

Examples
// Drive 200 mm, then back 200 mm
myDrivetrain.driveFor(forward, 200, mm);
myDrivetrain.driveFor(reverse, 200, mm);

xoay#

Chế độ turn 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 khác, chẳng hạn như di chuyển hoặc dừng lại. Đối với RPM hoặc DPS, giới hạn được thay đổi bởi tỷ số truyền của hệ thống truyền động.

Available Functions

1 - Các lượt rẽ sử dụng vận tốc rẽ được cấu hình hiện tại.

void turn(
    turnType dir );

2 - Quay với vận tốc đã chỉ định.

void turn(
    turnType     dir,
    double       velocity,
    velocityUnits units );

Parameters

Tham số

Kiểu

Sự miêu tả

dir

turnType

Hướng quay của robot: left hoặc right.

velocity

double

Tốc độ quay từ 0% đến 100% khi sử dụng velocityUnits::pct, từ 0 đến 600 vòng/phút khi sử dụng rpm, hoặc từ 0 đến 3600 độ/giây khi sử dụng dps. Nếu không cung cấp tốc độ, robot sẽ quay với tốc độ quay hiện tại.

units

velocityUnits

Đơn vị vận tốc: velocityUnits::pct (phần trăm), rpm (vòng quay mỗi phút), hoặc dps (độ mỗi giây).

Return Values This function does not return a value. Notes
  • turn không chờ; dự án sẽ tiếp tục thực thi dòng mã tiếp theo ngay sau khi gọi hàm.

  • Hệ thống truyền động sẽ tiếp tục quay cho đến khi stop được gọi hoặc một chức năng chuyển động hệ thống truyền động khác (chẳng hạn như turnFor hoặc drive) được thực thi.

  • Các chức năng như isDone và isMoving không áp dụng cho turn, vì nó không sử dụng chuyển động dựa trên mục tiêu (không có tham số angle).

Examples
// Turn right, then left, then stop
myDrivetrain.turn(right);
wait(2, seconds);
myDrivetrain.turn(left);
wait(2, seconds);
myDrivetrain.stop();

quay lại#

turnFor xoay robot sang trái hoặc phải một số độ cụ thể. Góc xoay được tính tương đối so với vị trí hiện tại của robot. Theo mặc định, chương trình sẽ đợi cho đến khi robot xoay xong trước khi chạy dòng mã tiếp theo. Đối với RPM hoặc DPS, giới hạn được thay đổi bởi tỷ số truyền của hệ thống truyền động.

Available Functions

1 - Quay theo góc đã chỉ định bằng cách sử dụng vận tốc quay được cấu hình hiện tại.

bool turnFor(
    double        angle,
    rotationUnits units,
    bool          waitForCompletion = true );

2 - Quay theo hướng được chỉ định với một góc bằng cách sử dụng vận tốc quay được cấu hình hiện tại.

bool turnFor(
    turnType      dir,
    double        angle,
    rotationUnits units,
    bool          waitForCompletion = true );

3 - Quay theo góc xác định với vận tốc xác định.

bool turnFor(
    double        angle,
    rotationUnits units,
    double        velocity,
    velocityUnits units_v,
    bool          waitForCompletion = true );

4 - Quay theo hướng đã chỉ định với một góc nhất định và vận tốc đã chỉ định.

bool turnFor(
    turnType      dir,
    double        angle,
    rotationUnits units,
    double        velocity,
    velocityUnits units_v,
    bool          waitForCompletion = true );

Parameters

Tham số

Kiểu

Sự miêu tả

dir

turnType

Hướng quay của robot: left hoặc right.

angle

double

Góc quay của robot.

units

rotationUnits

Đơn vị quay: deg (độ), rev (vòng quay), hoặc raw (đơn vị quay). Một vòng quay bằng 360 độ.

velocity

double

Tốc độ quay từ 0% đến 100% khi sử dụng velocityUnits::pct, từ 0 đến 600 vòng/phút khi sử dụng rpm, hoặc từ 0 đến 3600 độ/giây khi sử dụng dps. Nếu không cung cấp tốc độ, robot sẽ quay với tốc độ quay hiện tại.

units_v

velocityUnits

Đơn vị vận tốc: velocityUnits::pct (phần trăm), rpm (vòng quay mỗi phút), hoặc dps (độ mỗi giây).

waitForCompletion

bool

true (mặc định) khiến dự án chờ cho đến khi robot quay xong trước khi dòng mã tiếp theo được thực thi. false khiến dòng mã tiếp theo được thực thi ngay lập tức.

Return Values

Trả về giá trị Boolean cho biết robot đã đạt được góc mục tiêu hay chưa.

  • true - Robot đã đạt được góc mục tiêu.

  • false - Robot không hoàn thành lượt chơi, hoặc hàm trả về trước khi lượt chơi hoàn tất vì waitForCompletion được đặt thành false.

Notes
  • Việc thực hiện một chức năng di chuyển hệ thống truyền động khác (chẳng hạn như turn hoặc drive) trong khi turnFor đang diễn ra sẽ làm gián đoạn chuyển động hiện tại.

  • Vì turnFor dựa trên mục tiêu (sử dụng tham số angle ), nên các hàm như isDone và isMoving hoạt động với turnFor.

Examples
// Turn right then left
myDrivetrain.turnFor(right, 90, degrees);
wait(1, seconds);
myDrivetrain.turnFor(left, 90, degrees);

dừng lại#

stop dừng chuyển động của robot. Nếu chế độ dừng được cung cấp, nó sẽ điều khiển cách robot dừng lại trong lần gọi hàm này.

Available Functions

1 - Stops the drivetrain using the currently configured stopping mode.

void stop();

2 - Dừng hệ thống truyền động bằng chế độ phanh đã chỉ định.

void stop(
    brakeType mode );

Parameters

Tham số

Kiểu

Sự miêu tả

mode

brakeType

Cách robot dừng lại:

  • brake - Dừng ngay lập tức.
  • coast - Giảm tốc độ đến khi dừng hẳn.
  • hold - Dừng ngay lập tức và giữ nguyên vị trí bánh xe.

Return Values

Hàm này không trả về giá trị nào.

Examples
// Drive forward, then coast to a stop
myDrivetrain.setDriveVelocity(100, percent);
myDrivetrain.drive(forward);
wait(2, seconds);
myDrivetrain.stop(coast);

Biến đổi#

setDriveVelocity#

Lệnh setDriveVelocity cho robot biết tốc độ di chuyển. Tỷ lệ phần trăm càng cao thì robot càng di chuyển nhanh hơn, tỷ lệ phần trăm càng thấp thì robot càng di chuyển chậm hơn. Đối với RPM hoặc DPS, giới hạn được thay đổi bởi tỷ số truyền của hệ thống truyền động.

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.

Available Functions
void  setDriveVelocity(
  double velocity,
  velocityUnits units );

Parameters

Tham số

Kiểu

Sự miêu tả

velocity

double

Tốc độ lái từ 0% đến 100% khi sử dụng velocityUnits::pct, từ 0 đến 600 vòng/phút khi sử dụng rpm, hoặc từ 0 đến 3600 độ/giây khi sử dụng dps.

units

velocityUnits

Đơn vị vận tốc: velocityUnits::pct (phần trăm), rpm (vòng quay mỗi phút), hoặc dps (độ mỗi giây).

Return Values

Hàm này không trả về giá trị nào.

Notes
  • Tốc độ truyền động áp dụng cho tất cả các chức năng chuyển động hệ thống truyền động tiếp theo (chẳng hạn như drive và driveFor) trừ khi tốc độ cụ thể được cung cấp trong lệnh gọi hàm.

Examples
// Drive forward, then coast to a stop
myDrivetrain.setDriveVelocity(100, percent);
myDrivetrain.drive(forward);
wait(2, seconds);
myDrivetrain.stop(coast);

đặt vận tốc quay#

setTurnVelocity cho robot biết tốc độ quay. Tỷ lệ phần trăm càng cao thì robot quay càng nhanh, tỷ lệ phần trăm càng thấp thì robot quay càng chậm. Đối với RPM hoặc DPS, giới hạn được thay đổi bởi tỷ số truyền của hệ thống truyền động.

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.

Available Functions
void  setTurnVelocity(
  double velocity,
  velocityUnits units );

Parameters

Tham số

Kiểu

Sự miêu tả

velocity

double

Tốc độ quay từ 0% đến 100% khi sử dụng velocityUnits::pct, từ 0 đến 600 vòng/phút khi sử dụng rpm, hoặc từ 0 đến 3600 độ/giây khi sử dụng dps.

units

velocityUnits

Đơn vị vận tốc: percent hoặc pct (phần trăm), rpm (vòng/phút), hoặc dps (độ/giây).

Return Values

Hàm này không trả về giá trị nào.

Notes
  • Tốc độ quay áp dụng cho tất cả các chức năng quay hệ thống truyền động tiếp theo (chẳng hạn như turn và turnFor) trừ khi tốc độ cụ thể được cung cấp trong lệnh gọi hàm.

Examples
// Try default, slow, then fast
myDrivetrain.turnFor(right, 360, degrees);
wait(1, seconds);
myDrivetrain.setTurnVelocity(20, percent);
myDrivetrain.turnFor(right, 360, degrees);
wait(1, seconds);
myDrivetrain.setTurnVelocity(100, percent);
myDrivetrain.turnFor(right, 360, degrees);

đặt dừng#

setStopping 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í.

Available Functions
void setStopping(
  brakeType mode );

Parameters

Tham số

Kiểu

Sự miêu tả

mode

brakeType

Cách robot dừng lại:

  • brake - Dừng ngay lập tức.
  • coast - Giảm tốc độ đến khi dừng hẳn.
  • hold - Dừng ngay lập tức và giữ nguyên vị trí bánh xe.

Return Values

Hàm này không trả về giá trị nào.

Notes
  • Chế độ dừng áp dụng cho tất cả các lệnh gọi stop tiếp theo trừ khi chế độ dừng cụ thể được cung cấp trong lệnh gọi hàm.

đặt thời gian chờ#

setTimeout 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 dòng mã tiếp theo. Điều này giúp robot không bị kẹt ở một chuyển động nào đó.

Available Functions
void  setTimeout(
  int32_t time,
  timeUnits units );

Parameters

Tham số

Kiểu

Sự miêu tả

time

int32_t

Khoảng thời gian tối đa mà robot có thể cố gắng hoàn thành một chuyển động. Khoảng thời gian này phải là một số nguyên dương.

units

timeUnits

Đơn vị thời gian: sec (sec) hoặc msec (msec).

Return Values

Hàm này không trả về giá trị nào.

Notes
  • Thời gian chờ chỉ áp dụng cho các chức năng di chuyển hệ thống truyền động dựa trên mục tiêu (chẳng hạn như driveFor và turnFor).

Examples
// Start turning if driving takes too long
myDrivetrain.setTimeout(1, seconds);
myDrivetrain.driveFor(forward, 25, inches);
myDrivetrain.turnFor(right, 90, degrees);

Người nhận#

đã xong#

isDone trả về giá trị Boolean cho biết robot đã di chuyển xong hay chưa. Giá trị này có thể được sử dụng để điều khiển thời gian thực hiện các hành vi khác dựa trên chuyển động của robot.

Available Functions
bool isDone( void );

Parameters

Hàm này không chấp nhận bất kỳ tham số nào.

Return Values
  • true - Robot đã di chuyển xong.

  • false - Robot vẫn đang di chuyển.

Notes
  • isDone tương thích với các chuyển động truyền động dựa trên mục tiêu (các chức năng di chuyển đến mục tiêu, chẳng hạn như driveFor và turnFor).

  • isDone không tương thích với các chức năng như drive và turn, vì chúng không sử dụng chuyển động dựa trên mục tiêu.

đang di chuyển#

isMoving trả về giá trị Boolean cho biết robot có đang di chuyển hay không. Giá trị này có thể được sử dụng để điều khiển thời gian thực hiện các hành vi khác dựa trên chuyển động của robot.

Available Functions
virtual bool isMoving( void );

Parameters

Hàm này không chấp nhận bất kỳ tham số nào.

Return Values
  • true - Robot đang di chuyển.

  • false - Robot không di chuyển.

Notes
  • isMoving tương thích với các chuyển động truyền động dựa trên mục tiêu (các chức năng di chuyển đến mục tiêu, chẳng hạn như driveFor và turnFor).

  • isMoving không tương thích với các chức năng như drive và turn, vì chúng không sử dụng chuyển động dựa trên mục tiêu.

vận tốc#

velocity trả về tốc độ di chuyển của robot.

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.

Available Functions
double velocity(
  velocityUnits units );

Parameters

Tham số

Kiểu

Sự miêu tả

units

velocityUnits

Đơn vị vận tốc: percent hoặc pct (phần trăm), rpm (vòng/phút), hoặc dps (độ/giây).

Return Values

Trả về vận tốc hệ thống truyền động dưới dạng số thực double theo đơn vị đã chọn.

Examples
// Show velocity before and during motion
Brain.Screen.print("Resting: %f", myDrivetrain.velocity(percent));
myDrivetrain.drive(forward, 100, velocityUnits::pct);
wait(1, seconds);
Brain.Screen.newLine();
Brain.Screen.print("Moving: %f", myDrivetrain.velocity(percent));
myDrivetrain.stop();

hiện hành#

Giá trị current cho biết lượng dòng điện mà hệ thống truyền động đang sử dụng. Dòng điện là lượng điện năng chạy qua hệ thống truyền động. Giá trị này có thể được trả về bằng ampe (ampe) hoặc dưới dạng phần trăm, tùy thuộc vào đơn vị.

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.

Available Functions

1 - Trả về dòng điện của hệ thống truyền động tính bằng ampe.

double current(
    currentUnits units = currentUnits::amp );

2 - Trả về dòng điện của hệ thống truyền động dưới dạng phần trăm so với giá trị tối đa.

double current(
    percentUnits units );

Parameters

Tham số

Kiểu

Sự miêu tả

units

currentUnits

Đơn vị dòng điện trả về: amp (ampe, mặc định).

units

percentUnits

Đơn vị trả về dòng điện hiện tại: percent hoặc pct.

Return Values

Trả về dòng điện của hệ thống truyền động dưới dạng double trong đơn vị đã chọn.

quyền lực#

power cho biết lượng điện năng mà hệ thống truyền động đang sử dụng, được đo bằng watt. Power cho thấy hệ thống truyền động đang tiêu thụ năng lượng nhanh như thế nào.

Giá trị công suất cao hơn có nghĩa là hệ thống truyền động đang tiêu thụ năng lượng nhanh 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.

Chức năng này có thể được sử dụng để so sánh các chuyển động hoặc kiểm tra xem hệ thống truyền động có đang gặp khó khăn hay không. Nếu công suất 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.

Available Functions
double power(
  powerUnits units = powerUnits::watt );

Parameters

Tham số

Kiểu

Sự miêu tả

units

powerUnits

Đơn vị công suất: watt (watt, mặc định).

Return Values

Trả về công suất hệ thống truyền động dưới dạng double đơn vị là watt.

mô-men xoắn#

Mô-men xoắn thể hiện lực đẩy hoặc lực kéo mà hệ thống truyền động có thể tạo ra khi bánh xe quay.

torque trả về lượng mô-men xoắn mà hệ thống truyền động đang sử dụng, được đo bằng Newton-mét (Nm) hoặc inch-pound (InLb).

Giá trị mô-men xoắn cao hơn có nghĩa là hệ thống truyền động đang đẩy hoặc kéo mạnh 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.

Chức năng này có thể được sử dụng để kiểm tra xem hệ thống truyền động có đang gặp khó khăn hay không, hoặc để so sánh lực đẩy cần thiết cho các chuyển động khác nhau.

Available Functions
double torque(
  torqueUnits units = torqueUnits::nm );

Parameters

Tham số

Kiểu

Sự miêu tả

units

torqueUnits

Đơn vị để trả về mô-men xoắn: Nm (newton mét, mặc định) hoặc InLb (inch pound).

Return Values

Trả về mô-men xoắn hệ thống truyền động dưới dạng double đơn vị đã chọn.

hiệu quả#

Hiệu suất efficiency thể hiện mức độ hiệu quả sử dụng năng lượng của hệ thống truyền động, được biểu thị bằng phần trăm từ 0% đến 100%.

Hiệu suất cho thấy bao nhiêu phần trăm công suất của hệ truyền động được sử dụng cho chuyển động. Giá trị hiệu suất càng cao nghĩa là càng nhiều công suất của hệ truyền động được sử dụng để di chuyển. Giá trị hiệu suất thấp có thể xảy ra khi hệ truyền động hoạt động mạnh nhưng không di chuyển nhiều, chẳng hạn như khi robot bị kẹt hoặc đang đẩy vào vật cản.

Điều này có thể được sử dụng để so sánh các chuyển động hoặc kiểm tra xem hệ thống truyền động có đang lãng phí năng lượng thay vì sử dụng nó để chuyển động hay không.

Available Functions
double efficiency(
  percentUnits units = percentUnits::pct );

Parameters

Tham số

Kiểu

Sự miêu tả

units

percentUnits

Đơn vị hiển thị hiệu suất: percent hoặc pct (mặc định).

Return Values

Trả về hiệu suất hệ thống truyền động dưới dạng double trong đơn vị đã chọn.

nhiệt độ#

temperature trả về nhiệt độ trung bình của hệ thống truyền động dưới dạng phần trăm từ 0% đến 100%.

Nhiệt độ cho biết động cơ hệ thống truyền động đang nóng lên như thế nào. Nhiệt độ càng cao nghĩa là động cơ càng nóng lên trong quá trình hoạt động. Động cơ cần duy trì nhiệt độ dưới 55°C để hoạt động hết công suất.

Nếu động cơ quá nóng, chúng sẽ giảm dòng điện tối đa để tự bảo vệ. Ở nhiệt độ 70°C, động cơ sẽ ngừng hoạt động cho đến khi nguội hẳn.

Chức năng này có thể được sử dụng để kiểm tra xem hệ thống truyền động có bị quá nóng trong quá trình chuyển động lặp đi lặp lại, hoạt động đường dài hoặc khi nó tác động lực lên vật thể hay không.

Available Functions
double temperature(
  percentUnits units );

Parameters

Tham số

Kiểu

Sự miêu tả

units

percentUnits

Đơn vị hiển thị nhiệt độ trả về là: percent hoặc pct.

Return Values

Trả về nhiệt độ trung bình của hệ thống truyền động dưới dạng số thực double theo đơn vị đã chọn.

Notes
  • Giá trị trả về là 50% cho biết nhiệt độ trung bình của động cơ xấp xỉ 45°C (113°F).

  • Phạm vi nhiệt độ hoạt động điển hình của hệ thống truyền động là khoảng 20°C (68°F) đến 70°C (158°F).

điện áp#

Điện áp voltage trả về điện áp được cung cấp cho hệ thống truyền động.

Điện áp là áp suất điện cung cấp cho các động cơ của hệ thống truyền động. Thông tin này có thể được sử dụng cùng với các giá trị dòng điện và công suất để hiểu cách hệ thống truyền động sử dụng năng lượng điện.

Available Functions
double  voltage(
  voltageUnits units = voltageUnits::volt );

Parameters

Tham số

Kiểu

Sự miêu tả

units

voltageUnits

Đơn vị điện áp trả về: volt (volt, mặc định) hoặc voltageUnits::mV (millivolt).

Return Values

Trả về điện áp hệ thống truyền động dưới dạng double trong đơn vị đã chọn.