ロボットハンドをつくってみた
たまに面白い製品がないかとAliExpressサーフィンをするのですが
非常に興味深いモノを見つけました。
サーボモータで駆動する小型のロボットハンドです。
機構自体は珍しくないと思うのですが筋に結束バンドを使っている点に
非常に感心いたしました。
結束バンドを使用したロボットアームを自分でも試してみたので報告いたします。
目次
結束バンドで実験
手元にあった結束バンドで指が作れるのか試してみました。
ストロー
ストローに数か所切り込みを入れて、結束バンドをまつり縫いのように通して引っ張ってみました。
ストロー pic.twitter.com/bmHl2fxURG
— HomeMadeGarbage (@H0meMadeGarbage) February 9, 2022
結構使えそうだな。
TPUフィラメント
柔らかい素材のTPUフィラメントで指を3Dプリントし、同様に結束バンドを通して引っ張ってみました。
TPUフィラメント pic.twitter.com/zBKCFakwOx
— HomeMadeGarbage (@H0meMadeGarbage) February 9, 2022
なかなかいい動きなので指を増やしてみました。
手のひらはPLAフィラメントで出力し、指を差し込んでいます。
— HomeMadeGarbage (@H0meMadeGarbage) February 9, 2022
めちゃくちゃいい!まさに手だ!!
結束バンドで手軽に作れちゃいました。
ロボットハンド製作
いい感じに指ができたのでAliExpressの製品のように電動にしたくなっちゃいました。
同様に高トルクサーボで駆動では芸がないのでマイクロサーボ2個で若干自由度の高い指の動きを目指してみました。
構成
Arduino UNOを用いて可変抵抗で2つのサーボを制御して指を動かします。
部品
- Arduino UNO
- マイクロサーボモータ 2個
- 可変抵抗
“頻繁につまみを回すような用途には使用しないでください”と注意書きがあるが小さくてブレッドボードに最適なので使用しちゃった
- 結束バンド
ダイソーの10cmバンド
ロボットハンド
指はTPUフィラメントでフシのある筒状に3Dプリントし結束バンドを通した。
手のひらとサーボのアームと結束バンド固定具はPLAフィラメントで出力。
指に通した結束バンドの端を固定治具に通してもう一つの結束バンドの固定部にはめて止めました。
3Dモデル
3Dプリント用モデルを以下でDLできるようにいたしました。
指(finger01.stl)はTPUなどの柔らかい素材でその他は固い素材(PLAなど)での出力を推奨します。
サーボアームはM2×6mmネジで固定しました。
Zipファイルがダウンロードされます。
Arduinoコード
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
#include <Servo.h> Servo myservo1, myservo2; int val1, val2; int servoVal1, servoVal2; void setup() { Serial.begin(115200); myservo1.attach(10); myservo2.attach(9); } void loop() { val1 = analogRead(A0); val2 = analogRead(A1); servoVal1 = map(val1, 1023, 0, 0, 180); if(servoVal1 > 90) servoVal1 = 90; servoVal2 = map(val2, 1023, 0, 0, 180); if(servoVal2 < 90) servoVal2 = 90; myservo1.write(servoVal1); myservo2.write(servoVal2); Serial.print(servoVal1); Serial.print(", "); Serial.println(servoVal2); delay(50); } |
動作
2つのサーボモータを使用することによって、一律で引っ張る機構よりも
複雑で生物的な動きが実現できました。
おわりに
ここでは結束バンドを用いたロボットハンドを作ってみました。
結束バンドは柔軟で丈夫で固定も容易なので非常に簡単にロボットハンドを作ることができました。
今回はお試しで作りましたが いつかヒューマノイドを製作する際には、手をこの機構を応用したいと思います。