Sistem penggerak#

Perkenalan#

Robot VEX V5 menggunakan sistem penggerak untuk bergerak dan berbelok. Sistem penggerak terdiri dari motor dan roda yang bekerja bersama untuk menggerakkan robot.

Sistem penggerak yang terkonfigurasi dapat menggunakan Sensor Inersia, Sensor GPS, Sensor Giroskop, atau tanpa sensor. Ketika sensor digunakan, sistem penggerak akan menggunakannya untuk membantu robot bergerak dan berbelok dengan tepat. Pada awal setiap proyek, sistem penggerak akan mengkalibrasi sensor secara otomatis. Jaga agar robot tetap diam selama kalibrasi, sehingga robot dapat bergerak dan berbelok dengan benar.

Ada banyak cara untuk memberi kode pada sistem penggerak. Halaman ini menggunakan drivetrain sebagai contoh nama sistem penggerak. Ganti dengan nama yang Anda konfigurasi sendiri sesuai kebutuhan.

Berikut adalah daftar semua metode Drivetrain:

Aksi — Gerakkan dan putar robot.

  • drive — Menggerakkan robot maju atau mundur selamanya.

  • drive_for — Menggerakkan robot maju atau mundur sejauh jarak tertentu.

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

  • turn_for — Memutar robot ke kiri atau ke kanan dengan jumlah derajat tertentu.

  • turn_to_heading — Memutar robot untuk menghadap arah tertentu dari -359 hingga 359 derajat. Robot akan berbelok ke arah terpendek untuk mencapai arah target.

  • turn_to_rotation — Memutar robot ke rotasi tertentu.

  • stop — Menghentikan pergerakan robot.

  • calibrate_drivetrain – Mengkalibrasi sensor yang dikonfigurasi dengan drivetrain.

Mutator — Sesuaikan pengaturan sistem penggerak.

  • set_drive_velocity — Memberi tahu robot seberapa cepat harus bergerak.

  • set_turn_velocity — Memberi tahu robot seberapa cepat harus berbelok.

  • set_stopping — Memberitahukan bagaimana robot akan berhenti bergerak: dengan mengerem, meluncur, atau berhenti.

  • set_timeout — Menentukan berapa detik robot akan mencoba menyelesaikan suatu gerakan.

  • set_heading — Mengubah arah robot saat ini ke arah yang baru.

  • set_rotation — Mengubah rotasi robot saat ini ke rotasi baru.

  • set_turn_threshold – Menunjukkan seberapa dekat robot harus mendekati sudut target sebelum putaran selesai.

  • set_turn_constant – Mengubah seberapa kuat robot mengoreksi belokannya.

  • set_turn_direction_reverse – Mengubah apakah arah putaran smart drivetrain dibalik.

Getters — Periksa status sistem penggerak.

  • is_done — Mengembalikan nilai Boolean apakah robot sudah selesai bergerak.

  • is_moving — Mengembalikan nilai Boolean apakah robot sedang bergerak atau tidak.

  • heading — Mengembalikan arah haluan robot saat ini dari 0 hingga 359,99 derajat.

  • rotation — Mengembalikan rotasi robot saat ini.

  • 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 berapa banyak torsi yang digunakan oleh drivetrain.

  • efficiency — Mengembalikan seberapa efisien sistem penggerak menggunakan daya.

  • temperature — Mengembalikan seberapa hangat drivetrain.

  • get_timeout – Mengembalikan pengaturan waktu habis saat ini.

Konstruktor – Buat dan konfigurasikan sistem penggerak secara manual.

Tindakan#

drive#

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

Usage:
drivetrain.drive(direction, velocity, units)

Parameter

Keterangan

direction

Arah pergerakan robot: FORWARD atau REVERSE.

velocity

Opsional. Kecepatan penggerak dari 0% hingga 100% saat menggunakan PERCENT, dari 0 hingga 600 rpm saat menggunakan RPM, atau dari 0 hingga 3600 derajat per detik saat menggunakan VelocityUnits.DPSIni dapat berupa bilangan bulat integer (bilangan pecahanfloat). Jika tidak ada kecepatan yang diberikan, robot akan bergerak dengan kecepatan penggerak saat ini.

