講座資料と簡単な解説(11-20)

[| ]  最終更新: 2014/07/08 11:31:09

第11回 マイコン・パソコン通信の基礎

資料アーカイブ 20120821版


内容紹介

SPI型の通信
XBeeを活用したロボットの無線操作系
今回の題材は、マイコンおよびパソコン(サーバ等)の周辺の通信技術です。
※Windows, MacOS, Linux等の高等なOSを搭載しているコンピュータをパソコンで代表しています。

コンピュータを扱う上で、通信のハード、ソフトは欠かせないものになりました。
メカトロ関係で通信が使われるのは、主に、

という箇所です。

通信を理解するためには、ハードとソフトの両面を知る必要があります。もちろん、分担することはあると思いますが、特に、通信のソフトを扱う場合は、ハード面を知っておく意義があります。 他の多くの技術同様、「この手順をすれば、あとはOSなどが勝手に通信してくれる」という層化と、下層の隠蔽は行われますが、ひとたび、トラブルが発生した場合には、とくにマイコン関係の場合には、直接通信ラインの状況を調べることが近道になる場合があります(私は通信が成立しないときなどは、真っ先にオシロを引っ張り出します)。

さて、通信にはさまざまな方式がありますが、典型的には以下のようなものが見られます。

そのほか、無線系では、Zigbee, XBee, Bluetooth, 無線LANなども用いられています。

これらはそれぞれ、クロックの有無や、専用回路の必要性の有無、1対1通信か多対多かなどで特徴を持ち、それぞれの用途ごとにポピュラーに使われるようになってきました。 逆に、これらを知ることで、典型的なパターンを知ることができるでしょう。

今回のセミナでは、これらの通信方式を広く浅く簡単に解説しました。 また、多少レベルの高いところとして、ネットの通信で多用されているTCP/IP通信、HTTP,SMTPなどのプロトコルの概要なども紹介しました。


第12回 アナログセンサをマイコンにつなぐ

資料アーカイブ 20121002版


内容紹介

センサによる測定の構成
処理の回路と信号処理ソフトウエアへの分配検討
センサとアナログ入力の電圧レンジマッチングのための回路
今回はアナログセンサをマイコンで使う場合の検討過程についてまとめました。
実は、今回の構成はこれまでのメカトロセミナーとは若干スタイルが異なります。 これまでは、各要素要素ごとに限って狭い範囲の基礎をまとめるという形式でしたが、今回は、センサを使うという目的のために、横断的に様々な分野に及びます。 それぞれの箇所については、これまでのセミナーで解説した所も多く、より詳細については個別のセミナー資料や専門書をご覧頂ければと思います。

さて、センサをマイコンにつなぎ、計測を行う場合は、

  1. センサ:測定対象の変化を電気的変化(電圧、電流、抵抗変化など)にする
  2. 回路:電気的変化を電圧変化にし、増幅などをしてアナログデジタル変換の入力につなぐ、ノイズをフィルタする
  3. アナログデジタル変換:アナログ電圧をデジタル値にする
  4. 信号処理ソフト:ただのデジタル値に様々な処理を施して、情報としての計測値にする
という手順をとります。そのため、これらの要素について検討し、つなぎ合わせることで目的を達成します。
ただ、ここで大事な鉄則として「センサの性能を超えた測定はできない」「センサで得た精度、分解能などは回路などを通すと劣化する」ということです。デジタル化した後については、想定外の劣化はなく、劣化の程度を予め検証することができますが、アナログ段階ではいわゆるノイズの混入など、予期せぬ劣化がさまざま起こります。従来は、アナログで様々な調整をすることが一般的でしたが、最近はなるべくアナログ部分を減らす方向にあります。その最たるものがデジタルセンサで、アナログ部分はセンサ部品に封入し、部品の出力の段階でデジタルです(次回)。

このようなシステムの開発における開発手順を列挙します。

他の様々な開発同様、キーとなる要素を仕様を元に先に固め、その間をつなぎます。
センシングの場合は、センサとアナログデジタル(AD)変換が全体の性能を決定づけます。 別の言い方をすれば、これらに能力的な不足があったときに、他の手段で挽回することが難しくなります。 そのあと、センサ~AD変換の回路、AD変換後の処理を開発し、最後に性能チェックや補正を行います。 その間に、中間的なチェックポイントをいれてあります。

もちろん、選定する余地無く決まっている場合(ソフトだけ担当する場合)、回路部分がすでに固まっている場合(これまでアナログ主体だったものをマイコン化する)などもありますが、何のために各要素があり、それらがどういう目的、由来があって構成されているのか、という理解は、効率化や今後の改善に繋がると思います。

このような方向性について、キーポイントを押さえつつ、実例として玉乗りロボットのセンサ系の開発の概要についても紹介しました。


第13回 デジタルセンサをマイコンにつなぐ

資料アーカイブ 20121023版


内容紹介

デジタルセンサの利点
セミナーで取り上げた3種類のデジタルセンサ
SPI接続したセンサの信号入出力のプログラム例
今回は、「デジタルセンサ」をマイコンにつなぐために必要なことを、どちらかというと具体的な事例に重きを置いてまとめました。

前回のアナログセンサと、今回のデジタルセンサ、同じセンサであっても、全くという程、性質が違います。おおざっぱに言うと、アナログセンサをマイコンにつなぐ作業はアナログ回路技術の延長にあるのに対して、デジタルセンサはソフトウエアの延長にあります。
アナログセンサをつなぐには、最低限とはいえアナログの変換・増幅回路を用意し、マイコンのアナログデジタル(AD)変換器につなぎます。概ね、マイコンのAD変換の設定をしてあれば、時々刻々の生データ(デジタル値)を得ることができます。
それに対してデジタルセンサは、デジタルの通信線2~4本程度でマイコン、場合によってはパソコンと接続し使用します。外見ではアナログ的な所はありません。しかし、マイコンやパソコンの側で、ただAD変換値を読むのに比べるとかなり複雑なプログラムが必要になります。一つはセンサ通信をするためのプログラム、もう一つはセンサの内部情報を読み書きして、センサの値を得るほか、各種設定などを行うプログラムです。

