講座資料と簡単な解説(01-10)

[| ]  最終更新: 2012/08/28 08:54:34

第1回 ロボット・メカトロニクスの基礎

資料アーカイブ 20110118版


内容紹介

メカトロニクス
メカトロニクスの構成
ロボット、メカトロニクス分野の全体をおおざっぱに眺めます。

メカトロニクスは、「メカニクス」(機械工学)と「エレクトロニクス」(電子工学)から作られた言葉で、技術的にもまさに、電子制御された機械、を指します。 一時期は電子回路だけの制御も多くありましたが、最近はコンピュータ制御であることが一般的です。その背景には、コンピュータの高性能化、小型化、低コスト化によって、「コンピュータ制御のほうが安く簡単に高付加価値のものが作れる」ようになったことがあります。
ロボットは定義が曖昧ですが、技術的にはメカトロニクスの一部で、メカトロニクス開発ができれば、アイデア次第でロボット開発ができる、といっても過言ではありません。

メカトロニクスなシステムの構成要素は、

で構成されます。全体が一つになって、「メカとコンピュータの情報ループ」が構成されます。

これらを適宜設計開発して組み合わせれば、メカトロニクスな機器を作ることができるといえます。 実際、適切なメカをつくり、コンピュータと無理矢理にでもつないで、電気的に情報のループをつくれば、とりあえず動くものはできます。 ただ、各部分のつなぎ目を適当につくると、効率やコストの面でも、性能の面でもよくありません。 このつなぎ目をどう考えるか、そのためには、「隣のことを知る」ひいては「全体を知る」ことが不可欠と言えます。

本講座では、こういったことを中心に、玉乗りロボットを実例として、考慮すべき点なども含めた解説を行いました。


第2回 マイコンの初歩

資料アーカイブ 20110222版


内容紹介

コンピュータの仕組み
ロボットに使われるマイコンの例
メカトロニクスなシステムの重要要素である、制御用コンピュータに関する講義です。 とくに、製品に組み込まれる小型コンピュータである、組込マイコンに重点をおいています。

今回の講座は大きく3部構成です。

普段、いろいろな形で使っているコンピュータですが、制御に使う場合~メカトロなシステムに限らず、電子的なシステムも、また制御でなくとも~は、多少なりとも、コンピュータのハードウエアの構造を知る必要があります。
一つ目の理由は、コンピュータになにか、普通ではないものをつなぐ以上、そのつなぐことを考えるためです。
二つ目の理由は、パソコン用やWEB用のソフトウエアを使うときには、OS(オペレーティングシステム、基本ソフト)がハードウエアがどうなっているかを意識させないように隠している一方で、制御の場合はどうしても直接ハードと向き合ったプログラムが必要になります(ローレベルな、という表現をします)。
三つ目の理由は、マイコンの性能などを見る場合、ハードに直結した記述がたくさん出てきます。そのため、多少なりとも、知っておく必要があります。

そこで、コンピュータの構造をなるべく簡略化し、解説します。 動作と構造は、本来切っても切れないものなのですが、同じような動作のために、小さなコンピュータからパソコンクラスまで、構造がいろいろあるために、わけて考えます。 その延長で、マイコンがいかなるものかが見えてくるはずです。

最後に、実際に使っているマイコンの例を紹介するとともに、「これからマイコンを触ってみたい」という場合の、とっかかりのおすすめをします。



第3回 デジタルの基礎

資料アーカイブ 20110831版


内容紹介

デジタル回路の素子
加算回路
コンピュータを初めとする、さまざまな装置の動作の原理であるデジタルに関する講義です。 デジタルの基本となる原理、電気的な実装方法、様々なデジタル回路の例などを紹介し、基礎に重点を置きつつも、その先も少し覗くことを目指しました。

今回の講座は大きく3部構成です。

