ระบบขับเคลื่อน#

การแนะนำ#

หุ่นยนต์ VEX V5 ใช้ระบบขับเคลื่อนเพื่อบังคับทิศทางและเลี้ยว ระบบขับเคลื่อนประกอบด้วยมอเตอร์และล้อที่ทำงานร่วมกันเพื่อเคลื่อนที่หุ่นยนต์

ระบบขับเคลื่อนที่กำหนดค่าไว้สามารถใช้ เซ็นเซอร์ความเฉื่อย, เซ็นเซอร์ GPS, เซ็นเซอร์ไจโร หรือไม่ใช้เซ็นเซอร์ก็ได้ เมื่อใช้เซ็นเซอร์ ระบบขับเคลื่อนจะใช้เซ็นเซอร์นั้นเพื่อช่วยให้หุ่นยนต์เคลื่อนที่และเลี้ยวได้อย่างแม่นยำ ในตอนเริ่มต้นของแต่ละโครงการ ระบบขับเคลื่อนจะปรับเทียบเซ็นเซอร์โดยอัตโนมัติ ให้หุ่นยนต์อยู่นิ่งในระหว่างการปรับเทียบ เพื่อให้หุ่นยนต์สามารถเคลื่อนที่และเลี้ยวได้อย่างถูกต้อง

มีหลายวิธีในการกำหนดรหัสระบบขับเคลื่อน หน้านี้ใช้ชื่อระบบขับเคลื่อน drivetrain เป็นตัวอย่าง โปรดแทนที่ด้วยชื่อที่คุณกำหนดเองตามต้องการ

ด้านล่างนี้คือรายการวิธีการส่งกำลังทั้งหมด:

การกระทำ — ขยับและหมุนหุ่นยนต์

  • drive — เคลื่อนหุ่นยนต์ไปข้างหน้าหรือถอยหลังตลอดไป

  • drive_for — เคลื่อนหุ่นยนต์ไปข้างหน้าหรือถอยหลังตามระยะทางที่กำหนด

  • turn — หมุนหุ่นยนต์ไปทางซ้ายหรือขวาตลอดไป

  • turn_for — หมุนหุ่นยนต์ไปทางซ้ายหรือขวาตามจำนวนองศาที่กำหนด

  • turn_to_heading — หมุนหุ่นยนต์ให้หันหน้าไปยังทิศทางที่กำหนดตั้งแต่ -359 ถึง 359 องศา หุ่นยนต์จะหมุนไปในทิศทางที่สั้นที่สุดเพื่อไปยังทิศทางเป้าหมาย

  • turn_to_rotation — หมุนหุ่นยนต์ไปที่มุมการหมุนที่กำหนด

  • stop — หยุดการเคลื่อนที่ของหุ่นยนต์

  • calibrate_drivetrain – ปรับเทียบเซ็นเซอร์ที่กำหนดค่าไว้กับระบบขับเคลื่อน

ตัวปรับแต่ง — ปรับการตั้งค่าระบบขับเคลื่อน

  • set_drive_velocity — บอกหุ่นยนต์ว่าจะขับด้วยความเร็วเท่าใด

  • set_turn_velocity — บอกหุ่นยนต์ว่าจะเลี้ยวเร็วแค่ไหน

  • set_stopping — บอกวิธีที่หุ่นยนต์จะหยุดเคลื่อนที่: โดยการเบรก การปล่อยให้ไหลไปเอง หรือการหยุดนิ่ง

  • set_timeout — กำหนดจำนวนวินาทีที่หุ่นยนต์จะพยายามทำการเคลื่อนไหวให้เสร็จสิ้น

  • set_heading — เปลี่ยนทิศทางปัจจุบันของหุ่นยนต์เป็นทิศทางใหม่

  • set_rotation — เปลี่ยนการหมุนปัจจุบันของหุ่นยนต์เป็นการหมุนใหม่

  • set_turn_threshold – บอกว่าหุ่นยนต์ต้องเข้าใกล้มุมเป้าหมายมากแค่ไหนก่อนที่จะเลี้ยวเสร็จสมบูรณ์

  • set_turn_constant – เปลี่ยนความแรงในการแก้ไขการเลี้ยวของหุ่นยนต์

  • set_turn_direction_reverse – เปลี่ยนทิศทางการเลี้ยวของระบบขับเคลื่อนอัจฉริยะว่าจะกลับทิศทางหรือไม่

ตัวตรวจสอบสถานะระบบขับเคลื่อน — ตรวจสอบสถานะระบบส่งกำลัง

  • is_done — ส่งคืนค่าบูลีนว่าหุ่นยนต์เคลื่อนที่เสร็จแล้วหรือไม่

  • is_moving — ส่งคืนว่าหุ่นยนต์กำลังเคลื่อนที่หรือไม่ ในรูปแบบค่าบูลีน

  • heading — ส่งคืนทิศทางปัจจุบันของหุ่นยนต์จาก 0 ถึง 359.99 องศา

  • rotation — ส่งคืนการหมุนปัจจุบันของหุ่นยนต์

  • velocity — ส่งคืนความเร็วที่หุ่นยนต์กำลังขับเคลื่อน

  • current — ส่งคืนกระแสไฟฟ้าที่ระบบขับเคลื่อนใช้

  • power — ส่งคืนอัตราการใช้พลังงานของระบบขับเคลื่อน

  • torque — ส่งคืนค่าแรงบิดที่ระบบขับเคลื่อนใช้

  • efficiency — ส่งคืนประสิทธิภาพการใช้พลังงานของระบบขับเคลื่อน

  • temperature — ส่งคืนอุณหภูมิของระบบขับเคลื่อน

  • get_timeout – ส่งคืนการตั้งค่าหมดเวลาปัจจุบัน

ผู้ประกอบชิ้นส่วน – สร้างและกำหนดค่าระบบขับเคลื่อนด้วยตนเอง

การกระทำ#

drive#

