نحوه راه اندازی گوشی های هوشمند و رایانه های شخصی. پرتال اطلاعاتی

ژیروسکوپ در آیفون 5s کجاست؟ ژیروسکوپ در آیفون کار نمی کند

بسیاری در مورد مشکل سنسورهای کالیبره نشده در iPhone 5S جدید شنیده‌اند - ابزار «سطح» تعبیه‌شده در قطب‌نمای اصلی iOS 7 زمانی که دستگاه روی یک سطح صاف مانند میز قرار می‌گیرد، چندین درجه انحراف را نشان می‌دهد.

به طور خلاصه، تا حدی یا دیگری، مشکل جهت گیری حسگر همیشه در همه دستگاه های iOS وجود داشته است. قبلاً به دلیل عدم وجود برنامه ای که در سیستم عامل تلفن همراه تعبیه شده بود که به شما امکان اندازه گیری سطح را می داد ، این مشکل اغلب مشاهده نمی شد. مشکل مشابهی در سایر دستگاه های تلفن همراه مجهز به شتاب سنج رخ می دهد، زیرا اصول در همه جا یکسان است - هر توسعه دهنده ای که مجبور است با سنسورهای مختلف حرکت و جهت گیری سر و کار داشته باشد باید با این موضوع آشنا باشد.

من برنامه‌هایی را با استفاده از حسگرهای شتاب‌سنج، ژیروسکوپ و قطب‌نمای دیجیتال توسعه می‌دهم، دقیقاً از زمانی که API در دسترس توسعه‌دهندگان قرار گرفت، تقریباً از همان ابتدا - به‌عنوان نویسنده یکی از محبوب‌ترین قطب‌نماها برای iOS، با مشکلاتی در کالیبراسیون شتاب‌سنج و دقت سنسورهای دیگر چند سال پیش

راه حل مشکل بسیار پیش پا افتاده است و در حال حاضر در بیشتر برنامه های کاربردی و بازی تعبیه شده است که به هر طریقی از حسگرهای گرانش، حرکت و میدان مغناطیسی استفاده می کنند - کالیبراسیونی که هر توسعه دهنده ای که به خود و کاربرانش احترام می گذارد باید مراقب آن باشد. از. بسته به اینکه برنامه چقدر پیچیده است و چه وظایفی را حل می کند، از نقطه نظر فنی توسعه دهنده، پیاده سازی راه حل می تواند ساده و پیچیده باشد. اما اصل برای همه یکسان است.

من از توسعه دهندگان و کاربران برنامه دعوت می کنم که بدانند چگونه کار می کند، این خطاها از کجا می آیند، چرا نباید بیش از حد نگران مشکلات شتاب سنج باشید و چرا نباید برای تعویض یک دستگاه "معیب" به فروشگاه بروید - یک دستگاه جدید بعید است که خیلی بهتر باشد، و مشکلات مربوط به خطاهای سنسور به روش های دیگری حل می شود.

چطور بود

بیش از چهار سال پیش، من با وظیفه توسعه آنالوگ معمولی قطب‌نمای دوبعدی که همراه با iOS عرضه می‌شد، مواجه شدم، بلکه قطب‌نمایی با استفاده از واقعیت افزوده، کارکرد در فضای سه‌بعدی و با هم‌ترازی با دقت بالا علامت‌های مجازی روی آن‌ها قرار گرفتم. ویدیوی زمان واقعی

برای تطبیق علامت مجازی یک شی با موقعیت واقعی آن در تصویر دریافتی از دوربین، استفاده از تمام حسگرهای حرکتی موجود در دستگاه تلفن همراه ضروری است.

شتاب سنج برای تعیین بردار گرانش یا به عبارت ساده، برای فهمیدن اینکه کدام قسمت از دستگاه به پایین نگاه می کند مورد نیاز است. یک سنسور قطب‌نما یا مغناطیس‌سنج دیجیتال برای جهت‌یابی به نقاط اصلی مورد نیاز است تا بفهمیم دستگاه به کدام سمت شمال است. بعداً یک ژیروسکوپ ظاهر شد که چرخش دستگاه را تعیین می کند و بر این اساس به شما امکان می دهد تا دقت جهت گیری کامل را در فضای سه بعدی به میزان قابل توجهی افزایش دهید.

با توسعه برنامه و امکان استفاده از حسگرهای جدید، کاستی های فردی ذاتی در سنسورها تقریباً بلافاصله آشکار شد.

همانطور که مشخص شد، در همه دستگاه‌ها، حسگرها داده‌های نابرابر تولید می‌کنند که در یک خطای خاص متفاوت است، در جایی انحرافات بیشتر و در جایی کمتر هستند - در حالی که تعدادی از عوامل مختلف غیر آشکار بر خوانش سنسور تأثیر می‌گذارند.

واکنش اولیه کسانی که در آن زمان هیچ تجربه ای در این زمینه نداشتند مشابه واکنشی بود که در مقاله های مربوط به نصب اشتباه سنسور در آیفون 5 اس توضیح داده شد، اما بررسی بیشتر مسائل باعث شد نظرم را تغییر دهم و بدون انتظار به توسعه ادامه دهم. که سازنده می تواند و می تواند چیزی را تعمیر کند، اما با در نظر گرفتن ویژگی های هر یک از سنسورهای مورد نیاز.

در نتیجه، یک اسباب بازی با فناوری پیشرفته با مشکلات دقت، ابزاری نسبتاً دقیق و مناسب برای استفاده واقعی است - نکته اصلی این است که بدانید چگونه از آن به درستی استفاده کنید، که مستقیماً از ویژگی های هر سنسوری که من می نویسم ناشی می شود. به تفصیل در زیر

شتاب سنج