コンピュータ関連製品は当然のこと、アナログ時計やアナログテレビすら、デジタルな部分が含まれている場合も多く、デジタルにお世話にならない生活は難しいくらい、あふれています。 これらのシステムは、全てを理解するには困難なものばかりですが、その基礎となる部分は非常に少なく単純です。それを気合いと根性で積み上げたのが、いまのデジタルです。

原理を知らなくとも、使うことはできます。 しかし関連するものを「つくる」となったら、ある程度は把握しておいて損はありません。 とくに、回路そのものを作らなくとも、その制御を行う組込ソフトウエア開発においては当然知っておく必要がありますし、純粋なソフトウエアであっても、「デジタルの特性」を把握しておくことが、より効率のいい処理に繋がることもあります。

講義後に受講なされた方々の感想を頂いたところ、ソフト開発系の会社の方からは「なつかしい・思い出した」「久しぶりに意識した」といったご意見を頂きました。 ソフト開発系では新人研修では当然通ったところだと思います。
一方、これまで無縁だった方には少し難解だったようです。後半に実践例が多すぎたかもしれません。ただ、ルールそのものは単純で、そこから「目的に応じてどう積み上げていくか」がデジタルの基本で、AND/OR/NOTだけでいろいろなものができている、という感覚だけでもつかんでもらえればと思います。

話の中で、昔は真空管やリレーで計算機を作ったこともあった、という話をしましたが、関連資料がありました。
コンピュータ博物館:論文
ご参考まで。

簡易シミュレーション

今回、回路の動き方を説明するために、簡易的なロジック回路シミュレーションをつくりました。 以下、そのままWEBブラウザでお試しいただけますが、javascriptの互換性の関係で、どのブラウザでも動くかはわかりません。さしあたって、Firefox (5/6)とInternetExplore8では動作を確認しています。また、画面解像度は1024x768は必要です(場合によっては全画面表示をしてください)。



第4回 アナログ信号の基礎

資料アーカイブ 20110921版


内容紹介

周波数特性とは
ノイズ対策:ツイストペアと差動伝送
メカトロニクスなシステムでは、主にセンサ関係で必要になるアナログの扱いに関する講義です。 アナログ回路を設計するため、ではなく、手元にあるシステムを眺めるため、触るため、チェックするために必要な項目について、基礎的かつ即効性のある(あった)内容を雑多に並べています。

今回の講座は大きく3部構成です。

メカトロシステムを設計開発する上で、アナログ部分は一つの大きな課題です。
世の中の多くの現象がアナログであるため、少なくともセンサの周りだけはアナログの要素が残りがちです。近年ではデジタル出力のセンサも増えてきてはいますが、そのセンサにもアナログ的配慮が必要ですし、センサの特性はアナログ的発想で示されていることがよくあります。
加えて、デジタル信号であったとしても、周波数の高いデジタル信号の扱いにはアナログ的理解が必要な場合があることも指摘されています。
メカトロ設計を無難にするには、アナログ部分をなるべく少なくして、なるべくデジタルで行うことが楽をするコツですが、その残ったアナログ部分のための雑学です。

アナログを扱う上での最大の問題は、「電圧(電流)がそのまま値を表す」ということです。デジタルの場合は、「大きい/小さい」など極端な状態のみを使うため、多少電圧信号に変化があっても値そのものには影響が出ることはありません。ところが、アナログの場合は、多少の変化でもそれが値の変化に直接繋がります。 フィルタなど、その事後改善を図るための手段はありますが、完全な修復は無理で「いかに信号にゴミを混ぜずにすませるか」は重要な問題です。

