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

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

id研

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

カテゴリ一覧: loading

新 玉乗りロボット

井土です。

去年あたりからちょくちょく玉乗りロボットを製作していました。
↓こんなのです。
tamanori_robot_overview

以前も玉乗りロボットを製作していたのですが、今作っているのはその改良版です。
ちなみに以前の玉乗りロボットに関する記事はこちらをご覧ください。
新しい玉乗りロボットはまだまだ制御関連で詰められていないところがたくさんありますが、最近とりあえず玉乗りができるようになりました。
実際に動いている動画はこちらになります。



最大の改良点はタイヤです。
以前はKORNYLAKのオムニホイールを使っていましたが、
今回はvstoneのなめらかオムニホイールを使っています。
この2つの大きな違いはオムニホイールの周囲の樽が1重であるか2重であるかの違いです。
1重のオムニホイールだと常にタイヤの接点と回転中心が同じ距離になるので、
タイヤが回転してもガタガタしません。

この画像を見ると違いがよくわかると思います。
omni
※画像はvstonさんから引用させていただきました
http://www.vstone.co.jp/robotshop/images/4571398310089_2.jpg

また以前はバスケットボールの上で動かしていたのですが、
今回は東急ハンズに売っていたプラスチック球ラバースプレー を塗って使っています。
なめらかオムニホイールは直径55mmなのでバスケットボールは大きすぎる気がし、
ちょうどいい大きさで安い玉を探していると東急ハンズにありました。
しかし、この玉もなめらかオムニホイールの樽も表面がつるつるなので全くグリップしません。
そこでラバースプレーを玉の表面に塗ることで解決しました。
玉の表面にラバースプレーを塗ってグリップを増す方法は熊谷先生も使っていた方法です。 

==========================================
まだ応募段階ですが、今年の8月に行われるMakerFaireTokyo2016にて
この玉乗りロボットを展示できたらと思っています。
もっと制御面を詰めていき、硬い机の上でも安定して玉乗りができるところを目指していきます。
また、外装をつけるなどして見た目も完成度を上げていけたらと思います。 

メダカの照明 Ver.2

こんにちは、14のけりです。
今回は最近作った電子工作の紹介をします。

概要

メダカの水槽の照明

以前、PICで作ったメダカの水槽の照明(←リンク)を紹介しましたが、今回はこれをバージョンアップしました。めだかの照明がどのようなものかは以前の記事を参考にしてください。

fish

格安WiFiモジュール

今注目のWiFiモジュールであるESP-WROOM-02を使ってWiFiに対応しました。これにより、スマートフォンなどからブラウザ経由で操作できます。

このWiFiモジュールを使った赤外線学習リモコンの記事も書きましたので合わせてご覧ください。

ESP-WROOM-02 WiFiモジュール 秋月電子にて550円(2016/3/14現在)
esp-wroom-02

ギャラリー

全体

LEDはなんと、

  • 白色LED12個
  • 赤色LED6個
  • 緑色LED6個
  • 青色LED6個

の計30個の1WパワーLEDを備えています。

all

基板

Dサイズのユニバーサル基板に実装しました。回路はとても簡単です。

board2
board1

LED

light

回路図

sketch

スマホからの操作画面

ボタンを押すことでLEDの明るさを11段階で変えることができます。

page

時間同期モード

「Set Time Sync」から時間同期モードに設定すると、朝6時から徐々に明るくなり正午にMAXになり、午後6時までに消灯するようになっています。これでめだかは時間感覚が狂わず、健康に生きることができます!!

時刻はNTPサーバーから取得しているので時計合わせも不要で正確です。

ソースファイル

ソースファイルはGithubに公開していますので興味がある方はご覧ください。→リンク

ただし、他人に見せるつもりで書いたソースではないので説明は皆無です。

まとめ

シリアルによるコントロールだった前のバージョンに比べてかなり進化しました!今後はJavaScriptなどを使ってさらに進化させていきたいですね!

fish_up

自作GPUのハナシ

これはrogy Advent Calendar 2015の18日目の記事
「狭義Lチカか広義Lチカか自作CPUのハナシ」です。

13の有塩(@salt_free_free)です.
2015-12-14-190453_107x85_scrotOpera

低レイヤは好きですか
低レイヤを知ろう
低レイヤは楽しい