units

Opsional. Satuan kecepatan: RPM (putaran per menit, default), PERCENT, atau VelocityUnits.DPS (derajat per detik).

# Drive forward, then stop
drivetrain.drive(FORWARD)
wait(2, SECONDS)
drivetrain.stop()

# Drive forward at 360 degrees per second
drivetrain.drive(FORWARD, 360.0, VelocityUnits.DPS)

drive_for#

Perintah drive_for menggerakkan robot maju atau mundur sejauh jarak tertentu. Proyek akan menunggu hingga robot selesai bergerak sebelum menjalankan baris kode berikutnya. Untuk RPM atau derajat per detik, batasnya diubah oleh rasio gigi dari sistem penggerak.

Usage:
drivetrain.drive_for(direction, distance, units, velocity, units_v, wait)

Parameter

Keterangan

direction

Arah pergerakan robot: FORWARD atau REVERSE.

distance

Jarak yang ditempuh robot. Ini bisa berupa bilangan integer , atau bilangan desimal (float).

units

Opsional. Satuan jarak: INCHES (standar) atau MM (milimeter).

velocity

Opsional. Kecepatan penggerak dari 0% hingga 100% saat menggunakan PERCENT, dari 0 hingga 600 rpm saat menggunakan RPM, atau dari 0 hingga 3600 derajat per detik saat menggunakan VelocityUnits.DPSIni dapat berupa bilangan bulat integer (bilangan pecahanfloat). Jika tidak ada kecepatan yang diberikan, robot akan bergerak dengan kecepatan penggerak saat ini.

units_v

Opsional. Satuan kecepatan: RPM (putaran per menit, default), PERCENT, atau VelocityUnits.DPS (derajat per detik).

wait

Opsional. wait=True (default) membuat proyek menunggu hingga robot selesai bergerak sebelum baris kode berikutnya dijalankan. wait=False membuat baris kode berikutnya dijalankan segera.

# Drive forwards and backwards
drivetrain.drive_for(FORWARD, 5)
wait(1, SECONDS)
drivetrain.drive_for(REVERSE, 5)

turn#

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

Usage:
drivetrain.turn(direction, velocity, units)

Parameter

Keterangan

direction

Arah putaran robot: LEFT atau RIGHT.

velocity

Opsional. Kecepatan untuk berbelok dari 0% hingga 100% saat menggunakan PERCENT, dari 0 hingga 600 rpm saat menggunakan RPM, atau dari 0 hingga 3600 derajat per detik saat menggunakan VelocityUnits.DPSIni dapat berupa bilangan bulat integer (bilangan pecahanfloat). Jika tidak ada kecepatan yang diberikan, robot akan berbelok dengan kecepatan berbelok saat ini.

units

Opsional. Satuan kecepatan: RPM (putaran per menit, default), PERCENT, atau VelocityUnits.DPS (derajat per detik).

# Turn right, then stop
drivetrain.turn(RIGHT)
wait(2, SECONDS)
drivetrain.stop()

turn_for#

Perintah turn_for memutar robot ke kiri atau ke kanan sejumlah derajat tertentu. Putaran tersebut relatif terhadap posisi robot saat ini. Proyek akan menunggu hingga robot selesai berputar sebelum baris kode berikutnya dijalankan. Untuk RPM atau derajat per detik, batasnya diubah oleh rasio gigi dari sistem penggerak.

Usage:
drivetrain.turn_for(direction, angle, units, velocity, units_v, wait)

Parameter

Keterangan

direction

Arah putaran robot: LEFT atau RIGHT.

angle

Jumlah derajat putaran robot. Ini bisa berupa bilangan integer , atau bilangan desimal (float).

units

Opsional. Satuan putaran: DEGREES (standar) atau TURNSSatu putaran sama dengan 360 derajat.

velocity