今回は、メカトロの一部として、今後、センサなどの話をすることも念頭に、周波数特性(周波数応答)の解説も含めました。 数学的にも実験的にも、信号波形が、様々な周期・振幅の正弦波(+余弦波)の和で表せることが確認されています。そこで、センサや回路の入出力の特性を示すために、なんらかの具体的な波形を用いた結果ではなく、様々な周波数の正弦波を入力したときの応答で表すことにしています。これを一式にした物が周波数特性・周波数応答と呼ばれる物で、これを見ると、ある周波数における 1:増幅率(センサの場合は感度) 2:位相(信号の進み遅れ) を知ることができます。具体的には、何Hzくらいまで信頼して使える回路なのか、信号がどのくらい遅れる可能性があるのか(遅れは計測制御に悪影響が出ることがある)などを知ることができます。 一転して、信号の扱いの話では、主にノイズと計測を話題にしました。
ノイズ対策は、それだけで解説書が何冊も出来るような、それでいて簡単には解決策の見つからない(泥沼な)ものですが、「少なくともこれくらいは試してみるとよいのでは」という手段があります。実際、身の回りの装置類では、これらの対策が大抵取られています。その手段が使われている理由と目的、実際に自分の手元の回路にも使いうる、ということを知ることがスタートだと考えます。
一方、回路に何かあった場合にはそのチェックのために、テスタやオシロスコープなどを当てて信号を調べます。この「測定器をつなぐ」ということが、回路にとって悪さをすることがあります。また、測定器に表示されているものが、現実の波形とは異なることもよくあります。十分すぎるほど性能の高い測定器(でも高価)では起きない問題でも、手近な測定器では当たり前におこる、そんな測定トラブル事例も紹介しました。


第5回 アナログ信号のコンピュータへの取り込み

資料アーカイブ 20111018版


内容紹介

アナログ→デジタルの構成
サンプリング
メカトロ・計測で対象とする現象の多く(温度、明るさ、速さなど)は連続量であるアナログです。一方で、その処理を行うコンピュータはデジタルです。 そのため、どこかの段階で、アナログ値をデジタルに変換する必要があります。 今回は、その変換の過程で把握しておいた方がよいことをいくつか取り上げました。

このアナログをデジタルに変換すること、アナログデジタル変換(AD変換)を使うに当たっては、主にハード面への理解と、そのハードを使うためのソフト的理解が必要です。今回のセミナーでは

を中心にまとめました。

AD変換そのものの機能は非常に単純で、一言で言えば「入力されたアナログ値に比例したデジタル値を出力する」ものです(一般的には比例とは限らないが、直線的な関係)。 そのため、コンピュータにAD変換器をつなぎ(または内蔵)、適切に変換の指示をおくれば、そのまま、センサなどのアナログ値に対応したデジタル値が得られます。
ただ、実際に使おうとすると、大きく三つの点で、慣れないと面倒なことがあります。

一つ目は、選定などの際にみるデータシート(説明書)の項目の多さです。AD変換の性能を表す数値は非常にたくさんあり、まずはどの値が重要かを知り、それを見分けることが要求されます。 主なものとしては、分解能(ビット数)、変換速度(時間/周波数)、チャンネル数があります。 そのほかにも、アナログ的特性、誤差と言った項目も様々並んでいます。

二つ目はサンプリング定理とよばれる、時間変化するデータを連続して取り込む際に留意すべき制限です。サンプリングとはデータの取り込みを表す言葉で、AD変換に限って言えば、AD変換すること、とほぼ同義です。 1秒間に何回サンプリングするかをサンプリング周波数といいますが、このサンプリング周波数の1/2の周波数(の正弦波)までしか入力してはならない、というルールです。逆に、ある周波数の信号を取り込もうと思ったら、その2倍より速い速度で取り込まなければなりません。 現実には少なくとも4倍、なるべく10倍は必要とされています(特に正弦波以外で波形の違いなどを見たい場合はより高いサンプリング周波数が必要)。
このルールを無視すると、「データがとれない」ではなく「偽のデータがとれる」ため、注意が必要です。これはデジタルオシロスコープなどの「AD変換を使っている装置」でも起きる場合があります。また、テレビの自動車CMでホイールが止まったり、逆回転して見えることがありますが、これもこのサンプリング定理によります。

