[Squeak-ja: 4330] Re: ScratchからMYUロボを制御

Atsushi Mori moriat @ obirin.ac.jp
2009年 9月 5日 (土) 11:43:12 JST


  阿部さん、皆さん

  森@桜美林です。情報収集に数日程度はかけたつもりでしたが、
  まだまだ調査不足でした。数倍の情報をいただいたように思いま
  す。しかも、非常に興味深い実践例が多く、勉強になります。
# 他の方のいい仕事は私のエネルギーにもなります。

  Scratch (あるいは Squeak)に狙いをつけたのは、前任校で話を
  聞いていたこと、そして、すぐには記事を見つけられませんが、
  Make: の記事で、Mindstorms の Labview でいきなり組むのでは
  なく、Scratch で組んでおくといいよ、という記事を読んだから
  です。
  ご指摘の親和性については全く考えておりませんでした。確かに、
  single task を前提としている Arduino では、いろいろな意味
  で対応が悪くなるように思います。

  沢山勉強課題ができましたが、それは、何を勉強すべきかはっき
  りしてきたことでもあります。

  いろいろと情報を下さりありがとうございました。少しでも進ん
  だらご報告できればと思います。

  今後ともどうぞよろしくお願いいたします。

From: Kazuhiro ABE <abee.abe @ nifty.ne.jp> さん
Subject: [Squeak-ja: 4327] Re: ScratchからMYUロボを制御について
Date: Fri, 4 Sep 2009 20:01:20 +0900