Opsional. Kecepatan untuk berbelok dari 0% hingga 100% saat menggunakan PERCENT, dari 0 hingga 600 rpm saat menggunakan RPM, atau dari 0 hingga 3600 derajat per detik saat menggunakan VelocityUnits.DPSIni dapat berupa bilangan bulat integer (bilangan pecahanfloat). Jika tidak ada kecepatan yang diberikan, robot akan berbelok dengan kecepatan berbelok saat ini.

units_v

Opsional. Satuan kecepatan: RPM (putaran per menit, default), PERCENT, atau VelocityUnits.DPS (derajat per detik).

wait

Opsional. wait=True (default) membuat proyek menunggu hingga robot selesai berputar sebelum baris kode berikutnya dijalankan. wait=False membuat baris kode berikutnya dijalankan segera.

# Turn left, then turn around to the right
drivetrain.turn_for(LEFT, 90)
drivetrain.turn_for(RIGHT, 180)

turn_to_heading#

Arah haluan adalah arah yang dihadapi robot, diukur dalam derajat. turn_to_heading memutar robot untuk menghadap arah haluan tertentu dari -359 hingga 359 derajat. Robot akan berbelok melalui arah terpendek untuk mencapai arah haluan target.

Arah awal pergerakan robot adalah 0 derajat.

Proyek ini akan menunggu hingga robot selesai berputar sebelum menjalankan baris kode berikutnya.

Catatan: Fungsi ini hanya tersedia jika sistem penggerak dikonfigurasi dengan Sensor Inersia, Sensor GPS, atau Sensor Giroskop di jendela Perangkat.

Usage:
drivetrain.turn_to_heading(angle, units, velocity, units_v, wait)

Parameter

Keterangan

angle

Arah yang harus dihadapi robot, dalam derajat. Ini bisa berupa bilangan integer ), bilangan pecahan (float) dari -359 hingga 359.

units

Opsional. Satuan arah: DEGREES (standar).

velocity

Opsional. Kecepatan untuk berbelok dari 0% hingga 100% saat menggunakan PERCENT, dari 0 hingga 600 rpm saat menggunakan RPM, atau dari 0 hingga 3600 derajat per detik saat menggunakan VelocityUnits.DPSIni dapat berupa bilangan bulat integer (bilangan pecahanfloat). Jika tidak ada kecepatan yang diberikan, robot akan berbelok dengan kecepatan berbelok saat ini.

units_v

Opsional. Satuan kecepatan: RPM (putaran per menit, default), PERCENT, atau VelocityUnits.DPS (derajat per detik).

wait

Opsional. wait=True (default) membuat proyek menunggu hingga robot selesai berputar sebelum baris kode berikutnya dijalankan. wait=False membuat baris kode berikutnya dijalankan segera.

# Turn to face the cardinal directions
drivetrain.turn_to_heading(90, DEGREES)
wait(1, SECONDS)
drivetrain.turn_to_heading(180, DEGREES)
wait(1, SECONDS)
drivetrain.turn_to_heading(270, DEGREES)
wait(1, SECONDS)
drivetrain.turn_to_heading(0, DEGREES)

# Turn twice slowly
drivetrain.turn_to_heading(90, DEGREES, 20, PERCENT)
wait(1, SECONDS)
drivetrain.turn_to_heading(180, DEGREES, 20, PERCENT)

turn_to_rotation#

turn_to_rotation memutar robot ke rotasi tertentu.

Rotasi adalah seberapa banyak robot telah berputar, diukur dalam derajat. Pada awal proyek, nilai rotasi diatur ke 0 derajat. Rotasi juga dapat diatur menggunakan metode set_rotation.

Nilai rotasi bersifat absolut. Artinya, arah putaran bergantung pada rotasi robot saat ini. Berbelok ke kanan akan meningkatkan rotasi, dan berbelok ke kiri akan mengurangi rotasi.

Sebagai contoh, jika robot mulai dari 0 derajat dan Anda memutarnya hingga mencapai rotasi 720 derajat, robot akan berbelok ke kanan dua kali. Jika kemudian Anda memutarnya hingga mencapai rotasi 360 derajat, robot akan berbelok ke kiri sekali, karena 360 kurang dari 720.

