ゼミのお話/ロボット工学者養成所/テーマ別/シリアル通信によるデバイス制御
2018-04-16 (月) 15:53:00 (1535d)
はじめに †
テーマ †
- シリアル通信を行うプログラムに関する知識の習得する.また,シリアル通信によってコマンド方式のサーボ・センサを制御し,実機特有のノイズを実感する.
概要 †
- 本ゼミは,以下の特徴をもったプログラミング演習である.
- シリアル通信に関するプログラミングを行う
- シリアル通信によるデバイス制御を行う
- シリアル通信は広範囲に使われている技術である.本演習では,最も基礎となるRS-232C経由でのシリアル通信を対象とし,シリアル通信プログラミングの基礎を修得することを目的とする.
- また,本演習ではシリアル通信を用いてハードウェアデバイスの制御を行う.ハードウェアを用いた場合,シミュレーション実験では現れないノイズや個体差が問題となってくる.本演習では実機を使用することで,この特有の問題を体験してもらう.
- ここでハードウェアを制御する方法は直接方式とコマンド方式がある.本演習ではシリアル通信を用いて制御を行うため,コマンド方式となる.
実験内容 †
- シリアル通信によるデバイス制御ゼミの内容は以下のようになる.
- 準備
- ゼミを行うためのデバイスの準備
- サーボプログラミング
- サーボ動作を行うプログラミング
- センサプログラミング
- センサからの情報取得を行うプログラミング
- センサ・サーボプログラミング
- センサを使って情報取得をし,それをもとにサーボを動作させるプログラミング
- 準備
演習前に一読願う情報 †
vi †
- viの操作に慣れていない場合にはこの章を読んでviを扱えるようにしておく.
- また,演習中にプログラムを打ち込みながらこの章を読み,viによる入力に慣れる.
シリアル通信プログラム概説 †
- シリアル通信プログラムの概要と雛形.内容は,丸覚えでかまわない.本章では,丸覚えをすべきところを中心に記述している.特に実際にプログラムをしなくてもかまわない.掲載しているプログラムはhelloを表示するものであるが,センサ・サーボコントローラには文字表示能力はない.そのため,掲載しているプログラムを実行しても何も起こらない.
実験デバイスの構成 †
- 今回使用するデバイスを図1〜5に示す.armadillo300単体を図1に示す.また図2にarmadillo300によって制御されるセンサ・アクチュエータとその制御デバイスを示す.センサコントローラ,サーボコントローラはarmadillo300からシリアル通信で送られてくるコマンドを解釈し,センサから情報取得およびサーボの動作を行う.その結果はシリアル通信でarmadillo300へ送られる.ここでarmadillo300のシリアルデバイスとコントローラのシリアルデバイス間で信号電圧に互換性がないためPC接続ボードによって信号電圧の変換を行っている.これらを使用した実験デバイスを図3〜5に示す.実験デバイス前方には距離センサを1つ搭載し,アクチュエータを1つ搭載している.上部にはメータをプリントしており,アクチュエータはメータ上の針を駆動させる.
- 図1.armadillo300
- 図2.サーボ・センサコントローラ
- 図3.組み上げ前方図
- 図4.組み上げ上方図
- 図5.組み上げ後方図
プログラム演習 †
- 基本的には,まずサンプルプログラムを打ち込み,コンパイル・実行してみる.その後,概要や参考情報を見ながら理解を深める.
実験準備 †
注意事項 †
サーボ駆動プログラム作成 †
- 実際にプログラムを作成し,どのようにサーボを制御しているかを実体験する.
センサ情報取得プログラム作成 †
- 実際にプログラムを作成し,どのようにセンサからデータを取得するかを実体験する.
センサ・サーボ制御プログラム作成 †
- センサとサーボを両方使用するプログラムを作成する.サンプルプログラム等はなく,自分で考え作成してみる.