ทำความเข้าใจข้อมูลเซ็นเซอร์เฉื่อยจากสมอง VEX IQ (รุ่นที่ 2)

สมอง VEX IQ (รุ่นที่ 2) มีเซ็นเซอร์เฉื่อยในตัว เซ็นเซอร์เฉื่อยรายงานข้อมูลเกี่ยวกับการมุ่งหน้าไป การหมุน การวางแนว และการเร่งความเร็วในแดชบอร์ดเซ็นเซอร์และใน VEXcode IQ บทความนี้จะทบทวนข้อมูลที่นำเสนอบนแดชบอร์ดเซ็นเซอร์

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการเข้าถึงแดชบอร์ดเซ็นเซอร์ โปรดดูบทความนี้ 

หน้าจอสมองจะแสดงพร้อมกับ Inertial Sensor Dashboard ที่เปิดจากเมนูอุปกรณ์ ข้อมูลเซ็นเซอร์เฉื่อยดังต่อไปนี้จะแสดง: ทิศทาง การหมุน การหมุน การเอียง การหัน การสอบเทียบ การเร่งความเร็วบนแกน x, y และ z และอัตราการหมุนบนแกน x, y และ z


หัวข้อ

แผนภาพบนลงล่างของสมองพร้อมวงกลมและหน่วยองศาที่ทำเครื่องหมายไว้รอบๆ ซึ่งระบุว่าทิศทางของสมองอาจอยู่ระหว่าง 0 ถึง 359.99 องศา

การมุ่งหน้าไปคือทิศทางที่สมองหันหน้าไป และรายงานในรูปแบบเข็มทิศโดยใช้องศาตั้งแต่ 0-359.99  สามารถตั้งค่าจุด 0 ได้โดยใช้คำสั่งใน VEXcode IQ หรือโดยการปรับเทียบ VEX IQ (รุ่นที่ 2) Brain ข้อมูลนี้ยังสามารถใช้เพื่อหมุนหุ่นยนต์ของคุณให้หันหน้าไปทางตำแหน่งเฉพาะเมื่อใช้ระบบขับเคลื่อน

หน้าจอสมองจะแสดงโดยมี Inertial Sensor Dashboard เปิดอยู่และมีการเน้นค่า Heading ไว้

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

สมองจะปรากฏโดยมี Inertial Sensor Dashboard เปิดอยู่และปุ่ม Check ก็ถูกเน้นไว้

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

บล็อก VEXcode IQ VEXcode IQ หลาม
VEXcode IQ หมุนไปที่บล็อกหัวข้อที่อ่านว่า หมุนไปที่หัวข้อ 90 องศา
ระบบขับเคลื่อน.turn_to_heading(90, องศา)
VEXโค้ด IQ C++
int main ()
{
ระบบขับเคลื่อน.turnToHeading (90, องศา);
}

ใน VEXcode IQ บล็อก [Turn to heading], คำสั่ง Turn_to_headingPython และคำสั่ง TurnToHeading C++ สามารถใช้เพื่อเปลี่ยนหุ่นยนต์ไปยังส่วนหัวที่ระบุได้

บล็อก VEXcode IQ VEXcode IQ หลาม
VEXcode IQ ตั้งค่าบล็อกหัวข้อไดรฟ์ที่อ่านว่า ตั้งค่าหัวข้อไดรฟ์เป็น 0 องศา
ระบบขับเคลื่อน.set_heading(0, องศา)
VEXโค้ด IQ C++
int main()
{
ระบบขับเคลื่อน.setHeading(0, องศา);
}

เช่นเดียวกับตัวเลือกการปรับเทียบในแดชบอร์ดเซ็นเซอร์ ส่วนหัวสามารถตั้งค่าได้ในขณะที่โปรเจ็กต์กำลังทำงานโดยใช้บล็อก [ตั้งค่าส่วนหัวของไดรฟ์] คำสั่ง Python set_heading หรือคำสั่ง setHeading C++


การหมุน

หน้าจอสมองจะแสดงโดยมี Inertial Sensor Dashboard เปิดอยู่และมีการเน้นค่าการหมุน ค่าการหมุนอ่านได้เป็นลบ 90.13

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

หน้าจอสมองจะแสดงโดยมี Inertial Sensor Dashboard เปิดอยู่และมีการเน้นค่าการหมุน ค่าการหมุนอ่านได้ 0.47

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

สมองจะปรากฏโดยมี Inertial Sensor Dashboard เปิดอยู่และปุ่ม Check ก็ถูกเน้นไว้

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

บล็อก VEXcode IQ VEXcode IQ หลาม
VEXcode IQ หมุนเป็นบล็อคที่อ่านว่า หมุนเป็นหมุน 90 องศา
ระบบขับเคลื่อน.turn_to_rotation(90, องศา)
VEXโค้ด IQ C++
int main ()
{
ระบบขับเคลื่อน.turnToRotation (90, องศา);
}

ใน VEXcode IQ บล็อก [หันไปหมุน] คำสั่ง Turn_to_rotation Python และคำสั่ง TurnToRotation C++ สามารถใช้เพื่อหมุนหุ่นยนต์ตามจำนวนองศาที่กำหนด

บล็อก VEXcode IQ VEXcode IQ หลาม
VEXcode IQ ตั้งค่าบล็อคการหมุนไดรฟ์ที่อ่านว่า ตั้งค่าการหมุนไดรฟ์เป็น 0 องศา
ระบบขับเคลื่อน.set_rotation(0, องศา)
VEXโค้ด IQ C++
int main()
{
ระบบขับเคลื่อน.setRotation(0, องศา);
}

เช่นเดียวกับตัวเลือกการปรับเทียบในแดชบอร์ดเซ็นเซอร์ ค่าการหมุนสามารถตั้งค่าได้ในขณะที่โปรเจ็กต์กำลังทำงานโดยใช้บล็อก [ตั้งค่าการหมุนไดรฟ์] คำสั่ง Python set_rotationหรือคำสั่ง setRotation C++


การเหวี่ยง การกลิ้ง และการหันเห

ไดอะแกรมของ BaseBot พร้อมลูกศรโค้งแสดงระยะพิทช์ ทิศทางของสนามสามารถจินตนาการได้ว่าเป็นหุ่นยนต์มองขึ้นหรือลง

การเอียง การหมุน และการหันคือมุมการวางแนวของสมองตามแกนที่ระบุ Pitch แสดงถึงแกน y และมุมของการเอียงของหุ่นยนต์ไปข้างหน้าและข้างหลัง ค่าสำหรับระยะพิทช์ตั้งแต่ -90 องศาถึง 90 องศา 

ไดอะแกรมของ BaseBot พร้อมลูกศรโค้งแสดงทิศทางการหมุน ทิศทางการหมุนสามารถจินตนาการได้ว่าเป็นหุ่นยนต์กลิ้งไปด้านข้าง

ม้วนแสดงถึงแกน x และมุมของหุ่นยนต์ที่เอียงไปทางซ้ายและขวา ค่าม้วนมีตั้งแต่ -180 องศา ถึง 180 องศา 

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

Yaw แสดงถึงแกน z และการหมุนเชิงมุมของหุ่นยนต์ ค่าของการหันเหมีตั้งแต่ -180 องศา ถึง 180 องศา

หน้าจอสมองจะแสดงโดยมี Inertial Sensor Dashboard เปิดอยู่และมีการเน้นค่า Roll, Pitch และ Yaw

การเอียง ม้วน และการหันเหจะแสดงบนแผงหน้าปัดเซ็นเซอร์ใต้ทิศทางและการหมุน

ภาพหน้าจอของภาพขนาดย่อของโครงการตัวอย่าง Pitch, Roll, Yaw

