組み込みシステムの必要性を誤って見つけたと思います。すごい!そしてちょっと怖い。そして、私は助けが必要です。
背景:2つのSICK LMS-291からスキャンを取得し、それらをサブインチ精度のGPSと統合するGUIアプリケーションの構築を依頼されたため、各スキャンがどこで発生したかがわかります。私はナイーブWebプログラマーとして、タイミングが重要であることを理解していましたが、それが難しいことにも気付きませんでした。各GPSポイントと各スキャンがいつ発生したのかわからない場合、スキャンがどこで発生したのか把握できません。おっとっと。
彼らはプラットフォームとしてWindows 7を指定し、センサーとGPSを接続するためにSeaLevel RS422 to USBボックスを購入しましたが、すぐに私の愚かさを発見しました。センサーと私のコンピュータープログラムの間のどこかで、何かがスキャンがタイムリーに到着しないようにしていました。LMSは1秒あたり75スキャン、つまり13.32 ms /スキャンで吐き出します。私のプログラムはそれらをタイムリーに取得しません。100ミリ秒ごとに7、8、10などのグループで取得します。また、十分なスキャンが表示されない場合や、スキャンが破損している場合もあります。このSeaPortアダプターは1秒に10回しか送信していない(それは可能ですか?USBの仕組みがわからない)か、Windowsがバッファーをチェックしていません(どこかにバッファーがあるはずですよね?)。
今日:これは、クライアントが基本的に大丈夫であるいくつかの不正確さにつながります。私はそうではありませんが、クライアントに対して同様の作業を行う機会があるので(より多くのセンサー入力を統合する!)、たとえばGPSの精度を考慮して、それを正しく行う方法を見つけたいと思います、スキャン位置の精度と正確性を保証できる。
それはどのように見えますか?UIが必要で、これらの3つのデバイスからの入力を13.32ミリ秒ごとにチェックできるようにする必要があります。たとえば、GUIにNano-Xを使ってFreeRTOSを使用し、それらが提供するラップトップで実行した場合、それは正気なソリューションのように聞こえますか?RS-422-USBアダプターがこれらの遅延を引き起こしている可能性はありますか?Windowsを使用しても実際にはこの目的で問題ありませんか?