三つ目は多チャンネルADを使う場合の注意です。AD変換は複数の入力をもつものがよくあります。たとえば「16ビット8チャンネルAD」などと表現されます。 複数の入力をつなぐ場合などには便利なのですが、多チャンネルの変換をするばあいに速度が落ちる場合が多く、かつ、同時にサンプリングできないものも多いため、選定には注意が必要です。

これらの点について、それぞれ紹介しました。

セミナーで併用した資料など

※データシートは本ページ利用者の利便性を考慮して、各社WEBより頂いています。必要部分のみを引用すべきですが、保護されていて切り抜きもできないので、丸ごと置きます。

第6回 センサの基礎

資料アーカイブ 20111129版


内容紹介

センサの役割
センサの種類、接触式と非接触式(写真はWikipediaより引用)
メカトロニクスに必要な不可欠な要素として計測があります。
センサはその計測の根幹をなす部品の一つで、被測定量(測定対象となる量、物理的量、化学的状態等)を電気的な変化に変換します。

被測定量としては、

などを測定することが出来ます。

一方、変換されたあとの電気的変化は、

などの形態となります。

また、同じ対象を測定するのでも、接触式のセンサや非接触のセンサ、受動的(パッシブ、被測定量を受け取るだけ)なセンサや能動的(アクティブ、対象に何らかの働きかけをしてその反応を見る)などの複数の方法がある場合があります。
接触式のセンサは一般に何らかの影響を対象に与えてしまいますが、非接触は影響をほとんど与えずに測定できます(が、一般的に高価だったり性能が得にくかったり)。
能動型のセンサは、受動型では測定できない情報も得ることができますが、センサどうしの干渉の恐れや、受動型にはない環境制限がある場合もあります。
さらに、センサは、変換原理の部分だけをもつセンサ部品(デバイス)、それとセットになる処理回路まで含めたモジュール品やセンサIC、箱に入れて情報処理までこなすセンサ装置などがあります(装置が使いやすい一方で、高価だったり大きかったり重かったりという問題があることも)。

センサを使う場合には、なにを測りたいのか、どういう性能が必要か、どういう出力が望ましいか、などをもとに選定を行うと供に、それをどうやってコンピュータ内のデジタル情報にするかまでを一連として考える必要があります。

さて、センサを選ぶには、センサの特性を知る必要があります。
実際に買ってみて、試して見るのが一番ですが、買ってみるにしても予め調べておく必要があります。 そのためには、センサの特性をカタログ、データシートで確認する必要があります。
センサの特性には、精度はもちろんのこと、ヒステリシスや応答性といった時間変化する値を測定する場合に気をつける特性があります。 さらに、多くのセンサは(温度センサでなくとも)温度変化で出力の特性が変化します。 場合によっては補正が必要ですし、温度を一定に保つ工夫がいる場合もあります。
センサを選定する上では、こういった特徴がある、ということは頭の片隅に置いておいた方がいいでしょう。

さて、目的の特性をもつセンサが無かったとしたら。
一般的には、より性能の低いセンサで制御が耐えられるかを検討することになるでしょう。 大きな余裕があれば、センサ開発から始めるのも可能性の一つです。
加えて、センサは「合成」できる場合があります。

探してきたセンサで「全て特性が完璧ではないけど、AのセンサとBのセンサのいいとこ取りをすれば目的を満たす」という場合には、信号処理で対処することができる場合があります。
たとえば、

などができます。また、速度を測定したいときに、位置を測定して微分したり、加速度を測定して積分したり、異なる測定値から変換することが出来る場合もあります。
そのためには信号処理の方法も知る必要がありますが、その基礎は第7回でお話しします。

これらの点について、それぞれ紹介しました。

セミナーで併用した資料など

※データシートは本ページ利用者の利便性を考慮して、各社WEBより頂いています。必要部分のみを引用すべきですが、保護されていて切り抜きもできないので、丸ごと置きます。

