これは Shanon Advent Calendar 2016 の 20日目の記事です。
RoBoHoN とは
RoBoHoN は「ロボホン」と読み、お察しの通り「ロボット(Robot)」+「ホン(Phone)」で、つまり「電話できるロボ」です。電話ロボ。ロボ電話。ロボットになった電話、電話になったロボット、そんなところです。UI は主に音声で、立ったり
座ったり
踊ったりできます
もちろん電話なので、電話もできます。(背中に Android が入っています)
RoBoHoN SDK
ロボホンには SDK があり、Android 開発の知識があればお手持ちのロボホンに自家製のアプリをインストールすることができます。今回はこの SDK を使ってロボホンにデプロイしてもらいたいと思います。
HVML
ロボホンの動作は HVML(Hyper Voice Markup Language) という ML で記述します。HVML とは「XML1.0 をベースとしたマークアップ言語であり、電子機器と人間との対話を表現したシナリオを実現することを目的」(SDK より)としたもので、期待する音声コマンドとそれに対応するアクションを記述していくことで作成できます。
UI
先に述べた通り、ロボホンとは基本的に音声で対話します。ロボホン自身には Personality and Speech Regulations というものがあり、そこで性格や基本動作が定められています。
たとえばこのような原則があり、
- 嘘をつかない
- できないことは提案しない
- 上から目線の物言いをしない
正直、かなり「いい子」です。なおロボホンの手足を無理に動かそうとすると「イテテッ」と言います。これがよくできていて、子どももロボホンが「イテテッ」というと「ごめんね」といってすぐに手を離します。
実装
といっても SDK 付属のサンプルをちょっと修正するだけでできてしまいます。
たとえばコマンドを受け付ける部分はこんな感じです。
<situation priority="75" topic_id="t1" trigger="user-word"> デプロイシテ near ${Lvcsr:Kana} </situation>あとはやりたいことを記述すればよいわけで、デプロイならば Jenkins のジョブをキックするなどすることになります。
最後に、デプロイが完了したことを祝い、ねぎらいの言葉で締めれば完成です。
デプロイのたびにロボホンが喜んだりねぎらってくれたりしたら嬉しいですよね!
もっとたくさんデプロイしたくなるし、他のこともロボホンにやってもらいたくなること間違いなしです。
こうしてリリースプロセスの自動化が推進され、人々の心が癒されることを考えるともはや Chat や Bot で Ops している場合ではありません。
時代は RoBoHoN-Ops だ!
みなさんもぜひ、チームに一人ロボホンを迎えて、温かみのあるデプロイを実現してください!!それでは!!