[rogy Advent Calendar 2015] マイクロマウスと制御理論 (1)壁トレース制御

[rogy Advent Calendar 2015] マイクロマウスと制御理論 (1)壁トレース制御

まえがき

rogy Advent Calendar 2015,20日目は ざくろくんの Dynamorphism 〜 Haskellでも動的計画法がしたい! 〜 でした. DPなのに再帰的な手法によって計算されるって,よくあるメモ化再帰の計算オーダ改善としてDPが出てくる話の流れに馴染みがある私からすれば「あれ,話が逆なんじゃないかな」と最初思ったのですが,後で詳しく読んでみます. 今回は毛色が変わってロボットの制御に関する話です.

概要

マイクロマウスは,小型ロボットが迷路を走行するスピードを競う競技で,35年以上前から続く長寿大会の一つです.

2015年機体の Xiphosura 4輪のマウス 2014年機体の カブトガニ兄貴 こちらは2輪

マイクロマウスで多く用いられるのは,2輪や4輪の台車型の構造をした車両ロボットで,自動車と同様に真横に動くことができないような数学的に特殊な構造を有しています. 真横に動けないという構造的な制約によって多くの困難が生じるのですが,ほとんどの競技者はこの困難を経験的に獲得した手法によって解決していることが多いように見受けられます. 一方で,このような構造を持つ系に対する制御理論は80年代ごろから盛んに研究されていますが,数学的側面から考察されているものが多数であり,実用面について弱いという指摘がよくなされます.

その中で,今回はマイクロマウスという題材に絞って,どのように制御理論が活用できるかについて実用上の観点から考察したいと思います. 分量が多くなりそうなので,今回は前半をAdvent Calendarの一環として書き,後半を12/26に公開する予定です.

目標

第1回(12/21)

  • 2輪台車の数学モデルについて紹介する
  • 迷路の区画の真ん中を走るための「壁(トレース)制御」について解析する

第2回(12/29)

  • 自由度と制御できる変数の数,劣駆動性と非ホロノミック拘束について解説する
  • 絶対運動と相対運動のどちらを制御するかによる違いを説明する

結論を先に示すと

  • 壁との距離を制御するという考え方では原理的に安定化できない
  • 相対運動のつなぎ合わせで走行軌跡を考えるオーソドックスな手法は,制御理論の観点からもある意味で合理的である

Read More

Share Comments

[techaday:0016] 3桁の2進数は少なくとも身につけよう

[techaday:0016] 3桁の2進数は少なくとも身につけよう

2015年ももうすぐおわりますね

はじめに

以前の記事で,2進数は3桁ずつ読めば無理なく10進数への変換が暗算でできるようになるよー,というお話をしました. → [techaday:0006] 2進数は下から3桁ずつ読もう この記事への反応として,3桁の2進数なら確かに計算すればすぐに出るけど,覚えようという気にならないというお言葉をいただいたので,一言レベルですが8進数との関連に触れながら書こうと思います.

前提知識

  • 2進数とは何かがわかればおっけー

効能

  • とりあえずこれだけ覚えればいろいろできるようになる

Read More

Share Comments

[techaday:0015] 覚えておきたいLinuxコマンドの典型的なオプション

[techaday:0015] 覚えておきたいLinuxコマンドの典型的なオプション

例えば gcc -v

はじめに

Linux 大好きな皆さんなら任意の作業をターミナルから離れなくてもできますよね?(ほんとだろうか) 突然そんな無茶ぶりをされた時に重要になるのが,コマンドに付加するオプションに関する知識です. 逆に言うと,オプション1つ知らないだけですごく遠回りをしながら作業をしてしまう可能性もあるわけです.

そんなわけで,今回は典型的なコマンドラインオプションを例を交えながら見ていきましょう.きっと他にも便利なオプションがないか調べたくなりますよ.

え?ターミナルでブラウジングはできない? w3m があるじゃないですか w3m が.

前提知識

  • シェルをちょっと使える
  • コマンドを叩くことに恐怖心があまりない

効能

  • これまでターミナル上で実行することを諦めていたような処理ができるようになるかもしれない
  • コマンドのオプションについて興味を持つようになるかもしれない

Read More

Share Comments

[techaday:0014] Hexoで気軽に静的ブログ作成 (3)階層カテゴリとタグ

[techaday:0014] Hexoで気軽に静的ブログ作成 (3)階層カテゴリとタグ

Hexo

はじめに

前回までの記事では,Hexo の特徴と導入方法・ブログを書いていく方法について説明しました.

今回は,Hexoの特徴である階層カテゴリのシステムと,ほかのフレームワークにもよくあるタグのシステムについて紹介します.

前提知識

  • Hexo がインストール済みである

効能

  • Hexo でカテゴリとタグを使えるようになる

Read More

Share Comments

[techaday:0013] Hexoで気軽に静的ブログ作成 (2)設定とページの生成

[techaday:0013] Hexoで気軽に静的ブログ作成 (2)設定とページの生成

Hexo

はじめに

前回の記事では,Hexo の特徴と導入方法について説明しました.

今回は,初期設定とページの生成方法について書いていきます.

前提知識

  • シェルが使える
  • Hexo がインストール済みである

効能

  • Hexo で書き始めるための準備が整う

Read More

Share Comments