第7回 センサ信号の処理の基礎

資料アーカイブ 20111220版


内容紹介

センサの信号処理の役割
信号処理の実例
センサを付ければ計測・制御ができる、わけではありません。 センサの信号を回路で適切に変換し、A/D変換してコンピュータに取り込んで得られたものは、まだ、「ただのデジタル数値」です。これを情報とするために、信号の処理が必要になります。

もっとも簡単な処理としては、得たデジタル値を単に被測定量に変換する処理です。 比例関係がはっきりしている場合は、定数をかけたり割ったり(普通は割らないで済むように逆数をかけます)、直線的な特性(一次関数)の場合も簡単な計算で戻せます。
より複雑な場合は、曲線を使ったり、予め用意しておいた変換表(テーブル)を用いて変換します。

信号処理は様々な種類があり、また、その実装方法も様々なため、今回は代表的な物として、移動平均、メディアン(中央値、中間値、メジアン)フィルタ、1次IIRローパスフィルタを波形を交えて紹介しました(そのときのExcelファイルは以下に)。
フィルタにはFIRとIIR型があり、かつ、FIRの場合は未来の値を使うかどうかと言う区別があります(一般にはFIRは未来の値を使う設計をするので、それを全部遅らせる)。 移動平均フィルタはFIRの代表例として、もう一つの1次ローパスフィルタはIIRの代表例として挙げました。いずれもローパス特性を持ちますが、今回の実演の範囲を超えた(Excelではできないような)ところで、両者の演算量や特性には大きな違いが出てきます。 一般に、1次ローパスの方が便利ですが、(1)周波数による遅れを均一化したい(FIRの特性) (2)特定の周波数で強力な除去をしたい、という場合には移動平均は手軽です。

メディアンフィルタは、画像処理では以前からよく使われていたフィルタで、突発的なノイズ(スパイクノイズ)を除去する能力に優れます。その一方で、ローパス系のフィルタだと信号の変化が急なところでなまってしまうところを、エッジを残したまま通す、という特徴があります。 火花が出るような状況(スイッチやリレーや直流モータのブラシなど)ではスパイクが入りやすく、その処置に便利です。
メディアンフィルタは「大きい順に並べ替える」という処理があるため、コンピュータの処理量が多く、能力VS演算量というジレンマがありました。が、いまはコンピュータが十分早いので、必要なら使っても問題ないと思います。

信号中にある特定周波数を抽出する処理も、実用性の高い手法です。
揺れている装置の固有の振動を探したり、周期性はあるけど微弱な信号を検出するといった用途に効果的です。いまでは、オシロスコープなどにFFT機能が標準で搭載され、手軽になりましたが、自分で測定した信号波形に対しても、簡単な処理で周波数分析はできます。

最後に処理の実例を挙げました。
一つはロボットの姿勢センサの処理です。ロボットには角速度ジャイロ(レートジャイロ)と呼ばれる「回転する速さ=倒れる速さ」を測定するためのセンサと、重力の方向を検出するための加速度センサを用いることが一般的です。 これはジャイロは積分しないと傾斜角度が得られないのに、積分には値がずれていく危険性があること、加速度センサは重力の方向だけではなく、自分自身の揺れまで拾ってしまうこと、というお互い短所があるため、ジャイロの反応の良さと加速度センサの長い目で見た安定性を併用するためです。 この組み合わせを簡単に実現する方法を例示しました。
また、音楽を周波数分析する実験例を挙げました。 音楽における音高は周波数で、周波数分析によって確認できますが、それと同時に音の出るタイミングが重要です。周波数分析では一般に、周波数の細かさ(分解能)と時間の細かさは両立しません。 そこで、周波数によって周波数を優先するか、時間を優先するかを変えられるウェーブレット変換の考え方を導入して処理をしました。

これらの点について、それぞれ紹介しました。

セミナーで併用した資料など


第8回 モータの基礎