デジタルセンサの最大の利点は、アナログ部分がセンサ内に隠蔽されていることです。そのため、良質の電源を供給することさえ気をつければ、回路は簡単にできます。
※内部にアナログがあるのは確かで、電源が汚いと(マイコン回路の電源はあまり綺麗ではなく、モータ等があるとかなり汚い=ノイズや変動が多い)その影響が出ます。
センサ内部でデジタル化もしてくれるため、ソフトさえかければ、システムがシンプルになります。その結果、基板の面積の縮小、コスト圧縮(アナログセンサとデジタルセンサで同じスペックならセンサそのものの値段に極端に違いはない?)、とくにアナログ回路がいらなくなることが効きます。
一方、従来のアナログセンサとの違いは大きく、ソフトに不慣れの場合は大変使いにくいセンサです。そのため、回路技術主体の場合には、無理にデジタルに移行することは足かせになる可能性があります。
特に、デジタルセンサを使ってみて困ったことは、内部の動作がさっぱり見えないことです。アナログセンサの場合は、回路のあちこちオシロを当てるなりして、「どこまで動作しているか」を見ることができますが、デジタルセンサでは回路、ソフトの全てがちゃんと動作して、初めて、何らかの値が得られ、トラブル時に問題の切り分けが困難でした。

デジタルセンサの接続は

の2系統に大別されます。後者は高機能なセンサ部品、センサ基板、センサ装置などで、内部に処理用のコンピュータが入っていて、信号処理までしてくれることが一般的です。レーザーレンジファインダ、GPSモジュール基板などもあります。USB接続の場合は、内部にUSB-シリアルブリッジ機能を入れて、最終的にはシリアル通信(COM?等)として使えることも多く見られます。これらの機器は、流れてくる文字列、バイト列を解釈するようなプログラム、ネットワークのサーバなどでよくある形式のプログラムを書くことになります(それゆえ、この系統はソフト経験者に使いやすい)。
一方、前者はより小規模のセンサに使われます。たとえば、ものの姿勢を測定するセンサ(加速度、角速度ジャイロ、IMUセンサなど)などがあります。 これらの場合は、マイコン側から積極的に、SPIやI2Cと呼ばれる形式でセンサに対して設定をしたり値の要求をし、測定値を受け取ることになります。 これらの場合は、まず、マイコンでSPIやI2Cの通信をするためのプログラムと、センサ内部の値=レジスタと呼ばれる=を読み書きするプログラムをつくることになります。

最終的に得られた値に対して信号処理したり、校正・キャリブレーションすることはアナログと同じですが、アナログの場合はノイズ除去などの小細工的処理が必要なことが多いのに対して、デジタルの場合はそれら無しですぐに本来の処理に入れることが楽なところです。
動かすまではアナログより苦労しますが、一度動けばいい性能が得られるといえます。もちろん、一種類を動かした経験があると、二つ目以降はかなり楽になります。

まだまだアナログセンサが主流で、デジタルセンサに選択肢はさほど多くない印象ですし、この先もアナログセンサは存在し続けると考えます。 ただ、デジタルセンサという選択肢を考えてみてもいいと思いますし、特にこれまで回路に縁が遠かったソフト系の方々には、非常にとっつきやすいものと思います。 実のところ、受講された方々のアンケート結果や様子をみると、これまでにくらべ、かなり大きく分かれていました。おそらく、このあたりの専門の違いもあったのではないかと思います。

補足資料

ここではセミナーで使用した資料や、関連するプログラムソースを公開します。


第14回 バドミントン練習用ロボットをつくる

資料アーカイブ 20121124版


内容紹介

高速度デジカメによる軌道計測とシミュレーション
高速回転のための釣り合い錘の位置の検討~重心と慣性モーメント
制御モードの選択と動作シーケンス
打ち出しの実験
今回は、3時間スペシャルとして、「バドミントン練習用ロボット」を題材に、「つくりたい!」から、構想の具体化、必要な仕様の策定、数学的検討、設計、制御まで、を通しで紹介しました。
これまでのメカトロセミナーは、分野別でしたが、今回は全般に浅めに、流れを追うことで、メカトロ開発の概要を紹介しました。

そもそもの開発の動機は、研究室に卒業研究のために配属された学生さんの希望です。 当研究室は、研究室配属に際して「○○なロボットをつくりたい」(ほかにもこのロボットをこう改良したいなど)という、何らかの提案をもってプレゼンテーションすることになっています。(配属希望プレゼンテーション自体は、当学科の方式)
そのなかで、このようなロボットをつくりたい、という学生さんがいました。 彼は地域の会でバドミントンをたしなんでおり、その経験から、打ち返しの練習をするために、シャトル(羽根)を打ち上げてくれる装置があれば、という考えを持っていました。 野球でいえば、ピッチングマシンにあたる装置です。 一般的には、一人が練習するときに、もう一人の補助をする人が適切なところにシャトルを打ち上げます。ちゃんとした練習になるためには、ほぼ一定の軌道で飛ばす必要があり、そのためにはある程度の熟練が必要、という制約があります。つまり、適切に飛ばしてくれる装置があれば、一人でも練習できるようになるはず、というわけです。
そのため、本装置はその学生さんと熊谷の共同開発プロジェクトという位置づけです。
(当人には紹介することの快諾を得ています)

ほぼ一定の軌道で飛ばすためには、空中に飛び出すところ、打ち出しの条件をそろえれば良さそうです(そもそもそれ以外に方法はたぶんありません)。 まずは、どのくらいの打ち出しが必要かという分析から始めました。
そのためには、実際に人間が打つ様子を高速度カメラで撮影し、1コマごとにシャトルの移動を確認しました。 以前は高速度カメラは高価で手の出しにくいものだったのですが、数年前にCASIO社が高速度撮影可能なデジカメ(現High speed EXILIMシリーズ)を発表しました。 この当初のモデルEX-F1が研究室にあり、これを用いています(高速度デジカメについては以下の第15回「メカトロ開発のための測定器の使い方の基礎」)でも触れています。
その結果、初速毎秒30メートル(時速120km)以上とかなりの速度が必要と確認されました。

射出の方法は複数が候補になりました。ラケットを振って打つ、高速回転のローラで打ち出す(ピッチングマシンなどでよく使われる)、圧縮空気でとばす、などです。 シャトルの形状が複雑でローラは困難、圧縮空気はコンプレッサなどがほかに必要ということで、単にラケットで打つ方法を採用しました。 それも、人間のように肘、手首にあたる関節をもうけることなく、1本の軸周りに振り回す、単純な仕掛けとしました。
(ゴルフラケットの試験などに用いるロボットは動作を人間に近づける意味もあり、多軸)

ラケットは先端速度が30m/sに達するような回転が必要です。 常に回転させておけば、難しい速度ではありませんが、こんどはタイミング良くシャトルを投げ込むことが難しくなります。 そこで、シャトルを供給するタイミングに合わせて、1回ごとに加速して振り抜く方式としました。
このような場合には、メカに対する設計制約は
○重心が回転軸に乗ること(ずれていると大きな振動)
○慣性モーメントがなるべく小さくなること
となります。後者の慣性モーメントは、直線運動では質量にあたるもので、小さいほど少ない力(トルク)で加速できます。 逆に、モータのトルクの制約が決まっていれば、小さいほど高加速が得られます。
これらを念頭に機構を検討し、メカを設計・製作しました。

