2016-06-17 9 views
0

ロボットのカメラフレームからベースフレームに画像を変換する目的で、私は回転行列が必要です。回転の逆行列が動作しません:Python、ROS

しかし、いくつかの点では、私は3x3行列である私の回転行列の逆数が必要です、他のいくつかのパラメータを計算する。得られたパラメータはまったく意味がありませんでしたので、逆数が実際に正しいかどうかを調べたところ、そうではありませんでした。

私は両方の行列を乗算するとき、私は単位行列を取得しません。むしろ、私は奇妙に見える形

([[ 1.00000000e+00, 0.00000000e+00, -2.77555756e-17], 
     [ -1.11022302e-16, 1.00000000e+00, -2.77555756e-17], 
     [ 0.00000000e+00, 0.00000000e+00, 1.00000000e+00]])) 

のマトリックスを持っているが、それは主対角上の1つの、およびいくつかの0が含まれていません。だから私は全体が間違っているのか、それともその一部だけであるのか分からないし、どちらの方法でそれを修正するのかわからないのですか?

+2

実際の行列を転記し、その逆行列をどうやって取得すれば、あなたの質問に答えるのが非常に役に立ちます。 – Ian

+0

投稿された行列をよく見ると、それは恒等行列に非常に近いものです。浮動小数点数の算術は近似であることに注意してください。 –

答えて

1

を参照してもよいです。

Pythonは浮動小数点数をIEEE標準の8バイトに格納しています。これは15桁または16桁の有効桁を格納できます。分割に起因するほとんどの数値は正確に保存することはできません。 1に近い数値で計算すると、1E-15に近い「ゼロ」の値が得られます。

すべての「ゼロ」値は絶対値で1E-15より小さいため、ゼロとみなす必要があります。不正確な数は、行列の逆数を計算するときに発生する分割から来ます。

関連する問題