Proyek ini akan menunggu hingga robot selesai berputar sebelum menjalankan baris kode berikutnya.

Catatan: Metode ini hanya tersedia jika sistem penggerak dikonfigurasi dengan Sensor Inersia, Sensor GPS, atau Sensor Giroskop di jendela Perangkat.

Usage:
drivetrain.turn_to_rotation(angle, units, velocity, units_v, wait)

Parameter

Keterangan

angle

Nilai rotasi, dalam derajat atau putaran, yang akan dilakukan robot. Ini bisa berupa bilangan integer , atau bilangan desimal (float).

units

Opsional. Satuan rotasi: DEGREES (standar) atau TURNSSatu putaran sama dengan 360 derajat.

velocity

Opsional. Kecepatan untuk berbelok dari 0% hingga 100% saat menggunakan PERCENT, dari 0 hingga 600 rpm saat menggunakan RPM, atau dari 0 hingga 3600 derajat per detik saat menggunakan VelocityUnits.DPSIni dapat berupa bilangan bulat integer (bilangan pecahanfloat). Jika tidak ada kecepatan yang diberikan, robot akan berbelok dengan kecepatan berbelok saat ini.

units_v

Opsional. Satuan kecepatan: RPM (putaran per menit, default), PERCENT, atau VelocityUnits.DPS (derajat per detik).

wait

Opsional. wait=True (default) membuat proyek menunggu hingga robot selesai berputar sebelum baris kode berikutnya dijalankan. wait=False membuat baris kode berikutnya dijalankan segera.

# Turn left, then spin in a circle clockwise and face right
drivetrain.turn_to_rotation(-90, DEGREES)
wait(1, SECONDS)
drivetrain.turn_to_rotation(450, DEGREES)

# Turn left then slowly spin in a circle clockwise
drivetrain.turn_to_rotation(-90, DEGREES)
wait(1, SECONDS)
drivetrain.turn_to_rotation(450, DEGREES, 20, PERCENT)

stop#

stop menghentikan pergerakan robot.

Usage:
drivetrain.stop(mode)

Parameter

Keterangan

mode

Opsional. Cara robot berhenti: BRAKE (default), BRAKE, atau COAST

  • COAST — Berhenti seketika.
  • HOLD — Melambat hingga berhenti.
  • HOLD — Berhenti seketika dan mempertahankan posisi roda.

# Drive forward, then stop
drivetrain.drive(FORWARD)
wait(2, SECONDS)
drivetrain.stop()

calibrate_drivetrain#

calibrate_drivetrain adalah fungsi bawaan yang mengkalibrasi Sensor Inersia, Sensor GPS, atau Sensor Giroskop yang dikonfigurasi pada drivetrain.

Kalibrasi membantu sensor mengukur pergerakan dengan benar. Jaga agar robot tetap diam selama sekitar 2 detik selama kalibrasi. Jika robot bergerak selama kalibrasi, sensor mungkin tidak mengukur pergerakan dengan benar.

Proyek akan menunggu hingga kalibrasi selesai sebelum baris kode berikutnya dijalankan.

Catatan: Fungsi ini hanya tersedia jika sistem penggerak dikonfigurasi dengan Sensor Inersia, Sensor GPS, atau Sensor Giroskop di jendela Perangkat.

Usage:
calibrate_drivetrain()

Parameter

Keterangan

Fungsi ini tidak memiliki parameter.

Mutator#

set_drive_velocity#

set_drive_velocity 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 atau derajat per detik, 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.

Usage:
drivetrain.set_drive_velocity(velocity, units)

Parameter

Keterangan

velocity

Kecepatan untuk menggerakkan dari 0% hingga 100% saat menggunakan PERCENT, dari 0 hingga 600 rpm saat menggunakan RPM, atau dari 0 hingga 3600 derajat per detik saat menggunakan VelocityUnits.DPSIni bisa berupa bilangan bulat integer floatfloat.

units

Opsional. Satuan kecepatan: RPM (putaran per menit, default), PERCENT, atau VelocityUnits.DPS (derajat per detik).