モータの制御は、状況に応じて、角度・角速度(回転速度)・トルクの三つの制御を使い分けました。
一般的に産業用のモータなどでは、一定速度回転やポイントtoポイント(角度指示)の動作設定をしますが、それぞれ、得意とするものがあります。
○角度制御は、初期位置の設定など、角度が重要な場合の制御に
○速度制御は、上記の位置への移動などに
○トルク制御でシャトルの打ち出し
これらを実現するにはフィードバック制御が行われます。一般的なモータ制御では、まず、トルク制御(電流制御)を行い、その上で、速度や角度の制御を行います。
フィードバック制御には「大きな出力を普段はしぼって使うことで、余剰分で突発的な変動にもすぐに対応する」という側面があります。逆に言えば、一般的な制御では「余力を残した使い方」をしています。そのため、シンプルな制御のほうが、直接的にすぐに限界性能を引き出しやすくなります(その代わり、目標からのずれなどが出やすくなる)。 そこで、なるべく単純なトルク制御で操作することとし、ラケットを振る間はどういう角度・速度になっているかは気にせず、一気に振り抜く、という方法をつかいました。 本来、トルクで制御すると、さまざまな影響を受けやすくなるのですが、そもそもメカが単純であり、一定のトルクをかければ、一定の加速をする、ということは期待できます。

そのような経緯で本体は開発されましたが、現時点で、二つの問題があります。
一つは、モータの出力の不足です。モータ選定時点では射出速度の見積もりが甘く、モータの大きさが足りませんでした。そのため、瞬間的に定格の400%~500%のトルクを出す、というほうほうで、ぎりぎり飛ばしていますが、もう少し距離も欲しく、一回り大きなモータとする必要があるでしょう。
もう一つはシャトルの供給方法です。現在は筒につめたシャトルを振動で落とすようにしていますが、再現性や、使い勝手がいいとはいえません。この点は別の学生さんが改良に挑戦すると言っているので、来年度、取り組むことになっています。目標は、かごいっぱいのシャトルをざばーっと入れたら、あとは1個ずつ飛ぶような、ところです。 そのくらいでないと、なかなか実用には遠いと思います。

今回は、このように、一つのロボット開発を通して、仕様策定、必要となるスペックの見積もりやシミュレーション、メカの設計、動作の計画などを紹介しました。 機会があれば、今後もときどき、このような「一式」型のセミナーもしたいと思います。

補足資料

ここではセミナーで使用した資料を公開します。



第15回 メカトロ開発のための測定器の使い方の基礎

資料アーカイブ 20121211版


内容紹介

メカトロ開発における測定器の位置づけ
机上用やハンディなオシロスコープ
力の測定に用いるフォースゲージ
高速度撮影が可能な一般向けデジタルカメラ
今回は普段、当方でロボットメカトロ開発に使っている測定器を題材とし、どの測定器にどんな活用、どんな目的があるかを紹介しました。

測定器には、大きく二つの使い方があると考えています。

なぜ、このような分け方をするかというと、測定器は性能が高くなるほど、どんどん価格も高くなるという傾向が、かなりはっきりしています。 しかも、パソコンなどと比べると、性能の幅が広く、「なるべく性能の高い測定器を用意する」ということが、実際の作業には意味の無いほどの高性能をかなりの予算で用意する、ということにつながりやすいためです。
むしろ、目的に応じて測定器の種類が多いことを鑑みると、「妥当な性能のなるべく安い測定器でがまんできるか」ということが、現実的な観点となります。そのため、「ほどほどの精度でかまわない」が「あると仕事がはかどる測定器」という枠があると考えます。

おおざっぱに、普段使っている測定器を電子回路系とメカ系にわけました。

電子回路系の筆頭はテスタです。テスタにはアナログ式とデジタル式があり、最近ではデジタルが主流でアナログが相対的に減ってきました。 しかし、両者は用途によっては代替が効かないと考え、ともに使っています。
デジタルの利点は値がダイレクトに読めることです。即的の持つ性能で誰でも値がすぐに読める、ということは重要です。しかし、テスタにもよりますが、変動する値の読み取りには向きません。変動する値を見ると、数値がちらついたり、十分変化を追えなかったりします。
一方、アナログは針を正確に読むには限度がありますし、抵抗レンジなどは間隔が大きく変わるなど、値そのものという点では難しさがあります。 しかし、増加していく値、数Hzくらいまでは値に変動があることなど、針が振れる、という見た目から、直感的に理解できます。 特にセンサのチェックをする場合などは、デジタルよりもアナログの方が見た目は非常に感覚的です。
すこし高度なテスタではデジタルにアナログ的バーグラフを搭載するものもあります。実際に手元にもあるのですが、やはり時間変動するものをみるときはアナログを取り出しています。
アナログは測定レンジの切り替えが手動でしたが、デジタルではオートのものがあります。むしろ、切り替えスイッチのコストを削減するために、低価格品でオートが目立ちます。 オートは「どんな値が出るかわからない」という場合には便利なことがありますが、ある程度の範囲が出ることがわかっているときには、自動切り替えの時間がレスポンスの悪さにつながるほか、変動値の場合には自動切り替えの境目を超えるたびにレンジがちらちら変わって使いにくいことこの上ありません。そんな意味で、マニュアルレンジのデジタルテスタ、もあったほうがいいでしょう。
といううちに、実験室にはテスタが10台近くあります。

オシロスコープはいまはデジタルが主流です。据え置き型のものもあれば、電池駆動でポケットに入るようなものもあります。
時間変化する値、とくに変化速度の早いものや信号ラインのチェックに威力を発揮します。信号の本数が多くなければ、ロジックアナライザを用意するまでも無く、デジタル回路のチェックもできます。
また、オシロスコープを「アナログ電圧信号記録装置+表示装置」とみると、その入力に別のセンサなどを取り付けることで、データロガーとしても使えます。最近では、生のデータをUSBメモリなどに記録できるものも多く、そのままパソコンで表計算ソフトでグラフ化できたりもします。 実際、研究用のデータをとったりする場合に、オシロスコープで記録してグラフにして論文につかうこともあります。
メカトロ系であれば、マイコン直近のデジタル信号を除けばそれほど周波数が高いわけでも無いので、帯域・サンプリング周波数といった測定の速さに関する項目は、性能の高いものを用意しなくとも間に合うケースが多いと思います。むしろ、同時測定のチャンネル数や、「つまみの多さ」(少ないボタンをポチポチ押すタイプは案外手間がかかる)のほうが実際の運用時には影響が大きいといえます。