FPGA上に載せるGPUもどきをつくるハナシをします.
ただし現在設計中なのでほとんど調べたことの垂れ流しです.
やでもアウトプットは大事だってサークルナカマも言ってたぞ

GPUとは
GPU-Wikipedia
画像処理をする計算装置です.
お手元のパソコンやスメイトホンの画面は実はこれかこれに相当するものに繋がってます.
3Dモデル描画を例に簡単に言うと,
CPUから「ココにこんな三角形書いて」と命令が飛んでくるのでひたすら描画をこなします.

もちろんそういう処理までCPUがやっても良いんですが,決まった処理の繰り返しが多いので
専用のハードウェアをつけてやってそこで処理を行うことで高速化・高性能化します.
それがGPUです.
アレ
なんでGPUもどきをつくるの
弊大学では6学期の実験で,半期で一人でFPGAでなにか作って発表する枠があります.
作品完成度が高いとか投票で1位になるとお点数がgetできるのでこれは頑張るしかないというワケ.
もともと低レイヤが好きで,CPUやGPUの勉強・設計をしてみたかったのでいいチャンスと思い,
CPUは5学期にアレしたのとそもそも実装済みのCPUが用意されているので今度はGPUにしました.
続きを読む

KiCadのPython scripting機能を使ってみる

井土です。

KiCad Advent Calendar 2015
 14日目の記事です。
13日目はtd2skさんのWindows で KiCad をビルドする でした。

今回はKiCadのPythonでscriptを書いてみたというお話です。私自身も今回初めていじってみた機能なので特に詳しいわけではないのですが、script機能を使うきっかけになってもらえたらと思います。


1.KiCadのPython scripting機能とは
一言で言うと

KiCadの操作をマウスでポチポチやるのではなく、
プログラムを書くことで作業を自動化できる機能


のことです。(eagleにおけるulp)

しかもそのプログラムはただのpythonなので馴染みがある人が多かったり、
いろんな便利ライブラリを活用することもできそうです。

例として、先日miettalさんが
スイッチサイエンスPCBへの発注を手助けするscript
を作られていました。
こんな感じである意味KiCadに機能を付け足すということができます。

現在はpcbnew上でしか使うことができませんが、
いつかEeschemaもサポートされるらしいです。
pcbnew上でできることなのですが、私が把握してる範囲ではこんな感じです。
  • 基板上の物(部品,テキスト,線)のプロパティを取得・変更する
  • フットプリントの作成を支援する
  • KiCadの機能を呼び出す(ガーバー出力とか)

今回は基本となりそうな
・部品にアクセスする
・部品を移動する
あたりの機能を紹介していきたいと思います。

2.とりあえず使ってみる

まず、この記事の内容をつくるにあたって参考にしたところを載せておきます。
KiCad pcbnewの日本語公式ドキュメント
python scripttingのリファレンス
hanyaさんのブログ

今回は次のような回路を対象に話をします。抵抗とLEDが12個あります。
2015-12-14-171327_514x217_scrot

まずはこのボタンを押してpythonのconsoleを起動しましょう。
console

次のように打ちこんでみてください。

ここまで打つと「u'R1'」と表示されると思います。
このようにまずはBOARDを取得して、BOARDから弄りたいものを取得していじるのが基本的な流れになります。ここではboard.FindModuleByReference("R1")として部品のオブジェクトを取得しましたが、board.GetModules()を実行するとboardの持っている部品全てが出てきます。

部品はMODULEのオブジェクトとして管理されているので、
ここではr1というオブジェクトを通してR1の位置などを変更することもできます。
続けて次のものを実行してみてください。

こんな感じでR1が回転して移動すると思います。
2015-12-14-175414_352x153_scrot

角度はMODULEのSetOrientationから指定したい角度の10倍を渡すことで指定できます。
位置移動は直接(x,y)と渡すのではなく、pcbnew.wxPointMM(x,y)という形に変換してから渡します。wxPointMMは引数をmmとして解釈しますが、wxPointMilsをつかうとinchで渡せます。

MODULEは他にも色々なattributeを持っているので、リファレンスを見ながら色々試してみてください。


3.なにかを作ってみた
部品の移動や取得に関して、便利そうな機能をいくつか関数にまとめてみました。
https://gist.github.com/idt12312/a20f17893c3a1936b036

こんなことができます。
  • まとめて部品のリファレンスのシルクのサイズと太さを変更
  • 複数の部品それぞれを回転
  • 部品を直線上に並べる
  • 部品を格子上に並べる
  • 部品を円上に並べる
  • 正規表現で部品を検索
正規表現で部品を検索する部分についてはhanyaさんのブログを参考にしています。とても便利です。

先ほどのkicad_tools.pyを*.kicad_pcbと同じディレクトリにいれて、
pcbnewのコンソールからimport kicad_pcbと打つと使えます。

サンプルコードのようなものです。

最後の円形に並べるものを実行するとこんな感じになります。
確かに円形に並んで抵抗のリファレンスも大きくなっています。
手作業でちまちまやらなくていいので便利です。
2015-12-14-194249_949x929_scrot


4.最後に
実はKiCadには部品を円形や格子状に整列する機能が標準であります。pcbnewの配列ツールというものです。しかし今基板上あるものを整列する機能ではなく、格子上や円形に部品を新たに整列して配置する機能といった感じです。基板上にあるネットリストから読み込んだ部品を並べたい時もあるだろうと思い、今回のscriptをつくりました。エラー処理などをしていないので実用できるかと言われると微妙ですが、今のKiCadにはない機能を追加したことになるのかもしれないです。

足りないと思った機能をどんどんscriptというかたちで付け足して行けるのはとても楽しいです。こんな便利な機能が合ったらなぁと思った際にはKiCadのcommitterになって機能を追加するよりも、ちょろっとscriptを書いてみるほうが簡単です。
 

以上 KiCad Advent Calendar 2015 14日目の記事でした。
明日は masahirosuzukaさんです。

シンガポールでロボコンしてきました。

みなさんこんにちは
椋けり(@Ryokeri14)です。
夏休みになりました。ロ技研のみなさんは進捗めまぐるしいことでしょう。 

今回の話題は僕が参加してきたIDCロボコンについてです。

東工大の制御システム工学科2年には「創造設計第一」という授業があり、授業の中で個人戦のロボコンをします。
IMG_0640

そこで優秀な成績を収めると、世界大会のIDCロボコンに参加することができます。
1年生のみなさん、4類からも5類からも制御システム工学科に来ることができます。是非来てね!

ほぼ毎年、ロボット技術研究会の中にIDCロボコン参加者が出ます。今年は僕が行って参りました!

今年のIDCロボコンはシンガポールで行われました。ちなみに去年はモロッコ、一昨年はブラジルでした。来年はタイで行われます。

日本からは東工大4名、東京電機大学6名の計10名が参加しました。 東京電機大学の選考方式は、東工大とは違い、英語のプレゼンなどが含まれているそうです。(もし僕が電機大生だったら参加できなかっただろう...)

参加国は、アメリカ、モロッコ、日本、中国、シンガポール、エジプト、タイ、韓国です。
人数は合計54人で、10チームに分かれて、ロボットを作り、ロボコンをします。
一つのチームには、基本的に同じ国の人はいないので、コミュニケーションをとるのがとても大変です。 

大会の開催期間は12日間です。最終日にロボコンがあります。


〈ルールについて〉(東京電機大学のHPより引用)
theme

field

今年のテーマは「Space Cleaner」です。デブリに見立てたオブジェクトを回収して、運搬するゲームです。
ゲームフィールドは、軌道ゾーン、スペースゾーン、地球ゾーンの3つからなります。外側の軌道ゾーンにあるオブジェクトを集め、地球ゾーンに運ぶことで得点できるルールです。軌道ゾーンでオブジェクトを回収するオービットロボットとスペースゾーンから地球ゾーンに運搬するスペースロボットの2台を製作していきます。

軌道ゾーンには回収の難易度に応じて得点が異なる2種類のオブジェクト(白球と黄色球)があり、それ以外に総得点が2倍になるボーナスオブジェクト(オレンジ球)があります。

フィールド上の青いゾーンにロボットが触れてしまうと、かなり大きな減点ペナルティがあります。

競技時間は予選ラウンドが150秒、決勝トーナメントが180秒です。
 IMG_1489

東京電機大学のホームページに特設ページがあり、デイリーレポートがあるのでこれを見るとわかりやすいです。
URL : http://www.fr.dendai.ac.jp/education/idc2015/idc2015dailyreport.html 


僕のチームは以下の通りです。
20150807_123727000_iOS
左から
機械担当、スペースロボット操縦のタイ人
機械担当の中国人
制御担当、チームリーダーのモロッコ人
機械担当のエジプト人
制御担当、オービットロボット操縦の僕、日本人
です。
 
