pibuggy

pibuggy は、ラズベリーパイを用いたステアリング型のロボットです。

pibuggy
pibuggy

駆動系にはタミヤのバギー工作基本セットを用い、モータにはています。また、ステアリングにはマイクロサーボSG-90を用いています。ボディにはラズベリーパイA+と追加基板を載せています。電源は小型のモバイルバッテリで、モータおよびラズベリーパイに電力を供給しています。

ボディは3Dプリンタを用いて造形しており、ネジ止めなど簡単な作業でロボットを組み立てることができます。モータドライバはユニバーサル基板上に製作していますが、プリント基板化してより安易に製作することを目指しています。

センサ部はpiroverと互換性があり、カメラモジュールを付けることもできます。

ハードウェア構成

ソフトウェア構成

  • OS:Raspbian Jessie with PIXEL
  • カーネル:Linux Kernel 4.4
  • ファイルシステム:aufs+fsprotectによるROM化
  • IO制御:WiringPi2 for Python
  • 外部インターフェイス:RSPBuggy

RSPBuggyにより、MESHネットワークを有効にしたScratch 1.4でPC等からpibuggyを簡単に制御することができます。

現在ステアリング系の改修中で、よりハンドリングしやすい構造を検討中です。

pirover

pirover は、ラズベリーパイを用いた対向二輪型のロボットです。

pirover

下部にはモーターとして「ちっちゃいものくらぶ」の「ちびギアモータ+プーリー・タイヤ」を用いています。また、上部にはラズベリーパイA+と追加基板を載せています。電源は小型のモバイルバッテリで、モータおよびラズベリーパイに電力を供給しています。

ボディは3Dプリンタを用いて造形しており、ネジ止めなど簡単な作業でロボットを組み立てることができます。モータドライバはユニバーサル基板上に製作していますが、プリント基板化してより安易に製作することを目指しています。

ハードウェア構成

ソフトウェア構成

  • OS:Raspbian Jessie with PIXEL
  • カーネル:Linux Kernel 4.4
  • ファイルシステム:aufs+fsprotectによるROM化
  • IO制御:WiringPi2 for Python
  • 外部インターフェイス:RSPRover

RSPRoverにより、MESHネットワークを有効にしたScratch 1.4でPC等からpiroverを簡単に制御することができます。

1時間から2時間程度、連続稼働させることができます。

Scratch Day in Tokyo 2016で展示発表を行いました

2009年から続くScratch Day、伊藤研究室では2010年から参加しています。

今年は Scratch Day in Yamanashi のサポートに続いて、Scratch Day in Tokyoでは学生さんに手伝ってもらって、展示ブースでの活動を行いました。

Retro & Cheap をモットーに、親に連れてこられた小さなお友達を楽しませるような展示発表を目指しています。昨年はAIBO(retro)と小さなロボット(cheap)を使って、ミニサッカーゲーム(要はロボットを操縦してボールをゴールに入れる)を行ったのですが、小さなお友達にかなり公表だったので、今年はロボットを使った迷路抜けをやってみました。

使ったロボットは下のようなものです。

Jpeg
ロボット

今回のロボットはRaspberry piに、「ちっちゃいものくらぶ」の「ちびギアモータ+プーリー・タイヤセット」を付けた簡単なロボットベースに、TrevaとLEDライトを付けた簡単なものです。

TrevaはFeel H用のPHSのイヤホンジャックに差し込むタイプのカメラで、今時では考えられない10万画素の解像度となっています。(今回はTrevaがRetroで、ロボット全体とコースがCheapになります)

15年近く前にいしかわさんがデジQにTrevaを載せており、その頃にジャックを分けて頂いてて、ずっと放置状態だったのですが、Raspberry piに付けるカメラを物色していたところ、解像度はとても低いですが、GPIOだけで接続できるのと消費電力が小さいということで採用しました。ちなみに、会場にはいしかわさんもお見えになったのでTrevaジャックのお礼をしました。

