2014/01/29

レスコン応募書類の完成

Lv_ZEROです。

昨日になりますが、レスコンへの応募書類が完成しました。今年は、去年までと異なった形になったと思いますが、実現に向け努力していきたいと思います。
しかしながら、来週から期末試験週間が始まりますので、今は試験勉強に励みたいと思います(笑)

2014/01/21

TPIPのクラス設計案

UMLのクラス図を使って描いてみました。議論の余地が大ありですがこんなこんじ。

 機体は主にUIとTPIPとコントローラーと通信をします。

機体の通信とは、他の機体を操作するコンピュータとの通信です。通信によって、他の機体の映像が見られたり、チャットができたり、他の機体の位置情報等を取得してマップに表示できたりします。

UIは画面上のボタン等の配置などで、これはLuaスクリプトを通して外部スクリプトファイルで変更可能とします。こうすることで、機体ごとに独自の画面を簡単に作成可能となります。

 TPIPはTPIPと通信するために、UDP通信オブジェクトを持ちます。また、TPIP1/2/3との互換性を持つために、抽象クラスTPIPを用意します。また、これらは音声/画像管理オブジェクトを持ち、リアルタイム画像・音声伝達を担い、処理はサブクラスに任せて実装します。(これは可能なのか?)

この図はastahというソフトを使って描きました。とても便利なソフトで、無料版は制限が多いのですが、サークルで使う分には問題がないと思うので是非使ってみて下さいね。シーケンス図も使いやすいですよ。

2014/01/17

C++Tips2 例外でエラーハンドリング

こんばんはKです。今日はC++の例外について触れたいと思います。

例外は、その状況下で処理を継続できない、あるいは継続しても意味がない状態のことをいいます。C++では例外を処理するための機構が用意されています。これはtry-catch文と呼ばれています。

2014/01/14

ガレキ除去アーム

suzutoです。

ガレキ除去機のアームの全体像が完成しました。



とりあえず形にはしました。これからは部品の強度、干渉チェックを行うと共に、本体の設計も進めていこうと思います。

2014/01/13

C#によるMemoryMappedFileを使ったアプリケーション間通信のテスト

Lv_ZEROです。

KONDOのシリアルサーボを複数動作させるプログラムを作るつもりでしたが、シリアルサーボとPC間の通信手順はどのようなプログラムになっても変わらないため、角度の制御プログラムとサーボとの通信プログラムを切り離して作ることにしました。
そこで、制御プログラムと通信プログラムの間を取り持つために共有メモリを用いることにしました。C#ではMemoryMappedFileクラスを用いることで共有メモリを簡単に実装できます。
試しにテストプログラムを作ってみました↓(左がID、右が角度のつもりです)
今回はMemoryMappedFileの説明を載せませんが、余裕のあるときにwikiに載せようかと思います。