動作結果シャトルの軌道予測まず、以下の文献を参考に、軌道予測の方法を考えました。Mechatronicsこれらの文献では以下の共通点がありました。ステレオカメラでシャトルの位置を検出シャトルは空気抵抗を考慮した斜方投射運動としている。拡張カルマンフィルタで軌道を予測しているステレオカメラかKinectかステレオカメラによる座標の計算については以下の文献に詳しく記載されており、実装比較的容易にできそうです。対応できる保証がない等、いくつかの問題が存在したため、ステレオカメラは使用せずKinectV2で検出を行うことにしました。シャトルの運動シャトルの空気抵抗の係数などは以下のサイトのデータを参考にしました。バドミントン練習用ロボットをつくるシャトルの飛行シミュレーション(Excel)拡張カルマンフィルタ(EKF)カルマンフィルタは離散的な誤差のある観測から、時々刻々と時間変化する量を推定するために用いられます。カーナビではGPSによる位置情報、電子コンパスによる方位情報、及び加速度センサ・ジャイロセンサによる加速度と角速度の情報をカルマンフィルタによって統合し、車の位置・速度を取得しています。拡張カルマンフィルタは、非線形モデルを現在の推定値の回りで線形化微分することで、カルマンフィルタを適用する手法です。原理などは確率ロボティクスや以下のサイトを読んでください。MyEnigma実装EKFの実装に行列を用いるため、C++でEigenか、PythonでNumPyを用いる必要があります。EKFの計算コストが少ないという利点を活かし、プログラミングが楽なPythonを選択しました。実装に当たって以下のサイトのコードをを参考にしました。Pythonで拡張カルマンフィルタを実装してみる公開しているプロジェクトの、shuttle_kalmanフォルダのshuttle_kalman_node.pyとshuttle.pyを用いて軌道予測を行っています。軌道予測(EKF)に関するプログラムはshuttle.pyでクラス化、shuttle_kalman_node.pyでROSで他のノードとの橋渡しをしています。予測したシャトルの軌道から目標の打点を計算します。元のXYZの座標系から、ラケット旋回機構の回転軸に平行な平面をX’Y’軸とする座標系に座標変換します。予測された軌道を座標変換し、z’=0平面との交点を求めます。この交点が目標の打点となります。]、ラケットの長さがrの時、-旋回機構の目標角度φはAsin(y’/r)-横移動ユニットの目標位置はx’-sinφとなります。abs(y)が1より大きい場合や、横移動ユニットの稼働限界を超える場合は、足回りを移動させる必要があります。返信が遅くなり申し訳ありません。AB製のものを使用していました。正直に申しますと、通信量が多いCANバスやリアルタイム性の高い処理に対し、この製品を使用することはおすすめしません。この製品はシリアルデバイスとして動作するのですが、データが16進数表記の文字列でやりとりされます。CANを500kbps以上で動作させている場合、460800bpsで動作させたとしても、CANバスよりも通信が遅いため、データの読み落としやエラーが発生します。コメントをキャンセルメールアドレスが公開されることはありません。