イベントでは、このロボットをScratchで作ったプログラムで操縦して、下のような迷路を抜けさせるミッションを行いました。この迷路はゼミ唯一の女子学生が夜なべをして作ってくれたものです。中の装飾は来場した子ども達と一緒に完成させました。

Jpeg
コース

実際に迷路を抜ける様子のビデオは下の通りです。

ロボットを直接見ながら操縦するのは簡単ですが、Trevaの画像を通してだとかなり難易度が高いです。

Treva の画像取得のスピードが遅いので、のんびりした画像更新になっています。また、子ども達のクリック連打に対応するよう、あまり素早くは動けないようになっています。

使用したロボットは以前から作っていましたが、フィールドやプログラムは5日間くらいで作りあげたもので、それにしては多くの人に楽しんでもらえたと思います。せっかくなのでもう少し改良して、学園祭の展示に使おうと思っています。

また来年も何か考えて出展したいと思います。
ご来場いただいた皆様、ありがとうございました。

Scratch Day 2013 配布資料「Pharoをはじめよう」

5/19にベネッセ東京本部で開催されたScratch Day 2013 in Tokyoに参加してきました。
その際に配布したPharoの資料の内容を公開します。Pharoを試してみたいという方の参考になればと思います。

1.Pharoの入手

以下のサイトからOS別に入手します。最新版は2.0です。
http://www.pharo-project.org/

2. Pharoのインストールと起動

(Windows)

  1. ダウンロードしたPharo2.0-win.zipファイルを展開します。
  2. フォルダ内のPharoアプリケーションを起動します。

(Mac)

  1. ダウンロードしたPharo2.0-mac.zipファイルを展開します。
  2. 展開してできたPharo-2.0を起動します。

3.日本語フォントの設定

  1. デスクトップをクリックし、System-Settingsを選びます。
  2. Appearanceの左の▷をクリックします。
  3. Standard fontsの左の▷をクリックします。
  4. Defaultの行のBitmap DejaVuをクリックします。
  5. 右下のUpdateボタンを押します。
  6. 左上の一覧から(WindowsならMS Gothic、MacならHiraginoなど)適当な日本語フォントを選びます。
  7. OKボタンを押します。
  8. Reset all to defaultを押します。
  9. Settings Browser画面を閉じます。

4. Pharo by Example

日本のPharoユーザー有志がPharo by Exampleの日本語翻訳を行いました。
内容は若干古くなっていますが、基本的なことを学べます。
http://www.smalltalk-users.jp/Home/docs

5. dotinstall 「Smalltalk入門」

ドットインストールのSmalltalk入門ではPharoを用いています。
こちらも独学で学ぶのに良いでしょう。
http://dotinstall.com/lessons/basic_smalltalk

6. メーリングリスト

Squeak-jaメーリングリストですが、Pharoに関する質問もできます。
http://www.smalltalk.jp/mailman/listinfo/squeak-ja

学園祭展示物:横スクロールシューティングゲーム「SkyRush」公開

2012年度の専門ゼミナールIでは、Pharoによるプログラミング入門を行っています。
今年は横スクロールシューティングゲームに挑戦し、学園祭にて展示発表しました。
2日間の展示に使用したソースの準備ができたので公開いたします。
展示ではKinectを使って自機をコントロールしましたが、Kinectがなくてもゲームが試せるようにKinect無し版も公開します。

公開するファイル

1日目に展示したもの

大森慎司が作成したゲームです。上下左右の矢印キーで自機を操作し、zキーでビームを、xキーでボムを発射します。

2日目に展示したもの

網野理恵が作成したゲームです。zキーでビームを発射します。

Kinect関連ソフトのインストール

Kinectとの接続には、KinectOSCパッケージを利用しています。
KinectOSCパッケージの導入や接続については、以下のページを参考にしてください。

KinectOSCの導入 / Раздан-3の備忘録

インストール方法

