- ベストアンサー
ロボットってどうやってあんな動きが出来るの?
時々「ロボットコンテスト」などでロボットを動かしているのをよく見ます。あれってどのような仕組みで動いているのですか?またそれ以外にも電気を使ったルーレットとかの仕組みってどのようなものなんですか?
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
工場などで使われているのでない研究用やコンテスト用のロボットは、かなり複雑な動きをします。基本的に、動かしている動力は、電気です。 電気エネルギーを運動エネルギーに変えて、それで、足の下の車輪を回したり、腕を旋回させたり、また、もっと精巧になって来ると、人間の腕のような動きもできるようになります。 電気エネルギーを運動エネルギーに変える一番普通の方法は電気モーターです。直流あるいは交流の電気で、モーターが回転し、この回転を足の車輪に伝動すると、車輪が回り、前進します。左右の車輪や、第三第四の車輪を制御すると、斜めの前進や、後退や、回転など色々な運動が行えます。 腕を伸ばしたり、回したりするのもモーターで動かします。この場合、どれぐらいの回転エネルギーだと、腕がどのぐらい延びるかとか、どのぐらい回転するかとか、計算しておいて、それに合わせて必要な長さに延ばしたり、縮めたり、回したりします。 その他の可動部分は、腕と同じようにして制御します。手動制御の場合もありますが、複雑になって来ると、プログラム制御になり、手動では、プログラムを起動させるということになります。 非常に精巧な歩くロボットなどになって来ると、普通のモーター以外に、電磁石の原理の「電気筋肉」のようなものを使います。電磁石に電気を流すと磁石になりますが、あれと同じ原理です。 電磁石の円筒のようなもののなかに、バネで止められた鉄の棒を入れておき、電磁石に電気を流すと、鉄の棒を引っ張ります。モーターで制御していては、時間がかったり、あまりに細かい微妙な制御の場合、この電磁石を使うと、例えば、指の動きなどを作り出すことができます(これは、原理の説明です)。 電磁石で引っ張る「筋肉」のようなものです。人間の腕や指と同じように、電磁石の筋肉を配置して置くと、指の動きなどが、人間のそれとかなり似たものが造れます。 歩くロボットの場合、精密モーターと電磁石を併用するので、足を挙げても倒れないよう、小型コンピュータで、重心や、各部の重量を計算し、右足を挙げるとどう重心が変わるか、安定ある姿勢にするには、どういう姿勢が望ましいかを計算します。 こうして、大まかな部分はモーターで動かし、微妙な一時的に必要な調整は、電磁石筋肉などで調整します。足を挙げ動かしつつ、センサー出力も受けて、フィードバック計算をして行き、刻々と姿勢を調整します。 こうして、右足を降ろし、床に着くと、次は左足を挙げるため、重心が右足にかかるように、姿勢制御をします。そして左足を挙げ始め、挙げて、後は、右足の時と同じになります。 ものを手で掴むような場合は、対象であるものの位置を三次元的に把握するセンサーを使い、また、腕や指の位置などを検出するセンサーで、ものと腕や手のあいだの距離、角度関係を把握します。 それに基づいて、どのぐらい腕を伸ばすか、腕を曲げるか、手はどこで開くか、指はどう動かすかなど、精密な計算を行い、動かし、その過程で、センサーで、位置関係を把握し、うまく把握できるように微調整して行きます。 ロボットの微妙な動きや、姿勢の制御などは、電気の力を運動に変えることと、もう一つ、センサーで位置や姿勢を確認し、正しい動きになるよう、フィードバックさせつつ、制御するのです。当然、非常に高度なコンピュータが必要になりますし、電子筋肉もセンサーも、精密なものが必要になります。 -------------------------------- 電子ルーレットは、発光ランプを、一定時間間隔で、次々に発光させては消して行くプログラムを作り、このプログラムに従って、例えば、円形に並べられた、20個のランプが順番に、一個のランプが発光していて、それが、横のランプへと発光が移動して、ランプの光が回って行くような感じを与えます。 STOPのボタンを押すと、ランダム関数を発生させ、ランダムに出てきた、適当な数字を元に、後、何回、光が回った後で、光の回転を止め、止まった所の発光ランプは、もう消えないで、発光したままにするプログラムで、操作します。 ランダム関数を使わないと、STOPを押すと、その後15回目にランプが止まるとか予想できるので、ルーレットになりません。ランダムに数字を選ぶので、ルーレットになります。 また、回転の速度なども、ランダム変数で決めて、あるいはプログラムを選んだりして、色々とヴァリエーションが造れます。例えば、あるランプで止まりそうで、次に行こうとして行くとか、行かないとか、本当に玉を転がしているような感じを出すプログラムで制御します。
その他の回答 (3)
- republiky
- ベストアンサー率50% (7/14)
ロボットが動き回るのはモーター(DCモーター)で駆 動するからです。モーターは電圧をかける(つまり, 電池に繋げるだけ)で回ります。あとは,左右のモー ターにかかる電圧を変えてやれば,回転数も変わるの で進む方向が変わります。逆方向に電圧をかけるとバ ックします。 問題は,モータにかける電圧をどうやって変えるかで すが,可変抵抗器(ステレオのボリューム)をつけて やって,抵抗値を変えていけば電圧が変わっていきま す(オームの法則ですね)。うまく調整すれば,可変 抵抗を車のハンドルのようにできます。 PWM制御でモータの回転を制御する場合もあります (こちらの方が一般的)。興味があったら参考HPを参 照ください。 あれ?こんな回答でよかったかな?
お礼
ご回答有難うございます。HP行ってきます。
- Pesuko
- ベストアンサー率30% (2017/6702)
普通の人に短い文章でせつめい出来るかなぁ。 「ロボットコンテスト」自走式とリモコン式があるので、自走式と勝手に解釈。 まずプログラムがあります、ロボットには多種のセンサーを搭載します。 大まかにセンサーの信号から判断してプログラムを分岐実行します。 貴方が現在地からトイレに行く場合の擬似プログラム。 言語により記述が変わりますので悪しからず。 1)前に障害物はあるか? ある=回避 ない=前進 2)方向はあっているか? 正常=前進 間違っている=方向修正 3)トイレに到着したか? 到着=プログラム終了 まだ=1)へ戻る こんな感じです。(本当はもっと何百行になりますが) 電気ルーレット 円周に電灯(LED)を並べる たとえば10個LEDがあった場合、1番から10番まで順番に点灯させます。 たとえば a=0.1秒にする。 1番点灯 a秒保持 a秒立ったら消して 2番点灯 以降上記を順番に繰り返し。 そうすると0.1秒事に順送りして行きます。 STOPボタンが押されれば、X秒を変更していきます。 1番点灯 a=a×1.1 a秒点灯 消去 2番点灯 a=a×1.1 消去 以降繰り返し。 こうすると点灯時間が10%づつ増えていき、どこかで時間の限度を超えると停止するプログラムを書きます。 コントロールする機械により、もっと簡単に記述できるものもあります。 物の制御に興味があるのならラダーシーケンス(工場の簡易ロボット等の制御に使用)の動くPLC(プログラマブルコントローラ・シーケンサとも言います)を勉強すると割と簡単に制御できます。 安いシーケンサ 左フレームのFP0がIO8点で15000円くらいで入手可能。 入力ソフトは別途30000円くらいです。 http://ctlgserv.mew.co.jp/ctlg/acg/jpn/pcfa/pro_jpn/@ebt-link;td=2?target=ancestor(idmatch(ID,PRO_JPN_PRO));showtoc=yes
お礼
ご回答有難うございます。プログラムも勉強したいと思います。
- k-family
- ベストアンサー率34% (180/523)
今上の方でPICについて回答してきたところです(^_^;) この種の話に興味がおありのようですね。質問自体はちょっと漠然としているので、&簡単に説明できることではないので、直接の回答は避けますが、 ロボットコンテストについてはその名も「ロボコンマガジン」という雑誌があるので読んでみてください。 ロボット関係のパーツは秋葉原のツクモロボコンマガジン館でなんでもそろいます。 電子ルーレットなどは電子部品を置いてあるような電気屋さんとか、DIYショップなどにも良くおいてあります。 あなたがどの様な人かわからないので失礼になるかもしれませんが、とりあえず色々作ってみてはどうですか?2、3作っているうちに自然と情報が集まりますし、意味もわかってきます。 回答でなくてすみません。
お礼
ご回答有難うございます。本、読んでみようと思います。
お礼
ご回答有難うございます。よく分かりました。