drive จะทำให้หุ่นยนต์เคลื่อนที่ไปข้างหน้าหรือถอยหลังอย่างไม่มีที่สิ้นสุด หุ่นยนต์จะเคลื่อนที่ต่อไปจนกว่าจะได้รับคำสั่งอื่น เช่น การเลี้ยวหรือการหยุด สำหรับ RPM หรือองศาต่อวินาที ขีดจำกัดจะเปลี่ยนแปลงไปตามอัตราทดเกียร์ของระบบขับเคลื่อน

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

พารามิเตอร์

คำอธิบาย

direction

ทิศทางการเคลื่อนที่ของหุ่นยนต์: FORWARD หรือ REVERSE

velocity

ตัวเลือกเสริม ความเร็วในการขับเคลื่อนสามารถกำหนดได้ตั้งแต่ 0% ถึง 100% เมื่อใช้ PERCENT, ตั้งแต่ 0 ถึง 600 รอบต่อนาที เมื่อใช้ RPM RPMหรือตั้งแต่ 0 ถึง 3600 องศาต่อวินาที เมื่อใช้ VelocityUnits.DPS VelocityUnits.DPSค่านี้สามารถเป็นจำนวนเต็ม integer หรือทศนิยม ( floatfloat) หากไม่ได้ระบุความเร็ว หุ่นยนต์จะขับเคลื่อนด้วยความเร็วในการขับเคลื่อนปัจจุบัน

units

ตัวเลือกเสริม หน่วยความเร็ว: RPM (รอบต่อนาที ค่าเริ่มต้น), PERCENTหรือ VelocityUnits.DPS (องศาต่อวินาที)

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

คำสั่ง drive_for จะเคลื่อนหุ่นยนต์ไปข้างหน้าหรือถอยหลังเป็นระยะทางที่กำหนด โครงการจะรอจนกว่าหุ่นยนต์จะหยุดเคลื่อนที่ก่อนที่โค้ดบรรทัดถัดไปจะทำงาน สำหรับหน่วย RPM หรือองศาต่อวินาที ขีดจำกัดจะเปลี่ยนไปตามอัตราทดเกียร์ของระบบขับเคลื่อน

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

พารามิเตอร์

คำอธิบาย

direction

ทิศทางการเคลื่อนที่ของหุ่นยนต์: FORWARD หรือ REVERSE

distance

ระยะทางที่หุ่นยนต์ขับเคลื่อน ค่านี้อาจเป็นจำนวนเต็ม integer หรือทศนิยม (float)

units

เลือกได้ หน่วยวัดระยะทาง: INCHES (ค่าเริ่มต้น) หรือ MM

velocity

ตัวเลือกเสริม ความเร็วในการขับเคลื่อนสามารถกำหนดได้ตั้งแต่ 0% ถึง 100% เมื่อใช้ PERCENT, ตั้งแต่ 0 ถึง 600 รอบต่อนาที เมื่อใช้ RPM RPMหรือตั้งแต่ 0 ถึง 3600 องศาต่อวินาที เมื่อใช้ VelocityUnits.DPS VelocityUnits.DPSค่านี้สามารถเป็นจำนวนเต็ม integer หรือทศนิยม ( floatfloat) หากไม่ได้ระบุความเร็ว หุ่นยนต์จะขับเคลื่อนด้วยความเร็วในการขับเคลื่อนปัจจุบัน

units_v

ตัวเลือกเสริม หน่วยความเร็ว: RPM (รอบต่อนาที ค่าเริ่มต้น), PERCENTหรือ VelocityUnits.DPS (องศาต่อวินาที)

wait

ตัวเลือกเสริม wait=True (ค่าเริ่มต้น) จะทำให้โปรเจ็กต์รอจนกว่าหุ่นยนต์จะเคลื่อนที่เสร็จก่อนที่โค้ดบรรทัดถัดไปจะทำงาน wait=False จะทำให้โค้ดบรรทัดถัดไปทำงานทันที

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

turn#

การหมุน turn รอบ จะทำให้หุ่นยนต์หมุนไปทางซ้ายหรือขวาไปเรื่อยๆ จนกว่าจะได้รับคำสั่งอื่น เช่น การขับเคลื่อนหรือการหยุด สำหรับความเร็วรอบ (RPM) หรือองศาต่อวินาที ขีดจำกัดจะเปลี่ยนแปลงไปตามอัตราทดเกียร์ของระบบขับเคลื่อน

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

พารามิเตอร์

คำอธิบาย

direction

ทิศทางที่หุ่นยนต์หมุน: LEFT หรือ RIGHT

velocity

ตัวเลือกเสริม ความเร็วในการหมุนสามารถกำหนดได้ตั้งแต่ 0% ถึง 100% เมื่อใช้ PERCENT, ตั้งแต่ 0 ถึง 600 รอบต่อนาที เมื่อใช้ RPM RPMหรือตั้งแต่ 0 ถึง 3600 องศาต่อวินาที เมื่อใช้ VelocityUnits.DPS VelocityUnits.DPSค่านี้สามารถเป็นจำนวนเต็ม integer หรือทศนิยม ( floatfloat) หากไม่ได้ระบุความเร็ว หุ่นยนต์จะหมุนด้วยความเร็วในการหมุนปัจจุบัน

units

ตัวเลือกเสริม หน่วยความเร็ว: RPM (รอบต่อนาที ค่าเริ่มต้น), PERCENTหรือ VelocityUnits.DPS (องศาต่อวินาที)

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

turn_for#

turn_for จะหมุนหุ่นยนต์ไปทางซ้ายหรือขวาเป็นจำนวนองศาที่กำหนด การหมุนจะสัมพันธ์กับตำแหน่งปัจจุบันของหุ่นยนต์ โครงการจะรอจนกว่าหุ่นยนต์จะหมุนเสร็จก่อนที่โค้ดบรรทัดถัดไปจะทำงาน สำหรับ RPM หรือองศาต่อวินาที ขีดจำกัดจะเปลี่ยนไปตามอัตราทดเกียร์ของระบบขับเคลื่อน

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

พารามิเตอร์

คำอธิบาย

direction

ทิศทางที่หุ่นยนต์หมุน: LEFT หรือ RIGHT

angle

จำนวนองศาที่หุ่นยนต์หมุน ค่านี้สามารถเป็นจำนวนเต็ม integer หรือทศนิยม (float)

units