資料アーカイブ 20120123版


内容紹介

直流モータの分解写真(津川製作所製組み立てキット)
直流モータの特性:電流で使う/電圧で使う
今回はモータの基礎と題して、メカトロにおいて、コンピュータの指令を機械的な運動に変換するアクチュエータについて扱いました。
一般にはアクチュエータと呼ばれていますが、メカトロ業界では電磁式のモータ、もしくは、コンプレッサ+電磁バルブ+空気圧シリンダ、のタイプが主流で、あまり特殊なアクチュエータは使用されていないようです。油圧系も使われていますが、近年のモータおよびその制御技術の性能向上に伴って、電気への置き換えが進んでいます。そのため、今回は特に電磁式アクチュエータの大半である電磁式のモータに絞って、その概要と、実際にモータを使うときに考慮すべき事について、お話ししました。

産業目的で用いられるモータでは、

などが挙げられます。いずれも電力(直流、交流、パルスなど)を投入し、その結果動力が得られる、電磁式のモータです。

直流モータは直流電力(電圧&電流)を供給すると、交流モータは交流電力を供給すると回転し、「サーボ」とつくものは制御性を重視した構造になっており角度センサを一体化してあることが一般的です。
これらのモータでは、回転モータの力であるトルクは電流に比例するという特徴があります。 直流モータの場合は電圧を高くすると回転速度が速くなる、交流モータの場合は(大抵のものは)周波数を高くすると回転速度が速くなるという特性が目立ちますが、実は、これらの特性より重要な位置にこの電流の関係があります。 とくに、モータの精密な制御を行う場合は、トルクと機械の運動が数学的にも直結しており、一見すると速度や回転角度の制御装置でも内部ではトルク(すなわちそれに比例する電流)を制御している場合が多くあります。

この特性は、モータの使い方にも関係します。
直流モータを例にあげます。本来はモータの性能の上限は「トルク」と「回転速度」です。 前者はモータに流せる電流の大きさ(それを超えると焼けたり永久磁石がダメになったり)で決まり、後者は機械的な制限(ベアリングの寿命、遠心力等への対応)で決まります。 電流制御で回転数も見ながら使用した場合(電圧は状況に応じて制御装置が自動的に決めます)はその性能の範囲が使えますが、モータに供給する電圧を直接調整した場合は、その性能が生かし切れません。その意味でも、電流制御をすると性能が引き出せます。 これは別の視点から見ると、一回り小さなモータで足りる可能性を示唆しており、小型化やコストダウンにも繋がります。

ステッピングモータは直流、交流のモータとはまた違った特徴を持ちます。電流を順番に切り替えるだけで、センサ不要で狙った速度、角度で回すことができるという利点があり、マイコン制御で簡単に動かせます。また、制御性を考慮すると比較的安価なモータです。
ただし、速度・トルクの限度を超えると脱調とよばれる現象を起こして、回転がとまり、力が抜けます(たとえば直流モータは過負荷になっても力は抜けず、回転速度が下がるのみ)。 また、この「限度」の特性はモータによって異なる曲線で表されるため、選定には注意が必要です。 そのため、予め動かし方やどの程度の力がかかるかが分かっている用途に限定されますが、生産機械などは動作が一定のため、問題になることはあまり多くないと考えられます。

こういった内容について、それぞれ紹介しました。

セミナーで併用した資料など



第9回 制御の基礎

資料アーカイブ 20120224版


内容紹介

比例制御の概要
モータの角度制御方法
いまどきの装置には欠かせない考え方・機能である「制御」を今回の話題にしました。
単純な機械の場合には、モータをただ回すだけでもいいのですが、なにか多少複雑な機能を持たせたり、付加価値、省エネ対策などを考えていくと、多かれ少なかれ、制御が必要になると考えられます。