# Drive forward at the default velocity
drivetrain.drive_for(FORWARD, 100, MM)
wait(1, SECONDS)

# Drive slower
drivetrain.set_drive_velocity(20, PERCENT)
drivetrain.drive_for(FORWARD, 100, MM)
wait(1, SECONDS)

# Drive faster
drivetrain.set_drive_velocity(100, PERCENT)
drivetrain.drive_for(FORWARD, 100, MM)
wait(1, SECONDS)

set_turn_velocity#

set_turn_velocity 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. Untuk RPM atau derajat per detik, batasnya diubah oleh rasio gigi dari sistem penggerak.

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.

Usage:
drivetrain.set_turn_velocity(velocity, units)

Parameter

Keterangan

velocity

Kecepatan untuk berputar dari 0% hingga 100% saat menggunakan PERCENT, dari 0 hingga 600 rpm saat menggunakan RPM, atau dari 0 hingga 3600 derajat per detik saat menggunakan VelocityUnits.DPSIni bisa berupa bilangan bulat integer floatfloat.

units

Opsional. Satuan kecepatan: RPM (putaran per menit, default), PERCENT, atau VelocityUnits.DPS (derajat per detik).

# Turn at the default velocity
drivetrain.turn_for(RIGHT, 100)
wait(1, SECONDS)

# Turn slower
drivetrain.set_turn_velocity(20, PERCENT)
drivetrain.turn_for(RIGHT, 100)
wait(1, SECONDS)

# Turn faster
drivetrain.set_turn_velocity(100, PERCENT)
drivetrain.turn_for(RIGHT, 100)
wait(1, SECONDS)

set_stopping#

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

Usage:
drivetrain.set_stopping(mode)

Parameter

Keterangan

mode

Cara robot berhenti:

  • BRAKE — Berhenti seketika.
  • COAST — Melambat hingga berhenti.
  • HOLD — Berhenti seketika dan mempertahankan posisi roda.

Jika metode ini tidak digunakan, robot akan menggunakan BRAKE saat berhenti.

set_timeout#

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

Usage:
drivetrain.set_timeout(value, units)

Parameter

Keterangan

value

Jumlah waktu yang dapat dicoba robot untuk menyelesaikan suatu gerakan. Ini bisa berupa bilangan bulat positif integerfloat).

units

Opsional. Satuan waktu: MSEC (milidetik, default) atau SECONDS.

set_heading#

Heading adalah arah yang dihadapi robot, diukur dalam derajat. set_heading mengubah heading robot saat ini ke nilai heading baru.

Sebagai contoh, jika robot telah berputar menghadap ke kanan, mengatur arah menjadi 0 derajat akan menjadikan posisi menghadap ke kanan tersebut sebagai 0 derajat yang baru. Kemudian robot dapat berputar ke posisi lain berdasarkan arah yang baru tersebut.

Catatan: Metode ini hanya tersedia jika sistem penggerak dikonfigurasi dengan Sensor Inersia, Sensor GPS, atau Sensor Giroskop di jendela Perangkat.

Usage:
drivetrain.set_heading(heading, units)

Parameter

Keterangan

heading

Nilai haluan, dalam derajat atau putaran, yang akan diatur untuk robot. Ini bisa berupa bilangan integer , atau bilangan desimal (float).

units

Opsional. Satuan arah: DEGREES (standar) atau TURNSSatu putaran sama dengan 360 derajat.

# Face the new 0 degrees
drivetrain.set_heading(90, DEGREES)
drivetrain.turn_to_heading(0, DEGREES)

set_rotation#

Rotasi adalah seberapa banyak robot telah berputar, diukur dalam derajat. Pada awal proyek, nilai rotasi diatur ke 0 derajat. Perintah set_rotation mengubah rotasi robot saat ini ke nilai baru.

Sebagai contoh, jika robot telah melakukan dua putaran penuh ke kanan, nilai rotasinya akan menjadi 720 derajat. Mengatur rotasi ke 0 derajat akan mengatur ulang rotasi tersebut dari 720 menjadi 0 derajat. Kemudian robot dapat berputar berdasarkan nilai rotasi yang baru tersebut.