เลือกได้ตามต้องการ หน่วยการหมุน: DEGREES (ค่าเริ่มต้น) หรือ TURNSหนึ่งรอบเท่ากับ 360 องศา

velocity

ตัวเลือกเสริม ความเร็วในการหมุนสามารถกำหนดได้ตั้งแต่ 0% ถึง 100% เมื่อใช้ PERCENT, ตั้งแต่ 0 ถึง 600 รอบต่อนาที เมื่อใช้ RPM RPMหรือตั้งแต่ 0 ถึง 3600 องศาต่อวินาที เมื่อใช้ VelocityUnits.DPS VelocityUnits.DPSค่านี้สามารถเป็นจำนวนเต็ม integer หรือทศนิยม ( floatfloat) หากไม่ได้ระบุความเร็ว หุ่นยนต์จะหมุนด้วยความเร็วในการหมุนปัจจุบัน

units_v

ตัวเลือกเสริม หน่วยความเร็ว: RPM (รอบต่อนาที ค่าเริ่มต้น), PERCENTหรือ VelocityUnits.DPS (องศาต่อวินาที)

wait

ตัวเลือกเสริม wait=True (ค่าเริ่มต้น) จะทำให้โปรเจ็กต์รอจนกว่าหุ่นยนต์จะหมุนเสร็จก่อนที่โค้ดบรรทัดถัดไปจะทำงาน wait=False จะทำให้โค้ดบรรทัดถัดไปทำงานทันที

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

turn_to_heading#

ทิศทาง (Heading) คือทิศทางที่หุ่นยนต์หันหน้าไป โดยวัดเป็นองศา คำสั่ง turn_to_heading จะหมุนหุ่นยนต์ให้หันหน้าไปในทิศทางที่กำหนด ตั้งแต่ -359 ถึง 359 องศา หุ่นยนต์จะหมุนไปในทิศทางที่สั้นที่สุดเพื่อไปยังทิศทางเป้าหมาย

ทิศทางเริ่มต้นของหุ่นยนต์คือ 0 องศา

โปรเจ็กต์จะรอจนกว่าหุ่นยนต์จะหมุนเสร็จก่อนที่จะรันโค้ดบรรทัดถัดไป

หมายเหตุ: ฟังก์ชันนี้จะใช้งานได้ก็ต่อเมื่อระบบขับเคลื่อนได้รับการกำหนดค่าด้วย เซ็นเซอร์ความเฉื่อย, เซ็นเซอร์ GPS หรือ เซ็นเซอร์ไจโร ในหน้าต่างอุปกรณ์เท่านั้น

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

พารามิเตอร์

คำอธิบาย

angle

ทิศทางที่หุ่นยนต์ควรหันหน้าไป (หน่วยเป็นองศา) ค่านี้สามารถเป็นจำนวนเต็ม integer หรือทศนิยม (float) ตั้งแต่ -359 ถึง 359 ได้

units

เลือกได้ตามต้องการ หน่วยวัดส่วนหัว: DEGREES (ค่าเริ่มต้น)

velocity

ตัวเลือกเสริม ความเร็วในการหมุนสามารถกำหนดได้ตั้งแต่ 0% ถึง 100% เมื่อใช้ PERCENT, ตั้งแต่ 0 ถึง 600 รอบต่อนาที เมื่อใช้ RPM RPMหรือตั้งแต่ 0 ถึง 3600 องศาต่อวินาที เมื่อใช้ VelocityUnits.DPS VelocityUnits.DPSค่านี้สามารถเป็นจำนวนเต็ม integer หรือทศนิยม ( floatfloat) หากไม่ได้ระบุความเร็ว หุ่นยนต์จะหมุนด้วยความเร็วในการหมุนปัจจุบัน

units_v

ตัวเลือกเสริม หน่วยความเร็ว: RPM (รอบต่อนาที ค่าเริ่มต้น), PERCENTหรือ VelocityUnits.DPS (องศาต่อวินาที)

wait

ตัวเลือกเสริม wait=True (ค่าเริ่มต้น) จะทำให้โปรเจ็กต์รอจนกว่าหุ่นยนต์จะหมุนเสร็จก่อนที่โค้ดบรรทัดถัดไปจะทำงาน wait=False จะทำให้โค้ดบรรทัดถัดไปทำงานทันที

# 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 หมุนหุ่นยนต์ไปยังทิศทางการหมุนที่กำหนด

การหมุนคือจำนวนองศาที่หุ่นยนต์หมุนไป ในตอนเริ่มต้นโครงการ ค่าการหมุนจะถูกตั้งไว้ที่ 0 องศา นอกจากนี้ยังสามารถตั้งค่าการหมุนได้โดยใช้เมธอด set_rotation

ค่าการหมุนเป็นค่าสัมบูรณ์ ซึ่งหมายความว่าทิศทางการเลี้ยวขึ้นอยู่กับการหมุนปัจจุบันของหุ่นยนต์ การเลี้ยวขวาจะเพิ่มการหมุน และการเลี้ยวซ้ายจะลดการหมุน

ตัวอย่างเช่น ถ้าหุ่นยนต์เริ่มต้นที่ 0 องศา และคุณหมุนเป็น 720 องศา มันจะเลี้ยวขวา 2 ครั้ง จากนั้นถ้าคุณหมุนเป็น 360 องศา มันจะเลี้ยวซ้าย 1 ครั้ง เพราะ 360 น้อยกว่า 720

โปรเจ็กต์จะรอจนกว่าหุ่นยนต์จะหมุนเสร็จก่อนที่จะรันโค้ดบรรทัดถัดไป

หมายเหตุ: วิธีนี้ใช้ได้เฉพาะเมื่อระบบขับเคลื่อนได้รับการกำหนดค่าด้วย เซ็นเซอร์ความเฉื่อย, เซ็นเซอร์ GPS หรือ เซ็นเซอร์ไจโร ในหน้าต่างอุปกรณ์เท่านั้น

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

พารามิเตอร์

คำอธิบาย

angle

ค่าการหมุน (หน่วยเป็นองศาหรือจำนวนรอบ) ที่หุ่นยนต์จะหมุนไป ค่านี้สามารถเป็นจำนวนเต็ม integer ) หรือทศนิยม (float)