از آنجایی که برخلاف قطب‌نمای استاندارد که تنها در یک جهت کار می‌کند، برنامه من باید در هر یک از موارد ممکن کار می‌کرد، در مراحل اولیه، حتی قبل از ظهور ژیروسکوپ، یک ویژگی بسیار عجیب شتاب‌سنج کشف شد.

معلوم شد که علاوه بر این که شتاب‌سنج در هر دستگاه انحراف جزئی دارد، در همان دستگاه فیزیکی این انحراف برای جهت‌های مختلف دستگاه متفاوت است - به عنوان مثال، در جهت‌گیری پرتره معمول، انحراف از حالت واقعی محور گرانش می تواند 1 درجه باشد، در حالی که، در صورت چرخش 180 درجه، در یک پرتره معکوس می تواند 4 درجه باشد.

راه حل اضافه کردن توانایی کالیبره کردن شتاب سنج به طور جداگانه برای هر یک از شش جهت ممکن بود و ظهور ژیروسکوپ فرصت های جدیدی را به وجود آورد - کالیبراسیون سنسورهای حرکتی به ترتیب به یک شکل یا شکل دیگر در حال حاضر در هر مناسبتی موجود است. برنامه ای که از آنها استفاده می کند.

توسعه‌دهندگان بازی مجبور شده‌اند کمی راحت‌تر آن را انجام دهند - در بازی‌ها کافی است از یک یا دو جهت دستگاه پشتیبانی شود، اما هنوز نمی‌توان به سادگی از نیاز کاربر اجازه استفاده از کالیبراسیون حتی با استفاده از سنسور ژیروسکوپ را دور زد.

در "سطح" تعبیه شده در قطب نما iOS 7، کالیبراسیون به سادگی با ضربه زدن روی صفحه انجام می شود - فقط صفحه را لمس کنید و موقعیت فعلی دستگاه به عنوان موقعیت مرجع یا "صفر" در نظر گرفته می شود.

قطب نما و GPS / GLONASS (اگرچه به نظر می رسد)

قبل از ظهور ژیروسکوپ، حسگر مسئول جهت گیری در صفحه افق به نقاط اصلی، سنسور قطب نما دیجیتالی بود - حساس ترین به عوامل خارجی از همه سنسورها و بر این اساس، بیشترین مشکلات را با دقت داشت.

با چرخش دستگاه، کالیبراسیون قطب نما به طور مداوم در سطح درایور انجام می شود - هرچه داده های بیشتری را دستگاه دریافت کند، نتیجه دقیق تر خواهد بود، اما همچنان یک خطا وجود خواهد داشت.

یک راه حل مطلق برای مشکل دقت قطب نما متأسفانه با کالیبراسیون به تنهایی تقریباً غیرممکن است. اگرچه دقت را بهبود می بخشد. در iOS 7، قطب‌نمای داخلی حتی به طرز وحشیانه‌تری نسبت به نسخه‌های قبلی سیستم‌عامل کالیبره شده است. اکنون صفحه کالیبراسیون کل صفحه را می پوشاند تا زمانی که کاربر اقدامات لازم را انجام دهد. نسخه‌های قدیمی‌تر پیام کوچکی داشتند که صفحه را پوشش نمی‌داد.

حتی کالیبراسیون قطب نما و فیلتر ثابت داده ها در شرایط یک میدان مغناطیسی غیر یکنواخت کمک چندانی نمی کند - از این گذشته، پس از کالیبره کردن قطب نما، فرد معمولاً حول محور خود و نه حول محور دستگاه می چرخد. با چرخش 90 درجه، دستگاه را حدود نیم متر در فضا جابجا می کند، جایی که ممکن است شرایط مغناطیسی دیگری وجود داشته باشد.

در نزدیکی میدان‌های مغناطیسی قوی، اجسام فلزی، سیم‌های زنده، قرائت‌های مغناطیس سنج به دلیل حساسیت بسیار زیاد به تابش الکترومغناطیسی ناپایدار است - این امر به ویژه در اتاق‌ها و ماشین‌هایی که روز به روز مدرن‌تر هستند، بیشتر و بیشتر با همه چیز پر می‌شوند. انواع پر کردن الکترونیکی

بعلاوه، اگر قطب نما برای نشان دادن شمال جغرافیایی لازم باشد، دقت موقعیت یابی با GPS و GLONASS وارد عمل می شود، زیرا مختصات برای تعیین انحراف مغناطیسی یا تفاوت بین جهت ها به قطب مغناطیسی و سرور در یک نقطه خاص استفاده می شود. جهان.

یک قطب نما مغناطیسی در فضای باز در میدان، جایی که هیچ تداخل مغناطیسی وجود ندارد به خوبی و با دقت کار می کند - اما با این وجود، کالیبراسیون قطب نما با هر اندازه گیری یاتاقان مطلوب است.

جهت قطب شمال با دقت GPS خوب و معمولاً در خارج از منزل با دقت بیشتری تعیین می شود.

برای بهبود بیشتر دقت در جایی که لازم است، برای مثال، اگر نیاز دارید که آنتن‌های Wi-Fi یا رادیویی را به درستی به سمت یکدیگر نشانه‌گیری کنید، یا هر اندازه‌گیری دقیقی انجام دهید، از قبل به پشتیبانی عمیق‌تری در سمت برنامه نیاز دارید، همانطور که در زیر بحث شده است.

ژیروسکوپ، ژیروسکوپ و حالت خودرو

در داخل ساختمان، در خودرو، قایق یا هر وسیله نقلیه دیگری، و زمانی که دقت و ثبات جهت گیری بالاتری مورد نیاز است، قطب نما مغناطیسی معمولی مناسب نیست - جهت گیری در طول حرکت یا در امتداد ژیروسکوپ مورد نیاز است.

