サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
デスク環境を整える
www.mech.tohoku-gakuin.ac.jp
センサ信号の処理の基礎 仙台市地域連携フェロー 仙台市/仙台市産業振興事業団 熊 谷 正 朗 [email protected] C07/Rev 1.0 ロボット博士の基礎からのメカトロニクスセミナー ロボット開発工学研究室RDE 第7回 東北学院大学工学部 C07 センサ信号の処理の基礎 基礎からのメカトロニクスセミナー 今回の目的 ○ センサ信号の処理の基礎 テーマ1:センサの信号と情報 ・ センサの信号は処理が必要 ・ 値の変換処理・微分積分 テーマ2:フィルタ=時間変化する信号の処理 ・ ノイズ除去系のフィルタ ・ 周波数抽出・分析型 テーマ3:信号処理の実例 ・ ロボット姿勢センサ等 Page. 2 C07 センサ信号の処理の基礎 基礎からのメカトロニクスセミナー イントロダクション ○ センサの役割 物理的・化学的現象(*1)を電気的変化(*2)に
Linux Japan August 2001 7 Linux RESOURCE 1 Linux I/O root 1 root chmod +s root 2 2 3 1 1 0/1 2 3 core file 4 fsck 1bit CPU Linux kill Ctrl c Segmentation fault 3 4 Linux Japan August 2001 file_operation 3 I/O 2 3 1 1 5 OS insmod rmmod gcc -c .o 1 2 insmod rmmod cleanup_module() 6 mknod open() read() write() ioctl() Linux Linux file_operation NULL 2 register_chrdev() init_module() cleanup_module()
フレーム推奨ですが、<A HREF="index_jp.html">一応見ることはできます</A>。
このページではmini2440ボードに最低限のLinux環境をインストールします。 mini2440ボードはオンボードに64M(最近のモデルではより大量)のFlashメモリを積んでいて、ここをファイルシステムとして使えます。それと同時にオンボードでSDカードのスロットがあり、こちらもLinuxから利用可能です。 コンパクトな固定のシステムを作る場合には、当然オンボードで動作させた方が部品も少なくいいのですが、デバッグしたり、更新したりすることを考えると、最初からSDカードに詰めてしまった方がいろいろと便利です。 というわけで、SDカード上にカーネルをインストールし、ファイルシステムを構築します。 主に、 カーネルの取得と構築 ファイルシステムの基本作成 を行います。 なお、以下の記述はほぼ、project4funと mini2440 Bootstrap Lenny for your ARM
はじめに 近年、多くのものがディジタル化してきました/されつつあります。 以前は、テレビやビデオというとアナログ回路の固まりでしたが、最近は、電波はアナログで届くものの、すぐにその中のディジタル信号が取り出され、映像信号や音声信号の展開処理はディジタルのまま、録画機でもディジタルのまま保存され、はやりの薄型テレビにもディジタルのまま送られ、テレビの液晶パネルなどもディジタル(PWM)で表示されます。少し前までは録画機−テレビ間がアナログだったりもしましたが、ディジタル化が一気に進んできました。 唯一、音を扱う部分は比較的アナログ増幅が主流ですが、これも最近ではディジタル増幅がどんどん増えています。 その一方で、やはり、実際にやりとりすべき物理現象はアナログです。映像はCCDカメラなどで、光に応じた電荷として検出され、これがディジタルに変換されます。音もマイクの時点ではアナログ、ロボットの傾
ロボット工学に使う数学は、ベクトル、行列が主になります。 座標やロボットの状態、関節角度の組を表すためにベクトルを、その変換を行うために行列をつかい、かつ、それらの要素は何らかの関数になります。 そのため、線形代数学で学ぶような数学的な扱いとともに、その演算が意味することをイメージとして理解することが重要になります。 ただの数式としてではなく、意味合いを覚えるようにしましょう。 基礎の基礎 四則演算ができない→小学校 文字、変数の概念がわからない→中学、高校 連立一次方程式が解けない→中学校、高校 計算ミスが多い→練習 三角関数 cos, sin, tan, acos, asin, atan(arctangent, tan-1)の意味は最低限把握、 グラフも頭に思い浮かぶように。 メジャーな角度の値は頭に入れておくように。π(180deg)、π/2(90deg)、π/3(60deg)、2π
コンパイル時に、たとえば $ gcc -o prog1 prog1.c prog1.c: In function `main': prog1.c:9: error: syntax error before ';' token prog1.c:9: error: syntax error before ')' token prog1.c: At top level: prog1.c:14: error: syntax error before "return" のようにエラーがでます。 このエラーは得体の知れない英語ではなく、比較的わかりやすい、意味のある英語です。 「In function `main'」=「main()のなかのどっかで」 「9: syntax error before ';'」=「9行目の;の前に文法エラー」 などです。 間違いをつぶしていくこつは、 とりあえず、一番最初
ここでは、電気を動きに変える働きのアクチュエータと、その駆動方法について扱っていきます。 電気の使い方を考えるとき、大きく2種類に分けることができます。 一つは信号としての電気であり、ここまで扱ってきた内容の大半のベースとなる考え方です。 この場合、電流はそれほど大きくなく、それゆえ、電圧の(小さな範囲での)大小、電流の(小さな範囲での)大小を考えていました。基本的に、「紙の上に書いた回路図通り」つくることで、細かな性能は別として、目的をかなえることができ、電圧や電流が大きすぎて部品が発熱したり、壊れたりということはありません。 もう一つの使い方はエネルギーとしての電気です。モータを回したり、照明をつけたりと、電気を「別のエネルギーに転換して使うこと」と目的とした電気です。信号として扱う電気は信号が伝わることが最低限必要な量であるのに対して、こちらは少なくとも、その「他のエネルギー」に転換
<A HREF="index_jp.html">フレームなし目次</A>
ものを制御する際、制御工学Iやこれまで扱ってきたような「きっちり数式で表して、きっちり理論をチェックして、きっちり制御する」方法ですまないことは良くあります。最近ではコンピュータの能力も上がってきたので、モデル化がきっちりできれば現代制御理論で大規模に制御もかけられますが、そもそもモデル化できないときに困ります。 モデル化できない物でもある程度性格が単調なら、PID制御のような汎用の方法で制御できますが、そうも行かない物がよくあります。 ところが、機械仕掛けで数式で制御する方策が見あたらなくとも、熟練した人間が操作すれば一発、ということもあります。 また、人間をはじめ、生物は神経系に学習することで、さまざまな行動をとることができます。 制御のパラメータがなかなか見つからなくとも、数打ちゃ当たることもあります。 そういった、これまでの数式理論ベースではない、いまどき使われている制御の概要を見
ここでは 実際のカメラの改造までの経過を解説します。対象は (株)秋月電子通商で、 11,700円(本体のみ、レンズ付きは15,500円)で販売されている MK-7482NBです。CSマウントでレンズ交換が可能で、 用途が幅広いのとしっかりしたケース入りなので、 (普段は)取り扱いが便利です。これを2個買ってきて、改造しました。 おやくそく 当然、改造するときは、壊す覚悟を決めてください 以下の記述はうまく行った例を示すものです。たまたまかもしれません。 必ずうまく行くことは保証しません。 本ページに基づいて行った行為による損害は、著者熊谷は一切 受け付けません このカメラは、構造的に以下の改造をしても、(壊れなければ) もとに戻すことが出来ますが、普通は戻らないと思ってください。 まずは、カメラの分析にかかります。 探すもの 分析によって、見つけ出さなければならないのは、 主たるクロック
このページでは状態制御論におけるフィードバックと、それに必要な状態変数を推定する手法についてあつかいます。 状態変数のフィードバック 状態方程式で表したシステム をブロック線図で表すと、右図のようになります。 古典制御理論では、全体の出力 y を入力に対してフィードバックしました。それに対して、状態制御論におけるフィードバックは、状態変数をフィードバックします。これを状態フィードバックと言います。 具体的には、システムの入力 u に対して、 を入力します。 v は u に代わる、新しい入力です。 これを元のシステムの状態方程式、出力方程式に代入します。 この式を良く見ると、元々 A だったシステム行列が A-BF に置き換えられたシステムになったと見ることができます。 なお、(A,B)が可制御ならば(A-BF,B)も可制御、(C,A)が可観測ならば(C-DF,A-BF)も可観測です。 状態
このページは 1999年9月9日〜11日にわたって行われた、 「第17回日本ロボット学会学術講演会」において発表した (11日セッション3C3)、 「非RT-Linux を用いたロボット制御法に関する提案」をより実践的に解説・情報提供していくページです。 対象は 今時のパソコンで、制御をすることになったけど、Windows(98/ME/2000/NT/XP)でする気にはならない。 名前は聞いたことがあるけど、リアルタイムOSなるものをいきなり買う勇気はない。 Linux は使ったことがあるけど、RT-Linux や ART-Linux は名前しか聞いたことがない、という方。 RT-LinuxやART-Linuxを使ってみようとしたけど、使い始めの敷居が高くて、 うまく導入できなかった、運用開始できなかったという方。 失敗する度に、OSごとさよならするのはもういやだ、という方。 動かすことが
ここでは 実際に簡単なキャラクタデバイスをつくってみます。さしあたって、 open close read write に対応します。最初は無難に open・close から。徐々に増やしてきます。 ここでキャラクタ(型)デバイスとはなんぞや、ということです。 Linux ではデバイスはキャラクタ型とブロック型があります。 キャラクタ型が1バイト単位の細かい読み書きが可能なのに対して、ブロック型はブロックというデータの塊を単位に読み書きします。 ブロック型のデバイスは mount することでファイルシステムに組み込むことが可能で、またディスクキャッシュも働きます。 ただ、ちょっと難しいのでここではおいておきます。 実際にハードウェアを操作するときに、ブロック型の必要性があることはほとんどないと思います。 サンプルソースと実行例 まずはサンプルのソースと実行例から。 (ソースは例によって手抜き
制御工学IIでは、ベクトル、行列を多用します(というか、その上に成り立っている理論)。 本来、すでに習っているはずですが、忘れているとこの先の話が混乱しますので、しっかり復習しておきましょう。 (これまで単位を落した人の最大の原因は計算できないことだったり) ベクトル ベクトル: 標準で縦ベクトル、一般に小文字、ボールド(太文字)表記 転置(T)で横ベクトル。 ベクトルの長さ(大きさ)。 用途: ベクトルは状態変数など、状態量をあらわすのに使用。 ベクトルの加算、スカラ倍: ベクトルの内積: ベクトルの内積はその平行具合いを示します。2、3次元では成す角度をθとして、 となります。定義から、 であるため、状態量の大きさ評価として用いられる場合もあります。また、 と行列の積として書くことがあります。 行列 行列: 例) 、 (2×3) 行列は数字や関数を縦m行×横n列の形に並べたものです。
まずは試してみるのが、一番分かりやすいかと思いますので、最初から実験です。 この実験は常識の範囲では、コンピュータが落ちたりすることはありませんのでご安心を。 まずはソースリストです。時間計測にgettimeofdayをつかいます。 Linuxではこの関数はマイクロ秒オーダの分解能があるようです。 Pentium以降のCPUを持ったパソコンで試す場合は -DUSE_RDTSC をつけてコンパイルすると、 Pentium 以降のCPUで装備されたRDTSC という、リセット時からのCPUクロックの数を数える命令をつかって時間を計ります。 TickPerMSec には CPUの動作周波数を1000で割ったくらいの数字を書いておけば、だいたいの精度はでます。 #include <stdio.h> #include <sys/time.h> #include <unistd.h> #include
前ふり ディジタルというと思い浮かべるものはなんでしょうか。 よく、アナログとディジタルは比較されます。 だいたい、これまでは身の回りで「ディジタル」と名前につくものは、数字、しかも「日」な数字が表示される物と相場が決まっていましたが、最近はもうすこし本来のディジタルの意味が見えるようになってきて、DVDの一個がディジタルだというのも知られていると思います。 (DVD=Digital Versatile Disk , versatile=多芸、Digital Video Disk ではありません<多分最初はそういう発想だったんじゃないかと) 昔は、音を記録するのも映像を記録するのもアナログでしたが、いまどきはディジタルです。音声や映像信号そのものはいまでもアナログなことが多いのですが、徐々に再生に関しては完全にディジタル処理だけというシステムが出始めています。 では、なぜ、ディジタルがどん
www.ipc.tohoku-gakuin.ac.jp
→JAVA Square 高速フーリエ変換 fft.java fft.class Labo_Util.java Labo_Util.class 高速フーリエ変換 ランダム変数 x(t)のフーリエ変換を X(f) とする。 n(=2p;p : 正の整数)個のデータ x(i) (i=0,1,2,…,n-1) が与えられたとき、この有限離散化フーリエ変換を X(k) とする。 (n<=1024) (k=0,1,2,…,N/2) ここに、 Δt=T/N Δf=1/T t=iΔT=i(T/N) f=kΔf=k/T=k/(nΔt) f(max)=n/(2T)=1/(2Δt) (Nyquist周波数) なお、周波数範囲 f が Nyquist 周波数 f(max)より小さいという条件から、k の範囲は次のように決まる。 すなわち、FFT により求められるフーリエ成分の個数は、総データ数の半分
主要なロボットの一つであるマニピュレータを扱います。 マニピュレータはその名?の通り、腕ロボットが良く知られていますが、マニピュレータの理論は歩くロボットの脚にも適用できます。 腕ロボットが土台が動かない(動くことももちろんあります)ところで手先を動かすのに対して、脚ロボットは動く胴体を脚で支え、むしろ脚先が地面に接していると、そこが固定点になります。 いずれにせよ、多数のアクチュエータ(駆動装置)とリンク(剛体の構造物)がつながっていて、それぞれのアクチュエータを動かすと全体が動く、という構造です。 ここでは、マニピュレータを数式化して解析するに辺り、座標系を設定し、各関節を動かすと手先はどう動くか、逆に手先の目標を設定したときに各関節をどうしたらいいかについて検討します。 座標変換で一通りやった座標変換の理論をばんばん使いますので、少しでも座標変換に行き詰まったらすぐに復習するようにし
Eqn2Gif オンライン 公開中の ps2img のなかの、eqn2gif をオンラインで使用できるシステムです。 少なからずサーバに負荷がかかりますので、つかってみて便利そうでしたら、ダウンロードの上ご使用下さい。 また、 最低限のロックしか施していないため他の利用と干渉することがあります。 参考までに入力された数式類は一定期間保存/公開します。 セキュリティ対策のため、本CGI上ではLaTeXのコマンドを著しく制限してあります。 そのため、使えないコマンドがいろいろあると思いますが、追加の要望は下記連絡先にて受け付けております。 といったことをご理解の上、ご使用下さい。 参考:LaTeXコマンドシート一覧8〜9 数式入力: y=f(x) 出力倍率(1-10): 処理メッセージ: 新規に受け付けます。 熊谷正朗 / くまがいまさあき 東北学院大学 工学部 機械創成工学科 RDE
ここでは移動ロボットの大部分が採用している移動機構である車輪について、扱います。 最近はちらほらと脚移動が見えるようになってきましたが、依然として移動ロボットの大部分は車輪移動であり、平坦地での移動に限れば今後も脚にとってかわられることはないと考えられます。 車輪移動の場合、最低限2個のモータの回転を制御すれば平面を自由に走り回ることができ、また停止しているときに必要なエネルギーは斜面でなければ微々たるものです。 制御回路をちょっと工夫すれば、減速時に走行の運動エネルギーのある程度を電気エネルギーとして回収することも可能であるなど、効率にも優れます。 ところが、特殊な例を除いて、車輪移動は移動方向に大きな制限があります。 自動車や自転車は前後には走りますし、カーブして走行もできますが、真横には移動できません。 そのため、真横に移動するには切返などが必要です。 これは制御上もやっかいな問題に
このページは、「デバイスドライバを作ることになってしまった方」を対象にした、解説ページです。 純粋なソフト屋さんが「つくることになってしまった」ということは普通はないでしょうし、そもそもロボット制御屋が書いているので、対象は「ハードの制御屋さん」に片寄ってます。 対象は Linux 2.0, 2.2 で、同時に対応できるドライバを目指します。 (いま、2.0系列、どのくらい需要があるんでしょうか... というか時代は2.4, 2.6時代) おおよそ、世のハードウェアのドライバを書くために必須な情報はそろえたつもりですが、ときどき追加、FIXは行われます。 (という予定が2.4以降放置。あまり変わっていないはずですが) 個人的趣味では select ははずせません。特にハードウェアのドライバとしては、select でデバイスまとめて全部待機、というのが非常に便利です。 デバイスドライバに頼ら
ここまで、ロボットの動作を検討するための、代表的な理論を扱ってきました。 しかし、ロボットを実現するためには、理論に加えて様々な技術が必要になってきます。 そこで、ここでは、ロボットを構成するための基本的な技術にふれます。 ロボットを構成する要素は、大きく分けて三つです。 骨格等構造部・駆動・機構要素 センシング要素 制御・情報処理・判断要素 別の見方では、 メカ(構造、機構、駆動部品、センサ保持部など) 電子回路(駆動回路、センサ回路、マイコン、コンピュータ周辺回路) ソフトウエア(制御、情報処理、判断等) とも分けられます。 これまで扱ってきた理論は、主に三つ目のソフトウエア的な部分に組み込まれ、またロボットを設計するときに必要となるものであって、実際につくるとなると、さらに多くの知識、経験を動員する必要があります。 たとえば、車輪移動型ロボットを例にすると、作るまでには 開発目的の設
ここでは非線型な対象を扱う方法を考えます。 古典制御、これまで扱った現代制御理論とも、対象は線形です。線形というのはたとえば f(a+b)=f(a)+f(b) f(ca)=cf(a) (cは定数) などの性質を持つ物です。単純な対象は線形なことも多いのですが、実際に制御対象にしたいものは非線形なことが一般的です。 運動方程式に三角関数が入ったらそれでもう非線形なので、たとえば、回転関節をもつロボットなどは非線形な対象の例です。 非線形がからむ制御としては、 制御対象が非線形 連続な非線形の式で表される(リンク機構、重力など) 不連続な式で表される(摩擦など) 制御手法が非線形 連続非線型な制御則(ニューラルネットなども含む) 不連続な制御(ON/OFF制御<こたつなど) などに分類できます。 これらに対する一般的な対処法としては、 線形化: 非線型なものも、部分的に見れば線形に近似できる。
次のページ
このページを最初にブックマークしてみませんか?
『www.mech.tohoku-gakuin.ac.jp』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く