マグボットの書籍

2016年5月11日にリックテレコムから

おしゃべりロボット「マグボット」-ラズパイとArduinoで電子工作-

が発行されました。これは、このサイトで掲載してきたマグボットの製作情報がベースになっています。リックテレコムさんからお話をいただいたのが2014年の9月でしたので、出版まで2年近くかかりましたが無事出版することができました。本書の出版に関わられた方達に御礼を申し上げます。
本の形にするために、サイトの情報を再検討して構成しました。また、サイトではハンダ付けをするマグボットを紹介していましたが、ハンダ付けが難しい読者を想定して本書用にハンダ付けを必要のないマグボットをデザインしました。ぜひお手にとってご覧ください。同時に材料キットも発売されました。

本書の訂正情報はここにあります。
リックテレコム書籍情報
IMG_3974

目次は以下です。

巻頭特集 カラー図解集

第1章 素人がロボットを作れるようになるまで
1-1 ロボットが作れる環境になった
1-2 素人でもロボットが作れる

第2章 マグボットの全体像
2-1 マグボットの特長
2-2 マグボットのハードウェア
2-3 マグボットのソフトウェア
2-4 マグボットの動作方法

第3章 Arduinoを動かしてみよう
3-1 Arduino について
3-2 Arduino のインタフェース
3-3 Arduino を使うための環境を整える
3-4 Arduino IDE のインストール方法
3-5 最初の儀式、Arduino 上の小型LED を光らせる
3-6 マグボットの目、外部のLED を光らせる
3-7 マグボットの両目、2 個のLED を同時点滅させる
3-8 2 個のLED を交互点滅させる
3-9 LED の明るさを変える
3-10 for 文でLED の明るさをなめらかに変化させる
3-11 マグボットの口、3 個の自己点滅LED を並列接続する
3-12 マグボットの動力、サーボモーターを動かす
3-13 マグボットの首と目、2 個のサーボを動かす
3-14 2 個のサーボをなめらかに動かす
3-15 すべてのLED とサーボを同時に動かす

第4章 シリアル通信でArduinoをリモコンしてみよう
4-1 シリアル通信とは
4-2 シリアル通信でLED をオン、オフする
4-3 switch 文に書き換える
4-4 LED を数値制御する
4-5 サーボを数値制御する
4-6 無限ループで連続動作させる
4-7 無限ループをキャンセルする
4-8 LED とサーボをすべて制御する

第5章 Raspberry Piを動かしてみよう
5-1 Raspberry Pi の概要
5-2 Raspberry Pi のインタフェース
5-3 マグボットでのRaspberry Pi の使用方法
5-4 Raspberry Pi の開発環境を整える
5-5 NOOBS のダウンロードとmicroSD カードへのコピー
5-6 Raspbian のインストール
5-7 Raspbian の初期設定
5-8 Raspbian のディレクトリ構造
5-9 Raspbian のGUI の解説
5-10 Raspbian のCUI の解説
5-11 コマンドラインでの入力
5-12 CUI エディター:nano の使用方法
5-13 ネットワークの設定
5-14 USB コネクターの電力アップ
5-15 パッケージのインストール方法
5-16 HTTP サーバーのインストール
5-17 DHCP サーバーのインストール
5-18 Ruby 関連のインストール
5-19 音声合成システムのインストール
5-20 ダウンロードしたファイルの設置
5-21 固定IP アドレスに変更する方法

第6章 ブラウザからArduinoを動かそう
6-1 PC のブラウザからArduino を動かす
6-2 PC からRaspberry Pi にアクセスする環境
6-3 PC からRaspberry Pi にアクセスするSSH
6-4 PC からRaspberry Pi にファイル転送するFTP ソフト
6-5 ブラウザからHTTP サーバーにアクセスする
6-6 jQuery/jQueryMobile を使用する
6-7 Web からボタンでLED を点灯、消灯する
6-8 操作インタフェースを作る 6-9 ブラウザからArduino を動かす
6-10 WebSocket サーバーの説明
6-11 操作インタフェースの説明
6-12 ブラウザのスライダでサーボを操作する
6-13 WebSocket サーバーを自動起動する

第7章 Raspberry Piで音声合成をする
7-1 マグボットの音声
7-2 発話用のスクリプトファイルを作る
7-3 初めて音声合成を行う
7-4 マグボットの声に変更する
7-5 Web から音声合成を行う
7-6 発話しながらLED を点滅させる