بر این اساس ، در برنامه خود ، من هر دوی این ویژگی ها را اجرا کردم - برای استفاده در وسایل نقلیه مختلف حالت "ماشین" و حالت "ژیروقطب نما" برای هر چیز دیگری وجود دارد.

با حالت ماشین، همه چیز ساده است - از مسیر حرکت استفاده می شود، که فقط به دقت GPS و GLONASS بستگی دارد، و بر این اساس، هنگام رانندگی با پای پیاده، روی دوچرخه، ماشین، قایق، هواپیما، جهت کاملاً دقیق تعیین می شود. ، و غیره.

با یک ژیروسکوپ، وضعیت هم راحت تر و هم تا حدودی پیچیده تر است.

در حالت قطب نما، می توانید با استفاده از برخی از نشانه های خارجی - خورشید، ماه، ستارگان، اشیاء جغرافیایی، سمت پوشیده از خزه درخت، با استفاده از نقشه ها یا با استفاده از روش های دیگر، مسیر اولیه را به طور دقیق تنظیم کنید یا جهت فعلی را اصلاح کنید.

این کار به سادگی برای کاربر انجام می شود. یک نشانگر قرار گرفته بر روی ویدیوی زنده یا یک فلش که به سمت یک شیء در صفحه قطب نما اشاره می کند، با موقعیت واقعی شی یا با جهت آن مطابقت دارد. تمام ریاضیات پیچیده مبتنی بر هزاران خط فرمول در سطح کاربرد نامرئی باقی می مانند.

تقریباً همان اقدامات توسط خلبانان یا پرسنل در خدمت هواپیماهای نظامی مدرن، کشتی ها انجام می شود - بررسی و کالیبراسیون بعدی سیستم های ناوبری اینرسی در ابتدای پرواز و در حین آن انجام می شود که با محل ثابت سنسورها نیز تسهیل می شود. در حالی که دستگاه های تلفن همراه ما تقریباً در حال حرکت هستند.

به نظر می رسد که ژیروسکوپ راه حل ایده آلی برای مشکل دقت قطب نما و جهت گیری نقاط اصلی است، اما مشکلات خاص خود را نیز دارد.

در سیستم‌های ناوبری اینرسی صنعتی و نظامی، برخلاف آنچه در حال حاضر در دستگاه‌های تلفن همراه وجود دارد، یک مجموعه کامل، مجموعه‌ای از حسگرها برای تعیین دقیق موقعیت در فضا استفاده می‌شود که جبران خطاها و نادرستی‌ها در قرائت‌ها را ممکن می‌سازد. .

در دستگاه های تلفن همراه، معمولاً تنها یک نمونه از هر سنسور وجود دارد که جبران خطاها را غیرممکن می کند و منجر به تجمع خطا می شود.

هر چه زمان بیشتری از لحظه کالیبراسیون ژیروقطب نما، یا بهتر است بگوییم، از نقطه نظر فنی، از لحظه تعیین موقعیت مرجع "صفر" بگذرد، خطای انباشته شده بیشتر است که در یک جابجایی دوره ای در نشان داده می شود. جهت گیری ژیروسکوپ

ویدئوی زیر این موضوع را نشان می دهد.

این ویدئو قطب‌نما را در حالت «ژیروقطب‌نما» نشان می‌دهد که دقیقاً روی سروری که روی دستگاه کار می‌کند تنظیم شده و بی‌حرکت روی میز قرار دارد. علیرغم این واقعیت که دستگاه در طول زمان ثابت است، جابجایی رخ می دهد. در ساعت 00:09 از 0 درجه به 359 درجه تغییر می کند. در ساعت 01:21 به 358 درجه کاهش می یابد. در ساعت 03:03 ما در حال حاضر یک آزیموت 357 درجه را می بینیم.

انباشتگی خطا به دلیل گسستگی سنسورها اتفاق می افتد که در برخی لحظات می توانند رویدادها را نادیده بگیرند، به عنوان مثال، در ویدیوی بالا، خوانش ژیروسکوپ تحت تأثیر کوچکترین ارتعاشات فن های منبع تغذیه قرار می گیرد. مانیتور و کامپیوتر واقع در نزدیکی روی میز. البته حسگرها با گذشت زمان پیشرفت می‌کنند، وضوح بالاتری دریافت می‌کنند، اما گسست داده‌ها باقی می‌ماند. بر این اساس، موارد جزئی مانند ضربان قلب و نبض می تواند بر روی خوانش تأثیر بگذارد.

سیستم های میکرومکانیکی چنین سنسورهایی نیز تحت تأثیر عوامل غیر آشکاری مانند دمای محیط قرار می گیرند - اگرچه دما برای توسعه دهندگان عادی در دسترس نیست، اما برای تصحیح داده های حسگر در سطح درایورهای خود سیستم عامل در نظر گرفته می شود.

در عین حال ، جهت گیری توسط ژیروسکوپ بسیار دقیق تر از سنسور قطب نما است - هنگام چرخش 180 درجه ، سنسور گزارش می دهد که چرخش همان 180 درجه بوده و نه 150 درجه ، به عنوان مثال ، قطب نما می تواند در شرایط تداخل می گویند.

فقط لازم است در نظر داشته باشید که ژیروسکوپ دارای چنین ویژگی است و در هنگام استفاده از دستگاه به عنوان ابزار یا هنگام توسعه برنامه ها و بازی های خود به این موضوع توجه کنید.

اما در مورد پردازنده جدید حرکتی M7 چطور؟

با معرفی M7، من امیدوار بودم که دستگاه های تلفن همراه به سیستم های ناوبری اینرسی بزرگ نزدیک شوند، اما، متأسفانه، این پردازنده جدید مشکل کمی متفاوت را حل می کند.