units

เลือกได้ตามต้องการ หน่วยการหมุน: DEGREES (ค่าเริ่มต้น) หรือ TURNSหนึ่งรอบเท่ากับ 360 องศา

velocity

ตัวเลือกเสริม ความเร็วในการหมุนสามารถกำหนดได้ตั้งแต่ 0% ถึง 100% เมื่อใช้ PERCENT, ตั้งแต่ 0 ถึง 600 รอบต่อนาที เมื่อใช้ RPM RPMหรือตั้งแต่ 0 ถึง 3600 องศาต่อวินาที เมื่อใช้ VelocityUnits.DPS VelocityUnits.DPSค่านี้สามารถเป็นจำนวนเต็ม integer หรือทศนิยม ( floatfloat) หากไม่ได้ระบุความเร็ว หุ่นยนต์จะหมุนด้วยความเร็วในการหมุนปัจจุบัน

units_v

ตัวเลือกเสริม หน่วยความเร็ว: RPM (รอบต่อนาที ค่าเริ่มต้น), PERCENTหรือ VelocityUnits.DPS (องศาต่อวินาที)

wait

ตัวเลือกเสริม wait=True (ค่าเริ่มต้น) จะทำให้โปรเจ็กต์รอจนกว่าหุ่นยนต์จะหมุนเสร็จก่อนที่โค้ดบรรทัดถัดไปจะทำงาน wait=False จะทำให้โค้ดบรรทัดถัดไปทำงานทันที

# 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 stop จะหยุดการเคลื่อนที่ของหุ่นยนต์

Usage:
drivetrain.stop(mode)

พารามิเตอร์

คำอธิบาย

mode

ตัวเลือกเสริม วิธีการหยุดของหุ่นยนต์: BRAKE (ค่าเริ่มต้น), BRAKEหรือ COAST

  • COAST — หยุดทันที
  • HOLD — ชะลอความเร็วจนหยุด
  • HOLD — หยุดทันทีและค้างตำแหน่งล้อ

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

calibrate_drivetrain#

calibrate_drivetrain เป็นฟังก์ชันในตัวที่ใช้ปรับเทียบ เซ็นเซอร์เฉื่อย, เซ็นเซอร์ GPS หรือ เซ็นเซอร์ไจโร ที่กำหนดค่าไว้ของระบบขับเคลื่อน

การปรับเทียบช่วยให้เซ็นเซอร์วัดการเคลื่อนไหวได้อย่างถูกต้อง ให้หุ่นยนต์อยู่นิ่งประมาณ 2 วินาทีในระหว่างการปรับเทียบ หากหุ่นยนต์เคลื่อนที่ในระหว่างการปรับเทียบ เซ็นเซอร์อาจวัดการเคลื่อนไหวไม่ถูกต้อง

โปรเจ็กต์จะรอจนกว่าการปรับเทียบจะเสร็จสิ้นก่อนจึงจะเริ่มรันโค้ดบรรทัดถัดไป

หมายเหตุ: ฟังก์ชันนี้จะใช้งานได้ก็ต่อเมื่อระบบขับเคลื่อนได้รับการกำหนดค่าด้วย เซ็นเซอร์ความเฉื่อย, เซ็นเซอร์ GPS หรือ เซ็นเซอร์ไจโร ในหน้าต่างอุปกรณ์เท่านั้น

Usage:
calibrate_drivetrain()

พารามิเตอร์

คำอธิบาย

ฟังก์ชันนี้ไม่มีพารามิเตอร์

ตัวกลายพันธุ์#

set_drive_velocity#

set_drive_velocity บอกหุ่นยนต์ว่าควรขับเคลื่อนด้วยความเร็วเท่าใด เปอร์เซ็นต์ที่สูงขึ้นจะทำให้หุ่นยนต์ขับเคลื่อนเร็วขึ้น และเปอร์เซ็นต์ที่ต่ำลงจะทำให้หุ่นยนต์ขับเคลื่อนช้าลง สำหรับหน่วย RPM หรือองศาต่อวินาที ขีดจำกัดจะเปลี่ยนแปลงไปตามอัตราทดเกียร์ของระบบขับเคลื่อน

ทุกโครงการเริ่มต้นด้วยการที่หุ่นยนต์ขับเคลื่อนด้วยความเร็ว 50% เป็นค่าเริ่มต้น

หมายเหตุ: ความเร็วที่สูงขึ้นจะทำให้หุ่นยนต์ขับเคลื่อนได้เร็วขึ้น แต่ความแม่นยำอาจลดลง ความเร็วที่ต่ำลงจะทำให้หุ่นยนต์ขับเคลื่อนได้ช้าลง แต่ความแม่นยำอาจเพิ่มขึ้น

Usage:
drivetrain.set_drive_velocity(velocity, units)

พารามิเตอร์

คำอธิบาย

velocity

ความเร็วในการขับเคลื่อนตั้งแต่ 0% ถึง 100% เมื่อใช้ PERCENTตั้งแต่ 0 ถึง 600 รอบต่อนาทีเมื่อใช้ RPMหรือตั้งแต่ 0 ถึง 3600 องศาต่อวินาทีเมื่อใช้ VelocityUnits.DPSซึ่งสามารถเป็น integer หรือทศนิยม (float)

units

ตัวเลือกเสริม หน่วยความเร็ว: RPM (รอบต่อนาที ค่าเริ่มต้น), PERCENTหรือ VelocityUnits.DPS (องศาต่อวินาที)

# 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 บอกหุ่นยนต์ว่าควรเลี้ยวเร็วแค่ไหน เปอร์เซ็นต์ที่สูงขึ้นจะทำให้หุ่นยนต์เลี้ยวเร็วขึ้น และเปอร์เซ็นต์ที่ต่ำลงจะทำให้หุ่นยนต์เลี้ยวช้าลง สำหรับ RPM หรือองศาต่อวินาที ขีดจำกัดจะเปลี่ยนแปลงไปตามอัตราทดเกียร์ของระบบขับเคลื่อน

ทุกโครงการเริ่มต้นด้วยการที่หุ่นยนต์หมุนด้วยความเร็ว 50% เป็นค่าเริ่มต้น

หมายเหตุ: ความเร็วที่สูงขึ้นจะทำให้หุ่นยนต์เลี้ยวได้เร็วขึ้น แต่ความแม่นยำอาจลดลง ความเร็วที่ต่ำลงจะทำให้หุ่นยนต์เลี้ยวได้ช้าลง แต่ความแม่นยำอาจเพิ่มขึ้น

Usage:
drivetrain.set_turn_velocity(velocity, units)

พารามิเตอร์

คำอธิบาย

velocity

ความเร็วที่จะหมุนจาก 0% ถึง 100% เมื่อใช้ PERCENTจาก 0 ถึง 600 รอบต่อนาทีเมื่อใช้ RPMหรือจาก 0 ถึง 3600 องศาต่อวินาทีเมื่อใช้ VelocityUnits.DPSซึ่งสามารถเป็น integer หรือทศนิยม (float)

units

ตัวเลือกเสริม หน่วยความเร็ว: RPM (รอบต่อนาที ค่าเริ่มต้น), PERCENTหรือ VelocityUnits.DPS (องศาต่อวินาที)

# 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 กำหนดวิธีการหยุดการเคลื่อนที่ของหุ่นยนต์: โดยการเบรก การปล่อยให้ไหลไปเอง หรือการหยุดนิ่ง

Usage:
drivetrain.set_stopping(mode)

พารามิเตอร์

คำอธิบาย

mode

วิธีที่หุ่นยนต์จะหยุด:

  • BRAKE — หยุดทันที
  • COAST — ชะลอความเร็วจนหยุด
  • HOLD — หยุดทันทีและคงตำแหน่งล้อไว้

หากไม่ใช้วิธีนี้ หุ่นยนต์จะใช้ BRAKE เมื่อหยุด

set_timeout#

set_timeout กำหนดจำนวนวินาทีที่หุ่นยนต์จะพยายามทำการเคลื่อนไหวให้เสร็จสิ้น หากหุ่นยนต์ไม่สามารถทำการเคลื่อนไหวให้เสร็จสิ้นภายในเวลาที่กำหนด มันจะหยุดพยายามและไปยังบรรทัดโค้ดถัดไป ซึ่งจะช่วยป้องกันไม่ให้หุ่นยนต์ติดอยู่กับการเคลื่อนไหวใดๆ

Usage:
drivetrain.set_timeout(value, units)

พารามิเตอร์

คำอธิบาย

value

ระยะเวลาที่หุ่นยนต์สามารถพยายามทำท่าทางให้เสร็จสิ้นได้ ค่านี้อาจเป็นจำนวนเต็มบวก integer หรือทศนิยม (float)

units

ตัวเลือกเสริม หน่วยเวลา: MSEC (ค่าเริ่มต้น) หรือ SECONDS

set_heading#

ทิศทางที่หุ่นยนต์หันหน้าไป (Heading) คือทิศทางที่หุ่นยนต์กำลังหันหน้าไป โดยวัดเป็นองศา คำสั่ง set_heading จะเปลี่ยนทิศทางปัจจุบันของหุ่นยนต์เป็นค่าทิศทางใหม่

ตัวอย่างเช่น หากหุ่นยนต์หันไปทางขวา การตั้งค่าทิศทางเป็น 0 องศา จะทำให้ตำแหน่งที่หันไปทางขวานั้นกลายเป็น 0 องศาใหม่ จากนั้นหุ่นยนต์สามารถหันไปตำแหน่งอื่น ๆ ได้โดยอิงจากทิศทางใหม่นั้น

หมายเหตุ: วิธีนี้ใช้ได้เฉพาะเมื่อระบบขับเคลื่อนได้รับการกำหนดค่าด้วย เซ็นเซอร์ความเฉื่อย, เซ็นเซอร์ GPS หรือ เซ็นเซอร์ไจโร ในหน้าต่างอุปกรณ์เท่านั้น

Usage:
drivetrain.set_heading(heading, units)

พารามิเตอร์

คำอธิบาย

heading

ค่าทิศทาง (หน่วยเป็นองศาหรือจำนวนรอบ) ที่จะตั้งค่าให้กับหุ่นยนต์ ค่านี้สามารถเป็นจำนวนเต็ม integer หรือทศนิยม (float ) ได้

units

เลือกได้ตามต้องการ หน่วยวัด: DEGREES (ค่าเริ่มต้น) หรือ TURNSหนึ่งรอบเท่ากับ 360 องศา

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

set_rotation#

การหมุนคือจำนวนองศาที่หุ่นยนต์หมุนไป ในตอนเริ่มต้นโครงการ ค่าการหมุนจะถูกตั้งไว้ที่ 0 องศา คำสั่ง set_rotation จะเปลี่ยนค่าการหมุนปัจจุบันของหุ่นยนต์เป็นค่าใหม่

ตัวอย่างเช่น หากหุ่นยนต์หมุนไปทางขวาครบสองรอบ ค่าการหมุนของมันจะเป็น 720 องศา การตั้งค่าการหมุนเป็น 0 องศาจะรีเซ็ตค่าการหมุนจาก 720 เป็น 0 องศา จากนั้นหุ่นยนต์สามารถหมุนได้ตามค่าการหมุนใหม่นั้น

หมายเหตุ: วิธีนี้ใช้ได้เฉพาะเมื่อระบบขับเคลื่อนได้รับการกำหนดค่าด้วย เซ็นเซอร์ความเฉื่อย, เซ็นเซอร์ GPS หรือ เซ็นเซอร์ไจโร ในหน้าต่างอุปกรณ์เท่านั้น

Usage:
drivetrain.set_rotation(rotation, units)

พารามิเตอร์

คำอธิบาย

rotation

ค่าการหมุน (หน่วยเป็นองศาหรือจำนวนรอบ) ที่จะตั้งค่าให้กับหุ่นยนต์ ค่านี้สามารถเป็นจำนวนเต็ม integer หรือทศนิยม (float ) ได้

units

เลือกได้ตามต้องการ หน่วยการหมุน: DEGREES (ค่าเริ่มต้น) หรือ TURNSหนึ่งรอบเท่ากับ 360 องศา

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

