ระบบขับเคลื่อน#
การแนะนำ#
ระบบขับเคลื่อนประกอบด้วยล้อและมอเตอร์ที่ควบคุมการเคลื่อนที่และการเลี้ยวของหุ่นยนต์ ระบบขับเคลื่อนสามารถกำหนดค่าได้โดยใช้มอเตอร์เดี่ยวหรือกลุ่มมอเตอร์
หากระบบขับเคลื่อนได้รับการกำหนดค่าด้วย เซ็นเซอร์เฉื่อย, เซ็นเซอร์ GPS หรือ เซ็นเซอร์ไจโร จะสามารถเคลื่อนที่ไปข้างหน้า ถอยหลัง และเลี้ยวได้อย่างแม่นยำยิ่งขึ้นโดยการติดตามทิศทางและการหมุนของเซ็นเซอร์
มีหลายวิธีในการเขียนโค้ดระบบขับเคลื่อน ด้านล่างนี้คือรายการบล็อกระบบขับเคลื่อนทั้งหมด:
การกระทำ — ขยับและหมุนหุ่นยนต์
drive — เคลื่อนหุ่นยนต์ไปข้างหน้าหรือถอยหลังตลอดไป
ขับไปข้างหน้า — เคลื่อนหุ่นยนต์ไปข้างหน้าหรือถอยหลังตามระยะทางที่กำหนด
เลี้ยว — หมุนหุ่นยนต์ไปทางซ้ายหรือขวาตลอดไป
หมุน — หมุนหุ่นยนต์ไปทางซ้ายหรือขวาตามจำนวนองศาที่กำหนด
หันไปตามทิศทาง — หมุนหุ่นยนต์ให้หันไปทางทิศทางที่กำหนด
หมุน — หมุนหุ่นยนต์ไปที่ตำแหน่งการหมุนที่กำหนด
หยุดขับ — หยุดการเคลื่อนที่ของหุ่นยนต์
การตั้งค่า — ปรับการตั้งค่าระบบขับเคลื่อน
ตั้งค่าความเร็วในการขับเคลื่อน — บอกหุ่นยนต์ว่าจะขับเคลื่อนด้วยความเร็วเท่าใด
ตั้งค่าความเร็วในการเลี้ยว — บอกหุ่นยนต์ว่าควรเลี้ยวเร็วแค่ไหน
ตั้งค่าการหยุดขับเคลื่อน — ระบุวิธีที่หุ่นยนต์จะหยุดเคลื่อนที่: โดยการเบรก การปล่อยให้ไหลไปเอง หรือการหยุดนิ่ง
set drive timeout — ตั้งค่าจำนวนวินาทีที่หุ่นยนต์จะพยายามทำการเคลื่อนไหวให้เสร็จสิ้น
set drive heading — เปลี่ยนทิศทางการเคลื่อนที่ปัจจุบันของหุ่นยนต์เป็นทิศทางใหม่
ตั้งค่าการหมุนของไดรฟ์ — เปลี่ยนการหมุนปัจจุบันของหุ่นยนต์เป็นการหมุนใหม่
ค่าต่างๆ — ตรวจสอบสถานะการเคลื่อนไหว
ปรับเทียบระบบขับเคลื่อน – ปรับเทียบเซ็นเซอร์ความเฉื่อย GPS หรือไจโรที่กำหนดค่าไว้ของระบบขับเคลื่อน
การขับเคลื่อนเสร็จสิ้น — รายงานว่าหุ่นยนต์เคลื่อนที่เสร็จแล้วหรือไม่
กำลังเคลื่อนที่ — รายงานว่าหุ่นยนต์กำลังเคลื่อนที่หรือไม่
ทิศทางการขับเคลื่อน — รายงานทิศทางปัจจุบันของหุ่นยนต์ตั้งแต่ 0 ถึง 359.99 องศา
การหมุนของไดรฟ์ — รายงานการหมุนปัจจุบันของหุ่นยนต์
ความเร็วในการขับเคลื่อน — รายงานความเร็วในการขับเคลื่อนของหุ่นยนต์
กระแสไฟฟ้าขับเคลื่อน — รายงานปริมาณกระแสไฟฟ้าที่ระบบขับเคลื่อนใช้
กำลังขับเคลื่อน — รายงานว่าระบบขับเคลื่อนใช้พลังงานเร็วแค่ไหน
แรงบิดขับเคลื่อน — รายงานว่าระบบขับเคลื่อนใช้แรงบิดเท่าใด
ประสิทธิภาพการขับเคลื่อน — รายงานว่าระบบขับเคลื่อนใช้พลังงานอย่างมีประสิทธิภาพเพียงใด
อุณหภูมิระบบขับเคลื่อน — รายงานอุณหภูมิของระบบขับเคลื่อน
การกระทำ#
ขับ#
บล็อก ขับเคลื่อน จะเคลื่อนหุ่นยนต์ไปข้างหน้าหรือถอยหลังอย่างไม่มีที่สิ้นสุด หุ่นยนต์จะเคลื่อนที่ต่อไปจนกว่าจะได้รับคำสั่งอื่น เช่น การเลี้ยวหรือการหยุด
ขับ [ไปข้างหน้า v]
พารามิเตอร์ |
คำอธิบาย |
|---|---|
ทิศทาง |
ทิศทางการเคลื่อนที่ของหุ่นยนต์: ไปข้างหน้า หรือ ถอยหลัง |
ตัวอย่าง
เมื่อเริ่มต้น
[Drive forward, then stop.]
ขับ [ไปข้างหน้า v]
รอ [2] วินาที
หยุดขับ
ขับเพื่อ#
บล็อก ขับเคลื่อน จะเคลื่อนหุ่นยนต์ไปข้างหน้าหรือถอยหลังตามระยะทางที่กำหนด โครงการจะรอจนกว่าหุ่นยนต์จะหยุดเคลื่อนที่ก่อนที่บล็อกถัดไปในลำดับจะเริ่มทำงาน
ขับ [ไปข้างหน้า v] เป็น [200] [มม. v] ▶
พารามิเตอร์ |
คำอธิบาย |
|---|---|
ทิศทาง |
ทิศทางการเคลื่อนที่ของหุ่นยนต์: ไปข้างหน้า หรือ ถอยหลัง |
ระยะทาง |
ระยะทางที่หุ่นยนต์ขับเคลื่อนไปได้ ค่านี้อาจเป็นจำนวนเต็มหรือทศนิยมก็ได้ |
หน่วย |
หน่วยวัดระยะทาง: มม. (มิลลิเมตร) หรือ นิ้ว |
และอย่ารอช้า |
เลือกไอคอนลูกศร ( ▶ ) เพื่อขยายบล็อกให้แสดงข้อความว่า และไม่ต้องรอ เพื่อให้บล็อกถัดไปในลำดับทำงานทันที |
ตัวอย่าง
เมื่อเริ่มต้น
[Drive forwards and backwards.]
ขับ [ไปข้างหน้า v] เป็น [200] [มม. v] ▶
รอ [1] วินาที
ขับ [ถอยหลัง v] เป็น [200] [มม. v] ▶
เปลี่ยน#
บล็อก หมุน จะหมุนหุ่นยนต์ไปทางซ้ายหรือขวาอย่างไม่มีที่สิ้นสุด หุ่นยนต์จะหมุนต่อไปเรื่อยๆ จนกว่าจะได้รับคำสั่งอื่น เช่น การขับเคลื่อนหรือการหยุด
เลี้ยว [ขวา v]
พารามิเตอร์ |
คำอธิบาย |
|---|---|
ทิศทาง |
ทิศทางที่หุ่นยนต์หมุน: ซ้าย หรือ ขวา |
ตัวอย่าง
เมื่อเริ่มต้น
[Turn right, then stop.]
เลี้ยว [ขวา v]
รอ [2] วินาที
หยุดขับ
เลี้ยวเพื่อ#
บล็อกคำสั่ง หมุน จะหมุนหุ่นยนต์ไปทางซ้ายหรือขวาตามจำนวนองศาที่กำหนด การหมุนจะสัมพันธ์กับตำแหน่งปัจจุบันของหุ่นยนต์ โครงการจะรอจนกว่าหุ่นยนต์จะหมุนเสร็จก่อนที่บล็อกถัดไปในลำดับจะเริ่มทำงาน
เลี้ยว [ขวา v] เป็น [90] องศา ▶
พารามิเตอร์ |
คำอธิบาย |
|---|---|
ทิศทาง |
ทิศทางที่หุ่นยนต์หมุน: ซ้าย หรือ ขวา |
มุม |
จำนวนองศาที่หุ่นยนต์หมุน ค่านี้อาจเป็นจำนวนเต็มหรือทศนิยมก็ได้ |
และอย่ารอช้า |
เลือกไอคอนลูกศร ( ▶ ) เพื่อขยายบล็อกให้แสดงข้อความว่า และไม่ต้องรอ เพื่อให้บล็อกถัดไปในลำดับทำงานทันที |
ตัวอย่าง
เมื่อเริ่มต้น
[Turn left, then turn around to the right.]
เลี้ยว [ซ้าย v] เป็น [90] องศา ▶
เลี้ยว [ขวา v] เป็น [180] องศา ▶
หันไปที่หัวข้อ#
ทิศทาง (Heading) คือทิศทางที่หุ่นยนต์หันหน้าไป โดยวัดเป็นองศา บล็อกคำสั่ง turn to heading จะหมุนหุ่นยนต์ให้หันหน้าไปในทิศทางที่กำหนด ตั้งแต่ -359 ถึง 359 องศา หุ่นยนต์จะหมุนไปในทิศทางที่สั้นที่สุดเพื่อไปยังทิศทางเป้าหมาย
ทิศทางเริ่มต้นคือ 0 องศา
โปรเจกต์นี้จะรอจนกว่าหุ่นยนต์จะหมุนเสร็จก่อนที่บล็อกถัดไปในลำดับจะเริ่มทำงาน
หมายเหตุ: บล็อกนี้จะใช้งานได้ก็ต่อเมื่อระบบขับเคลื่อนได้รับการกำหนดค่าด้วย เซ็นเซอร์ความเฉื่อย, เซ็นเซอร์ GPS หรือ เซ็นเซอร์ไจโร ในหน้าต่างอุปกรณ์เท่านั้น
เลี้ยวไปทิศทาง (90) องศา ▶
พารามิเตอร์ |
คำอธิบาย |
|---|---|
หัวข้อ |
ทิศทางที่หุ่นยนต์ควรหันไปคือ ตั้งแต่ -359 ถึง 359 องศา |
และอย่ารอช้า |
เลือกไอคอนลูกศร ( ▶ ) เพื่อขยายบล็อกให้แสดงข้อความว่า และไม่ต้องรอ เพื่อให้บล็อกถัดไปในลำดับทำงานทันที |
ตัวอย่าง
เมื่อเริ่มต้น
[Turn to face the cardinal directions.]
เลี้ยวไปทิศทาง [90] องศา ▶
รอ [2] วินาที
เลี้ยวไปทิศทาง [180] องศา ▶
รอ [2] วินาที
เลี้ยวไปทิศทาง [270] องศา ▶
รอ [2] วินาที
เลี้ยวไปทิศทาง [0] องศา ▶
รอ [2] วินาที
หมุนเพื่อหมุน#
บล็อก หมุน จะหมุนหุ่นยนต์ให้ไปในทิศทางการหมุนที่กำหนดไว้
การหมุนคือจำนวนองศาที่หุ่นยนต์หมุนไป ในตอนเริ่มต้นโครงการ ค่าการหมุนจะถูกตั้งไว้ที่ 0 องศา นอกจากนี้ยังสามารถตั้งค่าการหมุนได้โดยใช้บล็อก set drive rotation
ค่าการหมุนเป็นค่าสัมบูรณ์ ซึ่งหมายความว่าทิศทางการเลี้ยวขึ้นอยู่กับการหมุนปัจจุบันของหุ่นยนต์ การเลี้ยวขวาจะเพิ่มการหมุน และการเลี้ยวซ้ายจะลดการหมุน
ตัวอย่างเช่น ถ้าหุ่นยนต์เริ่มต้นที่ 0 องศา และคุณหมุนเป็น 720 องศา มันจะเลี้ยวขวา 2 ครั้ง จากนั้นถ้าคุณหมุนเป็น 360 องศา มันจะเลี้ยวซ้าย 1 ครั้ง เพราะ 360 น้อยกว่า 720
โปรเจกต์นี้จะรอจนกว่าหุ่นยนต์จะหมุนเสร็จก่อนที่บล็อกถัดไปในลำดับจะเริ่มทำงาน
หมายเหตุ: บล็อกนี้จะใช้งานได้ก็ต่อเมื่อระบบขับเคลื่อนได้รับการกำหนดค่าด้วย เซ็นเซอร์ความเฉื่อย, เซ็นเซอร์ GPS หรือ เซ็นเซอร์ไจโร ในหน้าต่างอุปกรณ์เท่านั้น
เลี้ยวไปการหมุน [90] องศา ▶
พารามิเตอร์ |
คำอธิบาย |
|---|---|
การหมุน |
ค่ามุมการหมุน (หน่วยเป็นองศา) ที่หุ่นยนต์จะหมุนไป ค่านี้อาจเป็นจำนวนเต็มหรือทศนิยมก็ได้ |
และอย่ารอช้า |
เลือกไอคอนลูกศร ( ▶ ) เพื่อขยายบล็อกให้แสดงข้อความว่า และไม่ต้องรอ เพื่อให้บล็อกถัดไปในลำดับทำงานทันที |
ตัวอย่าง
เมื่อเริ่มต้น
[Turn left, then spin in a circle clockwise and face right.]
เลี้ยวไปการหมุน [-90] องศา ▶
รอ [2] วินาที
เลี้ยวไปการหมุน [450] องศา ▶
หยุดขับรถ#
บล็อก หยุดการเคลื่อนที่ จะหยุดการเคลื่อนที่ของหุ่นยนต์
หยุดขับ
พารามิเตอร์ |
คำอธิบาย |
|---|---|
บล็อกนี้ไม่มีพารามิเตอร์ |
ตัวอย่าง
เมื่อเริ่มต้น
[Drive forward, then stop.]
ขับ [ไปข้างหน้า v]
รอ [4] วินาที
หยุดขับ
การตั้งค่า#
ตั้งค่าความเร็วในการขับเคลื่อน#
บล็อก ตั้งค่าความเร็วในการขับเคลื่อน จะบอกหุ่นยนต์ว่าควรขับเคลื่อนด้วยความเร็วเท่าใด เปอร์เซ็นต์ที่สูงขึ้นจะทำให้หุ่นยนต์ขับเคลื่อนเร็วขึ้น และเปอร์เซ็นต์ที่ต่ำลงจะทำให้หุ่นยนต์ขับเคลื่อนช้าลง สำหรับรอบต่อนาที (RPM) ขีดจำกัดจะถูกเปลี่ยนแปลงโดยอัตราทดเกียร์ของระบบขับเคลื่อน
ทุกโครงการเริ่มต้นด้วยการที่หุ่นยนต์ขับเคลื่อนด้วยความเร็ว 50% เป็นค่าเริ่มต้น
หมายเหตุ: ความเร็วที่สูงขึ้นจะทำให้หุ่นยนต์ขับเคลื่อนได้เร็วขึ้น แต่ความแม่นยำอาจลดลง ความเร็วที่ต่ำลงจะทำให้หุ่นยนต์ขับเคลื่อนได้ช้าลง แต่ความแม่นยำอาจเพิ่มขึ้น
ตั้งความเร็วขับเป็น (50) [% v]
พารามิเตอร์ |
คำอธิบาย |
|---|---|
ความเร็ว |
ความเร็วในการขับเคลื่อนตั้งแต่ 0% ถึง 100% เมื่อใช้ |
หน่วย |
หน่วยความเร็ว:
|
ตัวอย่าง
เมื่อเริ่มต้น
[Drive forward at the default velocity.]
ขับ [ไปข้างหน้า v] เป็น (100) [มม. v] ▶
รอ (1) วินาที
[Move slower.]
ตั้งความเร็วขับเป็น (20) [% v]
ขับ [ไปข้างหน้า v] เป็น (100) [มม. v] ▶
รอ (1) วินาที
[Move faster.]
ตั้งความเร็วขับเป็น (100) [% v]
ขับ [ไปข้างหน้า v] เป็น (100) [มม. v] ▶
รอ (1) วินาที
ตั้งความเร็วในการเลี้ยว#
บล็อก ตั้งค่าความเร็วในการเลี้ยว จะบอกหุ่นยนต์ว่าควรเลี้ยวเร็วแค่ไหน เปอร์เซ็นต์ที่สูงขึ้นจะทำให้หุ่นยนต์เลี้ยวเร็วขึ้น และเปอร์เซ็นต์ที่ต่ำลงจะทำให้หุ่นยนต์เลี้ยวช้าลง สำหรับรอบต่อนาที (RPM) ขีดจำกัดจะเปลี่ยนแปลงไปตามอัตราทดเกียร์ของระบบขับเคลื่อน
ทุกโครงการเริ่มต้นด้วยการที่หุ่นยนต์หมุนด้วยความเร็ว 50% เป็นค่าเริ่มต้น
หมายเหตุ: ความเร็วที่สูงขึ้นจะทำให้หุ่นยนต์เลี้ยวได้เร็วขึ้น แต่ความแม่นยำอาจลดลง ความเร็วที่ต่ำลงจะทำให้หุ่นยนต์เลี้ยวได้ช้าลง แต่ความแม่นยำอาจเพิ่มขึ้น
ตั้งความเร็วเลี้ยวเป็น (50) [% v]
พารามิเตอร์ |
คำอธิบาย |
|---|---|
ความเร็ว |
ความเร็วที่จะหมุนจาก 0% ถึง 100% เมื่อใช้ |
หน่วย |
หน่วยความเร็ว:
|
ตัวอย่าง
เมื่อเริ่มต้น
[Turn at default velocity.]
เลี้ยว [ขวา v] เป็น (100) องศา ▶
รอ (1) วินาที
[Turn slower.]
ตั้งความเร็วเลี้ยวเป็น (20) [% v]
เลี้ยว [ขวา v] เป็น (100) องศา ▶
รอ (1) วินาที
[Turn faster.]
ตั้งความเร็วเลี้ยวเป็น (100) [% v]
เลี้ยว [ขวา v] เป็น (100) องศา ▶
รอ (1) วินาที
ตั้งค่าการหยุดไดรฟ์#
บล็อก set drive stopping จะกำหนดวิธีการหยุดการเคลื่อนที่ของหุ่นยนต์: โดยการเบรก การปล่อยให้ไหลไปเอง หรือการหยุดนิ่ง
ตั้งการหยุดขับเป็น [เบรก v]
พารามิเตอร์ |
คำอธิบาย |
|---|---|
พฤติกรรมการหยุด |
วิธีที่หุ่นยนต์จะหยุด:
|
หากไม่ได้ใช้บล็อกนี้ หุ่นยนต์จะใช้เบรกเมื่อหยุด
ตั้งค่าหมดเวลาไดรฟ์#
บล็อก set drive timeout ใน Stack จะกำหนดจำนวนวินาทีที่หุ่นยนต์จะพยายามทำการเคลื่อนไหวให้เสร็จสิ้น หากหุ่นยนต์ไม่สามารถทำการเคลื่อนไหวให้เสร็จภายในเวลาที่กำหนด มันจะหยุดพยายามและไปยังบล็อกถัดไปใน Stack ซึ่งจะช่วยป้องกันไม่ให้หุ่นยนต์ติดอยู่กับการเคลื่อนไหวใดๆ
ตั้งหมดเวลาขับเป็น (1) วินาที
พารามิเตอร์ |
คำอธิบาย |
|---|---|
เวลา |
จำนวนวินาทีที่หุ่นยนต์สามารถพยายามทำท่าทางให้เสร็จสิ้นได้ ค่านี้อาจเป็นจำนวนเต็มหรือทศนิยมก็ได้ |
ตั้งทิศทางการขับเคลื่อน#
ทิศทางการขับเคลื่อนคือทิศทางที่หุ่นยนต์หันหน้าไป โดยวัดเป็นองศา บล็อกคำสั่ง set drive heading จะเปลี่ยนทิศทางการขับเคลื่อนปัจจุบันของหุ่นยนต์เป็นค่าทิศทางใหม่
ตัวอย่างเช่น หากหุ่นยนต์หันไปทางขวา การตั้งค่าทิศทางเป็น 0 องศา จะทำให้ตำแหน่งที่หันไปทางขวานั้นกลายเป็น 0 องศาใหม่ จากนั้นหุ่นยนต์สามารถหันไปตำแหน่งอื่น ๆ ได้โดยอิงจากทิศทางใหม่นั้น
หมายเหตุ: บล็อกนี้จะใช้งานได้ก็ต่อเมื่อระบบขับเคลื่อนได้รับการกำหนดค่าด้วย เซ็นเซอร์ความเฉื่อย, เซ็นเซอร์ GPS หรือ เซ็นเซอร์ไจโร ในหน้าต่างอุปกรณ์เท่านั้น
ตั้งทิศทางขับเป็น (0) องศา
พารามิเตอร์ |
คำอธิบาย |
|---|---|
หัวข้อ |
ค่าทิศทาง (หน่วยเป็นองศา) ที่จะตั้งค่าให้กับหุ่นยนต์ |
ตัวอย่าง
เมื่อเริ่มต้น
[Turn to the left.]
ตั้งทิศทางขับเป็น (90) องศา
เลี้ยวไปทิศทาง (0) องศา ▶
ตั้งค่าการหมุนของไดรฟ์#
การหมุนคือจำนวนรอบที่หุ่นยนต์หมุน โดยวัดเป็นองศา ในตอนเริ่มต้นโครงการ ค่าการหมุนจะถูกตั้งไว้ที่ 0 องศา บล็อกคำสั่ง set drive rotation จะเปลี่ยนค่าการหมุนปัจจุบันของหุ่นยนต์เป็นค่าใหม่
ตัวอย่างเช่น หากหุ่นยนต์หมุนไปทางขวาครบสองรอบ ค่าการหมุนของมันจะเป็น 720 องศา การตั้งค่าการหมุนเป็น 0 องศาจะรีเซ็ตค่าการหมุนจาก 720 เป็น 0 องศา จากนั้นหุ่นยนต์สามารถหมุนได้ตามค่าการหมุนใหม่นั้น
หมายเหตุ: บล็อกนี้จะใช้งานได้ก็ต่อเมื่อระบบขับเคลื่อนได้รับการกำหนดค่าด้วย เซ็นเซอร์ความเฉื่อย, เซ็นเซอร์ GPS หรือ เซ็นเซอร์ไจโร ในหน้าต่างอุปกรณ์เท่านั้น
ตั้งการหมุนขับเป็น (0) องศา
พารามิเตอร์ |
คำอธิบาย |
|---|---|
การหมุน |
ค่าการหมุน (หน่วยเป็นองศา) ที่จะตั้งค่าให้กับหุ่นยนต์ ค่านี้สามารถเป็นจำนวนเต็มหรือทศนิยมก็ได้ |
ตัวอย่าง
เมื่อเริ่มต้น
[Spin counterclockwise two times.]
ตั้งการหมุนขับเป็น (720) องศา
เลี้ยวไปการหมุน (0) องศา ▶
ค่านิยม#
ปรับเทียบระบบขับเคลื่อน#
บล็อก calibrate drivetrain จะทำการปรับเทียบเซ็นเซอร์ Inertial, GPS หรือ Gyro ที่กำหนดค่าไว้สำหรับระบบขับเคลื่อน บล็อกถัดไปทั้งหมดจะรอจนกว่าการปรับเทียบจะเสร็จสมบูรณ์ก่อนจึงจะดำเนินการ การปรับเทียบเป็นกระบวนการภายในที่วัดและชดเชยสัญญาณรบกวนและการเบี่ยงเบนของเซ็นเซอร์ในช่วงเวลาที่กำหนด ในระหว่างนี้ เซ็นเซอร์จะต้องอยู่นิ่งสนิท (เช่น บนพื้นผิวที่มั่นคงโดยไม่มีการเคลื่อนไหวภายนอกใดๆ) การเคลื่อนไหวในระหว่างการปรับเทียบจะทำให้ได้ผลลัพธ์ที่ไม่ถูกต้อง
หมายเหตุ: บล็อกนี้จะใช้งานได้ก็ต่อเมื่อระบบขับเคลื่อนได้รับการกำหนดค่าด้วย เซ็นเซอร์ความเฉื่อย, เซ็นเซอร์ GPS หรือ เซ็นเซอร์ไจโร ในหน้าต่างอุปกรณ์เท่านั้น
ปรับเทียบชุดขับเคลื่อน
พารามิเตอร์ |
คำอธิบาย |
|---|---|
บล็อกนี้ไม่มีพารามิเตอร์ |
การขับรถเสร็จสิ้นแล้ว#
บล็อก Boolean drive is done จะรายงานว่าหุ่นยนต์เคลื่อนที่เสร็จแล้วหรือไม่ สามารถใช้ข้อมูลนี้ในการควบคุมจังหวะเวลาของพฤติกรรมอื่นๆ โดยอิงจากการเคลื่อนที่ของหุ่นยนต์ได้
จริง — หุ่นยนต์เคลื่อนไหวเสร็จแล้ว
ไม่จริง — หุ่นยนต์ยังคงเคลื่อนที่อยู่
บล็อกนี้ทำงานร่วมกับบล็อกระบบขับเคลื่อนที่มีพารามิเตอร์ และอย่ารอ
<ขับเสร็จแล้ว?>
พารามิเตอร์ |
คำอธิบาย |
|---|---|
บล็อกนี้ไม่มีพารามิเตอร์ |
ไดรฟ์กำลังเคลื่อนที่#
บล็อก Boolean กำลังเคลื่อนที่ จะรายงานว่าหุ่นยนต์กำลังเคลื่อนที่หรือไม่ ซึ่งสามารถนำไปใช้ควบคุมจังหวะเวลาของพฤติกรรมอื่นๆ โดยอิงจากการเคลื่อนที่ของหุ่นยนต์ได้
จริง — หุ่นยนต์กำลังเคลื่อนที่
เท็จ — หุ่นยนต์ไม่ได้เคลื่อนที่
บล็อกนี้ทำงานร่วมกับบล็อกระบบขับเคลื่อนที่มีพารามิเตอร์ และอย่ารอ
<กำลังขับอยู่?>
พารามิเตอร์ |
คำอธิบาย |
|---|---|
บล็อกนี้ไม่มีพารามิเตอร์ |
ทิศทางการขับขี่#
ทิศทางการเคลื่อนที่ของหุ่นยนต์นั้นวัดเป็นองศา บล็อกรายงานทิศทางการเคลื่อนที่ (Drive Heading Reporter Block) จะรายงานทิศทางการเคลื่อนที่ตั้งแต่ 0 ถึง 359.99 องศา
ทิศทางเริ่มต้นของหุ่นยนต์คือ 0 องศา
หมายเหตุ: บล็อกนี้จะใช้งานได้ก็ต่อเมื่อระบบขับเคลื่อนได้รับการกำหนดค่าด้วย เซ็นเซอร์ความเฉื่อย, เซ็นเซอร์ GPS หรือ เซ็นเซอร์ไจโร ในหน้าต่างอุปกรณ์เท่านั้น
(ทิศทางขับในองศา)
พารามิเตอร์ |
คำอธิบาย |
|---|---|
บล็อกนี้ไม่มีพารามิเตอร์ |
ตัวอย่าง
เมื่อเริ่มต้น
[Display the heading after turning.]
เลี้ยว [ขวา v] เป็น (450) องศา ▶
พิมพ์ (ทิศทางขับในองศา) บนหน้าจอ ◀ และตั้งเคอร์เซอร์ไปแถวถัดไป
การหมุนของไดรฟ์#
การหมุนคือจำนวนรอบที่หุ่นยนต์หมุนไป โดยวัดเป็นองศา ในตอนเริ่มต้นโครงการ ค่าการหมุนจะถูกตั้งไว้ที่ 0 องศา บล็อกรายงานการหมุนของมอเตอร์ขับเคลื่อน (drive rotation reporter block) จะรายงานค่าการหมุนปัจจุบันของหุ่นยนต์
การเลี้ยวขวาจะเพิ่มมุมการหมุน และการเลี้ยวซ้ายจะลดมุมการหมุน ตัวอย่างเช่น การเลี้ยวขวาครบสองรอบจะแสดงค่าการหมุน 720 องศา
หมายเหตุ: บล็อกนี้จะใช้งานได้ก็ต่อเมื่อระบบขับเคลื่อนได้รับการกำหนดค่าด้วย เซ็นเซอร์ความเฉื่อย, เซ็นเซอร์ GPS หรือ เซ็นเซอร์ไจโร ในหน้าต่างอุปกรณ์เท่านั้น
(การหมุนขับในองศา)
พารามิเตอร์ |
คำอธิบาย |
|---|---|
บล็อกนี้ไม่มีพารามิเตอร์ |
ตัวอย่าง
เมื่อเริ่มต้น
[Display the rotation after turning.]
เลี้ยว [ขวา v] เป็น (450) องศา ▶
พิมพ์ (การหมุนขับในองศา) บนหน้าจอ ◀ และตั้งเคอร์เซอร์ไปแถวถัดไป
ความเร็วในการขับเคลื่อน#
บล็อกรายงานความเร็วในการขับเคลื่อนจะรายงานว่าหุ่นยนต์กำลังขับเคลื่อนด้วยความเร็วเท่าใด
ค่าบวกหมายความว่าหุ่นยนต์กำลังเคลื่อนที่ไปข้างหน้า ค่าลบหมายความว่าหุ่นยนต์กำลังเคลื่อนที่ถอยหลัง
(ความเร็วขับใน [% v])
พารามิเตอร์ |
คำอธิบาย |
|---|---|
หน่วย |
หน่วยความเร็ว:
|
กระแสขับเคลื่อน#
บล็อกรายงานกระแสไฟฟ้า drive current จะรายงานปริมาณกระแสไฟฟ้าที่ระบบขับเคลื่อนใช้ โดยวัดเป็นแอมป์ (แอมแปร์) กระแสไฟฟ้าคือปริมาณไฟฟ้าที่ไหลผ่านระบบขับเคลื่อน
ค่ากระแสไฟฟ้าที่สูงขึ้นหมายความว่าระบบขับเคลื่อนใช้กระแสไฟฟ้ามากขึ้น ซึ่งอาจเกิดขึ้นเมื่อหุ่นยนต์กำลังดันกับวัตถุหรือพยายามเคลื่อนที่เมื่อติดอยู่
สามารถใช้ตรวจสอบได้ว่าระบบขับเคลื่อนทำงานหนักเกินไปหรือไม่ขณะเคลื่อนที่ หากกระแสไฟฟ้าสูงต่อเนื่อง ระบบขับเคลื่อนอาจร้อนขึ้นหรือใช้พลังงานอย่างไม่มีประสิทธิภาพ
(กระแสไฟขับในแอมแปร์)
พารามิเตอร์ |
คำอธิบาย |
|---|---|
บล็อกนี้ไม่มีพารามิเตอร์ |
กำลังขับ#
ส่วนแสดงกำลังขับเคลื่อน (Drive Power Reporter Block) จะรายงานปริมาณพลังงานที่ระบบขับเคลื่อนใช้ โดยวัดเป็นวัตต์ พลังงานจะแสดงให้เห็นว่าระบบขับเคลื่อนใช้พลังงานเร็วแค่ไหน
ค่ากำลังไฟฟ้าที่สูงขึ้นหมายความว่าระบบขับเคลื่อนใช้พลังงานเร็วขึ้น ซึ่งอาจเกิดขึ้นเมื่อหุ่นยนต์กำลังดันกับวัตถุหรือพยายามเคลื่อนที่เมื่อติดอยู่
สามารถใช้สิ่งนี้เพื่อเปรียบเทียบการเคลื่อนไหวหรือตรวจสอบว่าระบบขับเคลื่อนทำงานหนักเกินไปหรือไม่ หากกำลังไฟสูงอยู่ตลอดเวลา ระบบขับเคลื่อนอาจร้อนขึ้นหรือใช้พลังงานอย่างไม่มีประสิทธิภาพมากขึ้น
(กำลังขับในวัตต์)
พารามิเตอร์ |
คำอธิบาย |
|---|---|
บล็อกนี้ไม่มีพารามิเตอร์ |
แรงบิดขับเคลื่อน#
แรงบิดแสดงให้เห็นว่าระบบส่งกำลังสามารถบิด ดัน หรือดึงได้มากน้อยแค่ไหนในขณะที่หมุน
ส่วนแสดงค่าแรงบิดในการขับเคลื่อน (drive torque reporter block) จะแสดงค่าแรงบิดที่ระบบขับเคลื่อนใช้ โดยวัดเป็นหน่วยนิ้ว-ปอนด์ (InLb) หรือนิวตัน-เมตร (Nm)
ค่าแรงบิดที่สูงขึ้นหมายความว่าระบบขับเคลื่อนกำลังผลักหรือดึงแรงขึ้น ซึ่งอาจเกิดขึ้นเมื่อหุ่นยนต์กำลังผลักกับวัตถุหรือพยายามเคลื่อนที่เมื่อติดอยู่
สามารถใช้ตรวจสอบได้ว่าระบบขับเคลื่อนทำงานหนักเกินไปหรือไม่ หรือเพื่อเปรียบเทียบว่าการเคลื่อนไหวแต่ละแบบต้องการแรงผลักมากแค่ไหน
(แรงบิดขับใน [InLb v])
พารามิเตอร์ |
คำอธิบาย |
|---|---|
หน่วย |
หน่วยแรงบิด:
|
ประสิทธิภาพการขับเคลื่อน#
ส่วนรายงานประสิทธิภาพการขับเคลื่อนจะรายงานว่าระบบขับเคลื่อนใช้พลังงานอย่างมีประสิทธิภาพเพียงใด โดยแสดงเป็นเปอร์เซ็นต์ตั้งแต่ 0% ถึง 100%
ประสิทธิภาพแสดงให้เห็นว่าพลังงานของระบบขับเคลื่อนถูกนำไปใช้ในการเคลื่อนที่มากน้อยเพียงใด ค่าประสิทธิภาพที่สูงขึ้นหมายความว่าพลังงานของระบบขับเคลื่อนถูกนำไปใช้ในการเคลื่อนที่มากขึ้น ค่าประสิทธิภาพที่ต่ำลงอาจเกิดขึ้นได้เมื่อระบบขับเคลื่อนทำงานหนักแต่เคลื่อนที่ได้ไม่มาก เช่น เมื่อหุ่นยนต์ติดอยู่หรือชนกับวัตถุ
สามารถใช้เพื่อเปรียบเทียบการเคลื่อนไหว หรือตรวจสอบว่าระบบขับเคลื่อนสูญเสียพลังงานไปโดยเปล่าประโยชน์ แทนที่จะนำไปใช้ในการเคลื่อนไหวหรือไม่
(ประสิทธิภาพขับใน %)
พารามิเตอร์ |
คำอธิบาย |
|---|---|
บล็อกนี้ไม่มีพารามิเตอร์ |
อุณหภูมิขับเคลื่อน#
บล็อกรายงานอุณหภูมิ ระบบขับเคลื่อน จะแสดงอุณหภูมิของระบบขับเคลื่อนเป็นเปอร์เซ็นต์ตั้งแต่ 0% ถึง 100%
อุณหภูมิของมอเตอร์แสดงให้เห็นว่าระบบขับเคลื่อนร้อนแค่ไหน อุณหภูมิที่สูงขึ้นหมายความว่ามอเตอร์ร้อนขึ้นขณะทำงาน อุณหภูมิของมอเตอร์ควรต่ำกว่า 55°C เพื่อให้ทำงานได้อย่างเต็มประสิทธิภาพ
หากมอเตอร์ร้อนเกินไป มอเตอร์จะลดกระแสไฟฟ้าสูงสุดลงเพื่อป้องกันตัวเอง เมื่ออุณหภูมิถึง 70°C มอเตอร์จะหยุดทำงานจนกว่าจะเย็นลง
สามารถใช้ตรวจสอบได้ว่าชุดขับเคลื่อนร้อนเกินไปหรือไม่ระหว่างการเคลื่อนไหวซ้ำๆ การวิ่งระยะยาว หรือเมื่อมีการดันกับวัตถุ
(อุณหภูมิขับใน %)
พารามิเตอร์ |
คำอธิบาย |
|---|---|
บล็อกนี้ไม่มีพารามิเตอร์ |