低コストロボットアーム
(github.com/AlexanderKoch-Koch)- Low-Cost Robot Arm リポジトリは、約 $250 で作成・制御できるロボットアーム用ファイルを提供しており、別途 leader arm を追加すると合計約 $430 の構成で follower arm を操作できる
- follower arm は Dynamixel XL430 と XL330 サーボを併用し、XL430 は最初の2つの関節に使われ、XL330 は18gと軽いためアームを軽量かつ高速にするために使われる
- Dynamixel の U2D2 adapter は高価で遅延時間が大きいため、このビルドではより安価な Waveshare Serial Bus Servo Driver Board を使用し、Dynamixel SDK で制御可能
- 製作には3Dプリント、各モーターの baudrate 1M 設定、servo ID の指定、電圧降圧器の調整が必要で、XL330 の入力電圧は Dynamixel Wizard で確認して 5V に合わせる
- leader arm は5Vモーターのみを使用するため組み立てがより簡単で、
teleoperation.pyで2本のアームをテストでき、simulation.pyで基本的な MuJoCo シミュレーション環境を実行できる
プロジェクト概要
- Low-Cost Robot Arm リポジトリには、低コストのロボットアームを作成・制御するためのファイルが含まれる
- 基本の follower arm の費用は約 $250 で、leader arm を追加すると約 $180 がさらに必要となり、合計 $430 の構成になる
- すべての部品を1つのパッケージで受け取るためのウェイティングリストは https://tau-robotics.com/robots で提供されている
- leader arm の設計は GELLO project に着想を得ているが、より簡単に作れるよう単純化されている
- このロボットアームは robot learning に適しており、2台使えば 衣類をたたむ ことも可能
サーボと制御方式
- follower arm は Dynamixel XL430 と Dynamixel XL330 サーボモーターを使用する
- XL430 は XL330 よりほぼ2倍強力で、最初の2つの関節に使用される
- XL330 はより非力だが、それぞれ 18g と軽量で、アームを軽く高速にする
- Dynamixel はサーボをコンピューターに接続するために U2D2 adapter を販売しているが、このビルドではコストと遅延時間の問題から、より安価なアダプターボードを使用する
- ロボットアームは Dynamixel SDK で制御できる
- インストールコマンド:
pip install dynamixel-sdk
- インストールコマンド:
Follower Arm 構成
- follower arm の総部品コストは $258 と整理されている
- 主な部品は以下の通り
- 2x Dynamixel XL430-W250: $100
- 4x Dynamixel XL330-M288: $96
- XL330 Idler Wheel: $10
- XL430 Idler Wheel: $7
- Waveshare Serial Bus Servo Driver Board: $10
- Voltage Reducer: $10
- 12V Power Supply: $12
- Table Clamp: $6
- Wires: $7
- Robotis shop には通常 10%割引コード がある
- グリッパーには grip tape を追加すると役立つ場合がある
- servo driver board をコンピューターに接続するには USB-C ケーブル が必要
Follower Arm の組み立て手順
- 組み立て動画は https://youtu.be/RckrXOEoWrk で提供されている
- すべての部品は 3Dプリンター で出力する
- STL ファイルは
hardware/follower/stlにある - 部品は出力しやすいように設計されており、グリッパーの可動部品のみ support が必要
- STL ファイルは
- モーターのスキャン手順は以下の通り
- driver board をコンピューターに接続し、Linux と MacOS で動作するはず
- MacOS の例のように
ls /dev/tty.*でデバイス名を確認する - Dynamixel Wizard で各モーターを個別にスキャンする
- すべてのモーターの baudrate を 1M に設定する
- servo ID は肩からグリッパーまで 1 から 5 に設定し、elbow-to-wrist extension を使う場合は 6 まで設定する
- 組み立て段階では CAD と同じ位置にサーボを固定し、servo horn はネジで固定する際に基本位置にある必要がある
- 電源構成では voltage reducer にはんだ付けし、driver board と base に固定してから接続する
- voltage reducer の入力は driver board の V と G ポートに接続する
- 出力と driver board の残りの D ポートは elbow servo に接続する
- XL330 servo に接続した後、Dynamixel Wizard で入力電圧を確認し、voltage reducer のネジを調整して 5V に合わせる
Leader Arm とシミュレーション
- leader arm の総部品コストは $183
- 主な部品は以下の通り
- 6x Dynamixel XL330-M077: $144
- XL330 Frame: $7
- XL330 Idler Wheel: $10
- Waveshare Serial Bus Servo Driver Board: $10
- 5V Power Supply: $6
- Table Clamp: $6
- leader arm はすべてのモーターが 5V を使用するため、組み立てがより簡単
- グリッパーは handle と trigger に置き換えられる
- 使用中に trigger に小さな torque を適用すると、デフォルトで開くようにできる
- GELLO の設計ではこのために spring を使用するが、組み立てがはるかに難しい
teleoperation.pyスクリプトでアームをテストできる- ただしデバイス名は調整が必要な場合がある
simulation.pyを実行すると、基本的な MuJoCo シミュレーション環境を使用できる
1件のコメント
Hacker Newsのコメント
同じくらいのサイズのロボットアームを作り始めた。長年の友人にガラス工芸家がいるので、多面カットのガラスペンダントを作る用途を考えている
友人は多面カット用の機械を持っているが、手動式だ
難しいのは 繰り返し精度 だ。公差を厳しく保つ必要があり、アームの各関節はベースから遠くなるほど誤差を増幅する。ベースが1mm揺れると、20cm先のアーム先端では4mm揺れ、その先のアームではさらに大きくなる
多面カット用途なら、減速機なしのサーボよりはるかに細かい分解能が必要だ。減速は厄介で、関節をしっかり保持するにはバックラッシュを抑える必要があるが、動かすときに摩擦が大きくなりすぎてもいけない。ウォームギアは遅く、剛性が高すぎてあまり向いておらず、アーム内部のギアには サイクロイド減速機 が最もよさそうだ。ガラスをつかむのはかなり危険なので、ある程度フィードバックのある本物のサーボも必要になる
製作費は1,000〜2,000ドル程度と見積もっており、大半は減速機の費用だ
ハードウェアをどうにか動かせた後でも、運動学ソルバーをきちんと動作させるのは非常に大きな難題だ。例外ケースが多く、リアルタイムのフィードバックを処理しなければならず、使いやすさと信頼性のバランスも取る必要がある。ロボット企業が高額な対価を取る部分であり、それだけの理由がある
ロボットアームを作らずに、もっと単純な運動構造で置き換えられるなら、そのほうがよい。それでも作れたなら本当にすごい
参考までに、人の腕をある程度モデル化しようとした設計で、到達距離約80cm、荷重2.5kgで約1mmの繰り返し精度まで達した
具体的には、エンドエフェクタの荷重要件に応じて NEMA34、24、17 を混在させて使える。前方の関節にはより大きなモーターを使う。予算があるならサイクロイドやハーモニック減速機を使えばよく、そうでなければ各アクチュエータ(モーター+ドライバ+減速機+軸カップリング)は供給元と要件次第でおおよそ100〜200ドル程度だ。閉ループシステムは50ドルほど追加になる。価格面ではそれほど悪くない。ベース関節には荷重をよりうまく分散する幅広の円筒形減速機が必要だ
加工業者と協業できるなら、かなり高品質に作れると思う。設計の参考例は以下の通りで、中には趣味で作る自分よりもさらに出来がよさそうなものもある
https://www.youtube.com/watch?v=7z6rZdYHYfc これは素晴らしい。もっと小さく軽い版をゆっくり動かせば、ベースの揺れはさらに減るはずだ
https://www.youtube.com/shorts/II8gdIXPgaE 元記事により近い
https://www.youtube.com/shorts/_x7P9eZCkVM
https://www.youtube.com/watch?v=g9AfhqOd-_I これまで見た中で最もプロフェッショナルで、この部品表でもほぼ確実に3,000ドル未満、中国ならおそらく1,000ドル未満だろう。あまりに格好いいので、この会社にもっと小さいモデルを売っているかメールしてみようと思っている
https://www.youtube.com/watch?v=iB2NAgfVjIs Chris Annin もぜひ見る価値がある。低価格なオープンソースのステッパーモーターロボットを最もうまく作っている米国のロボット工学者の1人だと思う
以前に考えたアイデアは、大きな動きは安価で「ぐらつく」部品で作ったアームに任せ、先端には可動範囲は小さいが非常に精密に制御できるステージを追加する方式だ
最後に、ツールの実際の位置が目標位置からどれだけずれているかを非常に高精度で追跡する方法を加える。たとえばツールに取り付けたカメラかもしれない
そうすれば、ソフトウェアのフィードバックループがツールの偏差を追跡し、先端の「補正」ステージでそれを相殺できる
ただ、実際に成り立つかは分からない。「相殺」にかかる時間も問題だ。ピックアンドプレースのように経路の終点で最終的に目標位置へ到達すればよい場合と、エッチングや溶接のように経路全体で最大偏差以下を維持しなければならない場合は違う
こういう状況では、ステッパーモーターを サイクロイド減速機 で大きく減速して使うのはどうだろう? 頭の中では、位置を非常に制御しやすく再現性高くできて、バックラッシュは主に減速機が処理してくれる気がする
間違っているなら知りたい。言った通り、ソフトウェア畑の人間がハードウェアに足を踏み入れようとしているところだ
低価格で高品質、ある程度標準化されたロボットアームを大量生産している企業が、いまだにはっきり存在しないのは驚きだ。3DプリンターやCNC機械のようなものは消費者/アマチュア向け価格帯まで下りてきたのに、この分野はまだあまり開拓されていないように見える。
ArduinoやRaspberry Pi級の可能性はありそうだが、それほど有名な名前やエコシステムはまだ聞いたことがない。
ほとんどの人は数時間遊んだあと、棚の上に置いて終わる。
ユースケースごとにまったく異なり、作業量も大きい。何かを動くように作れても、机をうっかり揺らしたり、アームが何かにぶつかったりすると座標が全部狂ってしまい、最初からやり直しになる。
実際の機械構造も本当に複雑だ。50cmのリーチで意味のある荷重を持たせようとすると、ベース関節には非常に大きなトルクがかかり、同時に超高精度も必要になる。そうなると高価なギアやモーターが必要で、どちらも安くはない。
安全面の問題もある。実用的な荷重を持てるアームはかなり重く、その質量が振り回されるなら安全システムが必要になる。これも安くない。
少しハードウェア版ノーコードのようなものだ。ロボットアームのプログラミングは本質的に難しいので、簡単に使えるロボットアームを作るのは難しい。これを変えられるのは本当に優れたAIだけだと思う。
人は「本物の」ロボットアームより安く自作できると思いがちだが、たわみと繰り返し精度を計算に入れていない。
HNにRCサーボで作ったロボットアーム設計を投稿した人には敬意を払うが、繰り返し精度の測定値を見てみたい。1週間、毎日同じパターンを紙に描かせて、7本の線がどれだけ重なるか見せてほしいということだ。そもそもそんなものを描けるかどうかも疑わしい。紙を破るか、あるいは紙を破る力すらなく引っかかって終わるかもしれない。
根拠としては、1980年代からホビーロボットを作っており、1990年代には修士論文を含めてロボットを研究し、この10年の大半をロボティクス教育に費やしてきた。
非常に優れた運動学ソフトウェアがないロボットは、ほとんど使い物にならないという点も重要だ。アーム本体のほかに、電力と命令をリアルタイムで安定して伝送する制御ボックスも必要で、このコストもかなり上乗せされる。
それを定義すると、ほとんどすべての場合で、6自由度ロボットアームよりはるかに単純で安価な解決策があるとすぐ分かる。
本当にそうしたロボットアームが必要なケースなら、あらゆる要素を踏まえれば1万~2万ドルはかなり安い部類だ。
発想のスケールを少し下げて、人について回り、荷物を運び、障害物を避ける低価格のロボットプラットフォームから始めるのはどうだろう。アームはなくてもよく、荷物の積み下ろしは自分の腕でやっても構わない。
脚を痛めて松葉杖を使っていたとき、物を持って移動することが急に問題になった。移動が不便な人は多い。そうでなくても、物をしょっちゅう妙な場所に置いてしまうので、そういう場面でも役立つかもしれない。
AliExpressには玩具のロボット下部プラットフォームがたくさんあるが、最大寸法が20cm未満で、実用には小さすぎる。
ただし250ドルで売られているわけではないので、実際のRoombaや「ホバーボード」Segwayコピー品をROS対応に改造する方向[3]のほうが、コスト効率は高いかもしれない。
0: https://www.youtube.com/watch?v=l1hQ5YTMJEw
1: https://www.youtube.com/watch?v=SdVglHOJgiA
2: https://github.com/hoverboard-robotics/hoverboard-driver/tre...
https://www.aristavault.com/products/follow-me-smart-luggage
誰もこれを挙げていないのが驚きだ。
https://github.com/peng-zhihui/Dummy-Robot
ただし読むのは少し大変かもしれない。
ギークとしてはよだれが出るが、実際に家庭で使えるロボットアームの用途を見つけた人はいるだろうか? 良いプロジェクトがあるときは、ハッキングはいつだってもっと楽しい
そこまで速くある必要もない。一晩中動かしておけばいい
理想的な分類アルゴリズムについての面白い論文も、誰かが書いていそうだ。たとえば大きいものから小さいものの順にするのか、それとも単に一番近いものをつかんで移す方式なのか、といった話。個人的には、基本セットごとに分類したあと、トレイをちゃんと元の引き出しに戻すところまでやってほしい
もう1つは、キッチンでパスタをかき混ぜるアーム
3Dマウスで力覚フィードバックセンサーも作って取り付けた。アイデアは悪くなかったが、その用途には十分に剛性がなかった
https://news.ycombinator.com/item?id=39903953
http://roboexotica.at/
これが面白いなら、これも気に入るかもしれない。DIYではなく完成品で届く
https://www.waveshare.com/roarm-m2-s.htm
1台持っているが、この価格帯を考えるとビルド品質は本当に印象的
6自由度バージョンがないのは本当に残念。アームの可動半径内で何かをちゃんとつかむには、それが必要
これがどれくらい重いものを持ち上げられるか知っている人はいるだろうか?
ホームジムで運動するときに視線追跡で扇風機を操作して、顔に風が当たるようにしたいのだが、扇風機は数ポンドある
代案として、こういうプロジェクトに使えるハードウェアモーターのおすすめも知りたい
重い扇風機なら、動く空気の反作用も忘れてはいけない。アームに付けるより、何らかのベアリングの上に載せてモーターで回転だけさせるほうがよい。そうすればモーターが常に重力と戦わなくて済む
ここでリンクされているロボットアームはDynamixelサーボを使っているので、そのうち1つだけ使って回転台の上の扇風機を回すこともできる。ずっと安くて、ずっと単純
Thor 3Dプリントアームを作っていたところだったが、このプロジェクトのほうがずっと良さそう。方向転換すべきかもしれない
付け加えると、このサーボはゲームチェンジャー
長年のDynamixelユーザーとして、U2D2アダプターが他の選択肢に比べて高いのは同意する。ただ、「レイテンシが非常に高い」という主張には、ある程度の定量化が必要に思える
複数のプラットフォームで常に低レイテンシ、だいたい1ms程度を期待できる安定した選択肢だと感じていた
サーボを3つくっつけてロボットを作ったと主張するのは、もうやめてほしい :D
サーボの動きがかなりぎこちないので、この「ロボット」が動いている様子を見せる動画がないのだろう
XL330モーターは1個あたりわずか18gしかない。だから遠隔操作やロボット学習に非常に向いている
まともな制御アルゴリズムを使えば、低価格サーボベースのロボットアームをどこまで滑らかに動かせるのか気になる