set_turn_threshold#

set_turn_threshold กำหนดว่าหุ่นยนต์ต้องเข้าใกล้กับมุมเป้าหมายมากแค่ไหนก่อนที่จะเลี้ยวเสร็จสมบูรณ์

ค่าเกณฑ์ที่เล็กกว่าจะทำให้การเลี้ยวแม่นยำมากขึ้น แต่หุ่นยนต์อาจใช้เวลานานขึ้นในการเลี้ยวให้เสร็จ ค่าเกณฑ์ที่ใหญ่กว่าจะทำให้การเลี้ยวเสร็จเร็วขึ้น แต่ความแม่นยำอาจลดลง

หมายเหตุ: วิธีนี้ใช้ได้เฉพาะเมื่อระบบขับเคลื่อนได้รับการกำหนดค่าด้วย เซ็นเซอร์ความเฉื่อย, เซ็นเซอร์ GPS หรือ เซ็นเซอร์ไจโร ในหน้าต่างอุปกรณ์เท่านั้น

Usage:
drivetrain.set_turn_threshold(value)

พารามิเตอร์

คำอธิบาย

value

ค่าองศาการเลี้ยว สามารถเป็นจำนวนเต็ม integer ) หรือทศนิยม (float) ค่าเริ่มต้นคือ 1 องศา

set_turn_constant#

set_turn_constant จะเปลี่ยนความแรงในการแก้ไขการเลี้ยวของหุ่นยนต์

ค่าที่สูงขึ้นจะทำให้หุ่นยนต์เลี้ยวหักมุมได้แรงขึ้น ค่าที่ต่ำลงจะทำให้หุ่นยนต์เลี้ยวหักมุมได้นุ่มนวลขึ้น ค่าเริ่มต้นคือ 1.0

หมายเหตุ: วิธีนี้ใช้ได้เฉพาะเมื่อระบบขับเคลื่อนได้รับการกำหนดค่าด้วย เซ็นเซอร์ความเฉื่อย, เซ็นเซอร์ GPS หรือ เซ็นเซอร์ไจโร ในหน้าต่างอุปกรณ์เท่านั้น

Usage:
drivetrain.set_turn_constant(value)

พารามิเตอร์

คำอธิบาย

value

ค่าคงที่การหมุน สามารถเป็นเลขทศนิยม (float) ตั้งแต่ 0.1 ถึง 4.0 ค่าเริ่มต้นคือ 1.0

set_turn_direction_reverse#

set_turn_direction_reverse จะเปลี่ยนว่าทิศทางการเลี้ยวของระบบขับเคลื่อนอัจฉริยะจะกลับทิศทางหรือไม่

วิธีนี้สามารถใช้ได้หากระบบขับเคลื่อนหมุนไปในทิศทางตรงกันข้ามกับที่คาดไว้หลังจากกำหนดค่าด้วยตนเองในโค้ด วิธีนี้ทำงานเหมือนกับการตั้งค่าพารามิเตอร์ reverse เป็น True เมื่อสร้าง SmartDrive

หมายเหตุ: วิธีนี้ใช้ได้เฉพาะเมื่อระบบขับเคลื่อนได้รับการกำหนดค่าด้วย เซ็นเซอร์ความเฉื่อย, เซ็นเซอร์ GPS หรือ เซ็นเซอร์ไจโร ในหน้าต่างอุปกรณ์เท่านั้น

Usage:
drivetrain.set_turn_direction_reverse(value)

พารามิเตอร์

คำอธิบาย

value

ว่าจะกลับทิศทางการเลี้ยวของระบบขับเคลื่อนอัจฉริยะหรือไม่: True จะกลับทิศทางการเลี้ยว และ False จะใช้ทิศทางการเลี้ยวเริ่มต้น

ผู้รับ#

is_done#

is_done จะส่งคืนค่าบูลีนว่าหุ่นยนต์เคลื่อนที่เสร็จแล้วหรือไม่ ค่านี้สามารถใช้ควบคุมจังหวะเวลาของพฤติกรรมอื่นๆ โดยอิงจากการเคลื่อนที่ของหุ่นยนต์ได้

  • True — หุ่นยนต์เคลื่อนที่เสร็จแล้ว

  • False — หุ่นยนต์ยังคงเคลื่อนที่อยู่

วิธีการนี้ทำงานร่วมกับวิธีการ Drivetrain ต่อไปนี้ที่มีพารามิเตอร์ wait : drive_for, turn_for, turn_to_heading, และ turn_to_rotation

Usage:
drivetrain.is_done()

พารามิเตอร์

คำอธิบาย

เมธอดนี้ไม่มีพารามิเตอร์

is_moving#

is_moving จะส่งคืนค่าบูลีนว่าหุ่นยนต์กำลังเคลื่อนที่หรือไม่ ค่านี้สามารถใช้ควบคุมจังหวะเวลาของพฤติกรรมอื่นๆ โดยอิงจากการเคลื่อนที่ของหุ่นยนต์ได้

  • True — หุ่นยนต์กำลังเคลื่อนที่

  • False — หุ่นยนต์ไม่เคลื่อนที่

วิธีใช้:

drivetrain.is_moving()

พารามิเตอร์

คำอธิบาย

เมธอดนี้ไม่มีพารามิเตอร์

heading#

ทิศทาง (Heading) คือทิศทางที่หุ่นยนต์หันหน้าไป โดยวัดเป็นองศา คำสั่ง heading จะเปลี่ยนทิศทางปัจจุบันของหุ่นยนต์จาก 0 เป็น 359.99 องศา

ทิศทางเริ่มต้นของหุ่นยนต์คือ 0 องศา

หมายเหตุ: วิธีนี้ใช้ได้เฉพาะเมื่อระบบขับเคลื่อนได้รับการกำหนดค่าด้วย เซ็นเซอร์ความเฉื่อย, เซ็นเซอร์ GPS หรือ เซ็นเซอร์ไจโร ในหน้าต่างอุปกรณ์เท่านั้น

Usage:
drivetrain.heading(units)

พารามิเตอร์

คำอธิบาย

units

ตัวเลือกเสริม หน่วยในการปรับทิศทางกลับ: DEGREES (ค่าเริ่มต้น) หรือ TURNSหนึ่งรอบเท่ากับ 360 องศา

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

rotation#

การหมุน คือจำนวนองศาที่หุ่นยนต์หมุนไป ในตอนเริ่มต้นโครงการ ค่าการหมุนจะถูกตั้งไว้ที่ 0 องศา คำสั่ง rotation จะส่งคืนค่าการหมุนปัจจุบันของหุ่นยนต์

การเลี้ยวขวาจะเพิ่มมุมการหมุน และการเลี้ยวซ้ายจะลดมุมการหมุน ตัวอย่างเช่น การเลี้ยวขวาครบสองรอบจะทำให้ได้มุมการหมุน 720 องศา

หมายเหตุ: วิธีนี้ใช้ได้เฉพาะเมื่อระบบขับเคลื่อนได้รับการกำหนดค่าด้วย เซ็นเซอร์ความเฉื่อย, เซ็นเซอร์ GPS หรือ เซ็นเซอร์ไจโร ในหน้าต่างอุปกรณ์เท่านั้น

Usage:
drivetrain.rotation(units)

พารามิเตอร์

คำอธิบาย

units

ตัวเลือกเสริม หน่วยการหมุนกลับ: DEGREES (ค่าเริ่มต้น) หรือ TURNSหนึ่งรอบเท่ากับ 360 องศา

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

velocity#

ค่า velocity จะแสดงความเร็วในการขับเคลื่อนของหุ่นยนต์

สามารถแสดงค่าความเร็วเป็นเปอร์เซ็นต์ตั้งแต่ -100% ถึง 100% ในหน่วย RPMหรือใน VelocityUnits.DPS (องศาต่อวินาที) ค่าบวกหมายความว่าหุ่นยนต์กำลังเคลื่อนที่ไปข้างหน้า ค่าลบหมายความว่าหุ่นยนต์กำลังเคลื่อนที่ถอยหลัง

Usage:
drivetrain.velocity(units)

พารามิเตอร์

คำอธิบาย

units

ตัวเลือกเสริม หน่วยความเร็ว: RPM (รอบต่อนาที ค่าเริ่มต้น), PERCENTหรือ VelocityUnits.DPS (องศาต่อวินาที)

current#

ค่า current แสดงปริมาณกระแสไฟฟ้าที่ระบบขับเคลื่อนใช้ โดยวัดเป็นแอมป์ (แอมแปร์) กระแสไฟฟ้าคือปริมาณไฟฟ้าที่ไหลผ่านระบบขับเคลื่อน

ค่ากระแสไฟฟ้าที่สูงขึ้นหมายความว่าระบบขับเคลื่อนใช้กระแสไฟฟ้ามากขึ้น ซึ่งอาจเกิดขึ้นเมื่อหุ่นยนต์กำลังดันกับวัตถุหรือพยายามเคลื่อนที่เมื่อติดอยู่

สามารถใช้ตรวจสอบได้ว่าระบบขับเคลื่อนทำงานหนักเกินไปหรือไม่ขณะเคลื่อนที่ หากกระแสไฟฟ้าสูงต่อเนื่อง ระบบขับเคลื่อนอาจร้อนขึ้นหรือใช้พลังงานอย่างไม่มีประสิทธิภาพ

Usage:
drivetrain.current(units)

พารามิเตอร์

คำอธิบาย

units

ตัวเลือกเสริม หน่วยที่ใช้ในการส่งกระแสไฟฟ้ากลับ: CurrentUnits.AMP (แอมป์ ค่าเริ่มต้น)

power#

ค่า power แสดงปริมาณพลังงานที่ระบบขับเคลื่อนใช้ โดยวัดเป็นวัตต์ ค่า Power แสดงให้เห็นว่าระบบขับเคลื่อนใช้พลังงานเร็วแค่ไหน

ค่ากำลังไฟฟ้าที่สูงขึ้นหมายความว่าระบบขับเคลื่อนใช้พลังงานเร็วขึ้น ซึ่งอาจเกิดขึ้นเมื่อหุ่นยนต์กำลังดันกับวัตถุหรือพยายามเคลื่อนที่เมื่อติดอยู่

สามารถใช้สิ่งนี้เพื่อเปรียบเทียบการเคลื่อนไหวหรือตรวจสอบว่าระบบขับเคลื่อนทำงานหนักเกินไปหรือไม่ หากกำลังไฟสูงอยู่ตลอดเวลา ระบบขับเคลื่อนอาจร้อนขึ้นหรือใช้พลังงานอย่างไม่มีประสิทธิภาพมากขึ้น

Usage:
drivetrain.power()

พารามิเตอร์

คำอธิบาย

เมธอดนี้ไม่มีพารามิเตอร์

torque#

แรงบิดแสดงให้เห็นว่าระบบส่งกำลังสามารถผลักหรือดึงได้แรงแค่ไหนในขณะที่ล้อหมุน

ค่า torque torque จะแสดงค่าแรงบิดที่ระบบส่งกำลังใช้งาน โดยวัดเป็นนิวตันเมตร (Nm) หรือนิ้วปอนด์ (InLb)

ค่าแรงบิดที่สูงขึ้นหมายความว่าระบบขับเคลื่อนกำลังผลักหรือดึงแรงขึ้น ซึ่งอาจเกิดขึ้นเมื่อหุ่นยนต์กำลังผลักกับวัตถุหรือพยายามเคลื่อนที่เมื่อติดอยู่

สามารถใช้ตรวจสอบได้ว่าระบบขับเคลื่อนทำงานหนักเกินไปหรือไม่ หรือเพื่อเปรียบเทียบว่าการเคลื่อนไหวแต่ละแบบต้องการแรงผลักมากแค่ไหน

Usage:
drivetrain.torque(units)

พารามิเตอร์

คำอธิบาย

units

ตัวเลือกเสริม หน่วยที่ใช้ในการส่งค่าแรงบิดกลับ: TorqueUnits.NM (นิวตันเมตร, ค่าเริ่มต้น) หรือ TorqueUnits.INLB (นิ้วปอนด์)

efficiency#

