जड़त्वीय#
परिचय#
एक इनर्शियल सेंसर रोबोट की गति और मुड़ने के तरीके को मापता है।
इस कार्य के लिए इनर्शियल सेंसर दो भागों का उपयोग करता है। जाइरोस्कोप दिशा, घूर्णन, जाइरो रेट और अभिविन्यास जैसी घूर्णन संबंधी जानकारी मापता है। एक्सेलेरोमीटर गति में होने वाले परिवर्तनों को मापता है, जैसे कि x, y और z अक्षों के अनुदिश गति में वृद्धि या कमी।
नीचे उपलब्ध विधियों की सूची दी गई है:
दिशा निर्धारण — दिशा, घूर्णन और सेंसर अंशांकन को पढ़ें और नियंत्रित करें।
heading— सेंसर की दिशा लौटाता है, 0 से 359.99 डिग्री तक।rotation— लौटाता है कि सेंसर कितनी दूर घूम गया है।gyro_rate— यह बताता है कि चयनित अक्ष पर सेंसर कितनी तेज़ी से घूम रहा है।orientation— इनर्टियल सेंसर का रोल, पिच या यॉ कोण लौटाता है।calibrate— इनर्टियल सेंसर को कैलिब्रेट करता है।set_heading— इनर्टियल सेंसर की वर्तमान हेडिंग को एक नए हेडिंग मान पर सेट करता है।set_rotation— इनर्टियल सेंसर के वर्तमान रोटेशन को एक नए रोटेशन मान पर सेट करता है।reset_heading— इनर्टियल सेंसर की वर्तमान दिशा को 0 डिग्री पर रीसेट करता है।reset_rotation— इनर्टियल सेंसर के वर्तमान रोटेशन को 0 डिग्री पर रीसेट करता है।is_calibrating— यह बताता है कि क्या इनर्टियल सेंसर वर्तमान में कैलिब्रेट हो रहा है।changed— इनर्टियल सेंसर का मान बदलने पर चलने के लिए एक फ़ंक्शन पंजीकृत करता है।installed— जाँच करता है कि इनर्टियल सेंसर स्थापित है या नहीं।
गति — त्वरण, टक्कर और मुड़ने की दिशा संबंधी व्यवहार का मापन करें।
acceleration— यह बताता है कि चयनित अक्ष पर सेंसर कितनी तेज़ी से गति बढ़ा रहा है या धीमा हो रहा है।collision— जब इनर्टियल सेंसर टक्कर का पता लगाता है तो चलाने के लिए एक फ़ंक्शन को पंजीकृत करता है।set_turn_type— सेट करता है कि कौन सी मोड़ दिशा सकारात्मक हेडिंग मान लौटाती है।get_turn_type— लौटाता है कि कौन सी मोड़ दिशा सकारात्मक हेडिंग मान लौटाती है।
कंस्ट्रक्टर
Inertial– एक जड़त्वीय सेंसर बनाता है।
अभिविन्यास#
heading#
हेडिंग वह दिशा है जिस ओर सेंसर का मुख है, जिसे 0 से 359.99 डिग्री तक मापा जाता है। heading सेंसर की वर्तमान हेडिंग को फ्लोट मान के रूप में लौटाता है।
प्रारंभिक दिशा 0 डिग्री है। यदि सेंसर 359.99 डिग्री से आगे घूमता है, तो दिशा वापस 0 डिग्री पर आ जाती है।
Usage:
inertial_1.heading(units)
पैरामीटर |
विवरण |
|---|---|
|
वैकल्पिक। दिशा इकाई: |
# Display the heading after turning
drivetrain.turn_for(RIGHT, 450, DEGREES)
brain.screen.print(inertial_1.heading())
rotation#
रोटेशन वह मात्रा है जो सेंसर द्वारा डिग्री में मापी जाती है। हेडिंग के विपरीत, रोटेशन 359.99 डिग्री से अधिक या 0 डिग्री से कम हो सकता है। प्रोजेक्ट की शुरुआत में, रोटेशन का मान 0 डिग्री पर सेट होता है। rotation इनपुट इनर्शियल सेंसर के वर्तमान रोटेशन को फ्लोट मान के रूप में लौटाता है।
दाएँ मुड़ने से घूर्णन बढ़ता है, और बाएँ मुड़ने से घटता है। उदाहरण के लिए, दाएँ ओर दो पूरे चक्कर लगाने से 720 डिग्री का घूर्णन प्राप्त होगा। 0 डिग्री से बाएँ ओर एक पूरा चक्कर लगाने से -360 डिग्री का घूर्णन प्राप्त होगा।
Usage:
inertial_1.rotation(units)
पैरामीटर |
विवरण |
|---|---|
|
वैकल्पिक। घूर्णन इकाई: |
# Display the rotation after turning
drivetrain.turn_for(RIGHT, 450, DEGREES)
brain.screen.print(inertial_1.rotation())
gyro_rate#
जाइरो रेट वह गति है जिससे इनर्शियल सेंसर घूम रहा है। gyro_rate , और यह चयनित अक्ष पर इनर्शियल सेंसर की वर्तमान घूर्णन गति को फ्लोट मान के रूप में लौटाता है।
यह मान धनात्मक या ऋणात्मक हो सकता है, यह इस बात पर निर्भर करता है कि सेंसर उस अक्ष पर किस दिशा में घूम रहा है।
Usage:
inertial_1.gyro_rate(axis, units)
पैरामीटर |
विवरण |
|---|---|
|
जाइरो रेट लौटाने के लिए अक्ष:
|
|
वैकल्पिक। जाइरो रेट इकाई:
|
# Display the rate of change of
# rotation while turning
drivetrain.turn(RIGHT)
wait(1, SECONDS)
brain.screen.print(inertial_1.gyro_rate(AxisType.ZAXIS, VelocityUnits.DPS))
drivetrain.stop()
orientation#
ओरिएंटेशन, चयनित घूर्णन अक्ष पर इनर्टियल सेंसर का वर्तमान कोण है। orientation इनर्टियल सेंसर के रोल, पिच या यॉ को -180.00 से 180.00 डिग्री के बीच एक फ्लोट मान के रूप में लौटाता है।
रोल, पिच और यॉ सेंसर के झुकने या घूमने के विभिन्न तरीकों का वर्णन करते हैं।
Usage:
inertial_1.orientation(type, units)
पैरामीटर |
विवरण |
|---|---|
|
वापसी के लिए अभिविन्यास कोण:
|
|
वैकल्पिक। अभिविन्यास इकाई:
|
# Display the roll, pitch, and yaw of the Brain as it
# is rotated by hand
while True:
brain.screen.clear_screen()
brain.screen.print(inertial_1.orientation(AxisType.ROLL, DEGREES))
brain.screen.next_row()
brain.screen.print(inertial_1.orientation(AxisType.PITCH, DEGREES))
brain.screen.next_row()
brain.screen.print(inertial_1.orientation(AxisType.YAW, DEGREES))
brain.screen.next_row()
brain.screen.set_cursor(1, 1)
wait(0.1, SECONDS)
calibrate#
calibrate इनर्टियल सेंसर को कैलिब्रेट करता है।
कैलिब्रेशन से सेंसर को घुमावों को सही ढंग से मापने में मदद मिलती है। कैलिब्रेशन के दौरान सेंसर को स्थिर रखें। यदि कैलिब्रेशन के दौरान सेंसर हिलता है, तो हेडिंग, रोटेशन, जाइरो रेट और ओरिएंटेशन के मान सही ढंग से नहीं मापे जा सकते हैं।
कैलिब्रेशन पूरा होने तक प्रोजेक्ट कोड की अगली पंक्ति को चलाने से पहले प्रतीक्षा करेगा।
Usage:
inertial_1.calibrate()
पैरामीटर |
विवरण |
|---|---|
इस विधि के कोई मानदंड नहीं हैं। |
# Start calibration.
inertial_1.calibrate()
# Print that the Inertial Sensor is calibrating while
# waiting for it to finish calibrating.
while inertial_1.is_calibrating():
brain.screen.clear()
brain.screen.print("Inertial Sensor Calibrating")
wait(50, MSEC)
set_heading#
हेडिंग वह दिशा है जिस ओर सेंसर का मुख है, जिसे 0 से 359.99 डिग्री तक मापा जाता है। set_heading इनर्टियल सेंसर की वर्तमान हेडिंग को एक नए हेडिंग मान में बदल देता है।
उदाहरण के लिए, यदि सेंसर दाईं ओर मुड़ गया है, तो दिशा को 0 डिग्री पर सेट करने से वह दाईं ओर की स्थिति ही नई 0 डिग्री बन जाती है। फिर सेंसर उस नई दिशा के आधार पर अन्य दिशाओं को ट्रैक कर सकता है।
Usage:
inertial_1.set_heading(value, units)
पैरामीटर |
विवरण |
|---|---|
|
सेंसर के लिए निर्धारित की जाने वाली दिशा का मान (डिग्री में)। यह मान 0 से 359.99 तक हो सकता है। |
|
वैकल्पिक। दिशा इकाई: |
# Turn the robot around
inertial_1.set_heading(180, DEGREES)
drivetrain.turn_to_heading(0)
set_rotation#
रोटेशन वह मात्रा है जो सेंसर द्वारा डिग्री में मापी जाती है। हेडिंग के विपरीत, रोटेशन 359.99 डिग्री से अधिक या 0 डिग्री से कम हो सकता है। किसी प्रोजेक्ट की शुरुआत में, रोटेशन का मान 0 डिग्री पर सेट होता है। set_rotation का इनर्शियल सेंसर के वर्तमान रोटेशन को एक नए मान में बदला जा सकता है।
उदाहरण के लिए, यदि सेंसर ने दाईं ओर दो पूरे चक्कर लगा लिए हैं, तो उसका घूर्णन मान 720 डिग्री होगा। घूर्णन को 0 डिग्री पर सेट करने से यह 720 से 0 डिग्री पर रीसेट हो जाएगा। फिर सेंसर इस नए मान के आधार पर घूर्णन को ट्रैक कर सकता है।
Usage:
inertial_1.set_rotation(value, units)
पैरामीटर |
विवरण |
|---|---|
|
सेंसर के लिए निर्धारित की जाने वाली घूर्णन मान (डिग्री में)। यह एक पूर्णांक या दशमलव (फ्लोट) मान हो सकता है। |
|
वैकल्पिक। घूर्णन इकाई: |
# Turn the robot around
inertial_1.set_rotation(-180, DEGREES)
drivetrain.turn_to_rotation(0)
reset_heading#
reset_heading इनर्टियल सेंसर की वर्तमान दिशा को 0 डिग्री पर रीसेट करता है।
इस विधि का उपयोग करने के बाद, सेंसर की वर्तमान दिशा नई 0 डिग्री हेडिंग बन जाती है।
Usage:
inertial_1.reset_heading()
पैरामीटर |
विवरण |
|---|---|
इस विधि के कोई मानदंड नहीं हैं। |
reset_rotation#
reset_rotation इनर्टियल सेंसर के वर्तमान रोटेशन को 0 डिग्री पर रीसेट करता है।
इस विधि का उपयोग करने के बाद, सेंसर नए 0 डिग्री रोटेशन मान से भविष्य के घुमावों को ट्रैक करता है।
Usage:
inertial_1.reset_rotation()
पैरामीटर |
विवरण |
|---|---|
इस विधि के कोई मानदंड नहीं हैं। |
is_calibrating#
is_calibrating यह बताता है कि क्या इनर्टियल सेंसर वर्तमान में कैलिब्रेट हो रहा है।
True— जड़त्वीय सेंसर कैलिब्रेट हो रहा है।False— जड़त्वीय सेंसर कैलिब्रेट नहीं हो रहा है।
Usage:
inertial_1.is_calibrating()
पैरामीटर |
विवरण |
|---|---|
इस विधि के कोई मानदंड नहीं हैं। |
changed#
changed एक फ़ंक्शन को पंजीकृत करता है जिसे इनर्टियल सेंसर के मान में परिवर्तन होने पर कॉल किया जाएगा।
Usage:
inertial_1.changed(callback, arg)
पैरामीटर |
विवरण |
|---|---|
|
एक पूर्व-परिभाषित फ़ंक्शन जो इनर्टियल सेंसर के मान में परिवर्तन होने पर निष्पादित होता है। |
|
वैकल्पिक। कॉलबैक फ़ंक्शन को पास करने के लिए तर्क युक्त एक टपल। अधिक जानकारी के लिए पैरामीटर के साथ फ़ंक्शन का उपयोग करना देखें। |
def my_function():
brain.screen.print("Value changed!!")
# Call my_function whenever inertial_1's value changes
inertial_1.changed(my_function)
installed#
installed जांच करता है कि इनर्टियल सेंसर स्थापित है या नहीं।
True— जड़त्वीय सेंसर स्थापित है।False— इनर्टियल सेंसर स्थापित नहीं है।
Usage:
inertial_1.installed()
पैरामीटर |
विवरण |
|---|---|
इस विधि के कोई मानदंड नहीं हैं। |
गति#
acceleration#
त्वरण वह गति है जिससे सेंसर तेज या धीमा हो रहा है। acceleration चयनित अक्ष पर जड़त्वीय सेंसर का त्वरण -4.0 G से 4.0 G तक एक फ्लोट मान के रूप में लौटाता है।
G त्वरण मापने की इकाई है। 1 G लगभग वह त्वरण है जो आप स्थिर बैठे रहने पर गुरुत्वाकर्षण से महसूस करते हैं।
चयनित अक्ष पर त्वरण की दिशा के आधार पर मान धनात्मक या ऋणात्मक हो सकता है। अक्ष विकल्प हैं AxisType.XAXIS, AxisType.YAXIS, और AxisType.ZAXIS।
Usage:
inertial_1.acceleration(type)
पैरामीटर |
विवरण |
|---|---|
|
त्वरण मापने के लिए अक्ष:
|
# Return the acceleration for the Z axis of the Inertial Sensor
zaccel = inertial_1.acceleration(AxisType.ZAXIS)
collision#
collision एक फ़ंक्शन को पंजीकृत करता है जिसे इनर्टियल सेंसर द्वारा अचानक प्रभाव या टक्कर का पता चलने पर कॉल किया जाएगा।
Usage:
inertial_1.collision(callback, arg)
पैरामीटर |
विवरण |
|---|---|
|
एक पूर्व-परिभाषित फ़ंक्शन जो टकराव का पता चलने पर निष्पादित होता है। |
|
वैकल्पिक। कॉलबैक फ़ंक्शन को पास करने के लिए तर्क युक्त एक टपल। अधिक जानकारी के लिए पैरामीटर के साथ फ़ंक्शन का उपयोग करना देखें। |
def my_function():
brain.screen.print("Collision!")
# Call my_function whenever a collision is detected
inertial_1.collision(my_function)
set_turn_type#
set_turn_type यह निर्धारित करता है कि कौन सी मोड़ दिशा सकारात्मक हेडिंग मान लौटाती है।
Usage:
inertial_1.set_turn_type(turntype)
पैरामीटर |
विवरण |
|---|---|
|
मोड़ का प्रकार सेट करें:
|
get_turn_type#
get_turn_type यह बताता है कि कौन सी मोड़ दिशा सकारात्मक हेडिंग मान लौटाती है।
LEFT— बाएँ मुड़ने पर सकारात्मक दिशा मान प्राप्त होते हैं।RIGHT— दाएँ मुड़ने पर सकारात्मक दिशा मान प्राप्त होते हैं।
Usage:
inertial_1.get_turn_type()
पैरामीटर |
विवरण |
|---|---|
इस विधि के कोई मानदंड नहीं हैं। |
कंस्ट्रक्टर्स#
Inertial#
Inertial एक इनर्टियल सेंसर बनाता है।
Usage:
Inertial(smartport)
पैरामीटर |
विवरण |
|---|---|
|
स्मार्ट पोर्ट जिससे इनर्टियल सेंसर जुड़ा हुआ है, उसे |
# Create a new object "inertial_1" with the Inertial class.
inertial_1 = Inertial(Ports.PORT1)