ทำความเข้าใจข้อมูลเซ็นเซอร์เฉื่อยจากสมอง VEX EXP

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

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


หัวข้อ

ไดอะแกรมจากบนลงล่างของหุ่นยนต์โดยมีวงกลมและหน่วยองศาล้อมรอบ ซึ่งระบุว่าทิศทางของสมองอาจมีตั้งแต่ 0 ถึง 359.99 องศา

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

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

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

แสดงสมองพร้อมแผงหน้าปัดเซ็นเซอร์เฉื่อยที่เปิดอยู่

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

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

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

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

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


การหมุน

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

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

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

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

แสดงสมองพร้อมแผงหน้าปัดเซ็นเซอร์เฉื่อยที่เปิดอยู่

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

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

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

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

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


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

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

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

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

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

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

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

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

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


ความเร่งบนแกน 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 นี่เป็นเพราะแรงโน้มถ่วงที่มีต่อสมองขณะพัก


อัตราการหมุนบนแกน 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 EXP VEXcode EXP หลาม
บล็อกอัตราไจโร VEXcode EXP ที่อ่านอัตราไจโร BrainInertial ของแกน x
brain_inertial.gyro_rate (AxisType.XAXIS, ความเร็วหน่วย.DPS)
รหัส VEX EXP C++
int main()
{
BrainInertial.gyroRate(xaxis, dps)
}

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

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

Last Updated: