HOME

Step-QIスクール
東北大学 工学部 電気情報物理工学科

ステップQIスクール

Student Blog

「2013年1月」の一覧です。

2013年1月31日 13:35

SML#による最先端プログラミング言語コンパイラ開発研修

どうも今晩は。コンピュータサイエンスコース3年生のStep-QIスクール受講生です。
僕はアドバンスド創造工学研修で大堀研にお邪魔し、smlsharpという言語の補助ツールの開発をしています。

smlsharpはStandard MLという古くから存在している言語を実用上重要な機能を拡張した次世代の関数型言語です。
特に重要な機能としてC言語とのシームレスな連携、というものがあります。
現在smlsharpは言語の機能として、C言語で書かれたライブラリから関数をインポートできます。
これは強力な機能でなにせC言語は歴史のある言語です。有用なライブラリが多数利用できます。

ですが、今のところこれらを利用するためにインポートの宣言を手打ちする必要があります。それをC言語のヘッダーファイルから自動生成しよう、という試みです。

自動生成すると、色々と良いことがあります。
まず人間の作業の手間を減らす、ということが当たり前にあるのですが自動生成によって信頼性を向上させる、というのも重要な側面です。
人間の手で書いたプログラムなんてどこに打ち間違えやら勘違いがあるかわかったものではありません。
ハンドメイドのものを喜ぶ文化なんてありません。自動生成にするよって、システムの信頼性を上げるという目的もあります。

というわけでスタートしたプロジェクトだったのですが、MLを用いた開発で規模の大きい(ソースファイルを分割する必要のある規模で)開発を行うのは初めてだったのでツールの使い方から開発方法まで苦労しました。
まずEmacsエディタのセットアップ、Linux-FamilyのOSのインストールから始まり端末の使い方まで。

Emacsはカスタマイズ性の高いテキストエディタで、独特の強力なショートカットコマンドが多数実装されており、主にUNIXユーザーの間で使われるツールです。
慣れると非常に便利なのですが、殆どの作業をショートカットコマンドで行うので慣れないと全然使いものにならないクセのあるエディタでした。
ツールの設定もLISPで行わないといけないところもあるし。

今ではEmacsのキーバインドにWindowsのメモ帳でC-aを押すと全選択になるのに一々イラッとする程度にまで慣れたのですが、スタート時は大変でした
なんで一般的なツールは全選択になっているのでしょうか、そんなに使うんでしょうか。
(Emacsでは文頭に現在位置を移動 というコマンドになっているのです)

Standard MLをコードの整形などサポートしてくれるツールがあるから、という理由でEmacsが選ばれているのですが、
今では殆どの時間をエディタと向かい合うことになる我々としては強力なエディタに慣れておくのは実用上重要で良い経験をした、と思っております。

研修自体は週一回集まって、受講生がその週で出来た成果を大堀研のスタッフの方々に見てもらう、という形式で行っています。
週一で何か必ず見せられるところまで作業しておこなければいけない、というのは大変で週に実験の授業が2回みたいです。3回くらい血を吐きそうになりました。
(知り合いの参加者が全員同じ事言っているので僕達だけじゃないと思われますが)
毎度指摘される部分が多々あり、そのたびにもっと頑張らねばなぁと思う次第です。

僕たちはサイエンス・インカレには参加しませんが、PPL2013にポスター発表で申し込み予定です。もうちょっと頑張ろうと常々思っております。


コメント(0)

2013年1月17日 12:37

アドバンス創造工学研修

はじめましてStep Qiスクール受講生の
情報ナノエレクトロニクスコース3年
山田あずさです。

私は学生実験室で、「FPGA/マイコン-ハイブリッド制御システムを導入した自律走行ロボット作製」というテーマで他2年生2人と、アドバンス創造工学に取り組んでいます。

最初にマイコン(Arduino)について学び、
ロボット自身で、道をみつけ、探索し軌跡を地図化できるシステム構築を考えました。

障害物を感知するために超音波センサを使用し、自律して動けるよう、
プログラムや機体設計を何度も変えました。
実際ロボットを動かし、90度きれいに回転させるため、直進させるために
微調整を繰り返して、実現できました。

今は、地図の作成を目指し、どのようにしたら軌跡を保存し、地図に反映できるか
を考えています。
実際には、ワイヤレス通信でデータをパソコンに送り、パソコンの画面上に
地図を書かせることを考えています。

 

誰もArduinoや地図を書かせるためのprocessingを使用したことが
なく、戸惑うことや、うまくいかないことも多いですが、
個々で空いている時間を利用したり、実験室の先生方に伺ったりして
作業を進めています。
機体の設計からプログラミングまで幅広く学べるので、やりがいがあります。


下の写真は今作製中のロボットです。本体の右側と前方についているのが、

超音波センサです。モータ駆動用と、Arduinoボードを動かすために、

電池を二か所(本体前方と後方)に設置しています。

photo.jpg



コメント(1)

2013年1月 8日 00:19

アドバンス創造工学研修

あけましておめでとうございます。

StepQIスクール受講生、情報ナノエレクトロニクスコース2年の邉見です。

 

私はアドバンス創造工学研修で木下(賢)・大林研究室でお世話になっています。

研究室に足を踏み入れる機会というのは

2年の私にとっては、普通に生活しているとほとんどないことなので

毎週伺って研究を進めていくという経験は非常に新鮮に感じます。

1年生の時の創造工学研修よりもずっと内容が濃く、

TAさんの力を借りつつ新しいことを発見していく過程はとても楽しいです。

 

私が扱っているテーマは「配列特異性から見たトリプレット病病原遺伝子の進化」

というもので、遺伝病の原因になりうる遺伝子配列を探すことを目的にしています。

Pythonを使って遺伝子配列を解析するプログラムを書いたり、

ExcelRなどのソフトを用いてデータを読み取ったりと

パソコン作業がメインですが、データの見方で結果が変わってくるので

得たデータをどう生かすかが重要だということを学んでいます。

 

学生実験のレポートを書いていても考察に手間取ってしまうことが多いのですが、

実際自分の研究となると"答えがない"のでなおさら難しく感じます。

普段の講義や実験の中で"考える"ことも大切な訓練なのだと改めて思いました。

 

4セメの間続けてきたアドバンス創造工学研修も、発表準備の段階に入っています。

研究室内での発表、StepQIスクールでの発表とありますが、

そこで他の人にわかりやすい発表ができるように

あと少しですがプレゼンの作成等、頑張りたいと思います。

他の受講生の研究内容を聞くのも楽しみです!

 

 

20130117lab.jpg



コメント(1)

  • 1