お天気ロボットRAPIRO(2足歩行)            2014/2/20〜

お天気ロボットRAPIRO」は、音声認識による全国の天気予報および天気概要を音声合成で喋る コミニュケーション・ロボットです。また、過去の気象情報を詳しく教えてくれたり、WEB画面より ロボット遠隔操作できWEBカメラで見守る事ができます。
お天気ロボットRAPIRO <<開発日記(faceBook)★紹介:ビデオ0 ビデオ1 ビデオ2 ビデオ3 ビデオ4 ビデオ5>> LED-8-仮接続-ちょい怖い  LED-8-美咲フォントテスト  ジェスチャーセンサ・デモ  音声認識によるデモ

1.機能紹介

基本機能は、
お天気ロボット・ラズベリと一部の機能を除いて同じです。詳しい機能は、お天気ロボット・ラズベリを 参照して下さい。 (1)気象情報 ・主要22箇所地域の1週間の天気予報を聞く事ができます ・全国および地域の天気概況を聞く事ができます ・地上観測所157箇所の最新気象情報と1961年からの過去の気象情報を聞く事ができます ・高層気象情報(全国21箇所)を聞く事ができます ・年単位の台風のまとめを聞く事ができます ・設定(東京)によって、1時間/1日/7日の降水量ハザード閾値による目の色を変化させたり音声やメールで 通知します。 (2)音楽&ラジオ ・音声操作で全国の約60箇所のインターネットラジオを聴く事ができます ・radikoによるインタネットラジオ視聴&録音は、スクリプトにしました ・音楽ライブラリを登録し音声操作で聴く事ができます (3)検索機能今日は何の日情報で記念日/出来事を聞く事ができます ・言葉バンクで用語解説を聞く事ができます。(119辞書、145万語) (4)占い機能 生年月日(男女毎)で以下の占いができます。 干支占い/曜日占い/お月さま占い/太陽星座占い 月星座占い/九星占い/数秘占い/六輝占い (5)その他の機能音声操作でロボットを動かせます(歩いて/止まれ・・) ・WEBサーバを実装しています(ロボットをインターネット経由で遠隔操作) ・メール送受信機能  カメラ画像をメール送信できます ・カメラ撮影USBカメラまたは、rasPIカメラ ・カメラで顔認識ができます(openCV-未実装) ・eyeモーションで感情を表現します ・見守り機能AI機能(未着手) ・デモ動作機能  モーションファイルまたは、シェルスクリプトでデモ動作が出来ます 1-1.準備 Arduino〜rasPIは、シリアル通信(通信速度=57600bps)で接続します。 rasPI側の標準設定は、シリアルコンソールになっているので無効化しないとrasPIの コンソール情報がArduino側に流れてしまいRapiroが誤動作します。 (1)必要なソフトを準備 $ sudo wget https://raw.github.com/lurch/rpi-serial-console/master/rpi-serial-console -O /usr/bin/rpi-serial-console $ sudo chmod +x /usr/bin/rpi-serial-console (2)シリアルコンソール状況確認 $ rpi-serial-console status Serial console on /dev/ttyAMA0 is enabled これがenabledだとよろしくないので、disabeldに変えます。 (3)無効化 $ sudo rpi-serial-console disable Serial console has been disabled, a reboot is required to make this take effect (4)SSHで確認 $ rpi-serial-console status Serial console on /dev/ttyAMA0 is disabled (5)設定ファイルを直接編集でシリアルコンソール無効化 /etc/inittabと/boot/cmdline.txtを以下のように編集すると無効化できます。 編集する前に必ず、オリジナルコピーして置いて下さい。 a)inittabファイルを以下行をコメントにする : #Spawn a getty on Raspberry Pi serial line # 以下の行をコメントにする(最終行です) #T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100 b)cmdline.txtファイル(1行しかない)を以下のように編集する(console=ttyAMA0,115200を削除) dwc_otg.lpm_enable=0 rpitestmode=1 console=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait ↓ dwc_otg.lpm_enable=0 rpitestmode=1 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait ※rpi-serial-consoleコマンドで無効化出来ないときは、上記設定を試して見て下さい。 1-2.WEBサーバ (1)WEB画面-遠隔操作 WEB画面でロボット操作が可能です。ジャイロ付きのタブレットでは、傾きで操作できます。 また、写真撮影を行い保存する事が出来ます。 RAPIRO-WEB制御 (2)WEB画面でサーボ&LED個別操作 RAPIRO-サーボ個別 コマンド仕様 (3)WEB画面でラジオ操作  シンプルな、InternetRadio画面でラジオ(Radiko放送)を操作しロボットのスピーカかで視聴します。 ラジオ操作  視聴局は、ラジオNIKKEI第1,ラジオNIKKEI第2,放送大学,TBSラジオ,文化放送,ニッポン放送,  Inter FM,TOKYO FM,J-WAVE,ベイエフエム,エフエムナックファイブ,FMヨコハマ,ラジオ日本

2.ハードウェア構成