اول از همه، M7 برای کاهش مصرف باتری در هنگام استفاده از GPS و سایر سنسورها طراحی شده است. زمان کمتری برای محاسبه داده‌های ماهواره‌ای صرف می‌شود، زیرا با شروع برنامه، این محاسبه از صفر شروع نمی‌شود. علاوه بر این، داده‌های سایر سنسورها در پس‌زمینه جمع‌آوری می‌شوند، حتی زمانی که برنامه در حال اجرا نیست، که به کاهش مصرف باتری نیز کمک می‌کند.

به عنوان مثال، در ویدیویی که وضعیت انباشتگی خطاها در ژیروسکوپ بالا را نشان می دهد، قطب نما در حالت ژیروسکوپ روی آیفون 5S جدید که قبلاً از M7 استفاده می کند کار می کند.

آیا می توان به دستگاه های تلفن همراه اعتماد کرد؟

پاسخ مثبت است، با دانستن و در نظر گرفتن ویژگی های سنسورهای استفاده شده.

توسعه دهندگان خودشان نتیجه گیری می کنند.

برای کاربرانی که علاقه مند بودند تا آخر مطالعه کنند، اجازه دهید توصیه هایی به شما بدهم.

نیازی به تعویض دستگاه خاصی نیست. شاید بهتر نباشد. و چه کسی گفته است که سطح جدول استفاده شده کاملاً عمود بر بردار گرانشی است؟

در بازی های با کنترل لمسی، اگر خطای شتاب سنج یا ژیروسکوپ به وضوح قابل مشاهده است، در تنظیمات یا در حالت مکث منوی کالیبراسیون را جستجو کنید.

در همه برنامه‌های کاربردی واقعی که ابزار "سطح" را پیاده‌سازی می‌کنند، باید کالیبراسیونی وجود داشته باشد که موقعیت "صفر" را تنظیم کند - طبیعتاً در برنامه داخلی نیز وجود دارد.

قطب نما مغناطیسی فقط در هنگام پیاده روی در طبیعت به خوبی کار می کند. انتظار نداشته باشید که دستگاه با تلاش برای مشخص کردن جهت با دقت مطلق در کنار رایانه، بلندگوها، رادیاتور یا هر وسیله نقلیه ای غیرممکن را انجام دهد. از مواردی که مخصوص این برنامه طراحی شده اند و حالت هایی استفاده کنید که به بهترین وجه برای کار مناسب هستند.

هنگام استفاده از قطب‌نمای مغناطیسی، به یاد داشته باشید که خوانش‌ها بلافاصله پس از کالیبراسیون معتبر هستند، تا زمانی که دستگاه از فاصله قابل توجهی جابجا نشده باشد - یک چرخش 90 درجه در امتداد محور ستون فقرات ممکن است نیاز به کالیبراسیون مجدد داشته باشد.

هنگام استفاده از برنامه‌هایی مانند «سطح» یا «ژیروقطب‌نما»، به یاد داشته باشید که قرائت‌های سنسور حدود یک تا دو دقیقه معتبر هستند، که برای اندازه‌گیری کاملاً کافی است - برای جلوگیری از تجمع خطا، کالیبراسیون را قبل از هر اندازه‌گیری تکرار کنید. دقت اندازه گیری ها

P.S. من به سوالات در نظرات پاسخ می دهم.

بسیاری در مورد مشکل سنسورهای کالیبره نشده در iPhone 5S جدید شنیده‌اند - ابزار «سطح» تعبیه‌شده در قطب‌نمای اصلی iOS 7 زمانی که دستگاه روی یک سطح صاف مانند میز قرار می‌گیرد، چندین درجه انحراف را نشان می‌دهد.

به طور خلاصه، تا حدی یا دیگری، مشکل جهت گیری حسگر همیشه در همه دستگاه های iOS وجود داشته است. قبلاً به دلیل عدم وجود برنامه ای که در سیستم عامل تلفن همراه تعبیه شده بود که به شما امکان اندازه گیری سطح را می داد ، این مشکل اغلب مشاهده نمی شد. مشکل مشابهی در سایر دستگاه های تلفن همراه مجهز به شتاب سنج رخ می دهد، زیرا اصول در همه جا یکسان است - هر توسعه دهنده ای که مجبور است با سنسورهای مختلف حرکت و جهت گیری سر و کار داشته باشد باید با این موضوع آشنا باشد.

من برنامه‌هایی را با استفاده از حسگرهای شتاب‌سنج، ژیروسکوپ و قطب‌نمای دیجیتال توسعه می‌دهم، دقیقاً از زمانی که API در دسترس توسعه‌دهندگان قرار گرفت، تقریباً از همان ابتدا - به‌عنوان نویسنده یکی از محبوب‌ترین قطب‌نماها برای iOS، با مشکلاتی در کالیبراسیون شتاب‌سنج و دقت سنسورهای دیگر چند سال پیش

راه حل مشکل بسیار پیش پا افتاده است و در حال حاضر در بیشتر برنامه های کاربردی و بازی تعبیه شده است که به هر طریقی از حسگرهای گرانش، حرکت و میدان مغناطیسی استفاده می کنند - کالیبراسیونی که هر توسعه دهنده ای که به خود و کاربرانش احترام می گذارد باید مراقب آن باشد. از. بسته به اینکه برنامه چقدر پیچیده است و چه وظایفی را حل می کند، از نقطه نظر فنی توسعه دهنده، پیاده سازی راه حل می تواند ساده و پیچیده باشد. اما اصل برای همه یکسان است.

من از توسعه دهندگان و کاربران برنامه دعوت می کنم که بدانند چگونه کار می کند، این خطاها از کجا می آیند، چرا نباید بیش از حد نگران مشکلات شتاب سنج باشید و چرا نباید برای تعویض یک دستگاه "معیب" به فروشگاه بروید - یک دستگاه جدید بعید است که خیلی بهتر باشد، و مشکلات مربوط به خطاهای سنسور به روش های دیگری حل می شود.

