障害物を避けながら前進!スクリプト言語で簡単操縦!カメラ画像処理!
超入門! 付属ARMマイコンで始めるロボット製作
千葉工業大学 林原 靖男/神奈川工科大学 兵頭 和人 ほか著
B5判 136ページ
基板付き
定価3,960円(税込)
JAN9784789848237
2012年4月1日発行
好評発売中!
本書は,付属マイコン・ボードを使ったロボット製作の入門書です.製作するロボットは典型的な車輪型ロボットです.部品の加工から取り付け方法までを解説し,手作り感を体験できるように構成しました.付属マイコン・ボードには,話題のARM Cortex-M3コア・マイコンStellaris LM3S3748が搭載されています.LM3S3748の機能を使って,ロボットに必要なモータ制御,センサ・インターフェース,カメラ・インターフェースを詳細に解説しています.ロボット制御には最近話題の組み込み用スクリプト言語Pawnを使用しています.Pawnは初心者でも簡単にロボット制御の本質を学習できる優れた言語です.
本書によって電子回路,プログラミング,部品加工といったロボット製作の基本をマスタできます.
目次
導入編
ARMマイコンLM3S3748を使ったロボット制御はここがすごい!
第1章 本書で作るロボットの概要
ロボット制御に欠かせないマイコン技術
ARM Cortex-M3マイコンLM3S3748のメリット
本書で作るロボットの魅力
■Appendix
付属マイコン・ボードQuick Start
付属マイコン・ボードのチェック
マイコン・プログラム書き込みソフトウェアのダウンロードとインストール
付属マイコン・ボード上のマイコンにプログラムを書き込む方法
本書に必要な部品の取り付け
USB 2.0 デバイス/ホスト,デッド・バンド生成機能付きPWM,DMA,直交エンコーダ入力内蔵
第2章 Theパワフル・マイコン Stellaris LM3S3748
StellarisファミリとLM3S3748マイコン
付属マイコン・ボードの回路と特徴
付属マイコン・ボードとEK-LM3S3748との違い
USBブートローダの使い方
付属マイコン・ボードの電源の使い分け
USBホスト機能の動作確認
■Appendix
教えます!LDOレギュレータ電源回路設計 三つのポイント
注目のCライクな組み込み機器用スクリプト言語
第3章 Pawnの環境構築とプログラミング
Pawnとは
付属マイコン・ボード用Pawn開発環境のインストール
Pawn開発環境の操作方法
Pawnの文法
LM3S3748専用機能の詳細
Pawnの仮想マシンに機能を追加する
入門編
LEDの点灯とスイッチ入力でウォーミングアップ
第4章 Pawnで外部機器をコントロール
汎用入出力ポート(GPIO)を使用したLEDの点灯
PWM制御を使ったLEDの調光
汎用入出力ポート(GPIO)を使用したスイッチの検出
スイッチの誤検出の原因「チャタリング」を防ぐ
制御基板の製作とスライド・スイッチ/DIPスイッチの入力
■Appendix
水晶振動子はこうしてできる 原料から完成品まで
PWMモジュールから出力した方形波で圧電サウンダを鳴らす
第5章 Pawnで音を出す,音楽を奏でる
マイコン直結発音デバイス「圧電サウンダ」
PWMモジュールの出力信号で圧電サウンダを鳴らす
フォトトランジスタ,PSD距離センサ,温度センサの出力をA-D変換
第6章 Pawnで明るさ検出,距離検出,温度測定
フォトトランジスタを用いた周囲の明るさの検出
PSD距離センサを用いた距離の測定
LM3S3748内蔵温度センサを用いた温度測定
■Appendix
JTAG/SWDを使ったデバッグ
マイク出力をOPアンプで増幅してA-D変換
第7章 音声データをmicroSDカードに保存
音声信号の取り込み
microSDカードへのデータの読み書き
ドライバICを繋いで回転方向と速度を制御
第8章 DCモータをPWM制御する
DCモータの特徴と特性
DCモータの特性を定式化
いろいろなDCモータ駆動回路
便利なDCモータ・ドライバICを使う
DCモータをPWM制御するプログラム
PSD距離センサを取り付けて距離を測る
第9章 RCサーボモータを制御する
RCサーボモータの仕組み
RCサーボモータへのPSD距離センサの取り付け
RCサーボモータ制御回路の製作
PSD距離センサの取り付け
RCサーボモータの制御プログラム
水平面内の距離データの取得
QEI,GPIO+割り込みでフォトインタラプタのパルスをカウント
第10章 ロータリ・エンコーダから回転方向と回転角度を検出
ロータリ・エンコーダの仕組み
フォトインタラプタの仕組み
フォトインタラプタ周辺の回路と製作
符号板の設計
符号板の製作
ロータリ・エンコーダの調整
内蔵QEIを使ったパルスのカウント
GPIO+割り込みを使ったパルスのカウント
応用編
ロータリ・エンコーダで軌道制御,PSD距離センサで物体追従
第11章 Pawnでロボットを制御してみよう
ロータリ・エンコーダを用いた軌道制御
目標経路への追従
PSD距離センサを用いた物体追従
PSD距離センサのデータを活用.ICP関数を実装して
第12章 ICPスキャン・マッチングで地図を描く
PSD距離センサのデータとオドメトリを組み合わせた障害物マップ
ICPスキャン・マッチングとは
ICPアルゴリズム関数の実装と地図を描くプログラム
USB シリアル変換ICを使った
第13章 UARTモジュールでロボットとシリアル通信
USB-シリアル変換IC FT232RL
シリアル通信回路の製作
■Appendix 脅威の電源ノイズ その対策を教えます!
電源ラインのノイズ
パスコンによるノイズ対策
UVCビデオ・クラス・ドライバを作成!
第14章 USBウェブ・カメラを繋いで画像処理にチャレンジ
USBホスト機能のメリット
USBウェブ・カメラの仕組みとUSBビデオ・クラス
UVC規格カメラの画像フォーマット
USB通信の動作
USBフル・スピード転送のパケット・サイズ
UVCドライバの開発環境と開発手順
UVCホスト・ドライバの作成
画像によるロボット制御の可能性
■Appendix
4本のスペーサを接続するだけで機能が追加できる!
積み重ねるロボットCYLINDER TIER
付録A ロボット台車メカニズムの製作
付録B 付属マイコン・ボードの補足事項