Sistem penggerak#

Perkenalan#

Kelas drivetrain mengontrol cara robot bergerak dan berbelok. Sistem penggerak (drivetrain) terdiri dari motor dan roda yang bekerja bersama untuk menggerakkan robot.

A drivetrain does not use an Inertial Sensor, Gyro Sensor, or GPS Sensor for heading-based or rotation-based turns. It can drive forward or reverse and turn left or right, but it cannot turn to a specific heading or rotation. For heading-based and rotation-based turns, use the smartdrive class.

Kelas Turunan#

Kelas drivetrain berfungsi sebagai kelas dasar untuk kelas turunan berikut:

  • smartdrive - Kelas ini menambahkan dukungan Sensor Inersia, Sensor GPS, atau Sensor Giroskop untuk memungkinkan belokan berbasis arah dan berbasis rotasi.

Konstruktor Kelas#

1 - Membuat sistem penggerak menggunakan objek motor_group motor_group sudah ada untuk sisi kiri (&l) dan kanan (&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 - Membuat sistem penggerak menggunakan objek motor yang sudah ada untuk sisi kiri (&l) dan kanan (&r).

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

Destruktor Kelas#

Menghancurkan objek drivetrain dan melepaskan sumber daya terkait.

virtual ~drivetrain();

Parameter#

Parameter

Jenis

Keterangan

&l / &r

motor_group / motor

Motor kiri dan kanan atau kelompok motor. Kedua parameter harus menggunakan tipe yang sama: baik dua objek motor_group atau dua objek motor.

wheelTravel

double

Keliling roda penggerak. Nilai defaultnya adalah 320.

trackWidth

double

Jarak antara roda kiri dan kanan. Nilai defaultnya adalah 320.

wheelBase

double

Jarak antara roda depan dan belakang. Nilai defaultnya adalah 130.

unit

distanceUnits

Satuan untuk wheelTravel, trackWidth, dan wheelBase: mm (milimeter, standar) atau inches.

externalGearRatio

double

Rasio gigi yang digunakan untuk menyesuaikan jarak penggerak jika gigi digunakan. Nilai default adalah 1.0.

Contoh#

// 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

Fungsi Keanggotaan#

Kelas drivetrain mencakup fungsi anggota berikut:

Aksi - Gerakkan dan putar robot.

  • drive - Menggerakkan robot maju atau mundur selamanya.

  • driveFor - Menggerakkan robot maju atau mundur sejauh jarak tertentu.

  • turn - Memutar robot ke kiri atau ke kanan selamanya.

  • turnFor - Memutar robot ke kiri atau ke kanan dengan jumlah derajat tertentu.

  • stop - Menghentikan pergerakan robot.

Pengaturan - Sesuaikan pengaturan sistem penggerak.

  • setDriveVelocity - Memberi tahu robot seberapa cepat harus bergerak.

  • setTurnVelocity - Memberi tahu robot seberapa cepat harus berbelok.

  • setStopping - Memberitahukan bagaimana robot akan berhenti bergerak: dengan mengerem, meluncur, atau berhenti.

  • setTimeout - Mengatur berapa detik robot akan mencoba menyelesaikan suatu gerakan.

Nilai - Periksa status pergerakan.

  • isDone - Mengembalikan nilai Boolean apakah robot telah selesai bergerak.

  • isMoving - Mengembalikan nilai Boolean apakah robot sedang bergerak atau tidak.

  • velocity - Mengembalikan seberapa cepat robot bergerak.

  • current - Mengembalikan jumlah arus listrik yang digunakan oleh drivetrain.

  • power - Mengembalikan seberapa cepat sistem penggerak menggunakan energi.

  • torque - Mengembalikan seberapa besar torsi yang digunakan oleh drivetrain.

  • efficiency - Mengembalikan seberapa efisien sistem penggerak menggunakan daya.

  • temperature - Mengembalikan seberapa hangat drivetrain.

  • voltage - Mengembalikan tegangan listrik yang disuplai ke drivetrain.

Sebelum memanggil fungsi anggota drivetrain apa pun, objek drivetrain harus dibuat, seperti yang ditunjukkan di bawah ini:

/* 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

Tindakan#

menyetir#

drive menggerakkan robot maju atau mundur tanpa batas. Robot akan terus bergerak hingga diberi tindakan lain, seperti berbelok atau berhenti. Untuk RPM atau DPS, batasnya diubah oleh rasio gigi dari sistem penggerak.

Available Functions

1 - Menggerakkan menggunakan kecepatan penggerak yang dikonfigurasi saat ini.

void drive(
    directionType dir );

2 - Berkendara dengan kecepatan yang ditentukan.

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

Parameters

Parameter

Jenis

Keterangan

dir

directionType

Arah pergerakan robot: forward atau reverse.

velocity

double

Kecepatan penggerak berkisar dari 0% hingga 100% saat menggunakan velocityUnits::pct, dari 0 hingga 600 rpm saat menggunakan rpm, atau dari 0 hingga 3600 derajat per detik saat menggunakan dpsJika tidak ada kecepatan yang diberikan, robot akan bergerak dengan kecepatan penggerak saat ini.

units

velocityUnits

Satuan kecepatan: velocityUnits::pct (persen), rpm (putaran per menit), atau dps (derajat per detik).

Return Values

Fungsi ini tidak mengembalikan nilai.

Notes
  • drive tidak menunggu; proyek akan terus mengeksekusi baris kode berikutnya segera setelah panggilan.

  • Sistem penggerak akan terus bergerak hingga stop dipanggil atau fungsi pergerakan sistem penggerak lainnya (seperti driveFor atau turn) dieksekusi.

  • Fungsi seperti isDone dan isMoving tidak berlaku untuk drive, karena tidak menggunakan pergerakan berbasis target (tidak memiliki distance).

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

berkendara Untuk#

Perintah driveFor menggerakkan robot maju atau mundur sejauh jarak tertentu. Secara default, proyek akan menunggu hingga robot selesai bergerak sebelum baris kode berikutnya dijalankan. Untuk RPM atau DPS, batasnya diubah oleh rasio gigi dari sistem penggerak.

Available Functions

1 - Mengemudi ke arah yang ditentukan untuk jarak tertentu menggunakan kecepatan mengemudi yang dikonfigurasi saat ini.

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

2 - Menggerakkan ke arah yang bergantung pada jarak menggunakan kecepatan penggerak yang dikonfigurasi saat ini.

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

3 - Menggerakkan ke arah yang bergantung pada jarak dengan kecepatan yang ditentukan.

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

4 - Bergerak ke arah yang ditentukan sejauh jarak tertentu dengan kecepatan yang ditentukan.

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

Parameters

Parameter

Jenis

Keterangan

dir

directionType

Arah pergerakan robot: forward atau reverse.

distance

double

Jarak yang ditempuh robot.

units

distanceUnits

Satuan jarak: mm (milimeter), inches, atau cm (sentimeter).

velocity

double

Kecepatan penggerak berkisar dari 0% hingga 100% saat menggunakan velocityUnits::pct, dari 0 hingga 600 rpm saat menggunakan rpm, atau dari 0 hingga 3600 derajat per detik saat menggunakan dpsJika tidak ada kecepatan yang diberikan, robot akan bergerak dengan kecepatan penggerak saat ini.

units_v

velocityUnits

Satuan kecepatan: velocityUnits::pct (persen), rpm (putaran per menit), atau dps (derajat per detik).

waitForCompletion

bool

true (default) membuat proyek menunggu hingga robot selesai bergerak sebelum baris kode berikutnya dijalankan. false membuat baris kode berikutnya dijalankan segera.

Return Values

Mengembalikan nilai Boolean yang menunjukkan apakah robot mencapai jarak target atau tidak.

  • true - Robot mencapai jarak target.

  • false - Robot tidak menyelesaikan pergerakan, atau fungsi kembali sebelum pergerakan selesai karena waitForCompletion diatur ke false.

Notes
  • Menjalankan fungsi pergerakan penggerak lainnya (seperti drive atau turnFor) sementara driveFor sedang berlangsung akan mengganggu pergerakan saat ini.

  • Karena driveFor berbasis target (menggunakan parameter distance ), fungsi seperti isDone dan isMoving bekerja dengan driveFor.

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

berbelok#

turn memutar robot ke kiri atau ke kanan selamanya. Robot akan terus berputar hingga diberi tindakan lain, seperti bergerak atau berhenti. Untuk RPM atau DPS, batasnya diubah oleh rasio gigi dari sistem penggerak.

Available Functions

1 - Berbelok menggunakan kecepatan belok yang dikonfigurasi saat ini.

void turn(
    turnType dir );

2 - Berbelok dengan kecepatan yang ditentukan.

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

Parameters

Parameter

Jenis

Keterangan

dir

turnType

Arah putaran robot: left atau right.

velocity

double

Kecepatan untuk berbelok berkisar dari 0% hingga 100% saat menggunakan velocityUnits::pct, dari 0 hingga 600 rpm saat menggunakan rpm, atau dari 0 hingga 3600 derajat per detik saat menggunakan dpsJika tidak ada kecepatan yang diberikan, robot akan berbelok dengan kecepatan berbelok saat ini.

units

velocityUnits

Satuan kecepatan: velocityUnits::pct (persen), rpm (putaran per menit), atau dps (derajat per detik).

Return Values This function does not return a value. Notes
  • turn tidak menunggu; proyek akan terus mengeksekusi baris kode berikutnya segera setelah panggilan.

  • Sistem penggerak akan terus berputar hingga stop dipanggil atau fungsi pergerakan sistem penggerak lainnya (seperti turnFor atau drive) dieksekusi.

  • Fungsi seperti isDone dan isMoving tidak berlaku untuk turn, karena tidak menggunakan pergerakan berbasis target (tidak memiliki parameter angle).

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

putar Untuk#

turnFor turns menggerakkan robot ke kiri atau ke kanan dengan jumlah derajat tertentu. Belokan relatif terhadap posisi robot saat ini. Secara default, proyek akan menunggu hingga robot selesai berbelok sebelum baris kode berikutnya dijalankan. Untuk RPM atau DPS, batasnya diubah oleh rasio gigi penggerak.

Available Functions

1 - Berbelok dengan sudut yang ditentukan menggunakan kecepatan belok yang dikonfigurasi saat ini.

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

2 - Berbelok ke arah yang ditentukan dengan sudut tertentu menggunakan kecepatan belok yang dikonfigurasi saat ini.

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

3 - Putaran dengan sudut yang ditentukan pada kecepatan yang ditentukan.

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

4 - Berbelok ke arah yang ditentukan dengan sudut tertentu dan kecepatan yang ditentukan.

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

Parameters

Parameter

Jenis

Keterangan

dir

turnType

Arah putaran robot: left atau right.

angle

double

Sudut putaran robot.

units

rotationUnits

Satuan putaran: deg (derajat), rev (revolusi), atau raw (satuan mentah). Satu revolusi sama dengan 360 derajat.

velocity

double

Kecepatan untuk berbelok berkisar dari 0% hingga 100% saat menggunakan velocityUnits::pct, dari 0 hingga 600 rpm saat menggunakan rpm, atau dari 0 hingga 3600 derajat per detik saat menggunakan dpsJika tidak ada kecepatan yang diberikan, robot akan berbelok dengan kecepatan berbelok saat ini.

units_v

velocityUnits

Satuan kecepatan: velocityUnits::pct (persen), rpm (putaran per menit), atau dps (derajat per detik).

waitForCompletion

bool

true (default) membuat proyek menunggu hingga robot selesai berputar sebelum baris kode berikutnya dijalankan. false membuat baris kode berikutnya dijalankan segera.

Return Values

Mengembalikan nilai Boolean yang menunjukkan apakah robot mencapai sudut target atau tidak.

  • true - Robot mencapai sudut target.

  • false - Robot tidak menyelesaikan giliran, atau fungsi kembali sebelum giliran selesai karena waitForCompletion diatur ke false.

Notes
  • Menjalankan fungsi gerakan penggerak lainnya (seperti turn atau drive) sementara turnFor sedang berlangsung akan mengganggu gerakan saat ini.

  • Karena turnFor berbasis target (menggunakan parameter angle ), fungsi seperti isDone dan isMoving bekerja dengan turnFor.

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

berhenti#

stop menghentikan pergerakan robot. Jika mode penghentian disediakan, mode tersebut mengontrol bagaimana robot berhenti untuk panggilan fungsi ini.

Available Functions

1 - Menghentikan sistem penggerak menggunakan mode berhenti yang saat ini dikonfigurasi.

void stop();

2 - Menghentikan sistem penggerak menggunakan mode pengereman yang ditentukan.

void stop(
    brakeType mode );

Parameters

Parameter

Jenis

Keterangan

mode

brakeType

Cara robot berhenti:

  • brake - Berhenti seketika.
  • coast - Melambat hingga berhenti.
  • hold - Berhenti seketika dan mempertahankan posisi roda.

Return Values

Fungsi ini tidak mengembalikan nilai.

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

Mutator#

setDriveVelocity#

setDriveVelocity memberi tahu robot seberapa cepat ia harus bergerak. Persentase yang lebih tinggi membuat robot bergerak lebih cepat dan persentase yang lebih rendah membuat robot bergerak lebih lambat. Untuk RPM, batasnya diubah oleh rasio gigi dari sistem penggerak.

Setiap proyek dimulai dengan robot yang bergerak dengan kecepatan 50% secara default.

Catatan: Kecepatan yang lebih tinggi membuat robot bergerak lebih cepat, tetapi mungkin kurang presisi. Kecepatan yang lebih rendah membuat robot bergerak lebih lambat, tetapi bisa lebih presisi.

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

Parameters

Parameter

Jenis

Keterangan

velocity

double

Kecepatan untuk menggerakkan dari 0% hingga 100% saat menggunakan velocityUnits::pct, dari 0 hingga 600 rpm saat menggunakan rpm, atau dari 0 hingga 3600 derajat per detik saat menggunakan dps.

units

velocityUnits

Satuan kecepatan: velocityUnits::pct (persen), rpm (putaran per menit), atau dps (derajat per detik).

Return Values

Fungsi ini tidak mengembalikan nilai.

Notes
  • Kecepatan penggerak berlaku untuk semua fungsi pergerakan penggerak selanjutnya (seperti drive dan driveFor) kecuali kecepatan spesifik diberikan dalam panggilan fungsi.

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

setTurnVelocity#

setTurnVelocity memberi tahu robot seberapa cepat harus berbelok. Persentase yang lebih tinggi membuat robot berbelok lebih cepat dan persentase yang lebih rendah membuat robot berbelok lebih lambat.

Setiap proyek dimulai dengan robot yang berputar dengan kecepatan 50% secara default.

Catatan: Kecepatan yang lebih tinggi membuat robot berbelok lebih cepat, tetapi mungkin kurang presisi. Kecepatan yang lebih rendah membuat robot berbelok lebih lambat, tetapi bisa lebih presisi.

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

Parameters

Parameter

Jenis

Keterangan

velocity

double

Kecepatan untuk berbelok dari 0% hingga 100% saat menggunakan velocityUnits::pct, dari 0 hingga 600 rpm saat menggunakan rpm, atau dari 0 hingga 3600 derajat per detik saat menggunakan dps.

units

velocityUnits

Satuan kecepatan: percent atau pct (persen), rpm (putaran per menit), atau dps (derajat per detik).

Return Values

Fungsi ini tidak mengembalikan nilai.

Notes
  • Kecepatan putaran berlaku untuk semua fungsi putaran drivetrain berikutnya (seperti turn dan turnFor) kecuali kecepatan spesifik diberikan dalam panggilan fungsi.

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);

setStopping#

setStopping mengatur bagaimana robot akan berhenti bergerak: dengan mengerem, meluncur, atau berhenti.

Available Functions
void setStopping(
  brakeType mode );

Parameters

Parameter

Jenis

Keterangan

mode

brakeType

Cara robot berhenti:

  • brake - Berhenti seketika.
  • coast - Melambat hingga berhenti.
  • hold - Berhenti seketika dan mempertahankan posisi roda.

Return Values

Fungsi ini tidak mengembalikan nilai.

Notes
  • Mode penghentian berlaku untuk semua panggilan stop berikutnya kecuali mode penghentian khusus disediakan dalam panggilan fungsi.

setTimeout#

setTimeout mengatur berapa detik robot akan mencoba menyelesaikan suatu gerakan. Jika robot tidak dapat menyelesaikannya dalam waktu tersebut, robot akan berhenti mencoba dan melanjutkan ke baris kode berikutnya. Ini mencegah robot terjebak pada suatu gerakan.

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

Parameters

Parameter

Jenis

Keterangan

time

int32_t

Jumlah waktu yang dapat diberikan robot untuk mencoba menyelesaikan suatu gerakan. Ini harus berupa bilangan bulat positif.

units

timeUnits

Satuan waktu: sec (detik) atau msec (milidetik).

Return Values

Fungsi ini tidak mengembalikan nilai.

Notes
  • Batas waktu hanya berlaku untuk fungsi pergerakan penggerak berbasis target (seperti driveFor dan turnFor).

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

Pencari#

Selesai#

isDone mengembalikan nilai Boolean yang menunjukkan apakah robot telah selesai bergerak. Ini dapat digunakan untuk mengontrol waktu perilaku lain berdasarkan pergerakan robot.

Available Functions
bool isDone( void );

Parameters

Fungsi ini tidak menerima parameter apa pun.

Return Values
  • true - Robot telah selesai bergerak.

  • false - Robot masih bergerak.

Notes
  • isDone kompatibel dengan gerakan penggerak berbasis target (fungsi yang bergerak ke target, seperti driveFor dan turnFor).

  • isDone tidak kompatibel dengan fungsi seperti drive dan turn, karena fungsi-fungsi tersebut tidak menggunakan pergerakan berbasis target.

sedang pindah#

isMoving mengembalikan nilai Boolean yang menunjukkan apakah robot sedang bergerak. Ini dapat digunakan untuk mengontrol waktu perilaku lain berdasarkan pergerakan robot.

Available Functions
virtual bool isMoving( void );

Parameters

Fungsi ini tidak menerima parameter apa pun.

Return Values
  • true - Robot sedang bergerak.

  • false - Robot tidak bergerak.

Notes
  • isMoving kompatibel dengan gerakan penggerak berbasis target (fungsi yang bergerak ke target, seperti driveFor dan turnFor).

  • isMoving tidak kompatibel dengan fungsi seperti drive dan turn, karena fungsi-fungsi tersebut tidak menggunakan pergerakan berbasis target.

kecepatan#

velocity mengembalikan kecepatan robot saat bergerak.

Nilai positif berarti robot bergerak maju. Nilai negatif berarti robot bergerak mundur.

Available Functions
double velocity(
  velocityUnits units );

Parameters

Parameter

Jenis

Keterangan

units

velocityUnits

Satuan kecepatan: percent atau pct (persen), rpm (putaran per menit), atau dps (derajat per detik).

Return Values

Mengembalikan kecepatan penggerak sebagai double dalam satuan yang dipilih.

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();

saat ini#

current mengembalikan jumlah arus listrik yang digunakan oleh sistem penggerak. Arus adalah jumlah listrik yang mengalir melalui sistem penggerak. Nilainya dapat dikembalikan dalam satuan ampere atau sebagai persentase, tergantung pada satuannya.

Nilai arus yang lebih tinggi berarti sistem penggerak menggunakan lebih banyak arus listrik. Hal ini dapat terjadi ketika robot mendorong suatu objek atau mencoba bergerak saat terjebak.

Ini dapat digunakan untuk memeriksa apakah sistem penggerak mengalami kesulitan selama pergerakan. Jika arus tetap tinggi, sistem penggerak mungkin menjadi lebih panas atau menggunakan daya kurang efisien.

Available Functions

1 - Mengembalikan arus listrik sistem penggerak dalam satuan ampere.

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

2 - Mengembalikan arus listrik penggerak sebagai persentase dari nilai maksimum.

double current(
    percentUnits units );

Parameters

Parameter

Jenis

Keterangan

units

currentUnits

Satuan untuk mengembalikan arus: amp (ampere, default).

units

percentUnits

Satuan pengembalian arus: percent atau pct.

Return Values

Mengembalikan arus penggerak sebagai double dalam satuan yang dipilih.

kekuatan#

power mengembalikan seberapa besar daya yang digunakan oleh sistem penggerak, diukur dalam watt. Daya menunjukkan seberapa cepat sistem penggerak menggunakan energi.

Nilai daya yang lebih tinggi berarti sistem penggerak menggunakan energi lebih cepat. Hal ini dapat terjadi ketika robot mendorong suatu objek atau mencoba bergerak saat terjebak.

Ini dapat digunakan untuk membandingkan pergerakan atau memeriksa apakah sistem penggerak mengalami masalah. Jika daya tetap tinggi, sistem penggerak mungkin menjadi lebih panas atau menggunakan energi kurang efisien.

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

Parameters

Parameter

Jenis

Keterangan

units

powerUnits

Satuan daya: watt (watt, default).

Return Values

Mengembalikan daya penggerak sebagai double dalam watt.

torsi#

Torsi menunjukkan seberapa kuat sistem penggerak dapat mendorong atau menarik saat roda berputar.

torque mengembalikan nilai torsi yang digunakan oleh sistem penggerak, diukur dalam Newton-meter (Nm) atau inci-pon (InLb).

Nilai torsi yang lebih tinggi berarti sistem penggerak mendorong atau menarik lebih keras. Hal ini dapat terjadi ketika robot mendorong suatu objek atau mencoba bergerak saat terjebak.

Ini dapat digunakan untuk memeriksa apakah sistem penggerak (drivetrain) mengalami masalah atau untuk membandingkan seberapa besar dorongan yang dibutuhkan oleh gerakan yang berbeda.

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

Parameters

Parameter

Jenis

Keterangan

units

torqueUnits

Satuan untuk mengembalikan torsi: Nm (newton meter, standar) atau InLb (inci pon).

Return Values

Mengembalikan torsi penggerak sebagai double dalam satuan yang dipilih.

efisiensi#

efficiency mengembalikan seberapa efisien sistem penggerak menggunakan daya, dalam persentase dari 0% hingga 100%.

Efisiensi menunjukkan seberapa banyak daya sistem penggerak yang digunakan untuk pergerakan. Nilai efisiensi yang lebih tinggi berarti lebih banyak daya sistem penggerak yang digunakan untuk bergerak. Nilai efisiensi yang lebih rendah dapat terjadi ketika sistem penggerak bekerja keras tetapi tidak banyak bergerak, seperti ketika robot terjebak atau mendorong suatu objek.

Ini dapat digunakan untuk membandingkan pergerakan atau memeriksa apakah sistem penggerak membuang daya alih-alih menggunakannya untuk pergerakan.

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

Parameters

Parameter

Jenis

Keterangan

units

percentUnits

Satuan untuk mengembalikan efisiensi: percent atau pct (default).

Return Values

Mengembalikan efisiensi sistem penggerak sebagai double dalam satuan yang dipilih.

suhu#

temperature mengembalikan suhu rata-rata sistem penggerak sebagai persentase dari 0% hingga 100%.

Suhu menunjukkan seberapa panas motor penggerak. Suhu yang lebih tinggi berarti motor semakin panas saat bekerja. Motor harus tetap berada di bawah 55°C agar tetap bekerja dengan performa maksimal.

Jika motor terlalu panas, motor akan menurunkan arus maksimumnya untuk melindungi diri. Pada suhu 70°C, motor akan berhenti beroperasi hingga mendingin.

Ini dapat digunakan untuk memeriksa apakah sistem penggerak menjadi terlalu panas selama gerakan berulang, penggunaan jangka panjang, atau saat menekan suatu objek.

Available Functions
double temperature(
  percentUnits units );

Parameters

Parameter

Jenis

Keterangan

units

percentUnits

Unit untuk mengembalikan suhu dalam: percent atau pct.

Return Values

Mengembalikan suhu rata-rata sistem penggerak sebagai double dalam satuan yang dipilih.

Notes
  • Nilai yang dikembalikan sebesar 50% menunjukkan bahwa suhu motor rata-rata kira-kira 45°C (113°F).

  • Kisaran suhu operasi tipikal untuk sistem penggerak adalah sekitar 20°C (68°F) hingga 70°C (158°F).

voltase#

voltage mengembalikan tegangan listrik yang disuplai ke sistem penggerak.

Tegangan adalah tekanan listrik yang diberikan ke motor penggerak. Nilai ini dapat digunakan bersama dengan nilai arus dan daya untuk memahami bagaimana sistem penggerak menggunakan energi listrik.

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

Parameters

Parameter

Jenis

Keterangan

units

voltageUnits

Satuan tegangan yang akan dikembalikan: volt (volt, default) atau voltageUnits::mV (milivolt).

Return Values

Mengembalikan tegangan penggerak sebagai double dalam satuan yang dipilih.