efficiency returns how efficiently the drivetrain is using power, as a percentage from 0% to 100%.

ประสิทธิภาพแสดงให้เห็นว่าพลังงานของระบบขับเคลื่อนถูกนำไปใช้ในการเคลื่อนที่มากน้อยเพียงใด ค่าประสิทธิภาพที่สูงขึ้นหมายความว่าพลังงานของระบบขับเคลื่อนถูกนำไปใช้ในการเคลื่อนที่มากขึ้น ค่าประสิทธิภาพที่ต่ำลงอาจเกิดขึ้นได้เมื่อระบบขับเคลื่อนทำงานหนักแต่เคลื่อนที่ได้ไม่มาก เช่น เมื่อหุ่นยนต์ติดอยู่หรือชนกับวัตถุ

สามารถใช้เพื่อเปรียบเทียบการเคลื่อนไหว หรือตรวจสอบว่าระบบขับเคลื่อนสูญเสียพลังงานไปโดยเปล่าประโยชน์ แทนที่จะนำไปใช้ในการเคลื่อนไหวหรือไม่

Usage:
drivetrain.efficiency()

พารามิเตอร์

คำอธิบาย

เมธอดนี้ไม่มีพารามิเตอร์

temperature#

ค่าอุณหภูมิ temperature จะแสดงอุณหภูมิเฉลี่ยของระบบขับเคลื่อนในหน่วยอุณหภูมิที่เลือก

อุณหภูมิแสดงให้เห็นถึงความร้อนของมอเตอร์ในระบบขับเคลื่อน อุณหภูมิที่สูงขึ้นหมายความว่ามอเตอร์กำลังร้อนขึ้นขณะทำงาน มอเตอร์ควรมีอุณหภูมิต่ำกว่า 55°C เพื่อให้ทำงานได้อย่างเต็มประสิทธิภาพ

หากมอเตอร์ร้อนเกินไป มอเตอร์จะลดกระแสไฟฟ้าสูงสุดลงเพื่อป้องกันตัวเอง เมื่ออุณหภูมิถึง 70°C มอเตอร์จะหยุดทำงานจนกว่าจะเย็นลง

สามารถใช้ตรวจสอบได้ว่าชุดขับเคลื่อนร้อนเกินไปหรือไม่ระหว่างการเคลื่อนไหวซ้ำๆ การใช้งานเป็นเวลานาน หรือเมื่อมีการดันกับวัตถุ

Usage:
drivetrain.temperature(units)

พารามิเตอร์

คำอธิบาย

units

ตัวเลือกเสริม หน่วยที่จะแสดงอุณหภูมิ: TemperatureUnits.CELSIUS (ค่าเริ่มต้น) หรือ TemperatureUnits.FAHRENHEIT

get_timeout#

get_timeout ส่งคืนค่า timeout ที่ตั้งไว้ในปัจจุบันเป็นมิลลิวินาที

Usage:
drivetrain.get_timeout()

พารามิเตอร์

คำอธิบาย

เมธอดนี้ไม่มีพารามิเตอร์

ผู้สร้าง#

ตัวสร้าง (Constructor) ใช้สำหรับสร้างอ็อบเจ็กต์ DriveTrain และ SmartDrive จำนวน ตัวด้วยตนเอง ซึ่งจำเป็นสำหรับการกำหนดค่าระบบขับเคลื่อนภายนอก VEXcode

ต้องสร้างวัตถุ Motor หรือ MotorGroup อย่างน้อยสองรายการก่อนสร้างระบบขับเคลื่อน

DriveTrain#

DriveTrain สร้างระบบขับเคลื่อน โดยไม่มี เซ็นเซอร์เฉื่อย, เซ็นเซอร์ GPS หรือ เซ็นเซอร์ไจโร

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

พารามิเตอร์

คำอธิบาย

lm

The left motor or motor group.

rm

The right motor or motor group.

wheelTravel

(ไม่บังคับ) เส้นรอบวงของล้อระบบขับเคลื่อน ค่าเริ่มต้นคือ 300 มิลลิเมตร

trackWidth

(ไม่บังคับ) ความกว้างระหว่างล้อซ้ายและล้อขวา ค่าเริ่มต้นคือ 320 มิลลิเมตร

wheelBase

(ไม่บังคับ) ระยะห่างระหว่างล้อหน้าและล้อหลัง ค่าเริ่มต้นคือ 320 มิลลิเมตร

units

ตัวเลือกเสริม หน่วยสำหรับ wheelTravel, trackWidthและ wheelBase: MM (มิลลิเมตร, ค่าเริ่มต้น), INCHESหรือ DistanceUnits.CM (เซนติเมตร)

externalGearRatio

Optional. The gear ratio used to adjust drive distances if gears are used. This can be an integer or decimal (float). The default is 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 สร้างระบบขับเคลื่อนที่กำหนดค่าด้วย เซ็นเซอร์เฉื่อย, เซ็นเซอร์ GPS หรือ เซ็นเซอร์ไจโร

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

พารามิเตอร์

คำอธิบาย

lm

The left motor or motor group.

rm

The right motor or motor group.

g

เซ็นเซอร์ความเฉื่อย, เซ็นเซอร์ GPS หรือ เซ็นเซอร์ไจโร ที่ใช้โดยระบบขับเคลื่อน

wheelTravel

(ไม่บังคับ) เส้นรอบวงของล้อระบบขับเคลื่อน ค่าเริ่มต้นคือ 300 มิลลิเมตร

trackWidth

(ไม่บังคับ) ความกว้างระหว่างล้อซ้ายและล้อขวา ค่าเริ่มต้นคือ 320 มิลลิเมตร

wheelBase

(ไม่บังคับ) ระยะห่างระหว่างล้อหน้าและล้อหลัง ค่าเริ่มต้นคือ 320 มิลลิเมตร

units

ตัวเลือกเสริม หน่วยสำหรับ wheelTravel, trackWidthและ wheelBase: MM (มิลลิเมตร, ค่าเริ่มต้น), INCHESหรือ DistanceUnits.CM (เซนติเมตร)

externalGearRatio

Optional. The gear ratio used to adjust drive distances if gears are used. This can be an integer or decimal (float). The default is 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)