そのほか、メカトロ関係ではクランプ式の電流計も役立つ場合があるかもしれません。 たとえば、モータに関わる回路を開発する場合などは、どれだけの電流が流れているかの検証は必要です。
クランプ式電流計は安いものは交流(主に商用電源)しか測定できませんが、メカトロ用とでは直流もはかれるタイプを用意する必要があるでしょう。 ものによっては、測定中の電流をそのまま電圧に変換して出力する、モニタ出力、をもつものもあります。 このタイプはオシロスコープにつなぐと、電流波形の記録ができ、変動の様子、突入電流などを確認したり、パソコンまでデータをもっていけば、力率などもできます。 メカ系の測定器は、主流は原理も見た目もメカ的な測定器、ノギスやマイクロメータなどが広く使われていますが、これらを電子化したデジタルノギスなどもあります。メカ屋にとってはノギスの特徴的な目盛の読みができることは大事な常識ですが、普段の専門がソフト寄り、回路寄りなら、すこし高くなりますが、ためらわずデジタルノギスでいいと思います。

同じように、力を測定する秤をデジタル化したものにフォースゲージがあります。これは、押す力/引く力の測定や、最大値の保持などができます。 また、あらかじめ設定したレンジの内外を判定する機能があるものもあります。
これもまた、モニタ出力があれば、オシロスコープと組み合わせて力の時間変化を記録することができますし、フォースゲージ自体にパソコンとのやりとり機能をもつものもあります。

メカの運動を検証することは、メカトロにおいて重要ですが、電子的なものに比べると、回転数を測定するだけでも手間がかかりますし、専用の測定器が必要だったりします。そんなときに役立つのが高速度撮影が可能なカメラです。 昔は特殊で高価なものだったのですが、いまは市販のデジカメで毎秒1000コマまでの撮影ができるものがあります。 これで撮影し、1コマごとの動きを見ていけば、運動変化や速度などを見いだすこともできます。おそらく、一般的な生産設備の動きは十分にうつると思います(通常の秒30,60コマ撮影のビデオは思ったほどには速くなく、メカの動きはとれません)。
もちろん、回転速度を頻繁に測定するなら、回転計を購入した方がずっと作業効率は高まります。揺れの測定なら加速度計などの振動測定装置があります。 しかし、たまに動作をチェックしたい、という程度であれば、こういうカメラを1台用意しておき、普段はただのデジカメとして使えばよいと思います。

以上のように、それぞれの測定器を紹介し、その使い方や使用上の注意点(制限)を紹介しました。 測定器の必要さは作業の内容などによっても大きく変わりますが、何らかの参考になれば幸いです。

補足資料

ここではセミナーで使用した映像資料を公開します。
.movファイルはQuickTime等の再生ソフトを必要とします。Windows7のMediaPlayerはそのまま再生できました。


会場で紹介した測定器の購入先等リンク:

第16回 コンピュータ制御でモータを回す

資料アーカイブ 20130227版


内容紹介

モータを回すためにはコイルとしての理解が重要
スイッチで極性を変えるHブリッジ
3相モータの駆動回路
モータの駆動と回生のメカニズム
今回はモータ制御関わる概要をハードから制御まで紹介しました。 以前のテーマである、「第8回 モータの基礎」も併せてご覧ください。

メカトロ機器に用いられるアクチュエータには、電磁式、油圧式、空気圧式などがあります。
空気圧式は生産設備で多く用いられていますが、大きな力をしっかり伝えるところには向かず、そのような箇所に手軽に用いられる物が電磁式のモータです。ただ回すことが目的の直流モータ、交流モータなどや、指定した運動を作ることが目的の、制御のかけられた、直流サーボモータ、交流サーボモータ、ステッピングモータがあります。
これらを動かすためには、電力を供給(調整)する回路、どう供給するかを定めるマイコンや制御理論が必要となります。

まず、モータを回すに当たっては、対象となるモータの特性を知る必要があります。
モータの特性で重要なこととして、

といったことが挙げられます。
つまり、モータを回すにあたっては、適切な電流を、電圧を調整しながら流すことができ、加えて交流の場合は周波数の調整が必要、ということが必要になります。

この電流を流す際に、もう一つ、重要なモータの特性として「コイルである」ことがあります。
電磁モータの根本は電磁石で、その部分が(大きな)コイルとしての性質を持ちます。コイルは普段の電子回路では、あまり登場することの無い部品ですが、ことメカトロにおいてはその理解が重要となります。
コイルの性質は「両端の電圧と、電流の時間変化は、比例する」というものであり、その比例係数が(自己)インダクタンスと呼ばれる数値です。この数値が大きいほど、電流変化に対する電圧が大きくなりますが、モータのインダクタンスは回路基板に乗るような物に比べて一般に大きめです。
この、電圧と電流変化の関係は、いくつかの重要な特徴につながります。

この特徴に対処しつつ、活用してモータの制御がなされます。従来はアナログ増幅(増幅回路で電圧降下を生じさせることで、出力を小さく絞る方法、増幅回路の発熱が問題になる)が用いられていましたが、いまはほぼデジタルなスイッチング方式になりました。
モータの制御回路は、(1)電流を流す向きを決定する (2)電流の大きさを調整する の二つの機能が必要です。
前者のためには、Hブリッジ回路(3相モータの場合は3相ブリッジ)が用いられ、複数のスイッチのオンオフの組み合わせで電流を流す向き(正確には電圧をかける向き)を変えることができます。
後者のためには、PWMを用います。PWMは一定の周期(50μ秒=20kHz~数百kHz)でオンオフを繰り返しつつ、オンの時間の比率(デューティ比)を調整することで、出力の調整を行うものです。
現実には、モータのコイルとしての性質、発電機としての性質、および、スイッチのオンオフのタイミングの関係で、短い時間で電流が増減しながら、流れます。同じデューティ比でも状況によって流れる電流は変わります。 しかし、デューティ比を大きくすれば電流が大きくなる、という単調増加性はあるため、電流センサを用いて出力電流を計測し、これが指定した値になるようにフィードバック制御(この場合はPI制御がよく用いられる)によって、デューティ比を調整します。

このような制御を行うため、コンピュータ(マイコン)に求められる機能は