چطور بود

بیش از چهار سال پیش، من با وظیفه توسعه آنالوگ معمولی قطب‌نمای دوبعدی که همراه با iOS عرضه می‌شد، مواجه شدم، بلکه قطب‌نمایی با استفاده از واقعیت افزوده، کارکرد در فضای سه‌بعدی و با هم‌ترازی با دقت بالا علامت‌های مجازی روی آن‌ها قرار گرفتم. ویدیوی زمان واقعی

برای تطبیق علامت مجازی یک شی با موقعیت واقعی آن در تصویر دریافتی از دوربین، استفاده از تمام حسگرهای حرکتی موجود در دستگاه تلفن همراه ضروری است.

شتاب سنج برای تعیین بردار گرانش یا به عبارت ساده، برای فهمیدن اینکه کدام قسمت از دستگاه به پایین نگاه می کند مورد نیاز است. یک سنسور قطب‌نما یا مغناطیس‌سنج دیجیتال برای جهت‌یابی به نقاط اصلی مورد نیاز است تا بفهمیم دستگاه به کدام سمت شمال است. بعداً یک ژیروسکوپ ظاهر شد که چرخش دستگاه را تعیین می کند و بر این اساس به شما امکان می دهد تا دقت جهت گیری کامل را در فضای سه بعدی به میزان قابل توجهی افزایش دهید.

با توسعه برنامه و امکان استفاده از حسگرهای جدید، کاستی های فردی ذاتی در سنسورها تقریباً بلافاصله آشکار شد.

همانطور که مشخص شد، در همه دستگاه‌ها، حسگرها داده‌های نابرابر تولید می‌کنند که در یک خطای خاص متفاوت است، در جایی انحرافات بیشتر و در جایی کمتر هستند - در حالی که تعدادی از عوامل مختلف غیر آشکار بر خوانش سنسور تأثیر می‌گذارند.

واکنش اولیه کسانی که در آن زمان هیچ تجربه ای در این زمینه نداشتند مشابه واکنشی بود که در مقاله های مربوط به نصب اشتباه سنسور در آیفون 5 اس توضیح داده شد، اما بررسی بیشتر مسائل باعث شد نظرم را تغییر دهم و بدون انتظار به توسعه ادامه دهم. که سازنده می تواند و می تواند چیزی را تعمیر کند، اما با در نظر گرفتن ویژگی های هر یک از سنسورهای مورد نیاز.

در نتیجه، یک اسباب بازی با فناوری پیشرفته با مشکلات دقت، ابزاری نسبتاً دقیق و مناسب برای استفاده واقعی است - نکته اصلی این است که بدانید چگونه از آن به درستی استفاده کنید، که مستقیماً از ویژگی های هر سنسوری که من می نویسم ناشی می شود. به تفصیل در زیر

شتاب سنج

از آنجایی که برخلاف قطب‌نمای استاندارد که تنها در یک جهت کار می‌کند، برنامه من باید در هر یک از موارد ممکن کار می‌کرد، در مراحل اولیه، حتی قبل از ظهور ژیروسکوپ، یک ویژگی بسیار عجیب شتاب‌سنج کشف شد.

معلوم شد که علاوه بر این که شتاب‌سنج در هر دستگاه انحراف جزئی دارد، در همان دستگاه فیزیکی این انحراف برای جهت‌های مختلف دستگاه متفاوت است - به عنوان مثال، در جهت‌گیری پرتره معمول، انحراف از حالت واقعی محور گرانش می تواند 1 درجه باشد، در حالی که، در صورت چرخش 180 درجه، در یک پرتره معکوس می تواند 4 درجه باشد.

راه حل اضافه کردن توانایی کالیبره کردن شتاب سنج به طور جداگانه برای هر یک از شش جهت ممکن بود و ظهور ژیروسکوپ فرصت های جدیدی را به وجود آورد - کالیبراسیون سنسورهای حرکتی به ترتیب به یک شکل یا شکل دیگر در حال حاضر در هر مناسبتی موجود است. برنامه ای که از آنها استفاده می کند.

توسعه‌دهندگان بازی مجبور شده‌اند کمی راحت‌تر آن را انجام دهند - در بازی‌ها کافی است از یک یا دو جهت دستگاه پشتیبانی شود، اما هنوز نمی‌توان به سادگی از نیاز کاربر اجازه استفاده از کالیبراسیون حتی با استفاده از سنسور ژیروسکوپ را دور زد.

در "سطح" تعبیه شده در قطب نما iOS 7، کالیبراسیون به سادگی با ضربه زدن روی صفحه انجام می شود - فقط صفحه را لمس کنید و موقعیت فعلی دستگاه به عنوان موقعیت مرجع یا "صفر" در نظر گرفته می شود.

قطب نما و GPS / GLONASS (اگرچه به نظر می رسد)

قبل از ظهور ژیروسکوپ، حسگر مسئول جهت گیری در صفحه افق به نقاط اصلی، سنسور قطب نما دیجیتالی بود - حساس ترین به عوامل خارجی از همه سنسورها و بر این اساس، بیشترین مشکلات را با دقت داشت.

با چرخش دستگاه، کالیبراسیون قطب نما به طور مداوم در سطح درایور انجام می شود - هرچه داده های بیشتری را دستگاه دریافت کند، نتیجه دقیق تر خواهد بود، اما همچنان یک خطا وجود خواهد داشت.

