報告者: 椎野綾菜(松田ゼミ)

今回、先生から、初心者向けのp5.jsというプログラミング言語の入門書(p5.jsプログラミングガイド、図1)を一緒に書く機会をいただきました。

今回の本の執筆作業は、次のようでした。(1)プログラムを作成する、(2) Wordで原稿を書く、(3)原稿をチェックする、(4) 出版社へ送付する、です。出版社に送付するとゲラ(版下と同じものの電子版)が戻ってきます。そのゲラをチェックして送ると出版されるという流れになっています。今回は、7月の下旬から、プログラミングを作成し始め、Wordで原稿を執筆し、先生に添削して頂き、8月が終わるまでには終わりました。また、9月の授業が始まるまで、先生が書かれた第2章の文章の校正もさせていただきました。

book
図1 本の表紙

1. p5.jsとは?

p5.jsは、ブラウザで動くアプリケーションやそれを含むWebページを開発するための新しいプログラミング環境です。これまでは、WebページはHTML5とJavaScriptを使って作成されていました。しかしながら、HTML5とJavaScriptを使って開発するのは簡単ではありません。このため、それを簡易に行えるようにするさまざまなライブラリが提供されてきました。p5.jsもWebページを簡易に行うためのJavaScriptのライブラリの1種です。これは、1年生の必修のプログラミング入門という授業で学ぶProcessingをベースに開発されており、Processingをより便利に、Webページでも使えるようにしたものです。

 2. 自分の書いたところの苦労

私は、第13章「2Dゲームを作る」を執筆しました。人に伝えるための文章を書いてみて、プログラミング用語の意味をしっかり理解していないかったことに気が付きました。例えば、戻り値についてC言語ではreturn 0; が戻り値だと誤って認識していたため、関数の説明で戻り値を説明しようとした時に、戻り値とは何かがわからなくなってしまいました。また、調べても引数と戻り値の説明が難しく、変数に引数と戻り値がない場合や、戻り値が目に見える変化がない場合があったため、説明に苦労しました。また、先生からは容赦なく真っ赤に修正された原稿が戻って来ました(図2)。

checkedMaterial
図2 チェックされた原稿

3.  原稿のチェック

先生が書かれた第2章の文章を「初心者でもわかるか」という点に注意して校正をしていきました(図3)。その際に苦労したことは、初心者の視点にたって文章を読んでいくこと、そして初心者が理解しにくい箇所をみつけることでした。私は大学の授業でプログラミングの勉強をしているため、文章を読んでいくうえで無意識のうちに自分の中でその文章を理解しているということがありました。しかし、初心者にとってその文章はわかりやすいのか、プログラミング経験者と初心者の差を見極めるのが大変でした。また、その文章をいざわかりやすいように直そうとしても、うまい言葉や言い回しを見つけ出すことができず、誰もがわかる文章を書くということに頭を悩ませました。
shiinocheck
図3 チェックした原稿

 4. まとめ

本を書かせていただいて、分かりやすく人に伝える事や、文章の組み立て方の難しさを学びました。また、初心者の人でも分かりやすくするためにはどうすればいいのかを工夫することが楽しかったです。実際に本が送られてきて、手に取ってみると1ヶ月頑張って書いたものが形になったことに感動しました。p5.jsに興味を持った方は、是非この本を読んでp5.jsを勉強してみて、何か作ってみてください。今後、私もこのp5.jsを使って何か面白い作品を作成してみたいと思います。

このような貴重な経験をさせていただき、ありがとうございました。

<松田ゼミ-9 前へ>

報告者(松田ゼミ: 瀬川怜奈、藤生七海)

松田ゼミでは、3年生のゼミⅡの講義2回を使って、Pepperというロボットについて学びました。松田先生に加え、大妻女子大学の研究補佐員である由谷先生をお呼びして、詳しく教えていただきました。

1.Pepperとは