Catatan: Metode ini hanya tersedia jika sistem penggerak dikonfigurasi dengan Sensor Inersia, Sensor GPS, atau Sensor Giroskop di jendela Perangkat.

Usage:
drivetrain.set_rotation(rotation, units)

Parameter

Keterangan

rotation

Nilai rotasi, dalam derajat atau putaran, yang akan diatur untuk robot. Ini bisa berupa bilangan integer , atau bilangan desimal (float).

units

Opsional. Satuan rotasi: DEGREES (standar) atau TURNSSatu putaran sama dengan 360 derajat.

# Spin counterclockwise two times
drivetrain.set_rotation(720, DEGREES)
drivetrain.turn_to_rotation(0, DEGREES)

set_turn_threshold#

set_turn_threshold mengatur seberapa dekat robot harus mendekati sudut target sebelum belokan selesai.

Ambang batas yang lebih kecil dapat membuat belokan lebih presisi, tetapi robot mungkin membutuhkan waktu lebih lama untuk menyelesaikan belokan. Ambang batas yang lebih besar dapat membuat belokan selesai lebih cepat, tetapi mungkin kurang presisi.

Catatan: Metode ini hanya tersedia jika sistem penggerak dikonfigurasi dengan Sensor Inersia, Sensor GPS, atau Sensor Giroskop di jendela Perangkat.

Usage:
drivetrain.set_turn_threshold(value)

Parameter

Keterangan

value

Ambang batas belok, dalam derajat. Ini bisa berupa bilangan integer ), atau bilangan desimal (float). Ambang batas belok default adalah 1 derajat.

set_turn_constant#

set_turn_constant mengubah seberapa kuat robot mengoreksi belokannya.

Nilai yang lebih tinggi membuat robot mengoreksi belokan dengan lebih kuat. Nilai yang lebih rendah membuat robot mengoreksi belokan dengan lebih lembut. Nilai default adalah 1,0.

Catatan: Metode ini hanya tersedia jika sistem penggerak dikonfigurasi dengan Sensor Inersia, Sensor GPS, atau Sensor Giroskop di jendela Perangkat.

Usage:
drivetrain.set_turn_constant(value)

Parameter

Keterangan

value

Konstanta putaran. Ini bisa berupa angka desimal (float) dari 0,1 hingga 4,0. Nilai defaultnya adalah 1,0.

set_turn_direction_reverse#

set_turn_direction_reverse mengubah apakah arah belok smart drivetrain dibalik atau tidak.

Ini dapat digunakan jika sistem penggerak berputar ke arah yang berlawanan dari yang diharapkan setelah dikonfigurasi secara manual dalam kode. Metode ini bekerja sama dengan mengatur parameter reverse menjadi True saat membuat SmartDrive.

Catatan: Metode ini hanya tersedia jika sistem penggerak dikonfigurasi dengan Sensor Inersia, Sensor GPS, atau Sensor Giroskop di jendela Perangkat.

Usage:
drivetrain.set_turn_direction_reverse(value)

Parameter

Keterangan

value

Apakah akan membalikkan arah belok sistem penggerak pintar: True membalikkan arah belok, dan False menggunakan arah belok default.

Pencari#

is_done#

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

  • True — Robot telah selesai bergerak.

  • False — Robot masih bergerak.

Metode ini bekerja bersama dengan metode Drivetrain berikut yang memiliki parameter wait : drive_for, turn_for, turn_to_heading, dan turn_to_rotation.

Usage:
drivetrain.is_done()

Parameter

Keterangan

Metode ini tidak memiliki parameter.

is_moving#

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

  • True — Robot itu bergerak.

  • False — Robot tidak bergerak.

Penggunaan:

drivetrain.is_moving()

Parameter

Keterangan

Metode ini tidak memiliki parameter.

heading#

Heading adalah arah yang dihadapi robot, diukur dalam derajat. Perintah heading mengembalikan heading robot saat ini dari 0 hingga 359,99 derajat.

Arah awal pergerakan robot adalah 0 derajat.

