Numpy配列を使用してロボットアームのエンドエフェクターの位置を計算する関数を作成しようとしていますが、コードを実行するとエラーが発生します。引数として角度を渡す関数があります。
def FinalPosition(angle1, angle2, angle3, angle4, angle5, angle6):
私のIDEは配列の最後の2行を強調表示しています:
T1 = np.array([np.cos(angle1), -np.sin(angle1)*np.cos(b1), np.sin(angle1)*np.sin(b1), a1*np.cos(angle1)],
[np.sin(angle1), np.cos(angle1)*np.cos(b1), -np.cos(angle1)*np.sin(b1), a1*np.sin(angle1)],
[0, np.sin(b1), np.cos(b1), d1],
[0, 0, 0, 1])
そして私が得ているエラーは:
.............................................in FinalPosition
[0, np.sin(b1), np.cos(b1), d1], [0, 0, 0, 1])
ValueError: only 2 non-keyword arguments accepted
問題が何かわからない、誰かが説明できますか?
編集:IDE最後の2行のハイライトはこれを示しています。
Expected type 'Optional[bool]', got 'List[Union[int | TypeVar('T'), Any]]' instead less... (Ctrl+F1 Alt+T)
この検査は、関数呼び出し式の型エラーを検出します。動的なディスパッチとダックタイピングにより、これは限られた数の場合にのみ可能です。関数パラメーターのタイプは、docstringsまたはPython 3関数アノテーションで指定できます。
コメントで@hpauljおよび@ForceBruが回答しました。 []ブラケットのセットがありません。
np.array([ your lists ])