یک راه حل مطلق برای مشکل دقت قطب نما متأسفانه با کالیبراسیون به تنهایی تقریباً غیرممکن است. اگرچه دقت را بهبود می بخشد. در iOS 7، قطب‌نمای داخلی حتی به طرز وحشیانه‌تری نسبت به نسخه‌های قبلی سیستم‌عامل کالیبره شده است. اکنون صفحه کالیبراسیون کل صفحه را می پوشاند تا زمانی که کاربر اقدامات لازم را انجام دهد. نسخه‌های قدیمی‌تر پیام کوچکی داشتند که صفحه را پوشش نمی‌داد.

حتی کالیبراسیون قطب نما و فیلتر ثابت داده ها در شرایط یک میدان مغناطیسی غیر یکنواخت کمک چندانی نمی کند - از این گذشته، پس از کالیبره کردن قطب نما، فرد معمولاً حول محور خود و نه حول محور دستگاه می چرخد. با چرخش 90 درجه، دستگاه را حدود نیم متر در فضا جابجا می کند، جایی که ممکن است شرایط مغناطیسی دیگری وجود داشته باشد.

در نزدیکی میدان‌های مغناطیسی قوی، اجسام فلزی، سیم‌های زنده، قرائت‌های مغناطیس سنج به دلیل حساسیت بسیار زیاد به تابش الکترومغناطیسی ناپایدار است - این امر به ویژه در اتاق‌ها و ماشین‌هایی که روز به روز مدرن‌تر هستند، بیشتر و بیشتر با همه چیز پر می‌شوند. انواع پر کردن الکترونیکی

بعلاوه، اگر قطب نما برای نشان دادن شمال جغرافیایی لازم باشد، دقت موقعیت یابی با GPS و GLONASS وارد عمل می شود، زیرا مختصات برای تعیین انحراف مغناطیسی یا تفاوت بین جهت ها به قطب مغناطیسی و سرور در یک نقطه خاص استفاده می شود. جهان.

یک قطب نما مغناطیسی در فضای باز در میدان، جایی که هیچ تداخل مغناطیسی وجود ندارد به خوبی و با دقت کار می کند - اما با این وجود، کالیبراسیون قطب نما با هر اندازه گیری یاتاقان مطلوب است.

جهت قطب شمال با دقت GPS خوب و معمولاً در خارج از منزل با دقت بیشتری تعیین می شود.

برای بهبود بیشتر دقت در جایی که لازم است، برای مثال، اگر نیاز دارید که آنتن‌های Wi-Fi یا رادیویی را به درستی به سمت یکدیگر نشانه‌گیری کنید، یا هر اندازه‌گیری دقیقی انجام دهید، از قبل به پشتیبانی عمیق‌تری در سمت برنامه نیاز دارید، همانطور که در زیر بحث شده است.

ژیروسکوپ، ژیروسکوپ و حالت خودرو

در داخل ساختمان، در خودرو، قایق یا هر وسیله نقلیه دیگری، و زمانی که دقت و ثبات جهت گیری بالاتری مورد نیاز است، قطب نما مغناطیسی معمولی مناسب نیست - جهت گیری در طول حرکت یا در امتداد ژیروسکوپ مورد نیاز است.

بر این اساس ، در برنامه خود ، من هر دوی این ویژگی ها را اجرا کردم - برای استفاده در وسایل نقلیه مختلف حالت "ماشین" و حالت "ژیروقطب نما" برای هر چیز دیگری وجود دارد.

با حالت ماشین، همه چیز ساده است - از مسیر حرکت استفاده می شود، که فقط به دقت GPS و GLONASS بستگی دارد، و بر این اساس، هنگام رانندگی با پای پیاده، روی دوچرخه، ماشین، قایق، هواپیما، جهت کاملاً دقیق تعیین می شود. ، و غیره.

با یک ژیروسکوپ، وضعیت هم راحت تر و هم تا حدودی پیچیده تر است.

در حالت قطب نما، می توانید با استفاده از برخی از نشانه های خارجی - خورشید، ماه، ستارگان، اشیاء جغرافیایی، سمت پوشیده از خزه درخت، با استفاده از نقشه ها یا با استفاده از روش های دیگر، مسیر اولیه را به طور دقیق تنظیم کنید یا جهت فعلی را اصلاح کنید.

این کار به سادگی برای کاربر انجام می شود. یک نشانگر قرار گرفته بر روی ویدیوی زنده یا یک فلش که به سمت یک شیء در صفحه قطب نما اشاره می کند، با موقعیت واقعی شی یا با جهت آن مطابقت دارد. تمام ریاضیات پیچیده مبتنی بر هزاران خط فرمول در سطح کاربرد نامرئی باقی می مانند.

تقریباً همان اقدامات توسط خلبانان یا پرسنل در خدمت هواپیماهای نظامی مدرن، کشتی ها انجام می شود - بررسی و کالیبراسیون بعدی سیستم های ناوبری اینرسی در ابتدای پرواز و در حین آن انجام می شود که با محل ثابت سنسورها نیز تسهیل می شود. در حالی که دستگاه های تلفن همراه ما تقریباً در حال حرکت هستند.

به نظر می رسد که ژیروسکوپ راه حل ایده آلی برای مشکل دقت قطب نما و جهت گیری نقاط اصلی است، اما مشکلات خاص خود را نیز دارد.

در سیستم‌های ناوبری اینرسی صنعتی و نظامی، برخلاف آنچه در حال حاضر در دستگاه‌های تلفن همراه وجود دارد، یک مجموعه کامل، مجموعه‌ای از حسگرها برای تعیین دقیق موقعیت در فضا استفاده می‌شود که جبران خطاها و نادرستی‌ها در قرائت‌ها را ممکن می‌سازد. .

در دستگاه های تلفن همراه، معمولاً تنها یک نمونه از هر سنسور وجود دارد که جبران خطاها را غیرممکن می کند و منجر به تجمع خطا می شود.

