ロボットに物を運ばせるときに必要になる仕組みの一つがアームになります。人の手のように動くアームを作るのはとても大変で、ロボットキットのみで作ろうと思うとキットが複数必要になります。このようないわゆる贅沢な使い方は、あまり現実的ではない上に、ロボット競技ではレギュレーション違反になることが多く、学習的にも微妙な方法になります。
元々の目的が「物を運ぶ」であれば。その「物」の形に合わせた運搬方法があるので、それに適したアーム作りもロボットプログラミングにおいては大切な要素になります。
その中でも歯車を応用することで、一つのモーターで「掴む」と「持ち上げる」の二つを実現できます。どちらの動作も一連の動作になることが多いので、これを一つのモーターで対応できると、他にできることを増やすことができます。
モーター1つで動かすメリット
ロボットにものを掴む動作をさせる場合、それだけでモーター(正式にはアクチュエータ)が一つ必要になります。掴む動作と持ち上げる動作は動きの方向が全く違うので、そのままではそれぞれにモーターが必要になります。
余ったポートを他のことに使える
LEGOのキットを始めとする多くの「ロボットキットは、単体では使用できるモーターの数が決まっています。EV3であれば、4個。spikeやinventorは最大6個です。EV3はセンサーは別ポートなのですが、spike系のハブはセンサーも共有して使うことになるので、モーターにポートを使うほど、センサーが使えなくなります。
センサーが使えなくなると、モノに対する距離を測れなくなったり、目標を見つけられなくなったりと、ロボットの移動を制御する方法が限られてきてしまいます。
EV3などとは違い一般的なマイコンボードを使う場合でも、拡張ボード次第ですが、使用可能な電圧やポートの数により制限があります。
限られた資源の中でより高性能なロボットに仕上げていくには、できる限り一つのポートでできることを多くしていくことも考えていくことになります。
資源の節約による工夫と試行錯誤
贅沢なパーツの使い方は、現実的なものづくりには向いていません。商品を作る場合も予算があり、それを度外視して作った商品は、たとえ性能が良くても利益が出ません。個人的に作る場合にも、費用を抑えることができれば、もっと別のことができるようになります。
課題を解決できないほど節約することは本末転倒になりますが、ある程度制限がある中で解決方法を探すことは、技術力を上げる良い題材になります。
シンプルなアームの例
掴む
挟むように動かすと、ものを捕まえることができます。同じ大きさの歯車を2枚つないで、その片側を回すと、隣の歯車は反対側に回転するので、その動作に合わせてアームのパーツを動かすと、挟むような動きが作れます。
持ち上げる(捕まえる)
ラックギアを使ってフォークリフトのようにアームを上下させたり、モーターや歯車の回転を縦方向に行うことで、掬い上げるように持ち上げることができます。
反対側に動かすことで、虫取り網のように上から捕まえて引っ張って物を運ぶこともできます。
簡単な仕組みで解決できることも多くあるので、まずはシンプルに解決できないかどうかを考えることも(非常に)大切です。
グリッパーアーム
ここでの定義
グリッパーアームの名前を素直に受け取るならば物を「掴む」アームであって、英語だとgrip and liftという表現のようです。それに合う日本語が無いと言う感じでしょうか?一応、グリッパーアームと検索すると、掴んで持ち上げるアームが色々と出てくるので、この名称で進めます。
グリッパーアームだから、一つのモーターで作らなければいけないということはありません。二つ以上のモーターを使うことで、より細かく制御できたり、より質のいいアームが作れたりします。ポートに余裕があるなら、それぞれ分担するように作るのも解決方法の一つになります。
ここでは、一つのモーターを使って掴みながら持ち上げるアームということで進めていきます。
実際の作り方の例
捕まえる部分
基本は、二つの歯車を使って、それぞれが反対に動くようにすると、掴む動作が作れます。
べべルギアを使った例です。小さいギアで大きなギアを回すと力が強くなるので、掴む動作が安定します。今回の形では、灰色の大きな平歯車を回しています。実際にアームを動かす場合は、ここにモーターの回転が伝わるようにします。
持ち上げる部分
アームが閉じたあとに平歯車を回そうとしても、アーム自体は動きません。代わりにその回転の力は黄土色のべべルギアが黒色のべべルギアを持ち上げる力になります。この回転を活かして持ち上げる方向に切り替えることがグリッパーアームを作るコツです。
べべルギアの組み合わせる位置が逆の場合は、持ち上げる動作が逆に回転して下げる動作になることもあります。
動く部分の位置を調整する
グリッパーアームは動かす必要があるため、がっちり固定することはできません。そのため、必要以上に上下に動くことで扱いが難しくなることがあります。
そこで、アームが一番下がる場所と上がるときに、他のパーツにぶつかってそれ以上動かないようにすることで、もっと便利に使えるようになります。
何もないとアームはかなり下まで下がってしまいます。
見にくいかもしれませんが、黒いピン一つでアームが後ろに下がらないようにしています。
もっと強度が必要になるかもしれませんが、どこかにぶつければ良いだけですので、簡単に作れます。
グリッパーアームの欠点
強度
グリッパーアームは可動部分を作るために、接続が弱くなります。アームに無理な力がかかることで、ピンが外れたりして歯車に隙間ができて空回りしてしまうことがあります。劣化したパーツを使うことですぐに外れることもあるので、別のパーツに切り替えるだけで安定することもあれば、大きく形を変えてしまった方がいい場合もあります。
また、プログラムも工夫しておかないと、力が入りすぎてパーツが外れる原因になります。
EV3では未調整のモーターにして無理な力が入らないように、spikeやinventorでは壊れない程度のパワーで回したり(弱すぎると動かないor持ち上げられない)、スピードが落ちる瞬間(持ち上げ切った瞬間)を条件にモーターの回転を止めたりなどの対応が必要です。
重さ
シンプルなアームに比べ、パーツの量が倍以上になっていることで重さが全く異なります。また、重たいものを持ち上げることで全体のバランスが変わってしまうこともあるので、移動時(特に旋回や止まる時)の挙動が変わってしまうこともあります。
まとめ
今回はロボットで物を運ぶときに使えるグリッパーアームの作り方のコツを紹介しました。
具体的な作り方は省略していますが、動く部分と固定する部分をしっかりと区別できれば色々なタイプのグリッパーアームを作ることもできると思います。
ライントレースによる制御とグリッパーアームくらいのアームが作れるようになれば、ロボット競技に出るための基礎的な技術力はクリアできていると思います。とは言っても、それはスタートでしかなく、これだけでは全然足りないのがロボット競技の面白さだと思います。そして、タイム勝負にまで辿り着ければ、グリッパーアームではない方アームを開発したり、黒い線を使わない走行が重要になってきます。だからと言って、これらの技術が無駄になるわけではなく、原理や考え方、使い方を通して、必要かどうかを考える力をつけておくことが、応用力を鍛える基礎になります。
枚方ロボットプログラミング学習塾では、ただ単にプログラムを学ぶだけではなく、どういう場面でどういうふうに使っていくかを考える授業もたくさんあります。
体験授業を実施中です
枚方ロボットプログラミング学習塾では無料で体験授業を実施しております。
興味を持たれた方はお気軽にお申し込みください。事前の問い合わせも可能です。
メール(info@hrktrpg.com)への問合せもお待ちしております。