が必要になります。最後のカウンタはロータリーエンコーダという角度センサを接続することで、モータの回転角度を測定でき、そこから速度を求めることができるもので、モータの回転速度や回転角度を定める制御には重要です。
マイコンのなかには、最初から「モータ制御用」と銘打った物があり、これらの機能をもっています。 MOSFETによるスイッチ回路、およびそれを駆動するための回路(ゲートドライバ)を用意すれば、それだけで、3相モータの制御回路がつくれたりします。
今回は、以上のような、モータを回すために必要な手段について、幅広く紹介しました。
「エコ」で有名な回生も、単に発電機としてモータが振る舞うのではなく、モータ自身から電力を吸い出す(というよりモータで減速のトルクを出そうとすると勝手に湧き出る)という理解ができます(ので、低速になって、発電機としての電圧は下がってもも回生はできるのです)。また、回生機能をわざわざ作らなくとも勝手に回生してしまうため、状況によっては、過剰になった電力を捨てることが必要になる、といった雑学も含めました。 動く回路を設計製作するには、さらに様々な要素、たとえばノイズ対策などが出ていますが、原理としてこのくらいを抑えておくと、なにかの役に立つのでは無いかと思います。
補足:
セミナー後にご質問頂いたPAM(Pulse Amplitude Modulation)はブリッジ回路に供給する電圧を上げ下げします。
PWMでは、常に一定の直流電圧を用意し、出力を絞るときはデューティ比を絞ることで対応しますが、PAMでは電源電圧そのものを下げます。その電源をつくるためには、やはりPWMのような方式が使われますが、モータへの供給出力の上下と、3相にするためのスイッチングの機能的な分離での効率改善、電源部分で(今回の話題とは離れる)力率改善回路(PFC)を組み合わせることで、トータルで効率が改善する、ということのようです。
参考:Q:PAMって何?(日立製作所)、 PWM制御とPAM制御(日本冷凍空調学会)

第17回 メカを動かす基本法則

資料アーカイブ 20130717版


内容紹介

三角関数と腕型ロボット
仕事とエネルギー、動力、仕事率、電力
台形加減速とS字加減速
斜面を走行する車輪移動ロボットの計算例
今回はいままでのメカトロセミナーの内容とは趣向を変えて、主に機械を考えるときに必要となる基本法則のおさらい、リストアップを内容に選びました。法則と呼ばれるものはいろいろとありますが、普段、ロボットメカトロ開発をしていて当たり前に使うような物を選んでみました。

さまざまな機械部品のカタログを見ると、「回転数これだけで動力これだけのときは、この表からベルトを選びましょう」のように、表やグラフで選定できるようになっていたり、謎の小数がいくつも入っている数式に適宜数値をいれると、選定の基準となる数値が算出されるような解説がよく載っています。 多くの場合、これらは基本法則をもとに、メーカが「答えがすぐ出るような」数式の形で用意したもので、この式に具体的な数値を当てはめれば目的は果たせます。しかし、その「一般的な使い方」をすこし外れるようなことをすると、途端に式が適用できなくなったり誤差が目立つ場合もありますし、新しいことにチャレンジしようとすると「そのための数式」が見つからないということがよく起きます。
しかし、世の中のメカに関わる(主に力学)法則類はそもそも単純で、その積み上げで様々な事柄を説明しています。 そのためこれらの基本法則をおさえ、それを組み合わせることができるようになれば、「謎の数式」がなにをいわんとしているのかもある程度わかりますし、新しい発想のメカを考えたときに、その設計を適切に行うための解析も可能になると思います。
そんな主旨で、今回のテーマを基本法則にしました。


まず、把握すべきは単位です。この「単位」というものはよく考えられていて、7個の基本単位(うち、日常的にメカトロでつかうのは5個)だけが各々の方法で定義されていて、残りの単位はこれらを組み合わせることでできるようになっています。 しかも、単位の組み立て方は、物理法則に従っています。
たとえば、速さは「単位時間当たりの移動量」で[m/s]。加速度は「単位時間あたりの速度変化」で[(m/s)/s]=[m/s2]。さらに、ニュートンの運動方程式で「力=質量×加速度」とされていることから、[kg m/s2]という単位になります。かつ、力はよく使うので、この複雑なものに[N](ニュートン)という専用の名前をつけて使っています。さらに、仕事[Nm]=[J]、仕事率・動力[J/s]=[W]、圧力[N/m2]=[Pa]など。
このことは、なにかの計算をするときに、使った数値の単位も併せて一緒に計算していき、目的とする値とともに、適切な単位が出てくるか、ということでの計算チェックにも使えます。力を求めるはずなら、[kg m/s2]が出てくるはず、など。もし、単位が不適切になった場合は、計算間違いだけではなく、使うべき法則を間違った可能性も想定できます。

法則と並んで、数学もある程度は必要になります。とくに微分積分は運動の説明のために整備されたという由来がありますし、三角関数は曲がる関節と先端の位置、等の関係を説明するのに役立ちますので、このあたりは高校の教科書にある程度では知っておくと役に立ちます(私は高校生の時にここまで役に立つものとは思わずに受験のために勉強していたので、大学生になってやっと使い道を知りました)。


物体の法則で運動の法則があります。これは力と物体の運動を説明する物で、メカにとっては重要な法則群です。そのためには、対象に作用する力のリストアップが必要になり、特に影響の大きい、重力と摩擦力を中心に解説しました。
運動の法則に加えて、仕事やエネルギーという考え方があります。運動の法則は、時々刻々の動きを記述するため、時間と共に変化を追わなければなりませんが、仕事やエネルギーは、ある時点での値、たとえばある運動の前後の状態などだけで考えることができ、おおざっぱな動作の見積もりをすることに役立つことがあります。

最後に、これらの法則を適用して、より具体的な事例を考える例として、台形加減速、車輪移動ロボットの動力計算、第14回「バドミントン練習用ロボットをつくる」における設計計算を題材にしました。 台形加減速はその必要性が各種カタログなどでは明記され、モータ制御器などで一般的です。その上位にS字加減速がありますが、なぜ、それらの処理が必要なのか、法則をつかって考えていると、実は急に力がかからないようにする目的とわかります。


個々の法則に分解して適用すること、また、それを積み上げることで全体の説明をすることは、場合場合ごとの式を調べてきて数値を入れる方法とはかなり異なり、慣れないことかもしれませんが、こういう積み上げができるようになると、ものの動作などが感覚的につかみやすくなり、説明もしやすくなると思います。
メカの企画、詳細設計をする方だけではなく、メカを動かすソフトを書く方にも、ぜひ、お勧めの方法です。

内容的に、「これはいまででで一番眠くなるメカトロセミナーになるに違いない」と思っていたのですが、皆さんに関心を持って聞いて頂けたようで、アンケートもみてほっとしました。


