東京工業大学 ロボット技術研究会

東京工業大学の公認サークル「ロボット技術研究会」のブログです。 当サークルの日々の活動の様子を皆さんにお伝えしていきます。たくさんの人に気軽に読んでもらえると嬉しいです。
新歓特設ページ        ロボット技術研究会 HP        ロボット技術研究会 twitter公式アカウント

アクア研

「ロボット技術研究会」通称「ロ技研」は、その名前の通りロボットの制作や研究はもとより、電子工作や機械工作、プログラミングなどの幅広い分野にわたるものつくり活動を行っています。

カテゴリ一覧: loading

入試お疲れ様でした!!

こんにちは。お久しぶりです。
アクア研の夕天(@vivid_force42)です。

今日で東工大入試も終わりですね。受験生のみなさんお疲れ様でした。
ロ技研への入部、お待ちしておりますよっ♪。

さてさて、現在のアクア研の進捗具合をご報告いたしましょう。
………といいつつも、完全に技術開発期間になってますね。
目に見える進捗はあまりないです…。
現在私は姿勢制御について勉強&実験中です。
加速度センサとか通信とかはじめてなことばかりなのであわあわしてますが、はやめに終わらせたいです。

で、ここで話すことがなくなってしまうのもなんなので、
姿勢制御に使われる手法について書こうと思います。

地上において、たとえば3点以上設置したオムニ車輪ロボットの姿勢制御をしようとすれば、x,y軸方向の並進移動とz軸まわりの回転を考えれば良いわけです。
一方水中では、x,y,z軸方向の並進移動とx,y,z軸まわりの回転の6軸を考えなくてはなりません。
この数の軸を考えなくてはいけないものと言えば人工衛星と同じです。
ですから、人工衛星の姿勢制御が参考になりそうです。

人工衛星の姿勢制御では
・スピン制御方式 (衛星本体を回転させることでジャイロ効果を生み出し、姿勢を安定させる方法)
・ゼロモーメンタム方式 (ロール、ピッチ、ヨーの軸にそれぞれ独立なリアクションホイールをつけ、外乱に対してホイールの角運動量を制御させることで姿勢を安定させる方法)
・バイアスモーメンタム方式 (衛星内部でホイールを常に回転させることによってホイールによるジャイロ効果から姿勢を安定させる方法)
・スラスタ方式 (スラスタの反作用により、回転運動を抑制し姿勢を安定させる方法)
・磁気トルカ方式 (地磁気を利用して、内部の磁石などを用いて姿勢を安定させる方法)
などが挙げられます。
水中では流体の抵抗が衛星に比べて大きいため、使える手法と使えない手法があります。
このほかにも水中では重心の位置を動かし、モーメントを制御することで姿勢角を変えることもできます。

上に挙げたようにさまざまな手法があるわけですが、現在はまだ検討中………。
おそらくモーメント制御による最後の手法になりそうです。 
まあいずれにしろちょっとやってみないとわからないですね。

今回は文章のみで失礼いたしました。
 とりあえず新歓展示に何か出せるようにしたいと思います。
では、また。 

 【追記】
この記事を投稿後、ロ技研のとある先輩から「姿勢制御」という単語は一般に位置を含まない語であるという指摘をいただきました。
ですから、「姿勢制御」というと軸まわりの回転のみを考えれば良いようです。
ご指摘ありがとうございます。言葉にも気をつけなければいけませんね。
 

PID制御で経路をトレースするようなシミュレータ作ってみた



アクア研として書くのは恐らく初めてですね。
アクア研所属14のみやびです。鉞が怖いとびくびくしながら更新しています。

さて、アクア研として初めに何をしようか迷ったのですが、
自分が興味のある部分から行こうということで、制御に関することをやってみました。
今回作ったのは、任意の経路をトレースする(しようとする)物体のシミュレータです。
youtubeにちょっとした動作テストの動画をあげましたので、興味がありましたら。
パラメータ調整している時間がなかったのでまだまだトレースとは言えません。


以下では、
①制御するためにどのように考えたのか
②今後どのように発展させるのか
この二つについて簡単にお話ししたいと思います。


①制御するためにどのように考えたのか
今回はPID制御を使おうと考えました。
PID制御とは、大雑把にいうと、制御したい対象の現在の値と目標値との差(偏差)に対して
P:そのもの
I:積分値
D:微分値
を算出して、それにいい感じの係数をかけて出力に回すという方法です。
時間による出力をu(t)、偏差をe(t)などとすると、