ダウンロードした圧縮ファイルの中身をPharoのイメージがあるフォルダに展開し、.stファイルを起動したPharoにドラッグ&ドロップしてInstallするか、ToolsメニューのFile Browserで.stファイルを選び、Installボタンを押してください。
なお、起動時に読み込むため画像ファイルはPharoのイメージがあるフォルダに格納しておいてください。

実行方法

Workspaceを開き、SkyRush new openInWorldを入力して選択し、Do itしてください。
なお、起動した画面をクリックしないとキーボードで操作できないので注意してください。

ライセンス

ソースプログラムや画像ファイルについては、MIT Licenseに従います。

2012.11.16追記

公開しているソースはWindowsでの利用を前提としており、キーコードの違いからMac OS Xでは動作しません。
Mac OS X上のPharoで利用する際には、以下のパッチを導入してください。
パッチの導入には、.stファイルと同様にFile Browserで.csファイルを選択し、FileInしてください。

SkyRush-Mac-keyboardpatch.cs

山梨学院学生チャレンジ制度2011秋作成資料

伊藤ゼミの有志学生が、平成23(2011年度)「山梨学院学生チャレンジ制度」に応募し、プロジェクトが採択されました。プロジェクトの内容は、「山梨学院大学/短期大学の案内システムの開発」です。
ここに、プロジェクト採択および奨励金受領に対する責任から、応募の際の企画書および、年度末に提出した報告書、入学式時の掲示ポスターを公開いたします。

参考URL

弾幕ゲシュタルト on Pharo

前期の専門ゼミナールの後半に題材として取り上げた弾幕ゲシュタルトのソースを公開します。
弾幕ゲシュタルトは「がまぐ 2011/2」の「脳内麻薬とゲーム(土本さん)」で紹介されているゲームです。
「がまぐ」ではJavaのソースが公開されていますが、これをPharoで実現するためにCRCカードの作成からはじめて、各学生が自分たちで完成させるまでを学びました。

ここで紹介するのは、実際の動きを見せるために作成したもので、学生には見せていないものです。とはいえ、JackPotと同様、とてもストレートな作り方をしており、サブクラス化もあえてしていません。Pharoにおけるゲーム作成の参考になれば幸いです。

動作画面

なお、keyDown:, keyUp:を使用している関係上、キーコードの判定部分が機種依存になっています。そのためWindows, Macのソースを別ファイルにして配布しています。Linux等で利用する場合には、適宜、Danmaku>keyDown:, Danmaku>keyUp:を修正してください。

対応バージョンとしてはPharo 1.2.1を想定していますが、1.3でも動作するはずです。1.2.1の場合、CogVMの使用を強くお勧めします。

ダウンロード

配布時ソースコード(Mac版)
配布時ソースコード(Windows版)

インストール

  1. Windows,Macの環境に応じた上記ファイルをダウンロードし、適当なフォルダに置きます。
  2. Pharoを起動して、WorldメニューからTools-File Browserを開き、上記ファイルを見つけて、Filinします。

起動方法

Workspaceで、Danmaku new openInWorldとしてください。現れた画面をクリックすると、キー入力を受け付けるようになります。
遊び方としては、上下左右の矢印キーを使って飛んでくる赤い玉をよけるだけです。

ライセンス

GPL v3

ScratchGainerの公開

ScratchDay 2011でデモを行ったScratchGainerのイメージおよびソースファイルを公開します。

http://info.scratch.mit.edu/Source_Code で配布されているBased On Scratchのイメージを上書きすればScratchでGainerを扱うことができるようになります。

インストール方法や使い方についてのご相談はtwitter上のアカウント @nqthm まで遠慮なくどうぞ。

なお、利用される場合は現在進行形のプロジェクトなので予告なく内容が変わることをご了承ください。

ダウンロード

イメージファイル(zip圧縮済): ScratchSourceCode1.4.image.zip
チェンジファイル: ScratchGainer1.6.cs

ライセンス

GPL v3