第18回 マニピュレータの構造・特性・制御の基礎

資料アーカイブ 20131001版


内容紹介

空間の回転表現
平面内2自由度マニピュレータの計算
オイラー角の特異姿勢
プラモデルに見るロボット自由度
今回は腕型ロボット、マニピュレータを取り上げました。
日本ロボット学会の用語集などでも、ロボットは「マニピュレーション機能または移動機能を持つ」とされています。 マニピュレーション、つまり持ち運ぶ動作をするものは、ロボットの一大グループなわけです(もう一方の移動機能はこのあとの第20回)。 実際、工場の生産設備では、「ロボット」と名付けられなくとも様々な部品や製品を持ち運ぶ(吸着するものも多いですが)メカトロ機器がたくさんありますし、その中の1種のユニットとして、腕型のロボットが組み込まれるようになってきました。
従来は腕型のロボットというと高いものでしたが、技術の発展などにより、短軸の駆動ユニットを組み合わせるよりも、低自由度な(簡易的)腕型ロボットを導入することで、コストパフォーマンスを出せる場合もあるようです。

マニピュレータには直列型(シリアル型)と並列型(パラレル型)があります。
前者は、関節-関節-関節-と1本に関節とその間の変形しない部分(リンク)がつながった形をしていて、一般に「腕ロボット」と言ったときに想像する形のものです。一方、後者は皆で御輿を担いで動かすように、複数の動く部分を並列に配置して、その動きの組み合わせで先端部が動くという構造です。 パラレル型は高剛性(力に対して押し負けて形がずれにくい)という特徴があり、工作機械などから普及していましたが、ネックの一つであった計算の複雑さが、コンピュータの進化に伴って解決し、さらに可動部を軽量化しやすいために高速運転向き、という特徴があり、普及が始まりつつあるようです。


マニピュレータでは、できる動作を「自由度」という量で表します(ロボット全般、その他分野でも)。
空間で、上下・左右・前後に独立して動かせる場合、(位置で)3自由度といいます。 また、水平面内での回転(方向)が自由にできれば回転の1自由度、さらに3次元空間で自由に方向を決められれば3自由度になります。 その角度を表す方法に、オイラー角やロール・ピッチ・ヨー角の表現があります。 空間の中で好きな位置に、好きな向きにできる場合は、6自由度になります。
この自由度を実現するのは、端的にはマニピュレータの能動(モータ付き)の関節の数です。 一般的な6関節のロボットは6自由度を持ちます(少なくなる場合あり)。歩行ロボットの脚も数学的には腕と同じで、一般的な2脚歩行ロボットでは、足の一度方向を自由にできるように、6関節を持っています(股関節が3方向に回転、膝が1方向、足首が2方向)。
自由度が足りない場合は、なにか動きに制約がでます。たとえば、位置は3自由度あるけど、方向は2自由度しか無い、というように分離する場合もありますし、空間の6自由度のうち、5自由度を決めると残り一つが勝手に決まる、というように、他を決めると連動するという場合もあります。 一見すると、不自由なようですが、例えばドリル装着するロボットは、ドリルのねじる方向は決める意味がないので、ロボットは5自由度で済みます。 これにより、ロボットが安くなり、また精度も多少上げやすくなります。
言うまでも無く、自由度の高いロボットは高くなります。 必要な動作を見極め、必要最低限の自由度のロボットを採用することは、コストなどの面からも重要でしょう。 もちろん、多自由度のロボットのほうが「いざというとき」に諸問題を回避しやすくはなるのですが。

このようなロボットを動かすためには、(順)運動学と逆運動学という演算が必要になります。
(順)運動学は「各関節の角度を決めたときの手先の位置姿勢」を求める演算、逆運動学は反対に、「手先の位置と姿勢を実現するための、各関節の角度」を求める演算です。
6自由度のロボットでは非常に複雑ですが、自由度の低いロボットであれば、多少の三角関数の演算でともに行うことができます。 それを応用すれば、たとえば水平面内で前後左右に動かすものをつくるとき、直動ユニットを2個組み合わせるのでは無く、より構造の簡単な回転関節2個で実現することもできます。
ただし、ロボットの構造によっては、ある関節状態のときにこの計算ができなくなる(自由度が減ってしまう)ことがあります。 これを特異点、特異姿勢といい、この近辺では関節が異常に高速で動かなければならなかったり、使用を避けなければならない状態です(希に、あえて積極的に使う例もあります)。
たとえば、人型ロボットはよく膝を曲げた状態で歩いていますが、あれは膝関節を伸ばしたところが特異点で、逆運動学計算に支障がでるためです。 一方、人間は膝関節を伸ばしきることで、膝を動かす筋肉への負担を減らしています。 


なかなか、実在のマニピュレータを触ってみることはできませんし、自分で模型をつくるのは大変です。 一方で、人型ロボットのプラモデルは年々性能が良くなり、いろいろな動きをする関節部品が入っています。
ご関心があれば、一度、手に取ってみてはいかがでしょうか。今回のネタのために、私も初めてまともに「ガンプラ」をつくり、その成形技術や関節の設計技術に驚きました。 しかも、外見以上に,内部には複数の自由度が組み込まれています。
最近のアニメでは、予め3次元の設計をしてからCGで製作するものが増えていますが、いまから30年近く前は人間がとったポーズをもとにロボットアニメを作っていました。そのころはとてもおもちゃでその動きを再現できなかったのですが、その溝を埋めるべく、プラモデル業界の「ロボット設計」の技術革新が進んできているようでした。

第19回 プリント基板の基礎と設計・試作

資料アーカイブ 20131204版


内容紹介

プリント基板の構造
基板を設計できてよかったこと
パターンの配線(電源・電力)
デザインルールと配線本数
今回は、このメカトロセミナーのなかでも異色な、電子回路の実装に関する話題として、プリント基板についてまとめました。

メカトロ機器の開発の中で、なにか電子回路を自分たちで設計して組み込もうとした場合は、回路基板が必要になります。 作るものが1台だけの場合は、蛇の目基板という、汎用の基板に部品をハンダ付けして組み付け、部品間をワイヤで配線するという方法もあります。 一方で、数が増えてきた場合は、量産性を考えてプリント基板を独自につくったほうが良いことが増えます。 とくに、ある程度以上の性能の回路を作る場合は、プリント基板にしたほうが性能(性質)が均一化するという利点もありますし、回路を1個作る場合でも、部品の都合(とくに最近は表面に貼り付ける部品:表面実装部品のほうが一般的です)、信号の特性確保などのために専用基板が必要になることもあります。