*> こんにちは、阿部です。
*> お返事ありがとうございます。
*> 
*> 多点展開する観測デバイスというと、中央農業総合研究センターのフィールドサーバが思い浮かびます。
*> http://model.job.affrc.go.jp/FieldServer/
*> 以前に私の会社でSqueak Etoys用のインタフェースを業務として開発したのですが、これはオープンになっていません。
*> https://www.blogger.com/comment.g?blogID=1928755558855297554&postID=4169154204940888835
*> http://oku.edu.mie-u.ac.jp/~okumura/blog/node/1525
*> 先に書いた世界聴診器も応用例として考えていますが、今のところ実践例はありません。
*> http://swikis.ddo.jp/WorldStethoscope/2
*> 自律しませんが、Scratch用のPicoBoardでも似たようなことはできます。
*> http://www.mdstorm.com/picoboard/Picoboard.html
*> 
*> ロボット教育にSqueak(not
*> Etoys)を使った例としては、山梨学院大学の伊藤先生がAIBOカップ用に作られたDefartがあります。これは状態遷移図ベースです。
*> http://www.itolab.com/defart
*> 
*> 初等教育を目的としたものとしては、これまた手前味噌で恐縮ですが、私の作ったCロボとRobovie-MS用のEtoysインタフェースがあります。
*> http://swikis.ddo.jp/WorldStethoscope/30
*> http://swikis.ddo.jp/WorldStethoscope/37
*> 
*> CロボとEtoysを使って自律動作を可能にしたものとしては、岐阜高専の出口研究室のものがあります。(最初の頃、ちょっとだけお手伝いしました。)
*> http://www.gifu-nct.ac.jp/elec/deguchi/sotsuron/wakayama/wakayama.html
*> 
*> ただ、Cロボを作ったESP企画の江崎さんのそもそものお考えは「小学生にもCを教えるべき」というもので、それはひとつの見識と思います。
*> http://www.esp.co.jp/panf/CRBKT.pdf
*> 
*> さて前置きが長くなりましたが、一般的にロボットのプログラミングにビジュアルプログラミング言語(VPL)を使う例としては、お書きになっているLEGOのMindStormsのRoboLab(LabViewベース)やPico
*> CricketのPICO BLOCKSが有名です。
*> ただし、高価で中身をいじりにくいのもおっしゃるとおりです。ヴィストンのBeautoシリーズは比較的安価でBeauto
*> BuilderというVPLが用意されています。Beauto Chaserのハードやプロトコルは仕様が公開されていますが、Beauto
*> Builderはクローズです。
*> 
*> そう考えると、確かにArduino用のVPL、すなわちスケッチをタイルやブロックで表現することには一定のニーズがあるように思います。その際、Squeak
*> EtoysやScratchをベースにするメリットとしては、すでに用意されたGUI部品やフレームワークを流用できることでしょう。デメリットとしては、しばしば特殊や難解といわれるSmalltalkの習得が必要なことでしょうか(個人的には超簡単と思うのですが)。
*> 注意点としては、EtoysやScratchのスクリプト(これらはSmalltalkとも異なります)は機器制御との親和性が必ずしも高くないことです。どちらも複数のオブジェクトによる並列動作が前提でリアルタイム性も保証されていません。たぶん、EtoysやScratchのスクリプトをそのままArduino言語に落とし込もうとすると相当の齟齬が生じます。そのため、表面的には似ているけれども異なる言語を再構築する必要が出てきます。つまり、今まで子供たちがEtoysなりScratchなりで絵本やゲームを作ってきたスクリプトの考え方をそのままロボットに適用するのは少し難しいかもしれません。私がロボットを使うときに自律ではなく限定された遠隔操作を使っている理由もこのあたりにあります。WeDoもそうですね。
*> とすれば、すでに存在しているPduinoなどのVPLに比べてEtoysやScratchベースのものにどのようなアドバンテージがあるのか、仮にPduinoが子供にとって使いにくいとすれば、それを改良するアプローチもあるのではないかということも検討すべきかもしれません。
*> 
*>  //abee
*> --
*> 阿部 和広  EMAIL abee @ squeakland.jp
*> 
*> 2009年9月4日18:07 Atsushi Mori <moriat @ obirin.ac.jp>:
*> >  阿部さん、皆様
*> >
*> >  早速、ご丁寧なメールをありがとうございます。桜美林大学の森
*> >  です。とても参考になります。
*> > # 前任校が学芸大学でしたので、もしかしたら、2-hop ぐらいの人
*> > # 脈で届くかもしれませんね。
*> >
*> >  さて、「何をしたいか」というもっとも重要な点を書き忘れてい
*> >  ました。特にMLの新入りですので、共通認識が欠けています。申
*> >  し訳ありません。
*> >
*> >  一つには多点展開する観測デバイスとしてマイコンを利用したい、
*> >  というのもあります。(私は気象が専門です。)
*> >
*> >  しかし、大切なのは、もう一つの点です。それは、同じノウハウ
*> >  を活かして、教材としてのロボットを安価に作りたいということ
*> >  です。ロボット教材は観察・仮説・実験検証といったプロセスを
*> >  たどるには、丁度いい素材です。また、欲張りな私は、ロボット
*> >  教材でプログラミングの技術も身につけてほしいと考えています。
*> >  どちらも、合理的な思考能力を高めるために、適切な学習項目で
*> >  あり、これからの教育の中で重要となるものだと考えています。
*> >  (私個人の宗教のようなものです。)
*> >
*> >  そして、どうせロボットを作るのであれば、ロボカップジュニア
*> >  程度で十分に競えるレベルのもの( だから Gainer ではなく、
*> >  Arduino )、子供でも大人でも興味を持てるものの方がよいと考え
*> >  ています。特に、子供の場合には、成長した後も、身につけたこ
*> >  とが実際に活きるような素材であればいいと思っています。LEGO
*> >  Mindstorms (特にその教育向けセット) は、これらの点で非常に
*> >  優れた教材だと思います。しかし、デバイスの追加や、何よりも
*> >  価格が大きな壁です。
*> >
*> >  Arduino は、安価で構成することができ、華やかな実践例が沢山
*> >  あり、大人が気楽に楽しめるのはいいと思います。Arduino に欠
*> >  けているのは子供でもできるプログラミングインターフェースで
*> >  す。そんなことを考えて 7月にこの ML に入りました。MYU の記
*> >  事を拝見して、もしかしたら、同じようなことを考えられていた
*> >  のかな、と思うと同時に、既存のロボット教材をつかうのもあり
*> >  かな、とも思った次第です。
*> >
*> >  つらつら書きましたが、自分でも「これがやりたい」というもの
*> >  がはっきりしていないことを感じながら書いています。
*> >
*> >  私はとても厚かましいので、「他の人がどう思うかとかあまり関
*> >  係がない」とは思いません。それは、いろいろな意味で私一人の
*> >  力ではとても実現しないだろうからです。厚かましい私は、人の
*> >  力をお借りしてやっていきたいと考えています。そもそも他の人
*> >  の開発して下さった Scratch という素材を利用する訳ですし、い
*> >  ろいろな方の書かれたドキュメントも読むことになると思います。
*> >  より多くの方が興味を持ってくだされば、より多くのアドバイス
*> >  もいただけると(本当に厚かましく)考えています。そこで、「こっ
*> >  ちの方がずっといいよ」というものがあって、そちらに人が集ま
*> >  るのであれば、そうしたいと考えています。
*> >
*> >  逆に Scratch から見たロボット教材という立場もあるような気
*> >  もしますが、こちらについては私はコメントできるほど Scratch
*> >  を使っていませんので、また別の機会があればと思っています。
*> >
*> >  私の考えはこんなところです。
*> >  長文失礼致しました。
*> >
*> >  今後もどうぞよろしくお願いいたします。
*> >
*> > # MYU は近日中に購入して試したいと思い、楽しみにしています。
*> > # ちなみに、自作 Arduino では、RxD と TxD をひっくり返さずに
*> > # つないでいて、数日悩みつづけてしまいました。私の電子工作の
*> > # レベルはその程度です。
*> >
*> > From: Kazuhiro ABE <abee.abe @ nifty.ne.jp> さん
*> > Subject: [Squeak-ja: 4325] Re: ScratchからMYUロボを制御について
*> > Date: Fri, 4 Sep 2009 15:37:47 +0900
*> >
*> > *> 森さん、こんにちは、阿部です。
*> > *> 検索して、Wikiを拝見しました。レポート課題のコメントがとても興味深かったです。
*> > *>
*> > *> そうですね。基本的な私の考えは自分が楽しいかどうかです。それを満たした上で、もし皆さんの役に立つことがあれば、やってみるかなくらいののりです。
*> > *>
*> > *> 今回のMYUロボについては、寶迫さんから小学校の授業で使えるロボット教材が欲しいというお話があり、その際にLinux上のScratchから使えることという条件があったので、いくつかある選択肢の中から、コスト、技術情報、実践事例の有無、入手性、組み立ての容易さ、たまたま手元にキットがあったことなどを勘案してMYUロボを選びました。
*> > *> もちろんArduinoでも可能だったと思いますが、ロボット教材としてパッケージになっていて、国内で安価に入手できるところを見つけられませんでした。
*> > *> これはArduinoが良い悪いという話ではなく、ニーズに合致しているかどうかの問題です。仮にターゲットが大学生で、自由度が高いメディアアート系の作品の素材を求めていて、自律性が必須であればArduinoを選んだかもしれません。場合によってはGainerかもしれないですし、それは状況次第です。もし良いものがなければ一から作るかもしれません(私の場合、世界聴診器がそうでした)。
*> > *> つまり、最初からAVRとかPICとかオープンソースとかプロプライエタリとかがあるのではなくて、それは結果でしょうということです。
*> > *> 箇条書きされていた質問に関して言えば、すべて「いいえ」です。森さんが「オー プンソースハードウエア上で、やはりオープンでしっかりした
*> > *> Scratch のような環境でプログラムしたものを動かせたらいい」と思われているのであれば、それを止めるものはなにもありません。他の人がどう思うかとかあまり関係ないと思うのですが、いかがでしょう。もし疑問があるとすれば、そのようにして作られた環境の上で何をされたいのか、くらいでしょうか。
*> > *>
*> > *>  //abee
*> > *> --
*> > *> 阿部 和広  EMAIL abee @ squeakland.jp
*> > *>
*> > *> 2009年9月4日14:20 に Atsushi Mori<moriat @ obirin.ac.jp> さんは書きました:
*> > *> >  はじめまして。森(@桜美林大学)といいます。
*> > *> >
*> > *> >  阿部さんの試みや、韓国のDonghee Parkさんの試みを、非常に興
*> > *> >  味深く読ませていただいています。
*> > *> >
*> > *> >  私は Smalltalk も電子工作も素人ですので、以下、とんちんか
*> > *> >  んなことを書くかもしれませんが、その点御了解いただき、また、
*> > *> >  この ML の皆さんのご意見を伺うことができたらと考えておりま
*> > *> >  す。どうぞよろしくお願いいたします。
*> > *> >
*> > *> >  私自身は、Arduino (http://www.arduino.cc/など) のような、オー
*> > *> >  プンソースハードウエア上で、やはりオープンでしっかりした
*> > *> >  Scratch のような環境でプログラムしたものを動かせたらいいと
*> > *> >  考えています。(もっとも CPU はオープンではないのですが。)
*> > *> >
*> > *> >  今回の MYU 関連はとてもいいとは思いますし、ハードウエアが簡
*> > *> >  単なために、事実上自分で改作することは容易だとは思います。
*> > *> >  また、主として中学校をターゲットとしたロボット工作用の教材
*> > *> >  を開発している私企業の方々には、心底、敬意を抱いています。
*> > *> >
*> > *> >  しかし、一つの企業が作っているために他の企業が参画しにくい
*> > *> >  環境があるとすると残念ですし、ユーザーが自由に改作すること
*> > *> >  ができることで、子供から大人までシームレスに利用できる題材
*> > *> >  があってもいいように思います。そのためには、オープンである
*> > *> >  と明言されているプラットホームを利用する方がいいように思い
*> > *> >  ます。
*> > *> >
*> > *> >  そこで、個人的には、Scratch で組んで Arduino に組み込んで自
*> > *> >  律的に動かすことができるような環境ができたらいいと思ってい
*> > *> >  ます。個人的には arduino については、ようやく自作ブレッドボー
*> > *> >  ド版が動き出したところです。Scratch や Smalltalk については、
*> > *> >  この ML や書籍を通じて、本当にこれから勉強するところです。
*> > *> >
*> > *> >  もしも、
*> > *> >
*> > *> >  ・AVR(Arduino) ではなく、やっぱり PIC でしょう
*> > *> >  ・Scratch を改変するのは大変なので、とても無理でしょう
*> > *> >  ・高くても PaPeRo を使うべきでは
*> > *> >  ・そもそもハードウエアとソフトウエアを連携させようと思うのが間違い
*> > *> >
*> > *> >  などなど、あるいはその他のご意見でもありましたら、意見交換・
*> > *> >  情報交換をさせていただきたいと思います。
*> > *> >
*> > *> >  最初のメールで大変厚かましいのですが、どうぞよろしくお願い
*> > *> >  いたします。
*> > *> >
*> > *> > From: Kazuhiro ABE <abee @ squeakland.jp> さん
*> > *> > Subject: [Squeak-ja: 4320] ScratchからMYUロボを制御について
*> > *> > Date: Sun, 30 Aug 2009 15:28:47 +0900
*> > *> >
*> > *> > *> こんにちは、阿部です。
*> > *> > *> 夏休みも終わりが近づいてきましたが、ScratchSource
*> > *> > *> 1.3.1を使って、ミュウスタジオのMYUロボを制御できるようにしてみました。二軸のMYU-503と三軸のMYU-507に対応しています。
*> > *> > *> http://www.studiomyu.com/
*> > *> > *>
*> > *> > *> 合わせて、ジョイスティックも使えるようになります。必要なファイルは以下に置きました。
*> > *> > *> http://squeakland.jp/abee/tmp/ScratchMyuRobo.zip
*> > *> > *>
*> > *> > *> これをScratchをインストールしたディレクトリに展開し、Scratch.imageの代わりにScratchMyuRobo.imageを使ってください。追加したブロックはステージの「動き」カテゴリにまとめてあります。言語メニューから「日本語(MYUロボ)」を選択すると日本語表示になります。使い方はProjectsの中のサンプルをご覧ください。ポート番号は、お使いのプラットホームや環境で異なるので、調べて置き換えてください。
*> > *> > *> MYUロボの機能のうち、使えるのはリモコンモードだけです。したがって、自律モードでは動かすことができず、常にシリアルケーブルでつないだ状態で、Scratchのスクリプトから制御することになります。
*> > *> > *> 動作確認はWindows XP SP3とUbuntu
*> > *> > *> 9.04、KNOPPIX6.0.1で取れています(寶迫さん、ありがとうございます)。ただし、Linuxでジョイスティックは使えないかもしれません。
*> > *> > *>
*> > *> > *> では、お楽しみください。
*> > *> > *>
*> > *> > *>  //abee
*> > *> > *> --
*> > *> > *> 阿部 和広  EMAIL abee @ squeakland.jp
*> > *> >
*> > *> > --
*> > *> >  森
*> > --
*> >  森
*> >
*> >
--
  森


Squeak-ja メーリングリストの案内