നിഷ്ക്രിയത്വം#
ആമുഖം#
തലച്ചോറിൽ ഒരു ബിൽറ്റ്-ഇൻ ഇനേർഷ്യൽ സെൻസർ ഉണ്ട്. ഈ സെൻസറിന് തലച്ചോറിന്റെ ചലനമോ കറക്കമോ അളക്കാൻ കഴിയും.
ഇത് ചെയ്യുന്നതിന് ഇനേർഷ്യൽ സെൻസർ രണ്ട് ഭാഗങ്ങൾ ഉപയോഗിക്കുന്നു. ഗൈറോ തലച്ചോറ് ഏത് ദിശയിലാണ് അഭിമുഖീകരിക്കുന്നത്, എത്ര ദൂരം തിരിഞ്ഞു എന്നതുപോലുള്ള തിരിവ് അളക്കുന്നു. ആക്സിലറോമീറ്റർ വേഗത കൂട്ടുക, വേഗത കുറയ്ക്കുക, അല്ലെങ്കിൽ ഒരു ക്രാഷ് സമയത്ത് പെട്ടെന്ന് നിർത്തുക തുടങ്ങിയ ചലനത്തിലെ മാറ്റങ്ങൾ അളക്കുന്നു.
ടേണുകൾ ട്രാക്ക് ചെയ്യുന്നതിനും, ഹെഡിംഗ് അല്ലെങ്കിൽ റൊട്ടേഷൻ മൂല്യങ്ങൾ പുനഃസജ്ജമാക്കുന്നതിനും, റോൾ, പിച്ച്, യാവ് എന്നിവ അളക്കുന്നതിനും, ആക്സിലറേഷൻ റിപ്പോർട്ട് ചെയ്യുന്നതിനും ഇനേർഷ്യൽ രീതികൾ ഉപയോഗിക്കാം.
ഇനേർഷ്യൽ സെൻസർ കോഡ് ചെയ്യാൻ നിരവധി മാർഗങ്ങളുണ്ട്. എല്ലാ ഇനേർഷ്യൽ രീതികളുടെയും ഒരു ലിസ്റ്റ് താഴെ കൊടുക്കുന്നു:
ഓറിയന്റേഷൻ — തിരിച്ചുവന്ന് തലച്ചോറ് എങ്ങനെ അഭിമുഖീകരിക്കുന്നു, തിരിയുന്നു, അല്ലെങ്കിൽ ചരിഞ്ഞുപോകുന്നു എന്ന് സജ്ജമാക്കുക.
get_heading— തലച്ചോറ് അഭിമുഖീകരിക്കുന്ന ദിശ 0 മുതൽ 359 ഡിഗ്രി വരെ തിരികെ നൽകുന്നു.get_rotation— മസ്തിഷ്കം എത്രത്തോളം തിരിഞ്ഞുവെന്ന് നൽകുന്നു.get_yaw— മസ്തിഷ്കം അതിന്റെ ആരംഭ സ്ഥാനത്ത് നിന്ന് എത്രത്തോളം ഇടത്തോട്ടോ വലത്തോട്ടോ തിരിഞ്ഞിട്ടുണ്ടെന്ന് നൽകുന്നു.get_roll— തലച്ചോറ് എത്രത്തോളം ഇടത്തോട്ടോ വലത്തോട്ടോ ചരിഞ്ഞിരിക്കുന്നുവെന്ന് നൽകുന്നു.get_pitch— തലച്ചോറ് എത്രത്തോളം മുന്നോട്ടോ പിന്നോട്ടോ ചരിഞ്ഞിരിക്കുന്നുവെന്ന് നൽകുന്നു.calibrate— തലച്ചോറിന്റെ ഇനേർഷ്യൽ സെൻസർ കാലിബ്രേറ്റ് ചെയ്യുന്നു.reset_heading— തലച്ചോറിന്റെ നിലവിലെ തലക്കെട്ട് 0 ഡിഗ്രിയിലേക്ക് പുനഃസജ്ജമാക്കുന്നു.reset_rotation— തലച്ചോറിന്റെ നിലവിലെ ഭ്രമണം 0 ഡിഗ്രിയിലേക്ക് പുനഃസജ്ജമാക്കുന്നു.set_heading— തലച്ചോറിന്റെ നിലവിലെ തലക്കെട്ട് ഒരു പുതിയ തലക്കെട്ട് മൂല്യത്തിലേക്ക് സജ്ജമാക്കുന്നു.set_rotation— തലച്ചോറിന്റെ നിലവിലെ ഭ്രമണത്തെ ഒരു പുതിയ ഭ്രമണ മൂല്യത്തിലേക്ക് സജ്ജമാക്കുന്നു.
ചലനം — തലച്ചോറ് എങ്ങനെ നീങ്ങുന്നുവെന്ന് തിരികെ നൽകുക.
get_acceleration— തിരഞ്ഞെടുത്ത അച്ചുതണ്ടിൽ ബ്രെയിൻ എത്ര വേഗത്തിൽ വേഗത കൂട്ടുന്നു അല്ലെങ്കിൽ മന്ദഗതിയിലാക്കുന്നു എന്ന് നൽകുന്നു.
ഓറിയന്റേഷൻ#
get_heading#
തലക്കെട്ട് എന്നത് തലച്ചോറ് അഭിമുഖീകരിക്കുന്ന ദിശയാണ്, ഇത് 0 മുതൽ 359 വരെയുള്ള ഡിഗ്രികളിൽ അളക്കുന്നു. get_heading തലച്ചോറിന്റെ നിലവിലെ തലക്കെട്ട് നൽകുന്നു.
ആരംഭ തലക്കെട്ട് 0 ഡിഗ്രിയാണ്. മസ്തിഷ്കം 359 ഡിഗ്രിക്ക് മുകളിൽ തിരിഞ്ഞാൽ, തലക്കെട്ട് 0 ഡിഗ്രിയിലേക്ക് തിരികെ പൊതിയുന്നു.
Usage:
inertial.get_heading()
പാരാമീറ്ററുകൾ |
വിവരണം |
|---|---|
ഈ രീതിക്ക് പാരാമീറ്ററുകൾ ഇല്ല. |
get_rotation#
തലച്ചോറ് എത്ര തിരിഞ്ഞിരിക്കുന്നു എന്നതാണ് ഭ്രമണം, ഡിഗ്രിയിൽ അളക്കുന്നു. തലക്കെട്ടിൽ നിന്ന് വ്യത്യസ്തമായി, ഭ്രമണം 359 ഡിഗ്രിയിൽ കൂടുതൽ വർദ്ധിക്കുകയോ 0 ഡിഗ്രിയിൽ താഴെ കുറയുകയോ ചെയ്യാം. ഒരു പ്രോജക്റ്റിന്റെ തുടക്കത്തിൽ, ഭ്രമണ മൂല്യം 0 ഡിഗ്രിയായി സജ്ജീകരിച്ചിരിക്കുന്നു. get_rotation തലച്ചോറിന്റെ നിലവിലെ ഭ്രമണം നൽകുന്നു.
വലത്തേക്ക് തിരിയുന്നത് ഭ്രമണം വർദ്ധിപ്പിക്കുന്നു, ഇടത്തേക്ക് തിരിയുന്നത് ഭ്രമണം കുറയ്ക്കുന്നു. ഉദാഹരണത്തിന്, വലത്തേക്ക് രണ്ട് പൂർണ്ണ തിരിവുകൾ നടത്തുന്നത് 720 ഡിഗ്രി ഭ്രമണം തിരികെ നൽകും. 0 ഡിഗ്രിയിൽ നിന്ന് ഇടത്തേക്ക് ഒരു പൂർണ്ണ തിരിവ് തിരിയുന്നത് -360 ഡിഗ്രി ഭ്രമണം തിരികെ നൽകും.
Usage:
inertial.get_rotation()
പാരാമീറ്ററുകൾ |
വിവരണം |
|---|---|
ഈ രീതിക്ക് പാരാമീറ്ററുകൾ ഇല്ല. |
get_yaw#
തലച്ചോറ് അതിന്റെ ആരംഭ സ്ഥാനത്ത് നിന്ന് എത്ര ഇടത്തോട്ടോ വലത്തോട്ടോ തിരിഞ്ഞിരിക്കുന്നു എന്നതാണ് യാവ്, ഇത് ഡിഗ്രിയിൽ അളക്കുന്നു. get_yaw തലച്ചോറിന്റെ നിലവിലെ യാവ് മൂല്യം നൽകുന്നു.
വലത്തേക്ക് തിരിയുമ്പോൾ യാവ് മൂല്യം വർദ്ധിക്കുന്നു, ഇടത്തേക്ക് തിരിയുമ്പോൾ യാവ് മൂല്യം കുറയുന്നു. പൊതിഞ്ഞ ഹെഡിംഗ് മൂല്യം ഉപയോഗിക്കാതെ ഇടത്തോട്ടും വലത്തോട്ടും തിരിയുന്നത് പരിശോധിക്കാൻ യാവ് ഉപയോഗപ്രദമാണ്.
Usage:
inertial.get_yaw()
പാരാമീറ്ററുകൾ |
വിവരണം |
|---|---|
ഈ രീതിക്ക് പാരാമീറ്ററുകൾ ഇല്ല. |
get_roll#
തലച്ചോറ് ഇടത്തോട്ടോ വലത്തോട്ടോ എത്രത്തോളം ചരിഞ്ഞിരിക്കുന്നു എന്നതാണ് റോൾ, ഇത് ഡിഗ്രിയിൽ അളക്കുന്നു. get_roll തലച്ചോറിന്റെ നിലവിലെ റോൾ മൂല്യം നൽകുന്നു.
ബ്രെയിൻ മുന്നോട്ട് അഭിമുഖീകരിച്ച്, ഇടത്തേക്ക് ചരിഞ്ഞാൽ റോൾ മൂല്യം വർദ്ധിക്കും, വലത്തേക്ക് ചരിഞ്ഞാൽ റോൾ മൂല്യം കുറയും.
Usage:
inertial.get_roll()
പാരാമീറ്ററുകൾ |
വിവരണം |
|---|---|
ഈ രീതിക്ക് പാരാമീറ്ററുകൾ ഇല്ല. |
get_pitch#
പിച്ച് എന്നത് തലച്ചോറ് എത്ര മുന്നോട്ട് അല്ലെങ്കിൽ പിന്നോട്ട് ചരിക്കുന്നുവെന്ന് ഡിഗ്രിയിൽ അളക്കുന്നു എന്നതാണ്. get_pitch തലച്ചോറിന്റെ നിലവിലെ പിച്ച് മൂല്യം നൽകുന്നു.
തലച്ചോറ് മുന്നോട്ട് അഭിമുഖമായി നിൽക്കുമ്പോൾ, മുന്നോട്ട് ചരിഞ്ഞാൽ പിച്ച് മൂല്യം വർദ്ധിക്കും, പിന്നിലേക്ക് ചരിഞ്ഞാൽ പിച്ച് മൂല്യം കുറയും.
Usage:
inertial.get_pitch()
പാരാമീറ്ററുകൾ |
വിവരണം |
|---|---|
ഈ രീതിക്ക് പാരാമീറ്ററുകൾ ഇല്ല. |
calibrate#
calibrate തലച്ചോറിന്റെ ഇനേർഷ്യൽ സെൻസറിനെ കാലിബ്രേറ്റ് ചെയ്യുന്നു.
കാലിബ്രേഷൻ ഇനേർഷ്യൽ സെൻസറിനെ തിരിവുകൾ ശരിയായി അളക്കാൻ സഹായിക്കുന്നു. കാലിബ്രേഷൻ സമയത്ത് തലച്ചോറിനെ ഏകദേശം 2 സെക്കൻഡ് നിശ്ചലമായി നിലനിർത്തുക. കാലിബ്രേഷൻ സമയത്ത് ബ്രെയിൻ ചലിച്ചാൽ, ഹെഡിംഗ്, റൊട്ടേഷൻ, യാവ്, റോൾ, പിച്ച് മൂല്യങ്ങൾ ശരിയായി അളക്കാൻ കഴിഞ്ഞേക്കില്ല.
കോഡിന്റെ അടുത്ത വരി പ്രവർത്തിക്കുന്നതിന് മുമ്പ് കാലിബ്രേഷൻ പൂർത്തിയാകുന്നതുവരെ പ്രോജക്റ്റ് കാത്തിരിക്കും.
Usage:
inertial.calibrate()
പാരാമീറ്ററുകൾ |
വിവരണം |
|---|---|
ഈ രീതിക്ക് പാരാമീറ്ററുകൾ ഇല്ല. |
reset_heading#
തലക്കെട്ട് എന്നത് തലച്ചോറ് അഭിമുഖീകരിക്കുന്ന ദിശയാണ്, ഇത് ഡിഗ്രിയിൽ അളക്കുന്നു. reset_heading തലച്ചോറിന്റെ നിലവിലെ തലക്കെട്ട് 0 ഡിഗ്രിയിലേക്ക് പുനഃസജ്ജമാക്കുന്നു.
ഈ രീതി ഉപയോഗിച്ചതിനുശേഷം, തലച്ചോറിന്റെ നിലവിലെ ദിശ പുതിയ 0 ഡിഗ്രി തലക്കെട്ടായി മാറുന്നു.
Usage:
inertial.reset_heading()
പാരാമീറ്ററുകൾ |
വിവരണം |
|---|---|
ഈ രീതിക്ക് പാരാമീറ്ററുകൾ ഇല്ല. |
reset_rotation#
തലച്ചോറ് എത്ര തിരിഞ്ഞു എന്നതിനെയാണ് ഭ്രമണം എന്ന് പറയുന്നത്, ഡിഗ്രിയിൽ അളക്കുന്നു. reset_rotation തലച്ചോറിന്റെ നിലവിലെ ഭ്രമണത്തെ 0 ഡിഗ്രിയിലേക്ക് പുനഃസജ്ജമാക്കുന്നു.
ഈ രീതി ഉപയോഗിച്ചതിനുശേഷം, പുതിയ 0 ഡിഗ്രി ഭ്രമണ മൂല്യത്തിൽ നിന്ന് ബ്രെയിൻ ഭാവിയിലെ തിരിവുകൾ ട്രാക്ക് ചെയ്യുന്നു.
Usage:
inertial.reset_rotation()
പാരാമീറ്ററുകൾ |
വിവരണം |
|---|---|
ഈ രീതിക്ക് പാരാമീറ്ററുകൾ ഇല്ല. |
set_heading#
തലക്കെട്ട് എന്നത് തലച്ചോറ് അഭിമുഖീകരിക്കുന്ന ദിശയാണ്, 0 മുതൽ 359 വരെയുള്ള ഡിഗ്രികളിൽ ഇത് അളക്കുന്നു. set_heading തലച്ചോറിന്റെ നിലവിലെ തലക്കെട്ടിനെ ഒരു പുതിയ തലക്കെട്ട് മൂല്യത്തിലേക്ക് മാറ്റുന്നു.
ഉദാഹരണത്തിന്, തലച്ചോറ് വലത്തേക്ക് അഭിമുഖമായി തിരിഞ്ഞിട്ടുണ്ടെങ്കിൽ, തലക്കെട്ട് 0 ഡിഗ്രിയിലേക്ക് സജ്ജമാക്കുന്നത് ആ വലതുവശത്തുള്ള സ്ഥാനത്തെ പുതിയ 0 ഡിഗ്രിയാക്കുന്നു. അപ്പോൾ തലച്ചോറിന് ആ പുതിയ ദിശയെ അടിസ്ഥാനമാക്കി മറ്റ് തലക്കെട്ടുകൾ ട്രാക്ക് ചെയ്യാൻ കഴിയും.
Usage:
inertial.set_heading(heading)
പാരാമീറ്ററുകൾ |
വിവരണം |
|---|---|
|
തലച്ചോറിനായി സജ്ജമാക്കേണ്ട തലക്കെട്ട് മൂല്യം, ഡിഗ്രികളിൽ. ഇത് 0 മുതൽ 359 വരെയുള്ള ഒരു പൂർണ്ണ സംഖ്യയാകാം. |
set_rotation#
തലച്ചോറ് എത്ര തിരിഞ്ഞിരിക്കുന്നു എന്നതാണ് ഭ്രമണം, ഡിഗ്രിയിൽ അളക്കുന്നു. തലക്കെട്ടിൽ നിന്ന് വ്യത്യസ്തമായി, ഭ്രമണം 359 ഡിഗ്രിയിൽ കൂടുതൽ വർദ്ധിക്കുകയോ 0 ഡിഗ്രിയിൽ താഴെ കുറയുകയോ ചെയ്യാം. ഒരു പ്രോജക്റ്റിന്റെ തുടക്കത്തിൽ, ഭ്രമണ മൂല്യം 0 ഡിഗ്രിയായി സജ്ജീകരിച്ചിരിക്കുന്നു. set_rotation തലച്ചോറിന്റെ നിലവിലെ ഭ്രമണത്തെ ഒരു പുതിയ മൂല്യത്തിലേക്ക് മാറ്റുന്നു.
ഉദാഹരണത്തിന്, തലച്ചോറ് വലത്തേക്ക് രണ്ട് പൂർണ്ണ തിരിവുകൾ നടത്തിയിട്ടുണ്ടെങ്കിൽ, അതിന്റെ ഭ്രമണ മൂല്യം 720 ഡിഗ്രി ആയിരിക്കും. ഭ്രമണം 0 ഡിഗ്രിയിലേക്ക് സജ്ജമാക്കുന്നത് ആ ഭ്രമണത്തെ 720 ൽ നിന്ന് 0 ഡിഗ്രിയിലേക്ക് പുനഃസജ്ജമാക്കും. തുടർന്ന് ആ പുതിയ മൂല്യത്തെ അടിസ്ഥാനമാക്കി തലച്ചോറിന് ഭ്രമണങ്ങൾ ട്രാക്ക് ചെയ്യാൻ കഴിയും.
Usage:
inertial.set_rotation(rotation)
പാരാമീറ്ററുകൾ |
വിവരണം |
|---|---|
|
തലച്ചോറിനായി സജ്ജമാക്കേണ്ട ഭ്രമണ മൂല്യം, ഡിഗ്രികളിൽ. ഇത് ഒരു പൂർണ്ണസംഖ്യയാകാം. |
ചലനം#
get_acceleration#
തലച്ചോറ് എത്ര വേഗത്തിൽ വേഗത കൂട്ടുന്നു അല്ലെങ്കിൽ മന്ദഗതിയിലാക്കുന്നു എന്നതാണ് ആക്സിലറേഷൻ. get_acceleration തിരഞ്ഞെടുത്ത അക്ഷത്തിൽ തലച്ചോറിന്റെ ത്വരണം -4.0 G മുതൽ 4.0 G വരെ തിരികെ നൽകുന്നു.
ത്വരണം അളക്കാൻ ഉപയോഗിക്കുന്ന ഒരു യൂണിറ്റാണ് G നിശ്ചലമായി ഇരിക്കുമ്പോൾ ഗുരുത്വാകർഷണത്താൽ നിങ്ങൾക്ക് അനുഭവപ്പെടുന്ന ത്വരണമാണ് 1 G.
തിരഞ്ഞെടുത്ത അക്ഷത്തിലെ ത്വരണത്തിന്റെ ദിശയെ ആശ്രയിച്ച് മൂല്യം പോസിറ്റീവ് അല്ലെങ്കിൽ നെഗറ്റീവ് ആകാം. അക്ഷ ഓപ്ഷനുകൾ X, Y, Z എന്നിവയാണ്.
Usage:
inertial.get_acceleration(axis)
പാരാമീറ്ററുകൾ |
വിവരണം |
|---|---|
|
ത്വരണം അളക്കുന്നതിനുള്ള അച്ചുതണ്ട്: |
# Build Used: Super Code Base 2.0
def main():
# Display the acceleration after moving.
drivetrain.set_drive_velocity(100)
console.print("Resting: ")
console.print(inertial.get_acceleration(X), precision=2)
console.new_line()
wait(1, SECONDS)
drivetrain.drive_for(FORWARD, 500, MM, wait=False)
wait(0.20, SECONDS)
console.print("Startup: ")
console.print(inertial.get_acceleration(X), precision=2)
# Start threads — Do not delete
start_thread(main)