KinectとARの組み合わせ
Microsoft XBox用のステレオカメラKinectの応用事例が増えてきた。 特に、Kinect と AR の組み合わせの事例は面白そう。
2010年11月28日(第192回)
テスト期間中につき、長水先生、奥田先生、西の3名の収録でお送りしました。
- 高専のコンテストについて
プレゼンテーションコンテスト、デザインコンペティション、ロボコン
VRAMとRGB,CMYK系
来週にテスト週を控え、あまり難しい部分に踏み込まないように…ということで、 先週のグラフィックスの続きを簡単に行い、後半はテスト勉強&質問タイムにて行う。
ラスタースキャン方式の昔では、テキストVRAM方式で、 表示位置に対応するメモリに文字コードを書き込むだけで、 画面に文字が表示できた。しかしながら、80×25といった指定された場所にしか表示できない。 コンピュータの性能があがって、グラフィックスを扱うのに十分な性能が出てきたころから、 グラフィックVRAMで、ドットに対応したメモリに、色の情報を書き込むことで、 ドットの色を決めることができる。
コンピュータグラフィックスの色は、基本はRGBの光の3原色(加色系)であり、 通常Red=0~255,Green=0~255,Blue=0~255で色が決まる。 HTMLでは、#の後ろに16進数2桁×3で、白="#FFFFFF"とか赤="#FF0000"とかで 表現される。 プリンタでは、絵の具の3原色をまぜても黒っぽくなるだけ。 このため、Cyan,Magenda,Yellow,blacK(CMYK)のインクを混ぜる(減色系)が使われる。
質問:typedef struct…のタグ名と型名
今回の授業では、情報処理技術者試験でtypedefを使った出題があったので、 説明をしたけど、タグ名と型名の違いで混乱している人からの質問。
typedef struct TAG { int x ; char n[10] ; } TYPE ; int main() { struct TAG x ; // OK struct+タグ名は型として振舞う TYPE y ; // OK typedefで定義した名前は型。 TAG z ; // NG C言語では、タグ名だけでは型として使えない。 // OK C++では、タグ名は型として振舞う。 x.x = 1 ; y.x = 2 ; z.x = 3 ; return 0 ; }
TeraStationのファームウェア更新
BuffaloのNASのTeraStationシリーズでファームウェア更新の情報があった。 RAID5のリビルドに失敗するって話で、バックアップ用に使ってる目的からすれば致命的。
ひとまず、学科で使っているハードディスクを確認すると、 該当ファームウェアより古いため、支障はなさそう。 しかしながら、古いファームのままというのも怖いので、更新作業を行う。
ただ、Webの操作画面でファーム更新を探すけど見つからない。 変だなぁと思っていたけど、"BUFFALO NAS Navigator2"を使わないとダメみたい。
さて、緊急連絡システムも同じNAS使ってたはずだし、もう1台…
高専プロコンの記事(競技部門)
高専プロコンの競技部門の雰囲気を、 興味を持てる生き生きとしたライブ感っぽく 伝えてくれている記事が掲載されていました。
nagios警告(鯖江市HP)
緊急連絡システムの運用で、越前市やら鯖江市のメールサーバが落ちてると 意味がなくなるので、nagiosにてサーバの稼働状況をチェックしている。 んで、先週末より鯖江市HPが落ちたり復旧したりの警告メールが頻繁に届く。
頻繁に届く理由の1つは、緊急連絡システムのバックアップ予備機でもnagiosが 動き出してしまったため。(パッケージupdateで消しておいたはずなんだが…) でも、何度も落ちて復旧というのも変。動作確認のタイムアウト時間が短いのかな…
鯖江市、最近ネット関連がんばってるし、Webサーバへの負荷高くなって反応にぶいかな… 動作確認のタイムアウト時間を長めに設定するか…
(( /etc/nagios/services.cfg )) # Service definition define service{ use generic-service host_name sabae-web service_description HTTP ...(略)... check_command check_http2!www.city.sabae.fukui.jp!2!5 }
うーむ、警告レベルを2秒、危険レベルを5秒に設定した割に、 2.6秒とか3.X秒とかで警告メールが相変わらず届く。 check_http で遅延3秒って、ページ見てもらえなくなる3秒ルールに引っかかるぞ… どちらにしろ動いているようだし、警告5秒、危険10秒に直しておく。
オープンソースKinectドライバ公開だってさ
Microsoftのゲーム機XBox360用の3D認識のカメラKinectが ハックされてドライバが公開されている。 動作デモの動画をみていると、ステレオ視差での奥行がリアルタイムで取得できるみたい。 LinuxのUSBドライバとして使えるようだし、面白そう。
Google SketchUp 8 とDXFプラグイン
単なるメモ。 ARToolKitの実験の中で、3D CADソフトを入れてみることに。 Metasequoia(メタセコイア)もあるけど、 使いやすそうな Google SketchUp8 をひとまず試す。 どちらにしろ、データ互換性は重要だし有償Pro版はもったいないし、 DXF出力のプラグインを入れる。
なんだ、ARToolKitだと、拡張子.MQOを読むのか…DXF出力じゃ、 全然ダメじゃん。それに、Metasequoiaの方が、ポリゴンから曲面をつくってくれる サブディビジョンサーフェスとかは、Metasequoiaの方が便利そうだな… でも、Windows環境だけかよ…
ネットワークとプロトコル(TCP/DNS/WWW)
ネットワークの説明の最終段階ということで、先週のIPプロトコルの続きを説明。
IPプロトコルがデータ中継のプロトコルで、IPアドレスにサブネットを論理積(AND)をとったもの (ネットワーク番号)が 同じなら、直接通信するし、違えばゲートウェイ(ルータ)に中継を依頼する。 ルータは、ネットワーク番号で送るべき先を決め、送り先を決めるために接続先に関する 情報をお互いに教えあっていることを説明する。 よって、ネットワーク接続では、IPアドレス・サブネットマスク・ゲートウェイの設定が重要。 しかしこういう設定は解りづらいので、DHCPだと自動的に設定できるようになる。
IPでは、パケットに分割して送るが、衝突などでデータは消えて正しく届かないかもしれない。 この場合には再送しなければいけないが、欠落パケットの再送などをしていると、 相手先に届くパケットの順番は、めちゃくちゃになる。 この辺の再送やパケット順の復活を担当するのが、TCPプロトコル。 このプロトコルは再送でリアルタイム性が悪いため、UDPプロトコルも使われる。
IPプロトコルでは、相手先コンピュータをIPアドレスで指定するが、こういう番号は 人間は覚えづらい。解りやすいコンピュータ名としてドメイン名があり、 組織や国が解りやすくなる。ドメイン名からIPアドレスを調べたり、アドレスから名前を 調べるためのプロトコルがDNS(Domain Name Service)。
TCP/IPで通信ができても、1つのコンピュータ内で複数のネットワークサービスが 利用できる場合、IPアドレスだけでは通信するサービスを区別できない。 このため、コンピュータ内の通信処理を区別するためにポート番号がある。 一般的なネットワークサービスでは、プロトコル毎にポート番号が決まっている。
WWW(World Wide Web)では、URL(最近はURI)をもとに通信が行われる。 (1)URIのコンピュータ名をDNSでIPアドレスを調べる。 (2)スキーマ欄をみて、プロトコルとポート番号が決まる。 (3)相手サーバに、httpプロトコルによって"/"配下のファイル名部分の情報で『くれ!』とたのむ。 (4)サーバは、一般的にHTML形式のデータを送り返す。 (5)ブラウザはHTML形式の情報を解析して、画面上に情報を表示する。