Catatan: Metode ini hanya tersedia jika sistem penggerak dikonfigurasi dengan Sensor Inersia, Sensor GPS, atau Sensor Giroskop di jendela Perangkat.

Usage:
drivetrain.heading(units)

Parameter

Keterangan

units

Opsional. Satuan untuk kembali ke arah semula: DEGREES (standar) atau TURNSSatu putaran sama dengan 360 derajat.

# Display the heading after turning
drivetrain.turn_for(RIGHT, 450, DEGREES)
brain.screen.print("Heading: ")
brain.screen.print(drivetrain.heading())

rotation#

Rotasi adalah seberapa banyak robot telah berputar, diukur dalam derajat. Pada awal proyek, nilai rotasi diatur ke 0 derajat. Perintah rotation mengembalikan rotasi robot saat ini.

Memutar ke kanan akan meningkatkan putaran, dan memutar ke kiri akan mengurangi putaran. Misalnya, melakukan dua putaran penuh ke kanan akan menghasilkan putaran sebesar 720 derajat.

Catatan: Metode ini hanya tersedia jika sistem penggerak dikonfigurasi dengan Sensor Inersia, Sensor GPS, atau Sensor Giroskop di jendela Perangkat.

Usage:
drivetrain.rotation(units)

Parameter

Keterangan

units

Opsional. Satuan untuk mengembalikan rotasi: DEGREES (default) atau TURNSSatu putaran sama dengan 360 derajat.

# Display the rotation after turning
drivetrain.turn_for(RIGHT, 450, DEGREES)
brain.screen.print("Rotation: ")
brain.screen.print(drivetrain.rotation())

velocity#

velocity mengembalikan kecepatan robot saat bergerak.

Kecepatan dapat ditampilkan sebagai persentase dari -100% hingga 100%, dalam RPM, atau dalam VelocityUnits.DPS (derajat per detik). Nilai positif berarti robot bergerak maju. Nilai negatif berarti robot bergerak mundur.

Usage:
drivetrain.velocity(units)

Parameter

Keterangan

units

Opsional. Satuan kecepatan: RPM (putaran per menit, default), PERCENT, atau VelocityUnits.DPS (derajat per detik).

current#

current mengembalikan jumlah arus listrik yang digunakan oleh sistem penggerak, diukur dalam ampere. Arus adalah jumlah listrik yang mengalir melalui sistem penggerak.

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.

Usage:
drivetrain.current(units)

Parameter

Keterangan

units

Opsional. Satuan untuk mengembalikan arus: CurrentUnits.AMP (ampere, default).

power#

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.

Usage:
drivetrain.power()

Parameter

Keterangan

Metode ini tidak memiliki parameter.

torque#

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.

Usage:
drivetrain.torque(units)

Parameter

Keterangan

units

Opsional. Satuan untuk mengembalikan torsi: TorqueUnits.NM (newton meter, default) atau TorqueUnits.INLB (inci pon).

efficiency#

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.

Usage:
drivetrain.efficiency()

Parameter

Keterangan

Metode ini tidak memiliki parameter.

temperature#

temperature mengembalikan suhu rata-rata sistem penggerak dalam satuan suhu yang dipilih.

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.

Usage:
drivetrain.temperature(units)

Parameter

Keterangan

units

Opsional. Satuan suhu yang akan dikembalikan: TemperatureUnits.CELSIUS (default) atau TemperatureUnits.FAHRENHEIT.

get_timeout#

get_timeout mengembalikan timeout yang saat ini diatur dalam milidetik.

Usage:
drivetrain.get_timeout()

Parameter

Keterangan

Metode ini tidak memiliki parameter.

Konstruktor#

Konstruktor digunakan untuk membuat objek DriveTrain dan SmartDrive secara manual, yang diperlukan untuk mengkonfigurasi sistem penggerak di luar VEXcode.

Setidaknya dua objek Motor atau MotorGroup harus dibuat sebelum membuat drivetrain.

DriveTrain#

DriveTrain menciptakan sistem penggerak tanpa Sensor Inersia, Sensor GPS, atau Sensor Giroskop.