第8章 マグボットを組み立てよう
8-1 マグボットを組み立てる前に
8-2 マグボットに使用する材料
8-3 マグボットで使用する道具
8-4 ベースの製作
8-5 ボディの製作
8-6 ヘッドの製作
8-7 フェイスの製作
8-8 Arduino、Raspberry Pi の取付け
8-9 Arduino の配線
8-10 ケーブル、スピーカ、USB-AC アダプター等の設置

第9章 マグボットを動かしてみよう
9-1 マグボットの起動手順
9-2 トラブルシューティング
9-3 操作インタフェースの説明
9-4 マグボットの終了とケーブル類の収納
9-5 応用編 スピーカの交換
9-6 応用編 スマートフォンや、タブレットから動かす
9-7 応用編 マグボットを完全ワイヤレスにする
9-8 マグボットの使用上の注意

第10章 Scratchでマグボットを動かそう
10-1 マグボットをScratch で動かすには
10-2 MAD のマグボットとの接続方法
10-3 MAD のマグボット専用ブロック
10-4 MAD によるマグボットのプログラム

第11章 巻末資料
11-1 部品、材料、道具
11-2 他のArduino をマグボットで使用する方法
11-3 他のRaspberry Pi をマグボットで使用する方法
11-4 microSD カードのフォーマット
11-5 マグボットの発話を英語に変更する方法
11-6 Raspberry Pi をWi-Fi で使用する

付録 切抜きテンプレート集、ペーパーマグカップ

本書を執筆するために、以下のことを気をつけました。

・できるだけ初心者向けに
自分自身がプログラムやロボットにくわしくないのにマグボットを作った経験から、ロボットに関心があってもなかなか作ることができない人たちもための本を作ろうと考えました。そのため、基本的な情報も盛り込むようにしました。また作る手順を丁寧に説明して、ロボットの動作原理がよくわからない状態でも、手順通りやればマグボットを作れるように意識して書きました。

カラーページが限られているので、本文中にモノクロで載せたページで重要なものを巻頭カラーで再掲しました。

IMG_5192

・マグボットの動く仕組みを説明する。
一方で、ロボットがどのように動いたり、話したり、パソコンから制御できるのかも丁寧に説明しようとしました。このあたりは初心者にとっては謎で知りたい部分と思いましたので、LEDやサーボの動作、それらをWebブラウザからRaspberry Pi経由でArduinoに伝える方法、音声合成の方法を説明して、マグボットの動作方法に対する理解を深められるようにしました。

・テキスト形式にして、少しずつ学べるようにする
本書でいきなりソースコードを解説する方法も考えましたが、初心者が混乱すると考え、ArduinoについてLEDを1個、2個と増やし、サーボを1個から2個へ、デジタル制御からPWM制御へと、部品や機能を増やしながら少しずつマグボットの動作に近づけるようにしました。これは教科書のようにも使えると思います。マグボットに本当に使用しているソースコードについては、マグボットのハードの完成後に別途ダウンロードして使用するようにしました。

・製作上の失敗経験を書く
マグボットを自分で作っていくにあたって、わからないことや、うまくいかないこと、ミスやトラブルがたくさんありました。そのような部分は、これから本書を読んでマグボットを作られる方達も経験すると思いますので、私と同じ失敗を踏まないように、できるだけ失敗例も載せることにしました。失敗したところは「ハマります」という表現を使用しました。あらためて見るとたくさんハマっていますね。

・図解、インフォグラフィックスを使用する
マグボットの仕組みやプログラムのプロセスをわかりやすく伝えるために、研究室でも研究している情報の可視化の手法を使って、図解やインフォグラフィックスをデザインしました。これらは、一部研究室の学生に手伝ってもらいましたが、基本的に自分でイラストレータで描いて、それを本のDTPを担当されているデザイナーさんにブラッシュアップしてもらう方式にしました。また、写真も自分で撮影しました。ラスケッチをお渡して描いていただくことも考えましたが、時間もなく、自分の意図をデザイナーさんに的確に伝えるために自分で描きました。

IMG_5194

情報の可視化の方法のひとつは「相互参照」です。下の図、写真のように部品同士の結線図、実際にブレッドボード上で部品を設置するときの設置図を並置して見比べることで、お互いがお互いの理解のリソースになるようにしました。
IMG_5196

写真もほぼ自分で撮影しました。文中ではモノクロ写真なので、例えば黒い部品を撮影するときには背景を白く、白い部品の時は背景を暗くするように気をつけました。複数の小さい部品を撮影するときには裏側に両面テープを使って固定したり、布のような素材を背景に使って部品がころがらないように気を配りました。表紙のマグボットの写真はプロのカメラマンによるものです。