هر چه زمان بیشتری از لحظه کالیبراسیون ژیروقطب نما، یا بهتر است بگوییم، از نقطه نظر فنی، از لحظه تعیین موقعیت مرجع "صفر" بگذرد، خطای انباشته شده بیشتر است که در یک جابجایی دوره ای در نشان داده می شود. جهت گیری ژیروسکوپ

ویدئوی زیر این موضوع را نشان می دهد.

این ویدئو قطب‌نما را در حالت «ژیروقطب‌نما» نشان می‌دهد که دقیقاً روی سروری که روی دستگاه کار می‌کند تنظیم شده و بی‌حرکت روی میز قرار دارد. علیرغم این واقعیت که دستگاه در طول زمان ثابت است، جابجایی رخ می دهد. در ساعت 00:09 از 0 درجه به 359 درجه تغییر می کند. در ساعت 01:21 به 358 درجه کاهش می یابد. در ساعت 03:03 ما در حال حاضر یک آزیموت 357 درجه را می بینیم.

انباشتگی خطا به دلیل گسستگی سنسورها اتفاق می افتد که در برخی لحظات می توانند رویدادها را نادیده بگیرند، به عنوان مثال، در ویدیوی بالا، خوانش ژیروسکوپ تحت تأثیر کوچکترین ارتعاشات فن های منبع تغذیه قرار می گیرد. مانیتور و کامپیوتر واقع در نزدیکی روی میز. البته حسگرها با گذشت زمان پیشرفت می‌کنند، وضوح بالاتری دریافت می‌کنند، اما گسست داده‌ها باقی می‌ماند. بر این اساس، موارد جزئی مانند ضربان قلب و نبض می تواند بر روی خوانش تأثیر بگذارد.

سیستم های میکرومکانیکی چنین سنسورهایی نیز تحت تأثیر عوامل غیر آشکاری مانند دمای محیط قرار می گیرند - اگرچه دما برای توسعه دهندگان عادی در دسترس نیست، اما برای تصحیح داده های حسگر در سطح درایورهای خود سیستم عامل در نظر گرفته می شود.

در عین حال ، جهت گیری توسط ژیروسکوپ بسیار دقیق تر از سنسور قطب نما است - هنگام چرخش 180 درجه ، سنسور گزارش می دهد که چرخش همان 180 درجه بوده و نه 150 درجه ، به عنوان مثال ، قطب نما می تواند در شرایط تداخل می گویند.

فقط لازم است در نظر داشته باشید که ژیروسکوپ دارای چنین ویژگی است و در هنگام استفاده از دستگاه به عنوان ابزار یا هنگام توسعه برنامه ها و بازی های خود به این موضوع توجه کنید.

اما در مورد پردازنده جدید حرکتی M7 چطور؟

با معرفی M7، من امیدوار بودم که دستگاه های تلفن همراه به سیستم های ناوبری اینرسی بزرگ نزدیک شوند، اما، متأسفانه، این پردازنده جدید مشکل کمی متفاوت را حل می کند.

اول از همه، M7 برای کاهش مصرف باتری در هنگام استفاده از GPS و سایر سنسورها طراحی شده است. زمان کمتری برای محاسبه داده‌های ماهواره‌ای صرف می‌شود، زیرا با شروع برنامه، این محاسبه از صفر شروع نمی‌شود. علاوه بر این، داده‌های سایر سنسورها در پس‌زمینه جمع‌آوری می‌شوند، حتی زمانی که برنامه در حال اجرا نیست، که به کاهش مصرف باتری نیز کمک می‌کند.

به عنوان مثال، در ویدیویی که وضعیت انباشتگی خطاها در ژیروسکوپ بالا را نشان می دهد، قطب نما در حالت ژیروسکوپ روی آیفون 5S جدید که قبلاً از M7 استفاده می کند کار می کند.

آیا می توان به دستگاه های تلفن همراه اعتماد کرد؟

پاسخ مثبت است، با دانستن و در نظر گرفتن ویژگی های سنسورهای استفاده شده.

توسعه دهندگان خودشان نتیجه گیری می کنند.

برای کاربرانی که علاقه مند بودند تا آخر مطالعه کنند، اجازه دهید توصیه هایی به شما بدهم.

نیازی به تعویض دستگاه خاصی نیست. شاید بهتر نباشد. و چه کسی گفته است که سطح جدول استفاده شده کاملاً عمود بر بردار گرانشی است؟

در بازی های با کنترل لمسی، اگر خطای شتاب سنج یا ژیروسکوپ به وضوح قابل مشاهده است، در تنظیمات یا در حالت مکث منوی کالیبراسیون را جستجو کنید.

در همه برنامه‌های کاربردی واقعی که ابزار "سطح" را پیاده‌سازی می‌کنند، باید کالیبراسیونی وجود داشته باشد که موقعیت "صفر" را تنظیم کند - طبیعتاً در برنامه داخلی نیز وجود دارد.

قطب نما مغناطیسی فقط در هنگام پیاده روی در طبیعت به خوبی کار می کند. انتظار نداشته باشید که دستگاه با تلاش برای مشخص کردن جهت با دقت مطلق در کنار رایانه، بلندگوها، رادیاتور یا هر وسیله نقلیه ای غیرممکن را انجام دهد. از مواردی که مخصوص این برنامه طراحی شده اند و حالت هایی استفاده کنید که به بهترین وجه برای کار مناسب هستند.

هنگام استفاده از قطب‌نمای مغناطیسی، به یاد داشته باشید که خوانش‌ها بلافاصله پس از کالیبراسیون معتبر هستند، تا زمانی که دستگاه از فاصله قابل توجهی جابجا نشده باشد - یک چرخش 90 درجه در امتداد محور ستون فقرات ممکن است نیاز به کالیبراسیون مجدد داشته باشد.

