跳躍運動を伴うロボットアームの管理





昨年、私はroborukを作成し 、Linux用の「ドライバー」を作成し、さまざまなオブジェクトを保持する方法を教えました。 そして、どういうわけか私は彼女を忘れていました。 しかし、昨日、彼らは私に跳躍運動を提供し、新しいアイデアを思いつきました-手の動きを使用してロボットアームを制御する方法を学びます。



管理する必要があるもの



ロボルキには:



これらすべてのために、「ドライバー」は単純なAPIを提供します。

from roboarm import Arm arm = Arm() arm.base.rotate_clock(3) arm.elbow.up(1) arm.grips.open(2)
      
      







最初の実装







リープモーションは、 、およびその方向を検出できます。

そのため、指に動きを付けることにしました。

ロボルキの一部 私の手 指の数
ベース そうだね 4または5 X
4または5 Y
そうだね 2または3 Y
手首 どれでも 1 Y
2または3 X
それから何も来ませんでした。 リープモーションは、手に1〜2本の指があったときに正しく決定されましたが、それ以上の場合は1〜5のランダムな値です。



2番目の実装





リープモーションは、特定の境界の手の座標を提供します。Xには約-200〜200、Yには0〜400があります。この領域を10の等しい部分に分割し、それらにアクションをアタッチしました。

時計仕掛け 肩上げ 肘を上げる 手首を上げる 開いた爪
反時計仕掛けベース 肩下 肘を下ろす 手首を下げる 爪を閉じる
この実装は動作していることが判明しました=)



どうした



ロボットが箱を持ち上げようとしている結果のビデオ:







手の動きがよく見えるビデオ:







参照資料



Roboruk owiロボットアーム。

跳躍運動。

「ドライバー。」

実装のソースコード。



All Articles