このような基板を作るにあたって確実なのは専門の会社に設計を依頼することです。ただし、これには相応のコストがかかります。 一方で、最近では基板を自分で起こすための手段が、以前に比べてぐっと手頃になり、低コストに基板化できるようにもなりました。 このような背景を踏まえて、回路基板についての基礎雑学と、実際に設計製作していく手順をまとめました。


プリント基板は絶縁板(多く使われるものはガラス繊維をエポキシ樹脂で固めた、通称ガラエポ、FR-4という素材)に銅箔(標準的には厚さ35ミクロン)で配線を形成したものです。 標準的なものは、いくつかの層(レイヤ)から構成されており、基板の設計もこのレイヤを基準に行います。

まず、本体として絶縁板、その両面(単純なものは片面)の表面に貼り付けてある銅箔の回路の配線面(パターン)があります。 部品の足を通してハンダ付けするところは穴があり、その周りに丸いパターンを用意します(ランド)。 表面実装の部品の場合は、その足があたるところに、長方形などの銅箔を用意します(パッド)。
両面基板の場合には、一般に穴の中をメッキして電気的につないでいます(スルホール、同メッキ)。 このスルホールには、部品を通すためのものの他に、基板の両面をつなぐだけのもの(ビア)もあります。
ここまでのところで、回路基板としては機能しますが、さらに、不要なところにはハンダが付かないないようにし、かつ銅箔が錆びないようにするレジストという保護膜を重ねます(一般に緑、もちろん、ハンダ付けすべき所は覆われる。ビアは覆う場合と、覆わない場合とある)。 加えて、基板を見たときにどこにどの部品が付いているかなどを分かりやすくする印刷(一般に白い)をします。

これが、普段電子機器などでよく見かける、部品の載った板、緑色で、なにか線が見えて、番号などが白く印刷してある板、の正体です。 古い機械では、茶色の板に載っている場合がありますが、それは絶縁板がベークライト、レジストもシルクも無し、という時代のものです。 (基板加工機による基板もそのようなかんじ)

これは広く用いられている、2層基板というもので、両面に回路が形成されます。 それでは配線が足りないとき、具体的には大量の配線を狭いところに詰め込みたい場合などに、絶縁板と銅箔をサンドイッチに重ねていく基板が用いられます。コンピュータなどでよく用いられるものは4層基板(一般に両表面が配線で、中2層は電源用)ですが、携帯電話やスマホなどには10層を超えるようなものが用いられる場合もあります。


さて、プリント基板を作るという場合は、その言葉には大きく二つの工程があります。 一つ目は基板のパターンなどを設計する段階で、先の各レイヤの形状データをつくる(部品を配置し、ランドやパッドを決めて、配線をつないでいく)工程です。
二つ目は「基板」という板を製造する段階です。
いうまでもなく、この前にはどのような回路にするかという回路設計と、後ろには部品を実際に基板に乗せてハンダ付けをしていくという段階があります。

基板の設計には、基板のパターンを作図するためのソフト(無料~数万~数十万~数百万円)と、その設計の技能が必要になります。 ただ、「ある程度までの回路」はソフトの使い方を覚え、原則となるルール、たとえばマイコンやセンサなどの弱電部分と、モータの電力制御を行うようなパワー部分は離す、といったものを守り、線をどこを通すか、というパズルで決着します。 微小なアナログ信号や高速なデジタル信号を扱おうとすると高度な技能が必要になりますが、ちょっとしたものをつくりたい、というときには、見よう見まねから初めても案外なんとかなります。
後述のように「製造」が楽になったことで、以前に比べると基板作りに趣味の範囲でも挑む人は増えています。

今回のセミナーでは、おおざっぱですが、その設計の手順についても触れました。


次の段階は製造です。
製造は、自前で作る方法と外注する方法がありますが、原則として外注をお勧めします。

自前で作る方法としては、従来からある、エッチングという手法でつくります。
詳細は省きますが、そこそこ手間がかかるのと、エッチング液の処理という面倒さが有り、また穴開けなどもあることから、あまりお勧めしません(ホビーとしてするには、手軽にするテクニックなどもあります)。

少し前から普及した手段に、基板加工機というものがあります。
これは、基板専用のNC工作機械で、全てのプリント基板の原料である「生基板」という、絶縁板の全面に銅箔を貼ってあるもの(一般にはこれをエッチングで化学的に溶かして配線を残します)の表面を、先端がV字になった工具で切って溝をつくり、必要な配線を独立させるものです。
これは、溶液処理などが不要で、設計データからほぼ自動で基板を作り出してくれるため、少量生産などにも手軽で、設計が終わったらすぐに加工できる即応性もあります。ただ、この機械そのものがそこそこ高価で有り、導入が悩ましいところです。

外注する場合は、なんらかの方法で業者に設計データ(一般にはガーバという形式で)を渡し、製造をしてもらいます。 これは昔も今も変わらないのですが、この外注の敷居が大きく下がったことが、2000年を過ぎてからの特徴です。
従来は(いまも一般的ですが)、基板を外注する場合は、最初に製造準備をするために初期費用が万円単位でかかります。 1枚ごとの値段は安いのですが、この初期費用のため、数十枚、数百枚、数千枚を頼むならまだしも、2,3枚という場合には高く付きます。
ここに近年ひろまった手段が、ネット発注の格安基板です。1枚当たりは高くなることもありますが、初期費用がないため、たとえば10枚くらいだけ作りたいという場合に、安く作れます。 ネット時代の恩恵ですが、海外(台湾や中国)に直接発注することもでき、さらに安く、たとえば、数千円などで、1週間程度で作れます。 これにより、ホビーレベルでも基板設計し、外注する事例が増えてきました。発注できるので、基板設計も自分でやってみよう、という流れになったわけです。
私のところでも、従来は基板加工機で基板作りをしていましたが、最近は最初から外注前提で設計することも増えました。


よく機器で見かける緑の板の正体と作り方についてまとめました。 回路の設計をしたことがないという場合は難しいとは思いますが、すでに回路を設計組み立てをしているという場合は、基板設計の内製化ということも考えてみてはいかがでしょうか。ちょっとした試作機作りに役立つほか、手元で設計したものだといざというときの不具合の手直しなどにも効果があるとおもいます。すくなくとも、当方では基板技術があってこそのロボット作りをしています。

第20回 移動するメカ・ロボットと制御の基礎

資料アーカイブ 20140318版


内容紹介

車輪移動ロボット大原則・車輪を滑らせない
多少特殊な操舵型4輪運搬ロボット
駆動輪の摩擦で推進:駆動輪に重さを集中
対向2輪ロボットの移動計算
今回は、上の第18回と対になる、移動ロボットに関する内容です。