制御する、という言葉は一般的な言葉で、ことさら定義づける必要はありませんが「対象を思い通りに動かす方法」とおおざっぱにまとめることができます。 この場合の対象は、メカトロにおいては機械であることが多いのですが、電子回路の制御、化学プラントの制御、コンピュータの動作の制御、交通渋滞の制御など、さまざまな対象があります。かつ、その背景となる原理はそれほど違わないため、一つ制御できるといろいろと応用ができます。

制御するという場合、多くはフィードバック制御です。
フィードバック制御においては、対象の状態をセンサで検出し、動作の目標(より上位からの指令)と一致するような対象の操作を算出します。これを対象に与えることで対象の状態が変わり、再びセンサで検出して、と回ります。輪になっているので、クローズドループ制御と呼ばれることもあります。

フィードバック制御の代表的なものに、PID制御があります。
まず、センサから得た対象の現在値を、目標値から引いて誤差を計算します。 この誤差から、操作を決定するために

という計算をします。対象に応じて、Pのみ、PI、PD、PIDといった組み合わせがあります。
P制御は非常に単純で、誤差があったらそれを打ち消すように対象を操作し、誤差が大きいほど大きく操作することになります。行きすぎたら誤差がマイナスになり、逆向きの操作をすることになります。
ところが、Pだけだと誤差が残り続けるケースがあります。恒常的に重力にひっぱられるようなケースでよく問題になります。その場合、I制御を加えます。これは誤差が残っていると、時間と共に操作が大きくなっていき、誤差が縮小していきます。最終的には重力の影響などをこのI制御が全てかぶります。目標値への一致精度を上げるという点では有用ですが、反応が遅くなるなどの弱点もあります。
また、P制御だけだと対象が往復動作(振動、発振)をし続けて、止まらなくなる場合があります。 このような場合にはD制御を用います。D制御は見方を変えると、目標と対象の速度の差を無くすように働きます。目標が固定値なら速度ゼロなので、速度に比例したブレーキと同じように働きます。逆に目標が移動しているとその速度に合わせようとするので反応速度が速くなることが期待できます。ただ、演算の仕方などでトラブルが起きる場合もあります。
このPIDをそれぞれどのくらい用いるかを決める定数をゲインといい、制御装置の調整では頻繁にこの値の調整があります(市販のモータ制御装置などでも内部パラメータに見られる)。

そのほかにも様々な制御があります。世の中、操作と結果に比例関係があるような単純なものばかりではなく、現実になにかを制御しようという場合には頻繁に問題になると思います。 これらを制御するためには、ある程度補正して、PIDで何とかできるようにする、という手法が効果的です。
たとえば、ロボットの姿勢によって腕にかかる重力の大きさは予め計算で求められます。 これを腕のセンサ値のずれから操作を調整するのではなく、予めこれだけの力が必要と分かっている分を出力してしまう、という方法(フィードフォワードの一種)があります。
対象の特性とその対処法を知ることで、性能向上が容易になるかもしれません。

これらの背景をもとに、実際にモータやロボットを制御する例を紹介しました。
直流モータを制御する場合は、まず、その電流を制御します。電流を制御することで、モータのトルクが間接的に制御されます(第8回を参照)。 これによって、「直流モータ」が「指令したトルクを出力できるモータ」という、新たな制御対象になります。 速度制御や角度制御する場合は、この「指令トルク出力モータ」の速度や角度を測定し、PID制御等によってトルク(電流)を操作量として指令します。 このように、制御を入れ子にして使うことも広く一般に用いられています。入れ子にすることで、トータルの反応速度が落ちることは多いのですが、それぞれの部分の特性がよく見え、制御を安定化しやすくなります。

以上のような内容について、お話ししました。

セミナーで併用した資料など



第10回 カメラと画像処理の基礎

資料アーカイブ 20120626版


内容紹介

