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

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

2015年02月

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

カテゴリ一覧: loading

いい感じのスケールのMAP

 おはようございますまたはこんにちはまたはこんばんは。RPG王国のカイヤンです。

 試験などいろいろなものが積んで更新が大変遅れてしまいました。王国の久々の更新です。

 今回は歩行グラフィックの等身について、最近RPGツクール2003製フリーゲーム「ゆめにっき」で遊んでいて得た知見について述べようと思います。え? GAME3前にゲームする余裕があるんだなって? 休憩って大事だと思うよ!(まじめに言うと、マップを作るにあたって構図を参考にしたくていくつかのフリーゲームのプレイ動画を見たり、自分で過去にDLしてあった「ゆめにっき」をプレイしたというわけです。休憩意図もありましたが)

 320×240の、1マス16ピクセル四方のマスで作られた2Dゲーム画面で考えていきます。結局マスの形状と数にしか依存しないので多分マスのサイズ(常識的な有限確定)については普遍性があると思います[要出典]。あるといいなあ! 多分マスの一辺の長さaとしたらa/16倍すればいい感じの数値になるんじゃないかな!!
 自作のマップエディタを使うにしろRPGツクールやウディターなどを用いるにしろ、まずはマップチップセットを描いてからそれをマップエディタでプロットしてマップを描いていくのが自然でしょうし、この方法でマップを描くということも仮定します。すくなくとも、RPGツクールやウディターで通用する議論にはなると考えられます(筆者はウディターでゲーム制作をしている)。
 以下に筆者が用いているマップチップセットの一部分を示します。
マップチップ図
 Figure1 
 ご覧のように、ドアのマップチップは1マス×2マスのサイズです。ここでは16×32です。余程背が高くない限りたいていドアより人の身長はやや低いのでちょうど12.5%縮めた14×28くらい(キャラの身長によって28よりも適度に小さくする)が妥当なサイズでしょう。そして実際手元のゆめにっきラバーストラップからもそれくらいの数字が見て取れますし、ほかの多くのゲームでもキャラの歩行グラフィックの大きさはドアに対してそれくらいであるように思えます。SD化されデフォルメされた歩行グラフィックでも、身長とドアの大きさの比はだいたい現実に即していると考えられます。
 ……当たり前と言えば当たり前ですね。ですがこの事実は、現実にある建物をモデルにマップを作る際に、スケールを計算するのにドアの大きさを標準に使えるということです。特撮監督の巨匠の中の巨匠、円谷英二氏も、戦時中に軍の依頼で真珠湾攻撃などを題材に宣伝映画を作る際に、戦艦の大きさを甲板にいた水兵の身長から割り出したと伝えられています。戦艦など軍艦・駆逐艦の大きさは軍事機密ですから正確な数値は特撮監督にはわかりません。しっかり調べるなり測量するなりすれば現実にある建物(東工大の本館など)も正確な大きさは計算できるかもしれませんが、メートル法ではなくピクセル単位の世界に落とし込むのにあたって、特にフリー素材を利用する人にとっては与えられたドアの大きさを元に描けるのは大きいと思います。
 ここまでのまとめ:ドアを基準にしてマップを作ると高さのスケールがいい感じになる。
 
 さて、ここから先はウディターの「RTP」素材の話となります。「」の理由は、実際にはサンプルゲームに同梱された素材なのですが、立ち位置がRPGツクールのRTP素材に近いためです(尤も、後述するようにツクールのRTPに比べ規制がゆるふわな大変うれしい素材なのですが)。先のFigure1はウディタの「RTP」素材です。ドアのサイズは上述通りです。一方、歩行グラフィックのRTP素材はというと、身長17~19ピクセルです。その結果、以下に示すような絵柄になってしまいます。
異常な身長
Figure2
 これではドアが大きすぎるというか、建物が高さ方向におよそ2倍弱も大きく見えてしまいます。東工大関係者なら、この身長に対して本館の入口部分が高すぎるように見えるでしょう。
 しかし大変うれしいことに、これらのウディタRTP素材はなんと、”ファイルに修正を加えて自分のゲームに使うこと”が認められています。なのでEGDEなどのドット絵描画ツールを用いて縦方向に引き延ばせば解決します。一般にドット絵の拡大縮小は作画崩壊を招きがちですが、拡大対象を囲む最小の正方形領域ごと拡大することでかなり被害を抑えられます。被害が少ないということはマレに生じる崩壊箇所をたやすく治せるということです。拡大した結果は次のようになります。
正常な身長
Figure3
 この通り、単純な拡大だけでもほとんど違和感はなく、またFigure2に比べて身長のスケールがいい感じになりました。

 まとめ
