・IBM Watson が提供するプログラム可能なボール紙ロボット TJBot を作ってみました。

 完成後の写真(左右逆となっている)

S__43261962


S__43261964


・下記URLに作り方が、出ています。

1.まず、厚紙の型を作る必要があったので、型のPDFデータをダウンロードします。
 ①原紙がB4の為、私の持っているA4プリンタで印刷できない事から、A4二枚に半分に
  分け、PDF出力後、A4の紙に印刷しました。
 ②それを写真の工作用紙に貼り付け、カッターでカットしていきました。
 ③カラー用紙の裏面に張り付けたため、完成時、逆の物となりました。

 100均Candoで購入

S__43261968

S__43261967


2.インストールガイドを参照しながらインストールしていきましたが、二年前のガイドだったので所々うまくインストール出来無かったので、ここに現時点でのやり方を書いておきます。
 ①まず、最新版のイメージをダウンロードし、SDカードに書き込みます。
 ②環境を日本語にし、WiFiに接続します。
 ③ガイド「3.4.4 OS と Node-RED の更新」 の手順通りOSをアップデートします。

 $ sudo apt-get update
 $ sudo apt-get upgrade
 $ sudo apt-get dist-upgrade
 $ update-nodejs-and-nodered <---が、うまくいかない。

 ④node-red関係のアップデートが、ガイドのやり方でうまくいかず、
  下記URLを参考に次のコマンドでアップデートしました。

  $ bash <(curl -sL https://raw.githubusercontent.com/node-red/raspbian-deb-
   package/master/resources/update-nodejs-and-nodered)
 
 ■参考URL:Raspberry Pi のNode-REDをアップデートorインストールする方法


 ⑤ガイド「3.5 Node-RED に必要なモジュールを追加する」
  をガイドにそって実行します。

    *コピペ用に記載します。
$sudo npm --unsafe-perm -g install node-red-node-watson node-red-contrib-camerapi
$sudo reboot 

 ⑥ガイド 「3.6 オーディオとカメラの設定」
  をガイドにそって実行します。

    *コピペ用に記載します。
$sudo nano /boot/config.txt
dtoverlay=pwm-2chan,pin=18,func=2,pin2=13,func2=4

$amixer -D hw:1 sset Mic 100% 
$amixer -c0 sset PCM 100% unmute

 *オーディオの再生確認用
$speaker-test -t sine -f 600
$aplay /usr/share/sounds/alsa/Front_Center.wav

 *音が出なかった時など、下記を参考にしました。
   Raspberry Pi で再生と録音を行う


 ⑦ガイド「5. Watson とつないだフローを動かす」
  ここから、ガイドには、「ユーザー名」と「パスワード」を入力するように
  有りますが、IBM Cloud のダッシュボードの中に見つかりませんでした。
  色々試したところ、この二つは、ブランクで、APIKeyの入力が必要でした。
  これで、動くことが分かりました。

注)サンプルの中のvisual.json(画像認識)の顔認識でエラーが出て実行できません。
  原因は、 昨年途中からWatson VRの顔認証機能が廃止されたようです。

3.TJBotを電源ON(起動)した時や、リブートした時、node-redに接続するタイミング
 を把握するために、緑のLEDを点灯させ、IPアドレスをスピーカーから発生してくれ
 るようにしてみました。

 ①まず下記URLを参照して日本語音声合成をインストールする。

 ②次に下記シェルスクリプトを作成する。(コピペする)

pi@raspberrypi:~ $ sudo nano jtalk.sh

#!/bin/sh
TMP=/tmp/jsay.wav
echo "$1" | open_jtalk \
-m /usr/share/hts-voice/nitech-jp-atr503-m001/nitech_jp_atr503_m001.htsvoice \
-x /var/lib/mecab/dic/open-jtalk/naist-jdic \
-ow $TMP && \
aplay --quiet $TMP
rm -f $TMP

 ③実行権を設定する。
pi@raspberrypi:~ $ sudo chmod +x jtalk.sh

 ④次にIPアドレスを取得し、音声案内と緑のLEDを点灯させる下記、
  自動実行シェルスクリプトを作成する。

pi@raspberrypi:~ $ sudo nano autorun.sh

#!/bin/sh
ipadd=""
while [ "$ipadd" = "" ]
do
    ipadd=`ip a show wlan0 | grep "inet " | cut -f6 -d ' ' | cut -d '/' -f1`
    wait 1
done
gpio -g mode 23 out
gpio -g write 23 1
rtn=`/home/pi/jtalk.sh IPアドレスは${ipadd}です`


 ⑤実行権を設定する。
pi@raspberrypi:~ $ sudo chmod +x autorun.sh


 ⑥最後に、起動時に自動実行するように「/etc/rc.local」の「exit 0」の前に追記する。

pi@raspberrypi:~ $ sudo nano /etc/rc.local

#!/bin/sh -e
.
.
sh /home/pi/autorun.sh & <---この行を追記する。

exit 0

 以上で起動時にIPアドレスを教えてくれる。


4.これから、色々プログラムして行きたいと思います。

 以上