平滑:移動平均とメディアン
実装例:自宅監視システム
一般的には「画像処理」という言葉が知られ、実際に使われていますが、産業的な面で求められるのは「画像計測」や画像、映像を用いた判断です。 たとえば、製品の表面状態を検査したり、マーキングの成否を判断したり、農産物の大きさ形状痛み具合を判断するなどです。 つまり、画像を得た上で、その中の情報を抽出し、それをもとに何らかの判断を下す、そこまでできて、やっと画像関連技術をシステマチックに利用できたことになります。
一般的には、カメラなどで画像を取得し、その下処理として画像処理を施します。画像処理を通したものは以前として画像で、ここから何らかの認識判断手法によって単純な情報(最終的にはOK/NGといった2値情報が多い)を取り出します。一般向けのデジカメ、ビデオカメラなども、撮影し、画像処理をするところまでは同じですが、それらは「人間が見る」という点で判断(感想?)は人間にまかせています。 現状ではソフトウエアによる判断力は人間の判断力には遠く及びません。

今回は、こういった画像処理の基礎的なところを押さえるとともに、画像処理系を独自に開発した実例として、自宅の防犯システムの構成とその手法に至った検討過程などをお話ししました。

画像を利用することの利点は「一度に多くの情報が取れること」であり、逆に欠点は「一度に多くの情報が取れすぎること」です。何の工夫もなく撮影した画像には、不要な情報が大量に入り込み、本来必要な情報を埋もれさせてしまいます。
そのため、画像計測の成否は「いかにくっきりわかりやすい画像を最初から撮影できるか」にかかっていると言っても過言ではありません。 ただ、工場のラインにおいて、この点は有利です。屋外の一般環境、たとえば自動車の自動運転をカメラでやろう、という場合には、なにがごちゃまぜに映るか分からない上に、光源が太陽であるため、天候や時刻によって著しく状況が変わります。 それに対して工場のラインでは対象だけが正面に移るようにする、光などの撮影環境を一定にする(周りを覆ってしまって自前の光源から当てる)などの対策が取れます。 こういう対策が取れるからこそ、ものによっては画像計測が実用になりやすく、かつできる限りの工夫をする価値があります。

画像の下処理(狭い意味での画像処理)はいくつかの系統があります。

まずは、元の画像から何を得たいか、どうすればその特徴が鮮明になるか、を考え、その目的に合致した処理を組み合わせます。
ただし、注意しなければならないことは、「撮影の工夫で回避できる処理はソフトでしない」ことです。処理によって速度が低下する(または装置コストのアップ)ということもありますが、ソフトで無理矢理処理するとその予期せぬ影響がでることもあります(たとえば、明るさが不足してノイズが多めになった画像に、ノイズ除去を強力にかけると、画像の鮮明さも失われやすい、など)。 最低限の処理で済むように、入り口からの工夫が必要です。

こういった処理を行う場合、市販の画像処理ツール(装置、ソフト)を使う場合とプログラムを組む場合があります。前者の場合はソフトに関する知識はさほど必要なく、処理の手順の指定で処理系が用意できるでしょう。後者の場合は、全て手書きしてもいいですし、OpenCVのようなライブラリを使うこともありますが、相応の知識が要求されます。
もし、一般的な処理のみで良ければ前者が無難だと思います。しかし、特殊な処理手法は組み込まれていないこともありますし、例外的な条件判断を多数入れるような「汚い手」を使うことも難しくなります。ある程度挑戦的な処理の場合は、ソフトを書く必要性があります。

画像処理は、「ロボットの目をつくりたい」という希望もあって、ロボット研究分野を一つの中心としてさまざまな研究がなされてきました。1990年代は特殊な演算装置をつかったり、処理時間に目をつぶって(非実用的な速度)研究がなされていきましたが、その後のコンピュータの性能向上と共に、個人的な印象で10年くらい、を経て民生品や産業用機器に当たり前に組み込まれるようになりました。
おそらく、いま研究されている内容もそのいくつかは10年後くらいに実用になっているものと思います。

セミナーで併用した資料など



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