①高さのスケールの違和感を消すならドアを基準に。
②ウディタの「RTP」素材は改変可能。拡大縮小していい感じのスケールを実現。

 以上です。ここまで読んでくださってありがとうございました。

 なお、ここまで書いて実際に歩行グラフィックも修正してから、ドアを修正した方が早かったかもしれないという風に思いました。せ、正方形のドアってすごく違和感感じるし……。

icj審査通過!

おひさしぶりです。
Maquinista機械班のおにぎりです vv
今年度、副部長を務めることになったので、そちらの方としてもよろしくっす。

まず報告遅れましたが、NHK大学ロボコンの審査の結果ですが、

一次ビデオ審査を無事通過しましたっ!!!! 
      \いえ~い/       \やったー/      \よっしゃ~/
 
てなわけで 、次は4月1日までに提出の2次ビデオ審査に向けて日々進捗をして参るぞい。
春休みブーストをかけていけ!!!





……えーと、もう1ついいですか?
みなさん、Maquinista通信というブログはご存知ですか?
「一体なんだそれはー」って人はまさかいないと思いますが、紹介しておきますね。


我らチームMaquinistaは、このロ技研のブログ以外にも実はブログを開いています。
日々の進捗…は残念ながらうpしてないですけど、審査結果や、チームの雰囲気はなんとなく伝わるかなぁって感じで更新しています。

ブログ2
 ↑ある日のMaquinista通信

え、「初めて見た」ですって…?

実はこのブログ、結構知名度がないらしいんですよね…。
なんと、チームの1年生でも知らない人がちらほらといるレベルで…。

いつもロ技研ブログの最後にも書いているというのに…

ブログ1
 ↑ココ

う~ん…文字が小さすぎたのかなぁ…。
強調させていない僕らのミスですね、これは。
反省(ノд・。) 



ではでは、今後とも応援、よろしくお願いします~~



↓こっちもよろしく✌('ω')✌

 Maquinista


 
Twitter


大道芸ロボットコンテスト~鉄棒競技ロボット~

どうも,お久しぶりです.もりゅー(@Moryu_io)です.

長い間,更新をサボっていましたが,今日は講義「機械創造」内の,”大道芸ロボットコンテスト”製作物について紹介したいと思います.


続きを読む

イオントラップ進捗状況①

こんにちは。幸福の物理の13わつかです。
現在したろうさんと一緒に作成中の「イオントラップ」の進捗状況を報告します。

まずイオントラップとはなんぞや?
イオントラップとは、イオン(電荷を帯びた微粒子) を空気中のある一点に固定させる装置です。つまり物質を宙に浮かすことができる摩訶不思議な装置なのでございます。
原理は簡単で、上下左右に置かれている4つの電極間に交流を流し、電極間に発生する交流電場によって常にイオンの進行方向を変えてやります。するとイオンは運動方向を常に変えながらも、4つの電極のどれにもたどり着かない状況、つまりイオンが空気中で右往左往する状況が完成します。これがイオントラップのおおまかな原理です。
例として物を空中で離すと下に落ちていきますよね。でもその後重力を反転させて反転させて…を繰り返せば結果的に物は空中にとどまるということができます。もちろん、地球の重力を反転させることは無理なので代わりに電場を使ってやろうというわけです。面白いですね。
実際にはイオンに下方向に重力がかかっているので、横方向だけでなく上下方向にも電位差が生じるように電極の形をいろいろ考えてやらないといけないのです。そこで電極の形を決定するために電位のシミュレーションが必要なのですが、シミュレーションにおいて進捗があったので報告します。Mathematicaでの結果が以下の通りです。
 DENNI
画像の上の結果で、左右の高くなってるのが電位1vの電極部分、上下の低くなってるのが 接地された電極部分です。正電荷を帯びたイオンはこの鞍型の電位上で、高いところから低いところに向かって移動します。そして高周波でこの鞍の高低が逆転していると思ってください。イオンが中心部分にとどまり続ける理由がわかると思います。
今回の結果は参考にしている論文中の電極形状(双曲線)を再現したまでですが、矩形や円形電極などを一通りシミュレーションしてみて、一番トラップに適すると思われる形状を用いてイオントラップ制作を進めていきます。 

以上13わつかでしたー! 

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のままになっています。
そこらへんの調整をします。
・出力の次元を考える
動きを見ていて、制御したい対象と出力の次元が異なると制御がすぐに効いてこないので良くないと思いました。
(位置を制御したいのに直接制御しているのは力(加速度))
制御に関しても勉強したいと思います。


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

アクア研 みやび。
ギャラリー
  • ABUロボコン結果報告
  • スマホから部屋の電気をつけてみた
  • MakerFaireTokyo2017に出展します
  • MakerFaireTokyo2017に出展します
  • MakerFaireTokyo2017に出展します
  • MakerFaireTokyo2017に出展します
  • MakerFaireTokyo2017に出展します
  • MakerFaireTokyo2017に出展します
  • たのしいロボット帝国 製作物紹介
記事検索
最新コメント