โครงการตัวอย่าง Pitch, Roll, Yaw ใน VEXcode IQ สามารถใช้เพื่อแสดงวิธีการตรวจจับมุมการวางแนวของ Brain ตามแกน y, x และ z Touch LED จะถูกตั้งค่าเป็นสีที่แตกต่างกัน ขึ้นอยู่กับว่ามุมการวางแนวของ Brain เปลี่ยนไปอย่างไร เพื่อระบุระดับเสียง การหมุน และการหันเห

สำหรับข้อมูลเกี่ยวกับวิธีการเปิดโปรเจ็กต์ตัวอย่างใน VEXcode IQ โปรดดูบทความใดบทความหนึ่งต่อไปนี้


ความเร่งบนแกน x, y และ z

หน้าจอสมองจะแสดงโดยมี Inertial Sensor Dashboard เปิดอยู่และมีการเน้นค่าความเร่งบนแกน x, y และ z ค่าเหล่านี้จะแสดงเป็น ax, ay และ az ในแดชบอร์ด

ความเร่งของส่วนบนแผงหน้าปัดเซ็นเซอร์จะรายงานค่าความเร่งของเซ็นเซอร์เฉื่อยตามแกนที่ระบุ ความเร่งตามแกน x, y และ z จะแสดงบนแผงหน้าปัดเซ็นเซอร์ทางด้านขวาโดยใช้ตัวย่อ "ax" "ay" และ "az" แต่ละรายงานมีช่วงตั้งแต่ -4.0 ถึง 4.0 Gs

ในขณะที่สมองกำลังพักอยู่บนพื้นผิว คุณจะเห็นค่าประมาณ -1.0 Gs นี่เป็นเพราะแรงโน้มถ่วงที่มีต่อสมองขณะพัก

ภาพหน้าจอของภาพขนาดย่อของโครงการตัวอย่างการตรวจจับความเร่ง

โปรเจ็กต์ตัวอย่างการตรวจจับความเร่งใน VEXcode IQ สามารถใช้เพื่อแสดงวิธีตรวจจับความเร่งของสมองตามแนวแกน x, y และ z Touch LED จะแสดงสีที่แตกต่างกันขึ้นอยู่กับแกนที่สมองเอียง

สำหรับข้อมูลเกี่ยวกับวิธีการเปิดโปรเจ็กต์ตัวอย่างใน VEXcode IQ โปรดดูบทความใดบทความหนึ่งต่อไปนี้


อัตราการหมุนบนแกน x, y และ z

หน้าจอสมองจะแสดงโดยมี Inertial Sensor Dashboard เปิดอยู่และอัตราการหมุนบนแกน x, y และ z จะถูกเน้นไว้ ค่าเหล่านี้มีป้ายกำกับเป็น gx, gy และ gz ในแดชบอร์ด

อัตราไจโรของส่วนบนแผงหน้าปัดเซ็นเซอร์จะรายงานอัตราการหมุนของเซ็นเซอร์เฉื่อยตามแกนที่ระบุ อัตราการหมุนตามแกน x, y และ z จะแสดงบนแผงหน้าปัดเซ็นเซอร์ทางด้านขวาโดยใช้ตัวย่อ "gx" "gy" และ "gz" แต่ละรายงานมีช่วงตั้งแต่ -1,000.0 ถึง 1,000.0 องศาต่อวินาที

บล็อก VEXcode IQ VEXcode IQ หลาม
บล็อคอัตราไจโร VEXcode IQ ที่อ่านอัตราไจโร BrainInertial ของแกน x
brain_inertial.gyro_rate (AxisType.XAXIS, ความเร็วหน่วย.DPS)
VEXโค้ด IQ C++
int main()
{
BrainInertial.gyroRate(xaxis, dps)
}

ใน VEXcode IQ บล็อก (อัตราไจโร) คำสั่ง gyro_ratePython และคำสั่ง gyroRate C++ สามารถใช้เพื่อรายงานอัตราการหมุนของแกนเฉพาะในขณะที่โปรเจ็กต์กำลังทำงานอยู่

For more information, help, and tips, check out the many resources at VEX Professional Development Plus

Last Updated: