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



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

管理する必要があるもの


ロボルキには:

これらすべてのために、「ドライバー」は単純なAPIを提供します。
from roboarm import Arm arm = Arm() arm.base.rotate_clock(3) arm.elbow.up(1) arm.grips.open(2) 


最初の実装




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

2番目の実装



リープモーションは、特定の境界の手の座標を提供します。Xには約-200〜200、Yには0〜400があります。この領域を10の等しい部分に分割し、それらにアクションをアタッチしました。
時計仕掛け肩上げ肘を上げる手首を上げる開いた爪
反時計仕掛けベース肩下肘を下ろす手首を下げる爪を閉じる
この実装は動作していることが判明しました=)

どうした


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



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



参照資料


Roboruk owiロボットアーム。
跳躍運動。
「ドライバー。」
実装のソースコード。

Source: https://habr.com/ru/post/J214613/


All Articles