RAPIRO+RaspberryPI+専用カメラ type-B + SD-8G + USB-無線LAN (1)制御系 RAPIRO-(Andorid 12CHサーボ制御 + LEDフルカラー制御) (2)USBカメラ改造 マイク内蔵型130万画素USBカメラを以下の部品を追加した SW - 1個 LED - 2個 赤外線送受信(未実装) ・SW-回路 _⊥_ o o | +------------- PIN-20(GND) +---------------- PIN-15(GPIO-22) +--R(1KΩ)------- PIN-1 (+3.3V) ・LED(2-CH)-回路 +------R(1KΩ)-- PIN-26(GPIO-7) | +--R(1KΩ)-- PIN-16(GPIO-23) | + | (V) (V) T - T +---+----------- PIN-20(GND) (3)センサー ・デジタル3軸ジャイロセンサー(I2C-L3GD20) ・気圧計/温度計(I2C-LPS331AP) LEDマトリクス-RAPIROタッチセンサー頭部に接触サンサ(2CH) - 50mm SEN-08680 3M製) SEN-08680-0 SEN-08680-1 接触センサー 圧力センサー丸型 +------+ +---+ |+--+-+| ← 0 + + A-G間は、 1MΩ〜2,5KΩ || | || : + + 接触センサーと同じくA端子には、33KΩのプルアップ || | || : + + || | || ← 500 + + || | || : +---+ 計測値 || | || : | | OFF = 1023(理論値)ただし、1021以上をOFF |+-++ || : A G 圧力小 = 1020 (100g) || | /| ← 1020 : +------+ 圧力大 = 1 (10kg) | | | (タッチ時の値、 OFF=1023) V A G | | | +-+-+-------------------------+-- +3.3V - PIN-1 | | | | | | | | | | (CH-1) | R R(33KΩ) MCP3008 | +------ V 1 -----+ | | +----o----+ | +---- A 2 ---------+ CH0 | 1 16| VDD --+ +-- G 3 --+ | | CH1 | 2 15| Vref --+ | | | CH2 | 3 14| Agnd ------------- PIN-20 (GND) | | | CH3 | 4 13| SCLK ------------- PIN-23 (GPIO-11) A | | | CH4 | 5 12| MISO ------------- PIN-21 (GPIO-9) | (CH-2) | | | CH5 | 6 11| MOSI ------------- PIN-19 (GPIO-10) +---- A 2---|----+-|--CH6-| 7 10| CE ------------- PIN-24 (GPIO-8) | +--CH7-| 8 9| Dgnd --+---------- PIN-20 (GND) | +---------+ | | | +--------------------------------+ ※ MCP3008 = 8チャネル 10ビット A/Dコンバータ(SPI接続) V-G間の抵抗は = 10KΩ OFF=の時は、プルアップしないとハイインピーダンスで安定しない(A = 0.. 250 ランダム値) ので33KΩでプルアップすると 1021以上(理論値=1023)の値で安定する MCP3008によるPythonスケッチ ##################################################################### #/usr/bin/env python # -*- coding: utf-8 -*- # # MCP3008 による AD変換による取得 # import sys import time import RPi.GPIO as GPIO # # GPIOの番号の定義。 spi_clk = 11 spi_mosi = 10 # OUT spi_miso = 9 # IN spi_ss = 8 # CE0 # RPiモジュールの設定 GPIO.setwarnings(False) GPIO.setmode(GPIO.BCM) # GPIOデバイスの設定 GPIO.setup(spi_mosi, GPIO.OUT) GPIO.setup(spi_miso, GPIO.IN) GPIO.setup(spi_clk, GPIO.OUT) GPIO.setup(spi_ss, GPIO.OUT) # 0.5秒インターバルの永久ループ while True: time.sleep(0.5) # 8チャンネル分のループ # CH#0〜CH#7 の値を取得する for ch in range(8): GPIO.output(spi_ss, False) GPIO.output(spi_clk, False) GPIO.output(spi_mosi, False) GPIO.output(spi_clk, True) GPIO.output(spi_clk, False) # 測定するチャンネルの指定をADコンバータに送信 cmd = (ch | 0x18) << 3 for i in range(5): if (cmd & 0x80): GPIO.output(spi_mosi, True) else: GPIO.output(spi_mosi, False) cmd <<= 1 GPIO.output(spi_clk, True) GPIO.output(spi_clk, False) GPIO.output(spi_clk, True) GPIO.output(spi_clk, False) GPIO.output(spi_clk, True) GPIO.output(spi_clk, False) # 10ビットの測定結果をADコンバータから受信 value = 0 for i in range(10): value <<= 1 GPIO.output(spi_clk, True) if (GPIO.input(spi_miso)): value |= 0x1 GPIO.output(spi_clk, False) # 測定結果を標準出力 if ch > 0: sys.stdout.write(" ") GPIO.output(spi_ss, True) # CH-6,CH-7 if ch >= 6: sys.stdout.write(str(value)) sys.stdout.write("\n") ##################################################################### ・ソフトウェアで音声-指向性を判断検証中・・ (4)表示系 ・RAPIROの目の表現力アップLEDマトリクス(I2C-8x8)を搭載 LEDマトリクス-RAPIRO eyeモーションおよび美咲フォントで文字を表示できる ・I2C液晶モジュール 16文字×2行 キャラクタ(予定) (5)音 アンプ付きミニ・スピーカー (6)稼動系 サーボ 12個関節(RAPIRO) (7)電源 モバイルバッテリー 2000mA -- rasPI用 ※ (8)改造により、取り外し (8)18650電池交換-3.7V-3000mA × 2本 2015/12/20 Rapiroの電池ボックスは、18650(リチウム電池)型にも対応しています。7.4V〜8v (3000mAh以上) にパワーアップできます。取り付けは、電池Box用の金具を2個(10円)で元の横についている金具を 全部抜いて、+ーの金具を縦側に差し替えて新しく買ってきた物をつなぐだけです。 18650-1-RAPIRO 18650-1-RAPIRO (9)ジェスチャーセンサ 2015/12/20 秋月のジェスチャーセンサを取り付け ja-1-RAPIRO ja-2-RAPIRO
ウェザートーイ   ∧ 戻る ∧