هنگام استفاده از برنامه‌هایی مانند «سطح» یا «ژیروقطب‌نما»، به یاد داشته باشید که قرائت‌های سنسور حدود یک تا دو دقیقه معتبر هستند، که برای اندازه‌گیری کاملاً کافی است - برای جلوگیری از تجمع خطا، کالیبراسیون را قبل از هر اندازه‌گیری تکرار کنید. دقت اندازه گیری ها

P.S. من به سوالات در نظرات پاسخ می دهم.

البته زمانی که شتاب سنج gsm به دلیل نامعلومی روی آیفون 5 کار نمی کند، هر کاربری ممکن است با ناراحتی های زیادی مواجه شود. می خواهم فوراً متذکر شوم که نباید انتظار خوبی از تعمیر خود داشته باشید ، زیرا فقط متخصصان با تجربه و آگاه مرکز خدمات فناوری اپل می توانند این مشکل را حل کنند. علاوه بر این، دانش و مهارت های غنی صنعتگران با در دسترس بودن تجهیزات حرفه ای، تجهیزات با دقت بالا و قطعات با کیفیت بالا که همیشه در دسترس هستند تکمیل می شود. هر نوع تعمیر با ضمانت بلند مدت تضمین می شود.

هیچ کس در نیاز به عنصر مهمی مانند شتاب سنج برای ابزارهای مدرن شک ندارد. و همه به این دلیل است که این سنسور "قرار است" عملکردهای بسیار مهمی (کار با صفحه نمایش، بازی ها، برنامه های مختلف و غیره) را انجام دهد. اما گاهی اوقات کاربران با مشکل ناخوشایندی روبرو می شوند - شتاب سنج gsm در iPhone 5 کار نمی کند. این بیشتر به دلیل افتادن، ضربه یا تکان شدید دستگاه اتفاق می افتد. خوب است اگر هنوز گارانتی آیفون دارید. سپس می توان آن را به مرکز خدمات تخصصی برد و تشخیص رایگان انجام داد.

خدمات ارائه شده توسط مرکز خدمات اپل:

  • تعویض باتری غیرفعال؛
  • تعمیر ماژول های GSM و Wi Fi;
  • چشمک زن با کیفیت بالا دستگاه؛
  • بازیابی توابع بوت لودر؛
  • تعویض دکمه های غیر کار؛
  • تعویض عناصر آسیب دیده دوربین؛
  • تعویض اسپیکر و میکروفون
  • تعویض بدنه شکسته؛
  • تعویض کانکتورهای شکسته؛
  • باز کردن قفل و روسی سازی ابزار.

به هر دلیلی که شتاب‌سنج gsm در آیفون 5 کار نمی‌کند، برای کمک با یک مرکز خدمات معتبر اپل تماس بگیرید.

اکثر گوشی‌های هوشمند دارای یک شتاب‌سنج داخلی هستند که به شما امکان می‌دهد انواع کارهای جالب را انجام دهید، مانند اینکه چقدر می‌توانید گوشی خود را به بالا پرتاب کنید.

به علاوه با استفاده از داده های دریافتی از آن می توانید محل آن را روی برد تلفن مشخص کنید. ایده اصلی این است که داده های شتاب را از گوشی دریافت کنید، سپس تغییر شتاب را بسته به موقعیت بدنه گوشی هوشمند دنبال کنید و بر این اساس، محل سنسور حسگر شتاب سنج را محاسبه کنید.

سعی کنیم؟

کلید آزمایش حرکت دایره ای خواهد بود. وقتی جسمی در دایره ای با سرعت ثابت حرکت می کند، شتابی خواهد داشت:

علاوه بر این، شتاب جسمی که در یک دایره حرکت می کند به سمت مرکز دایره هدایت می شود:

اگر محور y بدنه آیفون به سمت مرکز دایره باشد، مولفه y شتاب آن ثابت خواهد بود. بنابراین، شما باید گوشی را روی یک پلت فرم چرخان، در فاصله ثابتی از مرکز چرخش قرار دهید. با ثبت شتاب و سرعت زاویه ای می توان فاصله سنسور تا مرکز دایره را تعیین کرد. خیلی ساده، درست است؟

برای ثبت شتاب در آیفون می توانید از هر اپلیکیشن مناسبی مانند Mobile Science Acceleration استفاده کنید.

این کاملا رایگان است و داده ها را می توان به یک فایل CVS صادر کرد یا از طریق ایمیل دریافت کرد.

ما از یک متر چرخشی استفاده می کنیم که در یک سر آن آیفون قرار دارد. برای کنترل سرعت موتور الکتریکی می توانید از سازنده LEGO Mindstorms استفاده کنید.

سرعت زاویه ای را با استفاده از یک دوربین فیلمبرداری ثابت در بالا به دست می آوریم.

مقادیر ضبط شده از شتاب دهنده در برنامه با فرکانس 10 بار در ثانیه تنظیم می شود. داده های ذخیره شده (که می توانند به Vernier's Logger Pro وارد شوند) چیزی شبیه به این است:

این شتاب را نشان می دهد، داده ها کمی متفاوت است، اما می توانید مقادیر ثابتی را ببینید (با رنگ آبی مشخص شده است) که می تواند به عنوان مبنایی برای محاسبه مکان شتاب دهنده استفاده شود.

شما همچنین به مقدار سرعت زاویه ای نیاز خواهید داشت. در اینجا سرعت زاویه ای برای نیم دور است که می توان با تجزیه و تحلیل داده های دوربین با استفاده از Tracker Video Analysis به دست آورد.

تصویر زیر نموداری است که دو جهت قاب گوشی را نسبت به مرکز چرخش نشان می دهد. فاصله تا مرکز از سمت نزدیک گوشی هوشمند اندازه گیری می شود.

برترین مقالات مرتبط