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.

Sistem penggerak drivetrain tidak menggunakan Sensor Giroskop untuk belokan berdasarkan arah atau rotasi. Ia dapat bergerak maju atau mundur dan berbelok ke kiri atau kanan, tetapi tidak dapat berbelok ke arah atau rotasi tertentu. Untuk belokan berdasarkan arah dan rotasi, gunakan kelas smartdrive.

Halaman ini menggunakan myDrivetrain sebagai contoh nama drivetrain. Ganti dengan nama yang Anda konfigurasi sendiri sesuai kebutuhan.

Kelas Turunan#

Kelas drivetrain berfungsi sebagai kelas dasar untuk kelas turunan berikut:

  • smartdrive - Membuat sistem penggerak dengan dukungan Sensor Gyro.

Konstruktor Kelas#

1 - Membuat sistem penggerak menggunakan objek motor_group yang sudah ada untuk sisi kiri dan kanan.

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 dan kanan.

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 (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
    rightMotor, // right motor
    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 untuk sejumlah derajat atau putaran 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 - Menentukan berapa lama 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 dari sistem penggerak.

Sebelum memanggil fungsi anggota drivetrain apa pun, objek drivetrain harus dibuat.

/* 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
    rightMotor, // right motor
    259.34,     // wheelTravel
    320,        // trackWidth
    40,         // wheelBase
    mm,         // unit
    1.0 );      // externalGearRatio

Tindakan#

menyetir#

Perintah drive menggerakkan robot maju atau mundur tanpa henti. Robot akan terus bergerak hingga diberi perintah lain, seperti berbelok atau berhenti.

Available Functions

1 - Menggerakkan menggunakan kecepatan penggerak 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 120 rpm saat menggunakan rpm, atau dari 0 hingga 720 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 menjalankan baris kode berikutnya segera.

  • Robot akan terus bergerak sampai stop dipanggil atau fungsi pergerakan drivetrain lainnya dijalankan.

  • isDone dan isMoving tidak digunakan dengan drive karena drive tidak memiliki jarak target.

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. Proyek akan menunggu hingga robot selesai bergerak sebelum menjalankan baris kode berikutnya.

Available Functions

1 - Mendorong ke arah yang ditentukan sejauh jarak tertentu menggunakan kecepatan dorong saat ini.

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

2 - Menggerakkan ke arah berdasarkan nilai jarak menggunakan kecepatan penggerak saat ini.

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

3 - Menggerakkan ke arah berdasarkan nilai jarak pada 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 120 rpm saat menggunakan rpm, atau dari 0 hingga 720 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 drivetrain lain saat driveFor sedang berjalan akan mengganggu pergerakan saat ini.

  • driveFor menggunakan jarak target, jadi isDone dan isMoving dapat digunakan dengannya.

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

berbelok#

Perintah turn akan membuat robot berbelok ke kiri atau kanan selamanya. Robot akan terus berbelok hingga diberi perintah lain, seperti bergerak atau berhenti.

Available Functions

1 - Berbelok menggunakan kecepatan belok 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 120 rpm saat menggunakan rpm, atau dari 0 hingga 720 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

Fungsi ini tidak mengembalikan nilai.

Notes
  • turn tidak menunggu. Proyek akan menjalankan baris kode berikutnya segera.

  • Robot akan terus berputar sampai stop dipanggil atau fungsi gerakan penggerak lainnya dijalankan.

  • isDone dan isMoving tidak digunakan dengan turn karena turn tidak memiliki sudut target.

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 untuk sejumlah derajat, putaran, atau satuan mentah tertentu. Putaran relatif terhadap posisi robot saat ini. Proyek akan menunggu hingga robot selesai berputar sebelum baris kode berikutnya dijalankan.

Available Functions

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

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

2 - Berbelok ke arah yang ditentukan dengan sudut tertentu menggunakan kecepatan putar 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

Jumlah 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 120 rpm saat menggunakan rpm, atau dari 0 hingga 720 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 pergerakan penggerak lainnya saat turnFor sedang berjalan akan mengganggu pergerakan saat ini.

  • turnFor menggunakan sudut target, jadi isDone dan isMoving dapat digunakan dengannya.

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 pengereman saat ini.

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#

Perintah 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.

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 120 rpm saat menggunakan rpm, atau dari 0 hingga 720 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 digunakan oleh fungsi pergerakan sistem penggerak selanjutnya kecuali jika 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 120 rpm saat menggunakan rpm, atau dari 0 hingga 720 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 putar digunakan oleh fungsi putar penggerak selanjutnya kecuali jika 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 berhenti digunakan oleh panggilan stop selanjutnya kecuali mode berhenti tertentu disediakan dalam panggilan fungsi.

  • Jika fungsi ini tidak digunakan, robot akan menggunakan rem brake saat berhenti.

setTimeout#

setTimeout mengatur berapa lama 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
  • Timeout hanya berlaku untuk fungsi drivetrain yang bergerak menuju target, seperti driveFor dan turnFor.

Examples
// Turn right after driving forward.
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 bekerja dengan fungsi pergerakan drivetrain berbasis target, seperti driveFor dan turnFor.

  • isDone tidak digunakan dengan drive atau turn, karena fungsi-fungsi tersebut tidak bergerak ke 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 bekerja dengan fungsi pergerakan drivetrain berbasis target, seperti driveFor dan turnFor.

  • isMoving tidak digunakan dengan drive atau turn, karena fungsi-fungsi tersebut tidak bergerak ke target.

kecepatan#

velocity mengembalikan kecepatan robot saat bergerak.

Kecepatan dapat ditampilkan dalam persentase, dalam rpmatau dalam dps. 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 untuk mengembalikan kecepatan adalah: percent, pct, rpm, atau dps.

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 penggerak dalam ampere.

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

2 - Mengembalikan arus listrik penggerak dalam bentuk persentase.

double current(
    percentUnits units );

Parameters

Parameter

Jenis

Keterangan

units

currentUnits

Unit untuk mengembalikan arus masuk: amp.

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.

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

Unit untuk mengembalikan efisiensi dalam: percent atau pct.

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% berarti suhu motor rata-rata sekitar 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 dari 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 dikembalikan: volt (standar) atau voltageUnits::mV. voltageUnits::mV berarti milivolt.

Return Values

Mengembalikan tegangan penggerak sebagai double dalam satuan yang dipilih.