u(t)=Kp*e(t)+Ki*(∫(0→t)e(x)dx)+Kd*(de(t)/dt)

と書けます。
ところで、いい感じと表現したのは比喩ではなく、
トライアンドエラーで繰り返していけばいい雰囲気で制御できる係数を発見できてしまいます。
むしろ最適係数を一般に出す方法は存在しないように思えます(制御対象の特性で変わるので)

さて、今回はトレースしたいので位置が制御対象ですね。
目標値はどのように設定設定するかというと、
マーカーを任意の点におき、それらを繋いだ経路が目標値ということにします。
このマーカーをつないだ経路をトレースするように動いて欲しいです。
では、偏差はどのように設定すれば良いでしょうか。
もしマーカーとの距離だけを偏差として設定すると、確かに全てのマーカーを通るような挙動になりそうですが、
それは経路をトレースしているようには見えない可能性があります。(例えばぐるぐる渦巻き状に近づいても良くなる)
そこで、偏差を二つ出してそれぞれに対して制御したら良いのではと考えました。
つまり、経路とのズレと、マーカーとの距離二つを考えれば良いということです。
制御したい対象が二つになっても、出力を算出する量に二つ偏差に対する項を足し合わせれば良いはずです。
そんな感じで、偏差二つに対しての出力を考えています。
F(t)=u(t)として推進力を与え、質量1とした運動方程式に沿って速度と位置を計算して、位置を描画しています。

②今後どのように発展させるのか
・描画関係のプログラムの書き方を工夫する
マルチスレッドの方が描画がきれいになりそう。演算スレッドと描画スレッドを分けたい。
今後の勉強のためにもやってみたいです。
・外乱を考慮する
実は外乱によって受ける力の項も含めて計算してるのですが、調整が出来ていないので0のままになっています。
そこらへんの調整をします。
・出力の次元を考える
動きを見ていて、制御したい対象と出力の次元が異なると制御がすぐに効いてこないので良くないと思いました。
(位置を制御したいのに直接制御しているのは力(加速度))
制御に関しても勉強したいと思います。


そろそろ新歓展示も考えなければいけません。
ハードにソフト、理論と学びたいことは尽きません。
頑張ります。

アクア研 みやび。

新研究室"アクア研" できましたっ!

はじめまして
14の夕天(@vivid_force42)と申します。
このロ技研ではMaquinista機械班として活動したり、ちょこちょこ一人で何か作ってます。
先日…といってももう一月も前になりますが、工大祭にてLEDcubeの展示をさせていただいておりました。奥の部屋の入ってすぐのところで展示させていただいておりましたので、見てくださった方も多いと思います。
ありがとうございました。

さてさて、今回投稿させていただきましたのは新研究室"アクア研"を設立したためです。
アクア研は私、夕天ともう一人、みやびの二人からなる研究室で、水中ロボットの製作を目的としています。

水中ロボットといわれて、みなさんはどのようなものを思い浮かべますでしょうか?
一般的なROV(Remote Operation Vehicle)でよく用いられるものはみなさんご存知"スクリュー"です。ですがこのスクリューというものは水中で動かすにはいささか難点もあるのです。その代表例としてよく挙げられるのが付ける位置の問題です。スクリューは水中に露出せざるを得ません。そのため水中の藻などに絡まりやすくなります。
そこで、私たちはスクリューを用いず、ヒレ推進機構などを用いたロボットを作っていきたいと思います。

ロ技研合宿の帰りのバスの中でみやびと案を出し合っていたら、仕事の早いみやびはprocessingとOpenGLを用いて製作物のモデルらしきものを作ってきてくれました(笑)




原案はこんな感じ。クラゲみたいな感じですかね???
ほんとにまだ原案なので今後どう変わるかお楽しみに!
最終的には自動制御できたらいいなーなんて思ってます。
また機会と意欲があれば水中ロボットコンベンションなどに参加するかもって感じです。

完全に駆け出しの研究室ですが、これからよろしくお願いします。
ギャラリー
  • ABUロボコン結果報告
  • スマホから部屋の電気をつけてみた
  • MakerFaireTokyo2017に出展します
  • MakerFaireTokyo2017に出展します
  • MakerFaireTokyo2017に出展します
  • MakerFaireTokyo2017に出展します
  • MakerFaireTokyo2017に出展します
  • MakerFaireTokyo2017に出展します
  • たのしいロボット帝国 製作物紹介
記事検索
最新コメント