子どもプログラミングスクールDToyBox ブログ > Pepperプログラミング

Pepperプログラミング

Choregraphe

コレグラフとPythonでPepperプログラミングしてみました♪
IMG_0993
まだまだ主にコレグラフを使っていますが、
APIを使い始めると、「あーなんか本格的になってきたなぁ(^◇^)」とワクワクします(笑)
今回は、技術的なお話とつまづいた点をちょこっとだけ書いてみます。


今回作ったコレグラフのプログラムはこちら。
Choregraphe
Pepperの3Dセンサーで動く物体を検出し、その距離によってしゃべる事と動作を変えています。
動く物体が検出されるとコレグラフに情報が入ってきます。

技術的なお話として、Pepperの特徴は、あらゆる情報がメモリに蓄積され、その情報を「ALMemory」が発行するイベントで取得する事ができます。

それを利用して今回は、
動く物体を検出できる「ALMovementDetection」の「MovementDetected」イベントから情報を取得して「OnlyOnce」ボックスへ入力しています。

「OnlyOnce」ボックスは、信号を受け取った時に1回だけ信号を通してくれるボックスです。

これでいったん受け取らないと、「MovementDetected」イベントはすぐに発生してしまうため、Pepperは立て続けに何度も同じことをしゃべってしまいます。


さらに、今回は初めて「Python Script」というボックスを使って制御してみました。
これは、自分でやりたい処理をPythonで記述できるボックスです。
その中身はこんな感じです。(細かくて読めませんね。。汗)
CheckDistance
取得した情報から必要なもの(Pepperと動く物体との距離)だけを抜き出して判定し、それにあわせて出力信号を出しています。

コードとしては、とても短くやっていることは単純なのですが。。
最初なので、結構苦労の連続でした。。(/ω\)


まず、情報が取れなくてエラーになったり。。
原因は、ボックスの入出力コネクタのタイプ設定でした。

次に、程よく何度も検出できるようにするには、どのようにループさせるか思考錯誤。。
これは、OnlyOnceボックスの入力に「onStart」を追加し、コードで「bFirstTime」フラグを立てる事で解決。
OnlyOnce_kai

と、、今回は難し~い話となってしまいましたが、
プログラミングの基礎とコンピュータに関する基礎知識があれば、日々進化する新しい事も習得可能です!!

プログラミングの基礎は、アルゴリズムを組み立てる力と何か一つ基礎となる文法を覚える。(スクールではC言語を導入としています)

コンピュータに関する基礎知識は、一番よいのは基本情報技術者試験に合格!ですが、合格率は20%~25%なので。。
でも、試験に合格できなくても、主要単元をそれぞれ6割くらい覚えれば、結構知識がつくと思います。

そのうち、基本情報技術者試験の対策講座なるものを開講するかも!?です<m(__)m>

/* Bootstrap3 js */