Pepperはソフトバンクが販売する人型ロボットです(図1)。高さは120.1cm、幅が42.5cm、重さは28kgあり、センサーが7か所・カメラとマイクが1か所あります。Pepperはプログラミングすることができます。Pepperのプログラミングは、Choregraphe(コレグラフ)というアプリケーションをWi-Fi経由でPepperに接続して行います。コレグラフは、ロボットの動作を作成し、それをPepperで実行できるツールで、ALDEBARANの公式サイトから無料でダウンロードできます。

図1
図1

Pepperをプログラムするには、まず、Pepperを起動します。起動が終わったらコレグラフとPepperを接続します(図2)。

図.2
図2

2. 今回勉強した3つの動作

今回はPepperの3つの動作を勉強しました(図3)。1つ目は「発話」、2つ目は「移動」、3つ目は「センサーを作動させる」です。

図3
図3

2.1 Pepperを発話させる

Pepperに言葉を発させたい場合、左側のボックスライブラリにある”Speech”に機能があります。この中の”Creation”にある”Say”ボックスを使用します。このボックスを置き、言語をJapaneseに設定し、その下に喋らせる内容を入力します。あとは再生ボタンを押すと、入力した言葉を日本語で話してくれます(図4)。

図4
図4

2.2 Pepperを移動させる

Pepperの移動はx座標y座標を使って表しています(図5)。移動させるためには、”Movement”の中の”Navigation”にある”Move To”ボックスを使用します(図6)。”Move To”ボックスのx座標とy座標の項目に移動させたい距離を入力し、再生ボタンを押すとPepperが移動してくれます。

図5
図5

図6
図6

2.3 Pepperのセンサーを使う

今度は、Pepperの頭を触るとPepperが喋るようにしてみます。Pepperが持つセンサーが人の手を検知して、それを認識した後に好きな言葉を喋らせることが出来ます。これは、”Sensing”という項目の中にある”Tactile Head”ボックスを使用し、それを”Say”と繋げることで可能になります(図7)。

図7
図7

今回は以上の3つの動作を学びました。このような1つ1つの動作を組み合わせることでPepperの動作を作り出すことができます。組み合わせ方の自由度は高く、自分のさせたいようにPepperを動かしたり喋らせたりでき、オリジナルの動きを自分で作り出すことができます。

3. 学祭での活動

授業の以外にも、10月17日、18日に行われた大妻多摩祭でPepperの展示を行いました。その際、Pepperに内蔵されている2つのアプリを使い、見に来ていただいた方に楽しんでもらえるようにしました。その2つを紹介したいと思います。

  • オーディションアプリ
  • Pepperが人の声と表情を読み取り、演技に点数をつけてくれるアプリです。演技のお題は、泣きの演技・笑いの演技・怒りの演技の三つです。Pepperに提示されたセリフとお題を読むと、100点満点で採点をしてくれます。
  • 献立アプリ
  • ご飯の献立をランダムで提案してくれるアプリです。歌を歌いながら料理を画像と共に薦めてくれます。食べたいか食べたくないかを聞かれるので、食べたいと答えるとそのメニューの詳細情報とQRコードを表示してくれます。スマホなどでQRコードを読み込むと、レシピを見ることもできます。食べたくないと言うと別の献立を提案してくれます。

来ていただいたお客様はPepperを初めて見る方が多く、とても興味をもっていただけました。オーディションアプリでは全力で演技をし、高得点を獲得する方々がたくさんいました。献立アプリでは歌を歌うところで一緒にリズムにのって踊ったり、薦められた献立をみて「季節に合っていて、美味しそうね」と言って頂いたり、楽しんでいただけたと思います。

4.まとめ

今回Pepperの勉強を2回にわたって行いましたが、ロボットということで最初はどうしても苦手なイメージがありました。しかし実際にやってみると理解をしてしまえば仕組みはそんなに難しくなく、誰にでもロボットを動かすことができるということが分かりました。Pepperは操作やプログラムを作成するのを簡単に行うことができます。また、多くのアプリが内蔵されており、使用の幅も広く、さまざまなことに活用できるのではないかと思いました。これを機にPepperについてもっと深く勉強してみたいと思いました。