各チームには、2種類のArduino、サーボモーター、DCモーター、アクリル板、アルミ板などロボットを作るには十分な材料が与えられます。しかも、各チームに1台ずつ3Dプリンタも与えられました。 
初日には、Arduino講習会や、3DCAD講習会もあり、環境は十分といえます。
ただし、言語はすべて英語です。英語です!! 
 20150721_035035005_iOS

僕はロボット作りは好きです。
しかし、英語は全然できません。
チームメイトはみんな英語が話せたので、
僕だけ話せない状況でした。
僕は絵を描いたり、辞書を駆使したりして必死にコミュニケーションを試みました。
IMG_0823
20150721_151456004_iOS
↑こんな感じです。

午前9時から午後6時までワークショップで、そのあとはたまにチームミーティングがあったりしたので、かなり忙しい毎日でした。しかも最後2日は、午後6時までだったのが午後9時30分までに延長され、ずっと作業をしていました。まぁ、ロボコン直前はどこもこんな感じでしょうか。



6日目の土曜日の午後と、7日目の日曜日はお休みでした。
そこで観光を楽しみます。シンガポールの参加者が僕たちを案内してくれました。
世界3大がっかり観光名所、マーライオン!
IMG_1181

みなさん、知ってますか?
シンガポールにはマーライオンが5つあります!!←ここ、がっかりポイント☆

そのうち、2つを見てきました。
IMG_1313

それなりに楽しめました。

Day offが終わると、ロボコンへラストスパートです。
僕のチームは下の写真のようなロボットを作りました。
IMG_1459
IMG_1567


戦略は単純で、スペースデブリであるボールをオービットロボットがアームで一つずつ拾い、それをスペースロボットが受け取って、地球に入れるだけです。10チームの中で僕のチームが一番シンプルだったと思います。

本戦の前にはシーディングコンテストという予選リーグがありました。5チームずつ2つのリーグに分かれてリーグ戦をします。各リーグの最下位、つまり10チームのうち2チームはこの時点で落ちてしまいます。(けっこう厳しい)

シーディングコンテストの段階では、多くのチームが安定性を欠いていて、僕らのシンプルな構造のロボットは全勝で単独首位に立つことができました!!
IMG_1498
僕のチーム名は「MEC-JT」です。Morocco Egypt China Japan Thailandの頭文字をとっています。(ハイフンはなんとなくらしい。僕がいない間にいつのまにかチーム名が決まっていた。)

本戦は、8チームのトーナメントです。さすがに本戦ではどのチームも安定性が向上しており、簡単には勝てませんでしたが、なんとか決勝まで勝ち残りました!
創造設計第一は50人のトーナメントだったのでそれに比べればかなり短いトーナメントでした。

決勝では、相手の大量得点に敵わず、負けてしまいました。残念です。
ということで、準優勝に終わりました。
IMG_1652

IMG_1654
 

まとめ

このロボコンで感じたことは、英語力のなさです。
コミュニケーションは、まぁ何とかなります。相手が聞こうとしてくれていれば伝わります。しかし、コミュニケーション以外にも英語はあります。ルール説明や工作機械の説明など、 理解しなければならないこと、理解していて当然のことも、英語がわからないせいで全く理解できませんでした。それにより有意義な活動ができないのはもったいない!ということで、英語を勉強しましょう... 

留学でも旅行でもなく、ロボコンをしにシンガポールに行ってきました。異国混成チームでロボットを作る。このような機会はほとんどないと思います。作業を進めるのはそう簡単ではありませんでしたが、チームメイトみんなで話し合い、協力して、苦労して、ロボットを作ることができました。ロボコン本番で点を獲得したときの感動は今でも忘れられません。すばらしいイベントに参加できて、感謝の気持ちでいっぱいです。
ギャラリー
  • ABUロボコン結果報告
  • スマホから部屋の電気をつけてみた
  • MakerFaireTokyo2017に出展します
  • MakerFaireTokyo2017に出展します
  • MakerFaireTokyo2017に出展します
  • MakerFaireTokyo2017に出展します
  • MakerFaireTokyo2017に出展します
  • MakerFaireTokyo2017に出展します
  • たのしいロボット帝国 製作物紹介
記事検索
最新コメント