Usage:
DriveTrain(lm, rm, wheelTravel, trackWidth, wheelBase, units, externalGearRatio)

Parameter

Keterangan

lm

The left motor or motor group.

rm

The right motor or motor group.

wheelTravel

Opsional. Keliling roda penggerak. Nilai default adalah 300 milimeter.

trackWidth

Opsional. Lebar antara roda kiri dan kanan. Standarnya adalah 320 milimeter.

wheelBase

Opsional. Jarak antara roda depan dan belakang. Nilai standarnya adalah 320 milimeter.

units

Opsional. Satuan untuk wheelTravel, trackWidth, dan wheelBase: MM (milimeter, default), INCHES, atau DistanceUnits.CM (sentimeter).

externalGearRatio

Opsional. Rasio gigi yang digunakan untuk menyesuaikan jarak penggerak jika gigi digunakan. Ini bisa berupa bilangan integer , atau bilangan desimal (float). Nilai default adalah 1,0.

# Create the Motors
left_motor = Motor(Ports.PORT1, GearSetting.RATIO_18_1, False)
right_motor = Motor(Ports.PORT2, GearSetting.RATIO_18_1, True)

# Create a drivetrain with default values
drivetrain = DriveTrain(left_motor, right_motor)

# Create the motors
left_motor = Motor(Ports.PORT1, GearSetting.RATIO_18_1, False)
right_motor = Motor(Ports.PORT2, GearSetting.RATIO_18_1, True)

"""
Create a drivetrain with the following values:
- wheelTravel = 319.19
- trackWidth = 295
- wheelBase = 40
- units = MM (Millimeters)
- externalGearRatio - 1
"""
drivetrain = DriveTrain(left_motor, right_motor, 319.19, 295, 40, MM, 1)

SmartDrive#

SmartDrive menciptakan sistem penggerak yang dikonfigurasi dengan Sensor Inersia, Sensor GPS, atau Sensor Giroskop.

Usage:
SmartDrive(lm, rm, g, wheelTravel, trackWidth, wheelBase, units, externalGearRatio)

Parameter

Keterangan

lm

The left motor or motor group.

rm

The right motor or motor group.

g

The Inertial Sensor, GPS Sensor, or Gyro Sensor used by the drivetrain.

wheelTravel

Opsional. Keliling roda penggerak. Nilai default adalah 300 milimeter.

trackWidth

Opsional. Lebar antara roda kiri dan kanan. Standarnya adalah 320 milimeter.

wheelBase

Opsional. Jarak antara roda depan dan belakang. Nilai standarnya adalah 320 milimeter.

units

Opsional. Satuan untuk wheelTravel, trackWidth, dan wheelBase: MM (milimeter, default), INCHES, atau DistanceUnits.CM (sentimeter).

externalGearRatio

Opsional. Rasio gigi yang digunakan untuk menyesuaikan jarak penggerak jika gigi digunakan. Ini bisa berupa bilangan integer , atau bilangan desimal (float). Nilai default adalah 1,0.

# Create the Motors
left_motor = Motor(Ports.PORT1, GearSetting.RATIO_18_1, False)
right_motor = Motor(Ports.PORT2, GearSetting.RATIO_18_1, True)

# Create a Gyro Sensor in Port A
gyro_a = Gyro(brain.three_wire_port.a)


# Create a drivetrain with default values
drivetrain = SmartDrive(left_motor, right_motor, gyro_a)

# Create the Motors
left_motor = Motor(Ports.PORT1, GearSetting.RATIO_18_1, False)
right_motor = Motor(Ports.PORT2, GearSetting.RATIO_18_1, True)

# Create a Gyro Sensor in Port A
gyro_a = Gyro(brain.three_wire_port.a)

"""
Create a drivetrain with the following values:
- wheelTravel = 319.19
- trackWidth = 295
- wheelBase = 40
- units = MM (Millimeters)
- externalGearRatio - 1
"""
drivetrain = SmartDrive(left_motor, right_motor, gyro_a, 319.19, 295, 40, MM, 1)