ロボットの用語解説に「マニピュレーション機能または移動機能を持ち」という表現があります。 これは世の中のロボット研究の大半が、このマニピュレーションか移動に係わるものという事情もありますが、自動でなにかを移動させるということに大きな需要があるためです。実際、ロボットと呼ばれない機器でも、移動させるために使われる、移動する機械はいろいろあります。 代表的なものでは自動車があり、自動運転自動車などは、あきらかに移動ロボットの一種です(ただ、現状では「ロボット」とは呼ばれていません)。

移動するロボットには、様々あります。地面を動く物でも、車輪によるもの、クローラ(キャタピラ)によるもの、歩行するもの、転がるものなど様々です。さらに、地上に限らず、飛行するものや、水中を進むもの、最近では宇宙空間で動作するもの(惑星探査系は地上のものと同系ですが)などあります。
その中でも、身近で、実用的に用いられているものの多くは、車輪移動ロボットで、今回もその車輪移動を中心にしています。


車輪移動をボットを扱う上では、「車輪はすべらない・すべらせない」という大原則があります。
これは、滑らせてしまうと不定な動きになり動作の予測ができない場合が出てくること、また、移動ロボットでは「自分の位置を推定する」ことが重要ですが、車輪がすべるとそれが難しくなること、があります。
滑らないで移動するために、車輪に許されるのは、転がることです。ただし、直線的に転がるだけでは無く、円弧状を転がることもできますし、(現実にはトラブルが問題がありますが、数学的には)その場で、接地点を中心に鉛直軸回りに回転することもOKとします。横滑りを禁じるわけです。
円弧ができると、任意の曲線もOKになります。これは、曲線は極短い円弧が連続的につながったもの、と見なすことができるためで、時々刻々と半径を変えながら円弧を走る、ということで曲線走行もできます。

以上は「車輪」についてですが、車輪をいくつか取り付けた車両・ロボットではもう一つの条件があります。
それは、すべての車軸(の延長線)が一点で交わる、という条件です。
車輪が転がるとき、その円弧の中心は車軸上のどこかにあります(直進のときは無限遠方、ずっと遠くに中心があるとみなす)。 車両に付いている車輪が滑ること無く動くためには、すべての車輪がある一点を中心に回る必要があります。 そのため、車軸がその点を向く必要、逆に言えば、車軸が全て一点で交わり、そこを中心に回る、ことになります。

もう一つ、覚えておかなければならないのは、これらの車両は「駆動輪の摩擦力で進む」ということです。 複数の車輪がある場合、それらの車輪で車体の重量を分担しますが、摩擦力はその車輪にかかった分の重量に比例します。 もし、駆動輪以外の車輪にばかり重量がかかっていると、駆動輪は推進力を出そうとしても滑って空回りしかねません。 そのため、駆動輪をいかに地面に押しつけるか、も機体のデザインでは重要な要素となります。


この制約の下、車両のモデルは二つに分けられます。
ひとつは、方向を変えられる、操舵輪を持つタイプで、もう一つは持たないタイプです。
たとえば、自動車や三輪車は、前輪がハンドル操作で方向を変えます。これによって車両全体が円を描いて走行します。
一方、2個の、独立して自在に速度を調整できる車輪を、同じ線上に並べることでも、車両が実現できます。 このタイプを対向2輪型、独立2輪駆動型などと呼んでいます。 この対向2輪は従来の機械ではあまり見かけませんが、最近普及の進むお掃除ロボットや、セグウェイという乗り物はこの方式ですし、研究用の車輪移動ロボットは大半がこの形式です。 これは、ステアリングという面倒な機構が不要で、単にモータに車輪をつけたようなものを2個並べればよいという構造の簡単さ、と、自動車のような車両には不可能なその場での旋回動作ができるという点、がその採用理由になっています。さらにロボットの形状を丸くすれば、旋回しながらそのあたりに引っかかることもなくなるため、お掃除ロボットは総じて丸い形状をしています(角の掃除ができませんが、一部の高等なものは四角くしていたりします)。
この対向2輪型は、その共通の車軸の線上の任意の位置に中心を置くことができ、それは左右の車輪の速度差で決めることができます。 そのため、操舵型の車両は操舵輪の方向で進行方向(旋回の半径)を決め、対向2輪型は速度差で旋回の半径を決めるという違いがあります。
さて、このようなロボットを制御するためには、大きく二つの作業が必要です。
一つは、ロボットの位置を特定すること、もう一つはその位置をもとに、ロボットが進むべき方向、速度などを決めることです。

前者のためには、ロボット自身の動作による計測と、その他のセンサによる情報を併用します(簡易的には前者のみ)。 ロボットの車輪(を駆動するモータ)には,回転量のセンサをとりつけます。 この車輪の回転を短い時間ごとに測定して、その間の各車輪の移動量を割り出します。 この時間には「ロボットが円弧を描いて移動した」と仮定すると、どの程度進行方向が変わり、位置が変わったかを算出することができるので、これを最初から少しずつ積み上げていくと、現在の位置が分かる、という原理です。
これを自己位置推定と呼んでいます。
車輪が滑ってはだめなのは当然ですが、どうしても僅かな誤差は避けられません。 そのためある程度の距離を走行するとずれが出てきます。

抜本的には「ずれない計測手法」を併用します。たとえば、GPSは、その測定値には誤差がありますが、その位置がだんだんと誤差として積み重なっていくことはありません。また、各種センサで周囲の状態を計測し、事前に用意しておいた地図と照合することで位置の補正をする手法も用いられます。 このような「絶対的な計測」とそれによる補正は、長時間の運行のためには重要です。
ただし、もっと直接的に、明確に引いた線をたどって走らせる、ライントレースなどを用いるときは、線が絶対的な情報となるため、それ以外の手間はかからなくなります。

これをもとに、車両の運動制御をします。(1)車両そのものの走行の制御(指定した半径や速度で) (2)指定した経路に沿っての走行 (3)経路を決める方法、が必要です。また、障害物を避けるなども必要です。
これらは、たとえば、人間が歩いたり、自分で車を運転する場合には当たり前にしていることですが、まだ、ロボットではこれをすべて人間並みに自動化するには至っていません。とくに、後半の環境を認識して経路を調整したりするという部分については、「人間並み」から比べるとまだまだ能力が低いところです。これらが、より「かしこく」なることが、自動運転自動車実現のためのかぎとなるでしょう。


以上のような、車輪移動を中心に、移動ロボットを考えて、つくるための基礎的なところをまとめました。


熊谷正朗 [→連絡]
東北学院大学 工学部 機械知能工学科 RDE
[| ]