公立はこだて未来大学 2013 年度 システム情報科学実習
グループ報告書
Future University Hakodate 2013 System Information Science Practice
Group Report
プロジェクト名
函館観光用ロボット制作運営プロジェクト
Project Name
The project about creating squid robot for sightseeing in Hakodate
グループ名
製作グループ
Group Name
Creation Group
プロジェクト番号/Project No.
17-A
プロジェクトリーダ/Project Leader
1011208
牧穂乃花
Honoka Maki
グループリーダ/Group Leader
1011049
小田川玲奈
Rena Odagawa
グループメンバ/Group Member
1011031
後藤凌
1011072
小松紺奈
Kanna Komatsu
1011169
阿部稿作
Kousaku Abe
1011180
宍戸健吾
Kengo Shishido
1011182
須ヶ牟田百香
1011208
牧穂乃花
Ryo Goto
Momoka Sugamuta
Honoka Maki
指導教員
松原仁 柳英克
Advisor
Hitoshi Matsubara Hidekatsu Yanagi
提出日
2014 年 1 月 15 日
Date of Submission
January 15, 2014
概要
このプロジェクトの目的はイカ型ロボット IKABO を用いて函館の観光産業を盛り上げるこ
とである。我々のプロジェクトでは現在、IKABO1 号機、IKABO3 号機、IKABO5 号機を
管理しており、今回制作するのが初の 2 桁号機である IKABO11 号機である。巨大なロボッ
トを作ってほしいという市民の会の声からイカボの制作が始まったのだが、市民の会の要望は
20m 級のロボットを作ることであった。その練習段階として1号機が制作されたが、それ以
降バルーンを使用した9号機以外で、巨大なロボットが制作されることはなかった。しかし風
船ではロボットらしくないという意見から、よりロボットらしい、1号機のような、ロボット
を制作する案が挙がった。そこで今回、私たちは約 3.5m の巨大ロボットの機能の実装と設計
図の制作を計画する。また、キネクトを使い、人の動きに合わせて巨大ロボットが動くという
ユーザー参加型である。更に、性別が存在していて女の子であり、足で立つなど、「今までに
ないもの」をテーマとして制作する。IKABO11 号機は 3 年で完成させることを目標としてい
る。1年目は、3 年計画でロボットを開発するという案と機能面について考えた。そして、2 年
目の私たちは、そのことを引き継ぎながら設計図完成まで至る。また、11 号機制作の他に既存
の IKABO3 号機、5 号機のメンテナンスも行い、修正、改善をする。本プロジェクトの制作班
では、主な活動として約 3.5m の新たな IKABO11 号機の設計図完成を目標として活動する。
キーワード
IKABO, 観光, ロボット
(※文責: 小田川玲奈)
-i-
Abstract
The purpose of this project is to heap up tourism industry of Hakodate using cuttlefish
type robot ’IKABO’. Our project manage IKABO1,IKABO3 and IKABO5. We will
make the IKABO11 for the first time of the two digits unit in this year. The production
of IKABO began by the demand of the Hakodate citizens to want we to make a giant
robot,but was that the demand of the Hakodate citizens make a robot of the 20m
grade. The IKABO1 was produced as the exercise stage,but a giant robot was not
produced other than the IKABO9 using the balloon after it.However, from an opinion
don’t look like a robot when the robot using the balloon,a plan to produce a robot that
it look like a robot more and like the IKABO1. Therefore,we are trying to produce a
giant robot of about 3.5m. In addition,the robot’s user can participate playing with
the robot because the robot works to the movement of the person by using KINECT,
Furthermore, sex exists and it is a girl and stands with a foot and I feature the theme
of ”an unprecedented thing” and produce it. IKABO11 aims for completing it in three
years. First year,they thought about plan to develop the robot for three years and
function side. Second year,we reach the plan completion while succeeding the first year.
In addition,we maintain the existing IKABO3 and IKABO5,and they are improved with
a correction. In the production group of this project,we are active with the goal of the
plan completion of the new IKABO11 of approximately 3.5m as main activity.
Keyword
IKABO, Tourism, Robot
(※文責: 小田川玲奈)
- ii -
目次
第1章
背景
1
1.1
前年度の成果 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
1.2
現状における問題点 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
1.3
第2章
2.1
1.2.1
現状ではいかロボット 11 号機と 3 号機、5 号機に問題点がある。
. . . . .
1
1.2.2
IKABO3 号機の問題点 . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
1.2.3
IKABO5 号機の問題点 . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
1.2.4
11 号機の設計面の問題点 . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
課題の概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
1.3.1
11 号機の設計面の課題 . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
1.3.2
3 号機の設計面の課題 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
1.3.3
5 号機の設計面の課題 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
到達目標
本プロジェクトにおける目的
4
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
通常の授業ではなく、プロジェクト学習で行う利点 . . . . . . . . . . . . .
4
地域との関連性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
2.2.1
函館市との関連性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
2.2.2
函館市以外の地域との関連性 . . . . . . . . . . . . . . . . . . . . . . . . .
5
2.2.3
メディア出演 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7
具体的な手順・課題設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8
2.3.1
3号機の問題 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8
2.3.2
IKABO5 号機について . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9
新型 IKABO 11号機の制作 . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9
IKABO11 号機のソフトウェアの制作 . . . . . . . . . . . . . . . . . . . .
12
課題の割り当て . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
13
課題解決のプロセス (概要)
14
3.1
IKABO3 号機 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14
3.2
IKABO5 号機 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14
3.3
11 号機設計の課題解決概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14
3.4
IKABO11 号機に搭載するキネクトの実装について . . . . . . . . . . . . . . . . .
14
課題解決のプロセスの詳細
16
2.1.1
2.2
2.3
2.4
2.4.1
2.5
第3章
第4章
4.1
各人の課題の概要とプロジェクト内における位置づけ
. . . . . . . . . . . . . . .
16
4.2
IKABO3 号機課題解決の詳細 . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17
4.2.1
3 号機のメンテナンス . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17
4.2.2
3 号機の新たなマイコンの検討 . . . . . . . . . . . . . . . . . . . . . . . .
18
4.2.3
RaspberryPi の概要と機能 . . . . . . . . . . . . . . . . . . . . . . . . . .
19
- iii -
4.3
4.4
IKABO5 号機課題解決の詳細 . . . . . . . . . . . . . . . . . . . . . . . . . . . .
19
4.3.1
5 号機のメンテナンス . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
19
4.3.2
足がすぐ取れてしまう問題 . . . . . . . . . . . . . . . . . . . . . . . . . .
20
4.3.3
5 号機が動かなくなる問題 . . . . . . . . . . . . . . . . . . . . . . . . . .
20
IKABO11 号機課題解決の詳細 . . . . . . . . . . . . . . . . . . . . . . . . . . .
21
4.4.1
11 号機における設計面の企画経緯 . . . . . . . . . . . . . . . . . . . . . .
21
4.4.2
11号機の課題設定と到達目標 . . . . . . . . . . . . . . . . . . . . . . . .
22
4.4.3
11 号機についての案出し . . . . . . . . . . . . . . . . . . . . . . . . . . .
22
4.4.4
11 号機の仕様 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
23
4.4.5
11 号機のデザインについて . . . . . . . . . . . . . . . . . . . . . . . . . .
24
4.4.6
プロトタイプ 1 号機の制作 . . . . . . . . . . . . . . . . . . . . . . . . . .
25
4.4.7
プロトタイプ 2 号機の制作 . . . . . . . . . . . . . . . . . . . . . . . . . .
26
4.4.8
プロトタイプ 3 号機の制作 . . . . . . . . . . . . . . . . . . . . . . . . . .
26
4.4.9
企画書制作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
28
4.5
服のデザイン考案
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
30
4.6
設計プラン作成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
30
4.7
機械メーカーと交渉 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
32
4.8
設計プラン改善 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
32
4.9
設計図完成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
37
4.9.1
IKABO11 号機のソフトウェア開発の流れ . . . . . . . . . . . . . . . . . .
38
4.9.2
開発環境の構築について
. . . . . . . . . . . . . . . . . . . . . . . . . . .
38
4.9.3
開発環境の設定について
. . . . . . . . . . . . . . . . . . . . . . . . . . .
39
4.9.4
RGB カメラについて . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
40
4.9.5
骨格検知について . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
45
4.9.6
Kinect を使った PC の操作 . . . . . . . . . . . . . . . . . . . . . . . . . .
49
4.9.7
プロセッシング . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
52
4.9.8
プロセッシング 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
53
4.9.9
Kinect を使った PC の操作-動作によるクリックとイカボコントローラーの
第5章
起動 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
54
4.9.10 服の着せ替え機能の実装 . . . . . . . . . . . . . . . . . . . . . . . . . . .
55
プロジェクトの結果
61
結果 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
61
5.1.1
IKABO3 号機 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
61
5.1.2
IKABO5 号機 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
61
5.1.3
IKABO11号機設計の結果 . . . . . . . . . . . . . . . . . . . . . . . .
61
5.1.4
IKABO11 号機のソフトウェア開発
. . . . . . . . . . . . . . . . . . . . .
62
5.2
成果の評価 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
63
5.3
担当分担課題の評価 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
64
5.3.1
後藤凌 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
64
5.3.2
宍戸健吾 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
65
5.3.3
小松紺奈 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
66
5.1
- iv -
5.3.4
阿部稿作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
67
5.3.5
小田川玲奈 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
68
5.3.6
須ヶ牟田百香 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
68
5.3.7
牧 穂乃花 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
70
3 年計画―来年度の活動予定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
72
今後の課題と展望
74
IKABO11 号機の今後の課題と展望 . . . . . . . . . . . . . . . . . . . . . . . . .
74
IKABO11 号機におけるソフトウェア面での課題 . . . . . . . . . . . . . .
77
6.2
既存の IKABO における今後の課題 . . . . . . . . . . . . . . . . . . . . . . . . .
77
6.3
前期の反省点 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
78
6.4
後期の反省点 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
79
付録 A
活用した講義
80
付録 B
新規習得技術
81
5.4
第6章
6.1
6.1.1
参考文献
82
-v-
The project about creating squid robot for sightseeing in Hakodate
第1章
背景
本プロジェクトは函館市民有志らが 2005 年にいかロボット (通称 IKABO) の制作を本学に持
ち込んだことから始まった。函館市が抱える「観光客の減少」に対する問題を IKABO の制作を
通じて解決することを目的としている。その後、IKABO の制作を目指す市民有志らによって「ロ
ボットフェス・インはこだて市民の会」が発足した。IKABO の制作には公立はこだて未来大学を
始め、函館工業高等専門学校や民間企業、前述したロボットフェス・インはこだて市民の会が参加
し、函館の教育機関と企業の協力のもとで行われた。IKABO の制作は「函館市の新たな観光シン
ボルを制作し、函館の活性化に繋げ、そして将来的には函館をロボット情報の集積・発信基地に育
てる」という理念を掲げている。そのため、当初の計画目的は、30m 級の観光用巨大 IKABO の作
成をすることであった。しかし、予算の問題からその様なロボットを作ることは困難であった。そ
のため、巨大ロボットを制作する第一歩として、初めに小型のロボットを作成することになった。
これが IKABO の制作の始まりである。そして、前年度までのプロジェクトでは、全長約 2m の
IKABO プロトタイプ IKABO1 号機や、さらに小型である、IKABO3 号機、IKABO5 号機、試
作型風船 IKABO9 号機が作成された。今回は、2015 年に函館市の近くまで新幹線の延伸があり、
それにあわせて新型 IKABO を制作することを計画している。新型いかロボット IKABO11 号機
は従来よりも巨大にし、函館市の新たな観光シンボルになるように制作計画をしている。
(※文責: 後藤 凌)
1.1
前年度の成果
前年度の主な成果は IKABO3 号機 IKABO5 号機の動作の改善と新規機能の追加した。また、
IKABO1 号機、IKABO3 号機、IKABO5 号機の引継ぎマニュアルの作成した。そして、3 年後
の新幹線延伸に向けて、今までのような 1 年に 1 つの IKABO ではなく 3 年という期間を設け、3
年計画で新型 IKABO11 号機を制作することを計画した。
(※文責: 後藤 凌)
1.2
現状における問題点
1.2.1
現状ではいかロボット 11 号機と 3 号機、5 号機に問題点がある。
1.2.2
IKABO3 号機の問題点
次に、3 号機についてである。IKABO3 号機のメンテナンスをしたところ、動作不良がわかっ
た。そこで 3 号機と 5 号機のマイコンを入れ替えて動作させたところ 3 号機は正常に動作し、5
号機は正常に動かなかった。よって、マイコンの故障が 3 号機の動作不良の問題点である。
(※文責: 後藤 凌)
Group Report of 2013 SISP
-1-
Group Number 17-A
The project about creating squid robot for sightseeing in Hakodate
1.2.3
IKABO5 号機の問題点
次に、5 号機についてである。IKABO5 号機には 2 つ問題点がある。1 つ目として IKABO5 号
機を動作させてる最中に動作不良が起こった。動作不良が起こった時点ではマイコンに故障があ
るのではないかと考え、調べた。しかし、マイコンは故障してかった。次にイカボコントローラの
ソフトウエアに原因があると考え調べたが問題はなかった。上記の 2 つに問題点がなかったので
接続に問題があるのではないかと考えた。その結果、Bluetooth 接続に問題点があることがわかっ
た。2 つ目として足が取れ易いという問題点である。IKA 足をマジックテープで固定しているた
め、IKABO5 号機を動作させると取れてしまうという問題点がある。以上 2 点が IKABO5 号機に
おける現在の問題点である。
(※文責: 後藤 凌)
1.2.4
11 号機の設計面の問題点
まずは、11 号機の設計面での問題点である。
既存の最大の IKABO は、IKABO1 号機の 2m となっており、それの 1.5 倍以上となる3 m 級
の 11 号機の作成を計画している。全長が大きくなるということは、それだけ安全面や運搬性など
において、問題点が増える。3 m という大きさは、イベントなどに参加する上で、著しく安全性
を損なう要因になりかねないため、十分にその安全性について考慮する必要がある。つまり、大き
くなった所為で、バランスが不安定になり倒れてしまう危険性もあるということである。さらに、
倒れてしまった場合、人が 11 号機の下敷きとなってしまうと大きな事故につながりかねないので、
問題点としてあげられる。また、3 m という大きさなので、持ち運びにかなりの労力が必要とな
るため問題である。そして、1 号機制作時にかかった金額が約 200 万ということでそれよりも大き
い 11 号機を制作するに当たって、どの程度の予算がかかるのかという問題点がある。そして、そ
の費用面についての問題解決に繋がる 1 つの手段として、私たちが自分で制作できる手や耳や目な
どの部分については自分たちで制作するということになった。しかし、ネットを使って設計図の寸
法通りのものを見つけなければいけないため、それは果たして見つかるのか、もしくはオーダーメ
イドをしなければならないのかという問題点があがった。以上 4 点が IKABO11 号機における現
在の問題点である。
(※文責: 小田川玲奈)
1.3
1.3.1
課題の概要
11 号機の設計面の課題
• 大きさ及び重さによる安全性
• 運搬のしにくさ
• コストの削減
• 自分たちで部分部分を作ることが現実的に可能かどうか
(※文責: 小田川玲奈)
Group Report of 2013 SISP
-2-
Group Number 17-A
The project about creating squid robot for sightseeing in Hakodate
1.3.2
3 号機の設計面の課題
• マイコンの故障による動作不良
(※文責: 後藤 凌)
1.3.3
5 号機の設計面の課題
• Bluetooth の接続
• 足の固定
(※文責: 後藤 凌)
Group Report of 2013 SISP
-3-
Group Number 17-A
The project about creating squid robot for sightseeing in Hakodate
第 2 章 到達目標
2.1
本プロジェクトにおける目的
本プロジェクトの目的は、IKABO というブランドを函館以外にもメディアや観光者を通じて国
内外へと知名度を広げることにより、今よりも函館の観光産業を盛り上げることである。この目的
を達成するために IKABO をさまざなイベントに参加させたり、グッズ販売なども行う。函館だけ
でなく、各地の発表にも積極的に参加する。
今年度は、既存の IKABO のメンテナンスと新型 IKABO11 号機の開発を目標として活動する。
既存の IKABO のメンテナンスとして、昨年作成された既存機のマニュアルに従い、万全の状態
でイベントに参加させる。新型 IKABO の開発については、昨年に建てられた「3 年計画」を引き
継ぐ。これは、1 年では IKABO の制作完了が不可能であると判断され、3 年で完成を目標とする
計画のことである。昨年の設計図や案を元に、現実可能な案と、今年独自の案を取り入れた新型
IKABO11 号機を制作する。とにかく巨大なロボットを作りイベントなどで目立たせることによ
り、多くの人からの注目の的になり活躍することを願い、全長3m級の IKABO を制作する。
以上の活動を成功させることにより、函館の知名度を上げ観光産業を盛り上げる。
(※文責: 牧穂乃花)
2.1.1
通常の授業ではなく、プロジェクト学習で行う利点
本学の通常の講義においては、週に 1 講義であるのに対し、ポロジェクト学習では週に 4 講義あ
る。大量の時間を要するロボット制作には、通常の講義だけでは完成にいたらず、中途半端な結果
で終わってしまう可能性が高い。また、ロボット制作には大量の費用も必要となる。それらを考慮
した上で、講義数が多く通常の講義よりも多くの予算がでる、プロジェクト学習で行うことが望ま
しい。
(※文責: 牧穂乃花)
2.2
2.2.1
地域との関連性
函館市との関連性
本プロジェクトはロボットフェスイン函館市民の会から支援を受けて活動している。彼らと私た
ちは函館の観光産業を盛り上げるために立ち上がり、連携している。
函館市で開催される様々なイベントに参加しているため、地域の方々との交流は深い。「花と緑
のフェスティバルと」言うのは、「花文化」を育み、皆が豊かさを実感できる「潤いある生活」を
提案することを目的として開催されているイベントである。これには毎年のように参加せていた
だき、私たちのプロジェクトで参加する一番大きなイベントである。ここでは、IKABO を使った
お客様を交えたイベントを行ったり、グッズ販売もしている。直接地域の方々と交流するのは今年
度これが初めてのイベントである。IKABO に興味を持ってくれる主な年齢層は、子供やお年寄
Group Report of 2013 SISP
-4-
Group Number 17-A
The project about creating squid robot for sightseeing in Hakodate
りであった。そこで、私たちは今後の未来にも IKABO の存在をアピールするためにも、子供に
IKABO を覚えてもらえるように、直接 IKABO を操作させてあげ、ロボットについて学んでも
らった。ここで、様々な年齢層の方々と触れ合うことができた。
本プロジェクトは、夏に行われる函館の最大のイベント、「港祭り」にも今年度参加することが
できた。昨年は参加することができなかったため、昨年の分も盛り上がった。これには、市民の会
の方々と共にいか踊りをすることで、IKABO を多くの人の目に触れてもらえる他、支援をしてく
れている方々とも触れ合うことができる。以上のことから、私たちは函館市の地域の方々と密接に
関連して、地域活性の貢献に勤めている。
図 2.1
花と緑のフェスティバル
図 2.2
港祭り
(※文責: 牧穂乃花)
2.2.2
函館市以外の地域との関連性
函館市以外にも、今年は幌延町で行われた、
「おもしろ科学館」にも参加することができ、IKABO
を知らない地域の人にも広めることができた。
Group Report of 2013 SISP
-5-
Group Number 17-A
The project about creating squid robot for sightseeing in Hakodate
幌延町で行われた「おもしろ科学館」だが、ロボットの操作を子供たちに体験させることもあり、
制作班で参加した。このイベントでは、IKABO だけではなく、猫型ロボットや 2 足歩行のロボッ
トなどさまざまなロボットと触れ合える場である。IKABO5 号機を連れて行き、小さな子供から
大人まで幅広い人たちの興味を引いた。IKABO5 号機は、いろいろな動きができる他、IKABO1
号機よりもコンパクトなため怖がる子供も少なく、また、まるでゲーム感覚のようにコントロー
ラーで IKABO が歩き回る機能があるため、子供たちの中でコントローラーが取り合いになるほ
ど人気を集めた。IKABO と言う名前なのに、いかっちょ と呼ぶ子もいたが、それほど IKABO
は親しみやすいロボットであることが示される。このイベントには、海外の方も見学に来ており、
多くの人に IKABO を知ってもらうことができた。函館を出て他の地でイベントに参加したこと
で、そのような大きな収穫を得ることができた。私たちの先輩が作ったと聞いて驚く人ばかりだっ
た。私たちのプロジェクトに興味を持ち、公立はこだて未来大学にも興味を持ってもらえた。これ
によって、函館に訪れる人が少しでも増えることに貢献できたと信じたい。
函館で行われるイベントだけでなく、函館を出てイベントに参加することで、様々な地域の方々
と触れ合い学ぶこともあり、また、函館を知ってもらえるチャンスにもなっている。
図 2.3 幌延町でのイベント 1
図 2.4 horonobe2
Group Report of 2013 SISP
-6-
Group Number 17-A
The project about creating squid robot for sightseeing in Hakodate
図 2.5 幌延町のイベント 3
(※文責: 牧穂乃花)
2.2.3
メディア出演
本プロジェクトは、イベント参加以外にもメディアにも進出している。
港祭りに参加することが決まり、それに対しての北海道新聞からの取材の依頼があった。これ
は、北海道の方々に IKABO を知ってもらえるチャンスだと思い、取材を受けた。取材の内容はや
はり IKABO についてだ。過去にはない巨大な IKABO を制作すると言うことが大きく取り上げ
られた。また、先輩方の失敗や成功を生かさせてもらっていると言う事も伝えられた。これを機会
に、港祭りに参加したお客様の中で、すこしでも見たことあるロボットだと思ってもらえるだけで
も、今回の取材を受けた意味を成す。
他に、テレビにも2回出演させてもらえた。港祭り当日(2013 年 8 月 2 日金曜日)に、日本放
送協会から IKABO のいか踊りの様子をテレビ放映された。テレビに出ることに慣れていない私
たちは、少しドギマギした様子で写ってしまっただろうが、いか踊りができる IKABO を世の中
に発信するためにも、IKABO と一緒にいか踊りを踊った。IKABO と言うキャラクターだけでな
く、踊ることもできるということを伝えられた。また、2 回目のテレビ出演も日本放送協会で、
「あ
さイチ」と言う伝統的で、日本中に放送される大きな番組である。2013 年 12 月 25 日水曜日に放
送された。これは未来大学で様々なプロジェクトがある中から、本プロジェクトが選ばれ取材され
た、とてもありがたい出演だった。これによって日本中に IKABO を広めることがでるチャンスで
あった。
以上から、IKABO は函館市との結びつきが強く、また、ほかの地域の方々との交流も多い。こ
のプロジェクトの成果は函館の観光産業に非常に大きく影響する。
(※文責: 牧穂乃花)
Group Report of 2013 SISP
-7-
Group Number 17-A
The project about creating squid robot for sightseeing in Hakodate
図 2.6 北海道新聞
具体的な手順・課題設定
2.3
2.3.1
3号機の問題
プロジェクト開始時、IKABO1 号機、3 号機、5 号機のメンテナンスと動作確認を行ったところ
IKABO3 号機が適正に動作しなかった。その不具合の原因を確認する作業をした。
1. IKABO3 号機のマイコンが正しく接続されているかの確認
まず、IKABO3 号機の線とマイコンが正しく接続されているかひとつひとつマニュアルを
見ながら確認した。 2. IKABO3 号機とパソコンが正しく接続されているいるかの確認
IKABO3 号機はパソコンは Bluetooth で接続することで操作することができる。なので、
パソコンと IKABO3 号機が正しく接続されているか確認した。 3. IKABO の操作アプリケーションの確認
IKABO3 号機を動かすアプリケーションが正しく動いているか確認するため、IKABO5 号
機をそのアプリケーションで動かしたところ正常に動くことを確認した。 4. IKABO3 号機と IKABO5 号機のマイコンを交換しての動作確認
接続方法はすべて正しかったので残る原因としては主に 2 つある。1 つはモーターの故障、
2 つ目はマイコンの故障である。確認するために IKABO3 号機と IKABO5 号機のマイコ
ンを交換した。交換して IKABO3 号機が正しく動作すれば不具合の原因はマイコンにあ
り、正しく動作しなければ不具合の原因はモーターにある。交換した結果、IKABO3 号機
は正しく動作したので、不具合の原因はマイコンにあることが判明した。
5. IKBO3 号機の新たなマイコンの探索
IKABO3 号機に搭載する新たなマイコンを探した。しかしながら IKABO3 号機に使われ
ていたマイコンは現在生産されておらず、同様のマイコンもないことから IKABO3 号機に
搭載できるマイコンを入手することは困難であった。
6. IKABO3 号機のマイコンに代わる新たなマイコンの検討
IKABO3 号機に搭載できるマイコンは入手困難であることがわかったため、新たなマイコ
Group Report of 2013 SISP
-8-
Group Number 17-A
The project about creating squid robot for sightseeing in Hakodate
ンの検討をすることとなった。その中で RaspberryPi を発見し、IKABO3 号機が同様に動
かせるであろうことと、今後幅広く拡張が出来ることから RaspberryPi を導入することと
なった。
(※文責: 阿部稿作)
IKABO5 号機について
2.3.2
他の IKABO と同様メンテナンスを行った。またイベントで発生した問題についてここから記
述する。
1. 問題の発生
IKABO5 号機をイベントで使用している際、幾つかの問題を発見した。それは IKABO の
足が簡単に取れてしまうことと、急に IKABO を操作することの 2 つの問題が発生した。
2. IKABO の足の取り付け
IKABO の足がすぐに取れてしまう問題の解決策を検討した結果、今までマジックテープで
付けていたものを磁石に変更した。これによって IKABO を動かしたときでも足が取れな
くなったのだが、すぐに 5 号機に貼り付けた磁石が剥がれてしまうようになった。両面テー
プで貼り付けたがそれでも 5 号機から磁石が剥がれてしまった。
3. IKABO が動かせなくなる原因の調査
IKABO5 号機が急に動かせなくなる原因を調査した。まず IKABO5 号機のマイコンを調
べたところ問題なく動いた。次に IKABO の操作アプリケーションを調べたところこちら
もとくに問題はなかった。さらに調べていくうちに個々の PC によって使われているポート
が違うことを発見し、原因は Bluetooth のドライバが原因ではないかという結論に至った。
(※文責: 阿部稿作)
2.4
新型 IKABO 11号機の制作
本プロジェクトはロボットフェスイン函館市民の会から支援を受けて活動している。彼らと私た
ちは函館の観光産業を盛り上げるために立ち上がり、連携している。また、函館市で開催される花
と緑のフェスティバルは毎年のように参加せていただき、他にも様々なイベントに参加しているた
め、地域の方々との交流も深い。函館以外にも、今年は幌延町で行われた、おもしろ科学館にも参
加することができ、IKABO を知らない地域の人にも広めることができた。以上から、IKABO は
函館市との結びつきが強く、このプロジェクトの成果は函館の観光産業に非常に大きく影響する。
1. 仕様の話し合い
初めは、とにかく思いつくまま IKABO につけたい機能や仕様のアイディアを出し合っ
た。多くの案が出された一部は次の通りだ。
・ガンダムのような巨大なロボット実現
・LED を組み込み、発光できる
・シャボン玉が出る
・足が動く
・スムーズに動く
Group Report of 2013 SISP
-9-
Group Number 17-A
The project about creating squid robot for sightseeing in Hakodate
・おしゃべりができる(観光ガイドができる)
・歌って、踊れる(いか踊り)
・函館に新幹線が来ることから、速く走ることができる。(その名も イカブサ)
・写真を撮ってくれる
IKABO がイベントに参加する際、子供に人気があることから、子供が喜び興味を持つよう
なシャボン玉が出たり、歌って踊ってしゃべれる機能の案が出された。発光については、毎
年夏に函館で行われる大きな祭り、港祭りのいか踊りに参加した際に、夜に目立つようにと
だされた。
以上から、実現出来そうな案を絞込み、確定した主な機能は、発光、発声機能、ユーザー参加
型、5 本の手が動くことである。ユーザー参加型とは、ある特定の動きに反応して、IKABO
が動くことであり、これは写真を撮ってくれたり、踊ったりすることに繋がる。
2. デザインの話し合い
昨年は、4∼5 m級のロボットを制作する計画だった。しかし、それでは非現実的であると
判断し、3 mに縮小することに決定した。また、例年の IKABO は男の子というイメージが
強い。今年は制作班に女性が多いことが影響し、女の子と性別を決め、歌って踊れるロボッ
トで、かわいさを追求したアイドルロボットに仕上げるつもりだ。「踊る」というのは、い
か踊りができる IKABO の機能であり、これは IKABO の伝統的で欠かせない機能である。
それを用いて、今年風にアレンジした捉え方がアイドルである。可愛らしさを出すために、
とにかく装飾に力を入れる。リボンをつけたり、まつげをつけたり、服の着せ替えができ、
IKABO が様々な表情に変わるのである。 3. プロトタイプの制作―設計図作成
1と2で決定したアイディアを元に、大体のイメージが固まってきたため、プロトタイプを
作る。しかし、いきなり 3 mという巨大なロボットを、全体の比率やイメージもつかめてい
ない状態で作るのは難しい。そのため、3 分の 1 スケールのプロトタイプを制作することに
した。IKABO1 号機を元に、3 m 級の IKABO の全体図を大まかに紙に書き出し、それを
3 分の1での寸法で設計図を描いた。
4. プロトタイプの制作―プロトタイプ1号機
始めは3で作成した設計図を元に、ダンボールでプロトタイプの制作を行った。プロトタイ
プ 1 号機を制作して得た課題は、
・全体的に細すぎるため、実際のロボットでは強度が足りないと判断され、胴体をもう少し
太くする。
・足が長いため、腕の関節を付ける位置を考える。
・頭が小さいため、もう少し大きく作る。
主に以上の 3 つが上げられた。
これらを生かし、寸法をきちんと測り、再度設計図を作成する。
また、プロトタイプを作っていく際、本物に徐々に近づくような質感を出していくことに
する。
5. プロトタイプの制作―プロトタイプ2号機
プロトタイプ 1 号機の反省点を踏まえ、全体の比率を微調整した設計図を元に、2 号機では
強度を高くすることを一番に考え制作した。胴体と足の太さを変えた結果、全体的に丈夫な
造りになったことと同時に華奢でないため、IKABO11 号機のコンセプトであるアイドルロ
ボットに求められる可愛らしさが無くなってしまった。
Group Report of 2013 SISP
- 10 -
Group Number 17-A
The project about creating squid robot for sightseeing in Hakodate
6. プロトタイプの制作―プロトタイプ3号機
プロトタイプ 1、2 号機の反省点をそれぞれ踏まえ、ダンボールではない素材を使った 3 号
機を制作する。その際、私たちの設計図では細かいことが決まっておらず、うまく完成させ
ることができない問題が発生した。そのため、今までの設計図の基本は残したまま、すべて
の細かい寸法や比率を検討することから始めた。
・頭や耳はどうやって胴体や頭に繋げるのか
・足と胴体の接着はどのような構造なのか
・足の床までにつく角度は何度が一番安定し見栄えがいいのか
・足の跳ねも何センチがいいか
以上の主な課題を解決すべく、細かく考え直した設計図を作成し、プロトタイプ 3 号機の制
作に取り組んだ。今回のプロトタイプ 3 号機は、質感を最も出すためにダンボールではな
い、その部位に最適と思われる素材を使って制作した。足と手には曲げやすく加工しやすい
塩ビパイプを使用した。頭には様々な大きさが多く軽量を図るために、発泡スチロールで制
作し、他には木材や、装飾には布を用いた。プロトタイプ 3 号機を制作した結果、胴体や足
に比べ、頭が小さく、また、足が長いことが反省点として挙げられた。コンセプトであるア
イドルロボットの可愛らしさを出すことは成功したため、今後これを基に 11 号機の設計図
を作成することになった。
ここからは設計班とプログラム班に別れて活動した。
初めに、設計班の活動内容を説明する。
設計班
1. 設計図作成
プロトタイプ 3 号機から得た寸法やバランス、デザインをイラストレーターを使って図に表
して見ることにした。顔や耳、胴体や足などの寸法をプロトタイプ3号機から得た数字で描
いたが、バランスが悪いとわかり、微調整を加えていった。2 次元で、寸法などを確実に従
い描き全体を見てみると、バランスがとても良くわかりやすい。足の跳ね方だけで、全体の
印象がガラリと変わる。ここから得た寸法を元に、再度設計図を作成した。
2. 企画書作成
私たちの技術や能力だけでは、IKABO を完成させることがとても難しい。そのため、機械
メーカー会社の協力を得ることにした。そこで協力の了承を得るために、企画書の作成を開
始した。1で作った設計図と、IKABO11 号機を作る目的などを記した。それと同時に機械
メーカーへ連絡をとり、直接会談をしていただくことになった。代表者の方へ企画書の提出
をし、協力が可能かどうかの返事を待った。
3. 本格的な設計図作成に向けて
機械メーカーからの協力の了承を得ることができたため、企画書を元に細かな設計図作成に
取り掛かる。機械メーカーと会談の機会を設け、私たちが制作した設計図に対し問題点を挙
Group Report of 2013 SISP
- 11 -
Group Number 17-A
The project about creating squid robot for sightseeing in Hakodate
げられた。全長3mとなるとやはり強度と安全性が問われる。もし、イベント中に IKABO
11号機が倒れてしまったらとても危険である。子供を喜ばせるためにも、親も子も安心し
て IKABO と触れ合い、近づくことができるようにバランスと強度には妥協してはならな
い。
そこで問題点として安全性を考慮し、足をどのように設置するかが挙げられた。私たちが考
えた足を胴体の周りに付けるか、胴体の中心に 1 本の軸となる支えを持たせ、そこから何本
か足を付けるか。バランスに一番大事である足をどのように設置するかによって、デザイン
も安全性も大きく異なる。可愛らしさを重視したデザインとするためには安全性にかけてし
まう。そのような点を再度話し合い、変更することが必要となった。
また、細かい問題点としては、頭の素材などについて挙がった。IKABO 全部を機械メー
カーにお願いすると、イメージ通りにできない他、お金と時間がかかってしまう。そこで、
出来る範囲で自分たちで機械メーカーと同時進行で制作することにより、コスト削減と時間
短縮が可能になる。頭と耳と手先は、ネットなどで素材集めをする。胴体に関しは、アドバ
イスをもらった。服の着せ替えを容易にするために、腕の位置をもっと下げる事を提案さ
れた。
4. デザイン修正
4で挙げられた様々な問題点を踏まえ、私たちは機械メーカーのアドバイスの元、デザイン
を再び話し合った。足の強度に関して、バランスを重視した胴体の中心に 1 本の軸となる支
えを持たせ、そこから何本か足を付けることに決定した。着せ替えを容易にするにはどうし
たらいいかなどを話し合い、腕を下げてしまうと、可愛らしさがかけてしまうため、やはり
腕の位置を上げることになった。着せ替えに関しては、着せやすい服を作ることで用意にす
る。また、足のデザインを変え、可愛らしさがかけたことに関しては、装飾品でカバーする
ことになった。以上を踏まえ、変更を加えた設計図を作成し、機械メーカーに再提出した。
5. 設計図作成開始・完了
再提出した設計図を元に、最終的な設計図作成を開始した。大体の外見ができ、どのような
設計になるのかを機械メーカーと会談した。胴体は精密機械を収納するために、鉄の鉄板で
覆うことにした。その際、円錐台にすることが一番見た目がいいのだが、技術的に困難なこ
とが判明した。それを解決するために、一定の鉄板を何枚か貼り、六角型または八角形に
し、服を着せることで円錐台に見せることが可能となった。腕の強度について、腕の付け根
を太くし、土台として胴体に埋め込み、そこから腕を出すことに決定した。安全性やバラン
ス、デザインをすべて私たちの考えが実現できることがわかった。
これらの活動を通して、私たち設計班は設計図を完成させる。
(※文責: 牧穂乃花)
2.4.1
IKABO11 号機のソフトウェアの制作
昨年度からの意思を引き継ぎながら機能を決定し、今年度は KINECT のプログラミングを行い
ソフトウェアの作成を行った。
1. 機能の検討
昨年度で話合われた IKABO11 号機機能を引き継ぎながら私たち自身でも検討した結果、
KINECT を利用したユーザの動きに反応する、発光する、発話する、5 本の腕が動くといっ
Group Report of 2013 SISP
- 12 -
Group Number 17-A
The project about creating squid robot for sightseeing in Hakodate
た機能を搭載することとなった。
2. 目標の設定
ユーザの動きに反応する、発光する、発話するといった機能の中で、IKABO11 号機として
一番大切な機能を決定した。そこで決まった IKABO11 号機のメイン機能はユーザの動き
に反応することに決まったため、今年度のソフトウェア面での目標としてこのユーザの動き
に反応する機能の実現を目標とした。
3. KINECT のプログラミング
ユーザの動きに反応する機能を実現するため KINECT を購入し、KINECT について勉強
をしながら並行してプログラムの作成を行った。結果としてまだ IKABO11 号機の筐体は
できていないために IKABO11 号機での実装はできなかったが、代わりに IKABO5 号機を
用いて IKABO5 号機をユーザのジェスチャーによって操作することが可能となった。
(※文責: 阿部稿作)
2.5
課題の割り当て
小田川玲奈
後藤凌
スケジュール管理、企画書作成
プログラミング、キネクト動作確認
小松紺奈
プロトタイプの衣服・装飾品作成、企画書作成
阿部稿作
マイコン操作、プログラミング、キネクト動作確認
宍戸健吾
プログラミング、キネクト動作確認
須ヶ牟田百香
スライド作成、データ管理、発注
牧穂乃花
デザイン考案、設計図作成
(※文責: 牧穂乃花)
Group Report of 2013 SISP
- 13 -
Group Number 17-A
The project about creating squid robot for sightseeing in Hakodate
第 3 章 課題解決のプロセス (概要)
本プロジェクトにおいて取り組んだ課題の概要を以下に示す.
3.1
IKABO3 号機
IKABO3 号機の操作を行ったところ IKABO3 号機が動かないことがわかった。腕に力が入っ
ていないことからマイコンが故障していることが発覚した。現在同じ型のマイコンが製造されてお
らず同じマイコンを取り寄せることは不可能であった。bluetooth 通信ができるという前提のもと
IKABO3 号機に乗せるマイコンを探したが現在の IKABO3 号機に適したマイコンが見つからな
かった。そこで IKABO3 号機本体に小型 PC を乗せ、IKABO3 号機の操作を行うことにした。
(※文責: 宍戸健吾)
3.2
IKABO5 号機
IKABO5 号機を操作イカボコントローラーで操作しようとしたところ、IKABO5 号機に正しく
¯
接続されないことがわかった。故障の原因をマイコンやイカボコントローラーであると考えたが、
最終的に故障の原因は PC のポートの接続にあることが発覚した。また足の付け替えが可能になっ
ていたが持ち運ぶ際に外れることが多々あったため、磁石による付け替えを行った。
(※文責: 宍戸健吾)
3.3
11 号機設計の課題解決概要
• IKABO11号機の仕様考案
• IKABO11号機のデザイン考案
• IKABO11号機の設計プラン制作
• IKABO11号機のプロトタイプ制作
• IKABO11号機の設計図制作
(※文責: 小松紺奈)
3.4
IKABO11 号機に搭載するキネクトの実装について
私̧たちは IKABO11 号機に搭載するキネクトの実装に当たって、IKABO11 号機は制作途中で
あるため試験的に IKABO5 号機で動作実験を行うことを決定した。キネクトで使用できる言語は
多くあるが今回は C++ 言語を使用してプログラミングを行った。C++ 言語を使用した理由とし
て、C 言語にオブジェクト指向の概念を取り入れクラスと派生クラス、仮想関数と、関数と演算子
の多重定義、参照型、const 型等の機能を持っている特長を持ち、また他言語よりも C 言語で開発
Group Report of 2013 SISP
- 14 -
Group Number 17-A
The project about creating squid robot for sightseeing in Hakodate
されたプログラムを利用でき効率よく処理することが可能であるため C++ 言語を使用することを
決めた。C++ 言語とキネクトを使用するに当たって開発環境の設定を行い、9 月から IKABO5 号
機を動作させるためのプログラムソースを制作し始めた。キネクト実装での最終的な到達目標とし
て人の動きを検知してパソコンのインタフェースを使用せず直接 IKABO を操作するとした。私
たちは、パソコンのインタフェースを使用して IKABO を動かし、その後インタフェースを使用し
ないで IKABO を動かすことにした。パソコンのインタフェースであるイカボコントローラーを
使用して IKABO を動かすため 3 段階に分けた。1 つ目の段階として人の骨格を検知するのプログ
ラムを作成した。骨格を検知することにより人のジェスチャーを認識することができるようになっ
た。2 つ目の段階として手の骨格を検知してマウスカーソルを動かすプログラムを作成した。1 段
階目でジェスチャーが検知できるようになったため応用して手の動作でマウスカーソルを動かせる
ようにした。ここでは、パソコンの画面上の IKABO を操作するためのプログラムを processing
用いて作成した。3 つ目の段階として手を上げる、手を合わせるなどのジェスチャーで IKABO5
号機を操作するプログラムを作成した。1 段階目と 2 段階目を応用してぞれぞれのジェスチャー
によってクリックやイカボコントローラの起動を実現し、パソコンのインタフェースを使用して
IKABO を動かすことに成功した。今後はパソコンのインタフェースを使用せずに IKABO を操作
することを可能にする。
(※文責: 宍戸健吾)
Group Report of 2013 SISP
- 15 -
Group Number 17-A
The project about creating squid robot for sightseeing in Hakodate
第 4 章 課題解決のプロセスの詳細
4.1
各人の課題の概要とプロジェクト内における位置づけ
• 小田川玲奈の担当課題は以下のとおりである。
• 5 月 グループ分け、既存機の問題解決提起
• 6 月 11 号機の案出し、プロトタイプ 1、2 号機制作
• 7 月 プロトタイプ 3 号機制作
• 10 月 企画書制作
• 11 月 機械メーカーに設計図共同開発の打診
• 12 月 11 号機の設計図を機械メーカーと共同開発
(※文責: 小田川玲奈)
• 小松紺奈の担当課題は以下のとおりである。
• 5 月 グループ分け、既存機の問題解決提起
• 6 月 11 号機の案出し、プロトタイプ1、2号機制作
• 7 月 プロトタイプ 3 号機制作
• 10 月 プレゼン用スライド制作
• 11 月 機械メーカーに設計図共同開発の打診
• 12 月 11 号機の設計図を機械メーカーと共同開発
(※文責: 小松紺奈)
• 牧穂乃花の担当課題は以下のとおりである。
• 5 月 グループ分け、既存機の問題解決提起
• 6 月 11 号機の案出し、プロトタイプ1・2号機制作開始、完成
• 7 月 プロトタイプ 3 号機制作開始、完成、中間報告
• 10 月 設計班所属、プレゼン用スライド・企画書作成
• 11 月 機械メーカーに設計図共同開発の打診
• 12 月 11 号機の設計図を機械メーカーと共同開発
(※文責: 牧穂乃花)
• 須ヶ牟田百香の担当課題は以下のとおりである。
• 5 月 グループ分け、既存機の問題解決提起、既存の IKABO の引き継ぎ
• 6 月 11 号機の案出し、プロトタイプ1・2号機制作開始、完成
• 7 月 プロトタイプ 3 号機制作開始、完成、中間報告
• 10 月 設計班所属、プレゼン用スライド・企画書作成
• 11 月 機械メーカーに設計図共同開発の打診、市民の会用のスライド作成完成
• 12 月 11 号機の設計図を機械メーカーと共同開発
(※文責: 須ヶ牟田百香)
Group Report of 2013 SISP
- 16 -
Group Number 17-A
The project about creating squid robot for sightseeing in Hakodate
• 宍戸健吾の担当課題は以下のとおりである。
• 5 月 グループ分け、既存機の問題解決提起
• 6 月 11 号機の案出し、プロトタイプ1、2号機制作
• 7 月 プロトタイプ 3 号機制作
• 10 月 IKABO3、5 号機のメンテナンス
• 11 月 キネクトのプログラミング
• 12 月 キネクトのプログラミング
(※文責: 宍戸健吾)
• 後藤凌の担当課題は以下のとおりである。
• 5 月 グループ分け、既存機の問題解決提起
• 6 月 11 号機の案出し、プロトタイプ1、2号機制作
• 7 月 プロトタイプ 3 号機制作
• 10 月 IKABO3、5 号機のメンテナンス
• 11 月 キネクトのプログラミング
• 12 月 キネクトのプログラミング
(※文責: 後藤凌)
• 阿部稿作の担当課題は以下のとおりである。
• 5 月 グループ分け、既存機の問題解決提起、IKABO3 号機故障原因の究明
• 6 月 11 号機の案出し、プロトタイプ1、2号機制作、IKABO3 号機故障原因の究明
• 7 月 プロトタイプ 3 号機制作
• 10 月 IKABO3、5 号機のメンテナンス
• 11 月 キネクトのプログラミング、3 号機のマイコン検討
• 12 月 キネクトのプログラミング、RaspberryPi の調査
(※文責: 阿部稿作)
4.2
4.2.1
IKABO3 号機課題解決の詳細
3 号機のメンテナンス
IKABO3 号機を起動させメンテナンスを行ったところ、IKABO3 号機が動かないことがわかっ
た。その要因として腕に十分に力が伝わっていないことがわかった。その原因を調査するため、ま
ずはマイコンが正しく接続されているかを確認した。前年度からの引継ぎの資料などを参照しなが
ら接続しなおしたが、同様に片腕に力が伝わっていなかった。そのことから故障の原因が接続ミス
でないことがわかった。
次に IKABO の操作アプリケーションを確認した。この操作アプリケーションは IKABO5 号機
と共通のものを使用しているので、IKABO5 号機に接続し動かすことにした。結果 IKABO5 号
機は正常に動いたので、IKABO の操作アプリケーションが原因ではないことがわかった。また
IKABO3 号機との接続も確認したが接続については問題はなかった。
次に IKABO3 号機のマイコンを確認した。3 号機のマイコンは 5 号機と共通ものを使用してい
るので、5 号機のマイコンを 3 号機に付け替え 3 号機のソースコードを、3 号機のマイコンをに 5
Group Report of 2013 SISP
- 17 -
Group Number 17-A
The project about creating squid robot for sightseeing in Hakodate
号機に付け替え 5 号機のソースコードを流し、挙動を確認した。結果 5 号機のマイコンを載せた 3
号機は正常に挙動し、3 号機のマイコンを載せた 5 号機は正常な挙動をしなかった。
以上のことから IKABO3 号機の故障の原因はマイコンの故障によるものだということがわ
かった。
加えて同時に外装のメンテナンスも行い、3 号機の頭の突起部分の塗装が剥がれていたので塗
料を購入し塗りなおした。さらに電池についても古くなっていたので、新しく同様の電池を購入
した。
4.2.2
3 号機の新たなマイコンの検討
IKABO3 号機の故障の原因がマイコンの故障であることがわかったため、マイコンを交換する
必要が出た。しかしながら使用していたマイコンは既に生産されておらず、入手することは困難で
あった。そこで新たなマイコンを探す必要が出てきた。Bluetooth が使える 3 号機についていたよ
うなマイコンはないようだったので、代わりに小さいコンピュータを載せることにした。さまざま
な小型コンピュータを調べ、採用したのが RaspberryPi である。(図)RaspberryPi は名刺サイズの
コンピュータで 3 号機にも搭載できるサイズであることと、コンピュータなので Bluetooth を利用
できることはもちろん、今後の拡張の幅も広がると考え採用に至った。購入したのち RaspberryPi
が使えるように設定を行った。RaspberryPi での動作確認が取れていて、8GB 以上の class10
の SD カードを購入した (図 4.1)。購入した SD カードは Transcend 社製 TS8GSDHC10U1 で
ある。Raspbian という OS をダウンロードし、SD カードに Win32DiskImager というソフトで
Raspbian を書き込み RaspberryPi に SD カードを挿す。USB 接続のキーボード、HDMI 接続の
モニター、USB[Micro-B] 端子の1 A 以上出力できる AC アダプタを接続し、起動時に立ち上がる
設定メニューに従い設定を行った。
図 4.1
購入した SD カード
(※文責: 阿部稿作)
Group Report of 2013 SISP
- 18 -
Group Number 17-A
The project about creating squid robot for sightseeing in Hakodate
4.2.3
RaspberryPi の概要と機能
RaspberryPi は英ケンブリッジ大学の教授らが設立した慈善団体、ラズベリーパイ財団が開発し
た名刺サイズのコンピュータである。特徴としてプログラミング言語の Python を利用しすぐにプ
ログラミングを始めることが出来る。また拡張が容易で C 言語、PHP などの他のプログラミング
言語も使用できる。RaspberryPi は PC のようにハードディスクを使用せず OS を SD カードから
起動するようになっている。今年度購入した RaspberryPi は ModelB でメモリが 512MB、USB
ポートが 2 つ、LAN ポートが 1 つ、他にオーディオ出力端子、ビデオのコンポジット出力端子、8
個の GPIO、UART、I2C、SPI、2 つのチップセレクトピン、電源用の 3.3V、5V、GND 端子、
DSI コネクタ、CSI コネクタが搭載されている。電源は USB[Micro-B] 端子の 1A 以上の AC アダ
プタを利用し、ディスプレイは HDMI ケーブルで接続する。RaspberryPi で使用できる OS はい
くつかあるが今回は最も一般的な Raspbian を使用した。
図 4.2
RaspberryPi
(※文責: 阿部稿作)
4.3
4.3.1
IKABO5 号機課題解決の詳細
5 号機のメンテナンス
IKABO5 号機を起動させメンテナンスを行ったところ、挙動に問題はなかった。また外装を確認
したところ剥がれているところがあったので塗料を購入し塗りなおした。しかしながら IKABO5
号機を幌延町のイベントに持っていきイベントを行っているときに問題が起きた。それは 5 号機の
足がすぐ取れてしまうことと、今まで動いていた 5 号機が急に動かなくなることであった。2 つの
問題の原因を調べたところ、足が取れる問題についてはマジックテープの接着が弱いことで、急に
動かなくなる問題については操作アプリケーションと IKABO を接続したものの操作アプリケー
ションがフリーズしてしまうことにより動かせないことがわかった。
(※文責: 阿部稿作)
Group Report of 2013 SISP
- 19 -
Group Number 17-A
The project about creating squid robot for sightseeing in Hakodate
4.3.2
足がすぐ取れてしまう問題
足がすぐ取れてしまう問題について、まず前提として IKABO5 号機を持ち運ぶ際すべての足を
取りはずす必要がある。今まではマジックテープで固定していたのだが、マジックテープでは力が
弱いためすぐ取れてしまっていた。そこで簡単に取り外しができかつ 5 号機を動かしても足が取
れないような足の固定方法を検討した結果、磁石により足を固定することにした。磁石は片面が粘
着シールになっている板状のものを使用した。しかしその磁石の自体の粘着シールが弱かったた
めに、強力な両面テープを購入し 5 号機に磁石を取り付けた。(図 4.3) しかしながら、強力な両面
テープで磁石を 5 号機と足に貼り付けたがうまく粘着せず磁石が剥がれてしまった。
図 4.3 磁石によって固定する足の様子
(※文責: 阿部稿作)
4.3.3
5 号機が動かなくなる問題
IKABO5 号機が急に動かなくなった問題について調査した。まず 5 号機のマイコンを調べた。
IKABO5 号機の操作アプリケーションは画面のボタンに対応したシリアル信号を Bluetooth を
使い IKABO に無線送信するアプリケーションである。よって直接マイコンに有線で接続して PC
からシリアル信号を送ることで操作アプリケーションを使わずに操作することができる。これを使
い操作アプリケーションを使わずに動かしてみたところ IKABO5 号機の挙動に問題はなかった。
このことから 5 号機のマイコンには問題がないことがわかった。
次に IKABO の操作アプリケーションについて調べた。操作アプリケーションのソースコード
を見たところ Visual Stdio で作成されたアプリケーションであったため、Visual Stdio でのアプ
リケーションの勉強と並行して操作アプリケーションに不具合がないか調べた。その結果操作アプ
リケーションに原因となる不具合は見つからなかった。
最後に Bluetooth の設定を確認したところ、個々の PC によって Bluetooth が使うポート番号が
異なることと、Bluetooth によって使われるポートの数が異なることがわかった。まず PC によっ
て Bluetooth のポート番号が異なることは、5 号機が動かなくなる原因ではなかった。Bluetooth
に使われるポート数について調べたところ、PC によってポート数が 2 つものと 3 つのものがある
Group Report of 2013 SISP
- 20 -
Group Number 17-A
The project about creating squid robot for sightseeing in Hakodate
ことがわかった。それぞれのPCのポートの様子を比べると、ポートが 2 つのものは受信ポート
と送信ポートがひとつずつ、ポートが 3 つのものは受信ポートが 2 つで送信ポートが 1 つであり、
ポートが 2 つのものはポートが 3 つのものと比べ FUN-ROBO のポートがないことがわかった。
(図 4.4)(図 4.5) にそのポートの様子を示す。
ここで問題の起きた PC は使われているポートが 2 つであったため、ポートが 3 つ使われる PC
で 5 号機に接続を試した。3 つあるポートの中で送信ポートにあわせたときのみ接続ができ、5 号
機を問題なく動かすことができた。しかし次にポートが 2 つしか使われない PC で再度 5 号機に
接続し試したところ、接続はできたようだが 5 号機を動かすことは出来なかった。以上のことから
IKABO5 号機が急に動かなくなった原因は Bluetooth のドライバの問題で、FUN-ROBO のポー
トがないことが原因であることがわかった。
図 4.4 ポートの様子 1
図 4.5 ポートの様子 2
(※文責: 阿部稿作)
4.4
4.4.1
IKABO11 号機課題解決の詳細
11 号機における設計面の企画経緯
私たちのプロジェクトの活動目的は函館環境産業をいか型ロボット「IKABO」を用いて様々な
イベントに参加することにより盛り上げることを目的としている。今年度は函館市民の会の要望に
答えるべく、30 m級のロボットを制作しようと考えた。しかし私たちの今の技術では厳しいので今
年度は IKABO 1号機より大きい約 3.5 mの IKABO11 号機の制作を考えた。そこで、IKABO11
号機を制作するにあたり、1 から制作を始めたら、私たちがプロジェクトを行う 1 年という限られ
た期間で完成することは到底困難だと考えたので、去年のイカボプロジェクトで出ていた内装につ
いての案をもらいながら、3 年計画で制作していくことになった。
Group Report of 2013 SISP
- 21 -
Group Number 17-A
The project about creating squid robot for sightseeing in Hakodate
(※文責: 小田川玲奈)
4.4.2
11号機の課題設定と到達目標
今までの IKABO はバルーンを使用した IKABO9 号機を除いて、大型化への取り組みがなされ
ていなく、また wii リモコンなどのデバイスによる遠隔操作で IKABO を操作していた。しかし今
回の IKABO11 号機では大きさを約 3.5m とし、大型化を実現した。また、キネクトを用いてデバ
イスなしのユーザー参加型の IKABO の制作を目指している。これらの条件でイカボ 11 号機の設
計図完成までを目標としている。
(※文責: 小田川玲奈)
4.4.3
11 号機についての案出し
2 年目の私たちはまず、昨年の内装についての案を考慮しながら内装と外装について幾度にも渡
り、色々と案を出した。その結果出たものが以下のものである。
• ・プラネタリウムとコラボレーション
• ・極端な巨大化
• ・LED 機能
• ・シャボン玉発射
• ・足が動く
• ・泳ぐ
• ・喋る
• ・人を乗せる
• ・イカ踊りを歌って踊る
• ・飛ぶ
• ・走る
• ・将棋をする
• ・写真をとれる
• ・土台無しで足で立つ
そして、以上の案を絞り、決定したものがこれらである。
• ・LED
• ・喋る
• ・キネクト
• ・足が動く
• ・土台無しで足で立つ
• ・大きさは出来るだけ大きくする
(※文責: 小田川玲奈)
Group Report of 2013 SISP
- 22 -
Group Number 17-A
The project about creating squid robot for sightseeing in Hakodate
4.4.4
11 号機の仕様
絞られた案を更に詳細に決め、IKABO 11号機の仕様を考えた。
• ・高さ 3 m
• ・重さ 200 kg
• ・着せ替え可能
• ・顔と胴体を分解
• ・人の動きを認識
• ・音によるメッセージ発信
• ・五本の腕を制御可能
• ・発光機能の実装
• 素材としては
• ・耳 塩ビと発泡スチロール
• ・顔 ポリカーボネイト
• ・胴体 鉄
• ・足 鉄 • である。
顔と胴体を分解可能にするということについては、全長 3m を超えるとなると、持ち運びや移
動、イベント出演の際などにエレベーターに乗らないなど問題が出てくると想定した。そこで、顔
と胴体で分解を可能にすることにより、持ち運びに支障がなくなり、より多くのイベントなどで活
躍出来るようにした。
(※文責: 小田川玲奈)
Group Report of 2013 SISP
- 23 -
Group Number 17-A
The project about creating squid robot for sightseeing in Hakodate
4.4.5
11 号機のデザインについて
図 4.6
プロトタイプ設計図
IKABO 11号機のコンセプトとして「IDOL ロボット」というのがあげられた。このコンセプ
トは制作班に女性が多いため考えられた。服を着たり、リボンやまつ毛をつけるなどし、より可愛
さや、女の子らしさを追求したロボットの制作を考えた。服は青と白のストライプにし、流行を取
り入れたデザインにした。そして、服の着せ替えを可能にすることで季節ごとに IKABO が表情を
変えることができる。第一印象の見た目から今までのメカニカルなデザインとは違うものにし、女
子にもロボットに興味をもってもらえるように考えた。
(※文責: 小田川玲奈)
Group Report of 2013 SISP
- 24 -
Group Number 17-A
The project about creating squid robot for sightseeing in Hakodate
4.4.6
プロトタイプ 1 号機の制作
IKABO11 号機の制作にあたって試作品としてまずは予定サイズの 1/3 に縮小した約 3m のプロ
トタイプ 1 号機の制作を行った。プロトタイプ1号機は「デザイン」、
「プロポーション」
、
「スケー
ル感」の検討を行うために、扱いやすく、費用がかからないダンボールを用いて制作した。制作し
た結果、胴体や足など全体的に太くする、頭が動くことを想定して首をつける、という 2 点の反省
すべき点が見つかった。下図がプロトタイプ 1 号機である。
図 4.7
プロトタイプ 1 号機
(※文責: 小田川玲奈)
Group Report of 2013 SISP
- 25 -
Group Number 17-A
The project about creating squid robot for sightseeing in Hakodate
4.4.7
プロトタイプ 2 号機の制作
プロトタイプ 1 号機制作時の反省点をいかしプロトタイプ 2 号機を制作した。2 号機は基本構造
の検討を行うために 1 号機に引き続き扱いやすいダンボールを使用して制作した。下図がプロトタ
イプ 2 号機である。全体的に太くしたのが見てわかるであろう。
図 4.8
プロトタイプ 2 号機
(※文責: 小田川玲奈)
4.4.8
プロトタイプ 3 号機の制作
プロトタイプ 1 号機、2 号機の良かった点や反省点をもとにプロトタイプ 3 号機の設計図を制作
した。顔と首の接続方法や、胴体部分の骨組み、足の太さなど細かく設計し直した。下図がその設
計図である。
設計図を基にプロトタイプ 3 号機を制作した。材料を買うところから全て自分たちで制作するこ
とで素材の加工方法をどうするかなどの問題がでてきたが、本学にある工房を利用することで解決
した。熱を使用したり、木材や塩ビパイプに丸い穴を開けたり、専門的な道具を使い学生の力だけ
で制作することができた。また、工房の専属の方から事前にしっかりと説明を受け、十分に注意し
Group Report of 2013 SISP
- 26 -
Group Number 17-A
The project about creating squid robot for sightseeing in Hakodate
図 4.9 プロトタイプ 3 号機設計図
ながら制作した。プロトタイプ 3 号機では稼動シュミレーション及び素材の検討を行うことに成功
した。最終プロトタイプなので、素材も本格的なものを使用し、また、着せ替えの服とリボン部分
についても布と綿を使い、制作した。
• 具体的なプロトタイプ 3 号機の素材として
• ・塩化ビニールパイプ
• ・木材
• ・アクリル
• ・鉄の棒
• ・布
• ・発泡スチロール
を使用した。
加工方法として
• ・塩化ビニールパイプは熱を加え曲げた
• ・木材は糸鋸やのこぎりを使用して切断した
• ・アクリルは専用のカッターを使用して切断した
• ・鉄の棒はのこぎりを用いて切断し、電動ドリルを用いて穴を開けた
• ・布は裁縫道具を用いてプロトタイプの服を作成した
• ・発泡スチロールは業者に発注した
下図がプロトタイプ 3 号機である
プロトタイプ 3 号機を制作した結果、全体的に比率もデザインも納得いくものが出来たので、
Group Report of 2013 SISP
- 27 -
Group Number 17-A
The project about creating squid robot for sightseeing in Hakodate
図 4.10 プロトタイプ 3 号機
IKABO11 号機制作はこの方向で進めることになった。
(※文責: 小田川玲奈)
4.4.9
企画書制作
イカボ 11 号機を本格的に制作するにあたり、学長やスポンサー、設計図を共同開発していただ
ける機械メーカーに提出する企画書制作にとりかっかった。実際の企画書を以下に示す。
図 4.11 IKABO 企画書 1
Group Report of 2013 SISP
- 28 -
Group Number 17-A
The project about creating squid robot for sightseeing in Hakodate
図 4.12 IKABO 企画書 2
図 4.13 IKABO 企画書 3
(※文責: 小田川玲奈)
Group Report of 2013 SISP
- 29 -
Group Number 17-A
The project about creating squid robot for sightseeing in Hakodate
4.5
服のデザイン考案
IKABO11号機は服を着せ替えることにより、様々なIKABOを楽しめることを目指して
いる。最初に考案したものは青と白のボーダーで、日本代表のユニホームを意識した。これは日本
中にIKABOが広まり函館の観光産業を盛り上げることに繋がればという思いが込められてい
る。その他にも函館で有名な五稜郭を緑の星で表現することで、IKABOによって函館の魅力を
伝えられればと考案した。IKABOが散りばめられているデザインは、グッズで T シャツを制
作したときのデザインで、グッズの PR にもなっている。リボンも服に合わせて制作し、可愛らし
いIKABO11号機には欠かせないものとなる。今後も様々な案を取り入れ季節やイベント毎に
表情を変えられるIKABO11号機を目指していく。(図 4.14)
図 4.14 IKABO11号機服のデザイン
(※文責: 小松紺奈)
4.6
設計プラン作成
私たちは設計図完成という目標へ向けて、機械メーカーへ提案する設計プランの詳細を話し合
あった。まず、アドバイザーの先生にアドバイスをいただき動力は私たちで検討したエアシリン
ダーで問題ないことがわかった。モーターだと3号機や5号機のように壊れやすくなる可能性があ
Group Report of 2013 SISP
- 30 -
Group Number 17-A
The project about creating squid robot for sightseeing in Hakodate
ることと、動きが遅くなるため、1号機と同じエアシリンダーを使うことが最適であるという結論
になった。しかし、1号機で使用していたエアタンクだと1号機を動かすことが限界のため、エア
タンクを2個使用する、もしくは1号機に使用したエアタンクよりも大きなものを使用することに
決定した。寸法はプロトタイプと以前作った大まかな設計図を参考にし、実際に3mはどのくらい
のスケールになるかを模造紙に書いて検討した。以前の検討していた寸法を模造紙に書いてみたと
ころ、バランスが悪く感じたため様々な寸法を検討し以下に決定した。
・全長350cm
・頭70cm
・顔100cm
・胴体70cm
・足110cm
となった。仕様については前期に検討したものと変わらず取り入れることとなった。(図 4.15)
図 4.15 IKABO11号機設計プラン1
(※文責: 小松紺奈)
Group Report of 2013 SISP
- 31 -
Group Number 17-A
The project about creating squid robot for sightseeing in Hakodate
4.7
機械メーカーと交渉
これらの設計プランを学長やスポンサー、機械メーカーさんへ提案するために企画書とスライド
の作成に取りかかった。 この企画書をもとに機械メーカーさんと対談した。まず、制作するにあ
たり時間と予算の問題が挙げられた。3月まで機械メーカーさんが忙しいため、もし出来るとして
も2月中であれば胴体と腕2本のみしか出来ないこと、そして200万円では胴体部分のみの制作
になる可能性があるという問題である。この件については先生とも話し合って決めることになっ
た。ここで私たちがしなければいけないことは、直径1mの球体がないため探すことである。アク
リルは割れやすいため塩ビの方が良いとなり、インターネット通販などで探した。構造についてだ
が、私たちの設計プランだと付け根部分が40cmで先端部分が50cmだが、これだと負荷が大
きいため長さを逆にし付け根部分を50cm、先端部分を40cmにすることとなった。足には車
輪をつけて移動を容易にすることが出来る。足は丈夫な鉄で制作することとなった。エアシリン
ダーは24本使用するので、1号機のエアタンクでは足りなく、エアタンクは大きいものを購入す
ることで5本の腕を動かすことが可能となる。これらを考慮した上で制作の許可を頂き、ここから
機械メーカーとの共同開発が始まった。
(※文責: 小松紺奈)
4.8
設計プラン改善
私たちの提案した設計プランは機械メーカーの提案と私たちの意見で改善を重ねていった。まず
顔に使用する直径1mの球体だが、塩ビの素材では直径1mの球体が見つけることが出来なかっ
た。そこで海などに浮いている「浮き」を使用するという案がでた。しかし、浮きだと厚さは55
mmで重いため顔の高い位置に設置するには安全性に欠けると判断した。軽くて丈夫な素材を探し
ていて考案したのは半球の「ポリカーボネイト」である。ポリカーボネイトは丈夫で顔の丸みを出
すことも出来るので最適だと判断した。アクリルのように割れたり、浮きのように重いという問題
点が改善された。(図 4.16、図 4.17)
Group Report of 2013 SISP
- 32 -
Group Number 17-A
The project about creating squid robot for sightseeing in Hakodate
Group Report of 2013 SISP
図 4.16
顔の詳細1
図 4.17
顔の詳細 2
- 33 -
Group Number 17-A
The project about creating squid robot for sightseeing in Hakodate
これに、LEDライトを赤、青、緑の3色を埋め込み、感情を色で表現出来る工夫をした。色を
単体で使用するのみならず、例えば赤と青を混ぜると紫になるように色々な色を表現出来ること
を狙っている。目については私たちで制作することとなった。素材は発泡スチロールで半球にして
付けることとした。まつげを付けることにより女の子らしさをアピール出来る。顔の動きについて
は、うなずくような縦の動きと首を横に振るような動きの2種類を出来るようにする。IKABO
1号機では頭が動いていたが、IKABO11号機では顔を動かせることによりこれも感情を表す
ことが出来ると考えられる。例えば縦に振ったときは頷いたり納得している様子を、首を横に振っ
ているときは何かを嫌がったり受け入れたくない様子を表現できる。これを実現することにより今
までより表現力のあるIKABOが生まれる。動きについては安全性を高めるため、首の根元が動
くのではなくポリカーボネイトで作った半球部分が動くことで軸が安定するので安全である。2方
向回転で縦は40度、横30度動くように設計する。動力については、エアシリンダーを使用する
か、モーターを使用するかについては検討中である。モーターにギアをつけて遅くすると強くなる
ということがわかっているが、モーターは壊れやすいため今後検討する。頭は私たちで制作するこ
とになった。素材については軽くて加工しやすい発泡スチロールを使用することとした。まだ制作
段階には至っていないため、今後発泡スチロールを注文し制作に取り掛かる予定だ。ヒレの部分は
フルカラーのLEDランプを埋め込み発光機能を実現する。感情は顔の色で表現するため何にでも
合うフルカラーを選択した。頭と顔の繋ぎについては、配線用にパイプが突出するようになってい
る。例えばそこに上部を円盤状でビス止めかパイプに差し込み、又はカップ状にして中に入れるど
ちらかとなる。(図 4.18)
Group Report of 2013 SISP
- 34 -
Group Number 17-A
The project about creating squid robot for sightseeing in Hakodate
図 4.18
顔と頭の取り付け図
胴体は板状のものを何枚かつなぎ合わせ筒状にする。中に動力を入れられるように胴体は空洞に
なっており、扉で開け閉め出来るようになっている。腕についてだが、最初は着せ替えが容易に出
来るように腕の位置を下げるよに提案して頂いた。実際に腕の位置を下げて図を書いてみたところ
虫のようになり可愛さに欠けたのでやはり腕は元の位置に戻した。(図 4.19、図 4.20)
Group Report of 2013 SISP
- 35 -
Group Number 17-A
The project about creating squid robot for sightseeing in Hakodate
図 4.19 設計プラン 2
図 4.20 設計プラン 3
clearpage
着せ替えの容易かどうかについては服の制作時に考慮するため問題ない。腕の関節は3つで、長
さはIKABO11号機の全長3. 5mに対して少し短いので根元部分を少し前に出すことになっ
た。根元部分を前に出しても服で隠れるのでデザイン上の問題はないことがわかった。足は、中心
に軸を作りそこから5本の足が出ていて支えている形になっている。足の素材はアルミだと弱いた
め丈夫な鉄を使用する。足の曲げ方に関して直角だと値段は安く、曲線になると少し値段が高くな
Group Report of 2013 SISP
- 36 -
Group Number 17-A
The project about creating squid robot for sightseeing in Hakodate
ることが発覚した。動く足については予算の問題もあり、次年度に追加で装着できるような設計図
にしている。現在決まっている足の仕組みは腕と同じようにエアシリンダーで動くようになってお
り、腕の関節が3つに対して足の関節は2つである。これにより負荷を軽減できる。全体の塗装だ
が、服を着用させるため基本は素材のままだが、関節部分のみ青で塗装する。これらを改善してい
き、最終設計プランが完成した。改訂を重ね最終的な寸法は以下の通りとなる。
・全長約370cm
・頭90cm
・顔116cm
・胴体70cm
・足90cmで決定した。(図 4.21)
図 4.21 設計プラン 4
(※文責: 小松紺奈)
4.9
設計図完成
このような過程で私たちの目標であった設計図完成を達成した。この設計図を元に今後IKAB
O11号機を制作していく。(図 4.22)
(※文責: 小松紺奈)
Group Report of 2013 SISP
- 37 -
Group Number 17-A
The project about creating squid robot for sightseeing in Hakodate
図 4.22
4.9.1
IKABO11号機設計図
IKABO11 号機のソフトウェア開発の流れ
IKABO11 号機のソフトウェア開発の流れについて記述する。
人の骨格を検知するのプログラム
↓
手の骨格を検知してマウスカーソルを動かすプログラム
↓
マウスの遠隔操作を利用して、IKABO 1号機、IKABO3 号機、IKABO5 号機、IKABO 11号
機をを紹介するプログラム
↓
パソコンの画面上の IKABO を操作するためのプログラム
↓
手を上げる、手を合わせるなどのジェスチャーで IKABO5 号機を操作するプログラム
このような流れでソフトウェア開発を行った。
またこのほかに服の着せ替えをするプログラムやスケルトンになるプログラムも作成した。
(※文責: 宍戸健吾)
4.9.2
開発環境の構築について
OS:Microsoft Windows 7,8 または Microsoft Windows Embedded Standard 7
キネクトを動作させる Kinect for Windows
SDK は Windows7 の 32bit 版を今回のプロジェクト学習では使用する。
CPU: デュアルコア 2.66GHz 以上(推奨)
キネクトはハードウェアですべての処理を行うわけではなく,PC 側でも処理を行うのである程度の
スペックを求められる。しかし、今回のプロジェクト学習ではデュアルコア 1.33GHz のプロセッ
Group Report of 2013 SISP
- 38 -
Group Number 17-A
The project about creating squid robot for sightseeing in Hakodate
サを用いる.
メモリ: 2GB 以上の RAM
USB 2.0 ポート
インストール
Kinect for Windows SDK(ソフトウェア開発キット)
ドライバと NUI(Natural User Interface)API を含む NUI ライブラリを提供する開発キットで,
Kinect の各センサーからの情報を NUI API 経由でアプリケーションから利用することができる.
NUI API はデバイスからのイメージ情報を受信するもので,NUI ライブラリは C++ または.NET
言語から利用することができる.
Microsoft Visual C++ 2010 Express(32bit)
NUI ライブラリに命令を出すための統合開発環境で Microsoft Visual C++ 2010 Express は
32bit のみであり,プロジェクトを作成する際 32bit/64bit でインクルードファイルやライブラリ
のパスを通す時に指定するフォルダが異なるので注意する必要がある. また、アプリケーションは
仮想マシン上での実行はできず、物理マシン上でのみ動作するので注意が必要である。
OpenCV(ライブラリ)
画像認識・解析に関する機能のライブラリであり,Windows の C++ に対応している.
4.9.3
開発環境の設定について
Kinect for Windows SDK の開発環境の設定手順について説明する。
順番として最初に Visual C++ 2010 Express のインストール、次に Kinect for Windows SDK
のセットアップ、OpenCV のセットアップ、最後にプロジェクトの設定をする。以上のことを順
番を追って説明していく。
最初に Visual C++ 2010 Express のインストールする。
Microsoft 社から Visual 2010 Express をダウンロードし、インストールしてください。
次に Kinect for Windows SDK のセットアップする。
下記の 4 つのソフトウェアをインストールしてください。
・KinectSDK-v1.7
・KinectRuntime-v1.7
・KinectDeveloperToolkit-v1.7.0
・MicrosoftSpeechPlatformSDK
以上が終了したらキネクトをコンピュータに接続しドライバをインストールする。
以上で Kinect for Windows SDK のセットアップが終了する。
次に開発する環境で使用する OpenCV をセットアップする。
まず、OpenCV-2.3.1-win-superpack.exe を OpenCV のサイトからダウンロードする。次にダウ
ンロードした exe をクリックする。解凍先が表示されるので、そのまま「Extract」を押し、解凍
します。解凍が終わると、exe と同じフォルダに「OpenCV」というフォルダが作成されるので名
前を「OpenCV2.3.1」に変更し、このフォルダを C ドライブの直下に移動する。次にシステム環
境変数を設定する。システム環境変数から「Path」を探し、2 つの変数値
・C:OpenCV2.3.1 build x86 vc10 bin
・C: OpenCV2.3.1 build common tbb ia32 vc10;C: tbb bin ia32 vc10
Group Report of 2013 SISP
- 39 -
Group Number 17-A
The project about creating squid robot for sightseeing in Hakodate
を追加してください。
以上で OpenCV のセットアップが終了する。
最後にプロジェクトの設定をする。
まず、Visual C++ 2010 Express を起動し、メニューバーから「ファイル」→「新規作成」→「プ
ロジェクト」を選択するプロジェクトの種類を選択する。「Win32 コンソール アプリケーション」
を選択し、プロジェクト名を入力したら「OK」を押します。アプリケーションウィザードが表示
されるので、
「次へ」を押します。「空のプロジェクト」にチェックを入れて、「完了」を押します。
以上でプロジェクトが作成される。
次にソースファイルを追加する。プロジェクトを右クリックし、「追加」→「追加項目」を選択す
る。「C++ ファイル(.cpp)」選択し、ファイル名を入力したら「追加」を押します。以上でソー
スファイルが追加される。
最後にヘッダーファイルおよびライブラリを設定する。
まず、インクルードファイルのパスを指定する。
・C: Opencv2.3.1 build include
・ $ (KINECTSDK10D IR) incKinectSDK のインストールパスは新しいバージョンにすると変
わる可能性があるので注意する必要がある。
次にライブラリのパスを指定する。
・C : Opencv2.3.1 build x86 vc10 lib
・$(KIN ECT SDK10D IR) lib x86
パスは作成するアプリケーションの対応環境によって変わる。
追加でリンクするライブラリを設定する。
Kinect10.lib
opencv core231d.lib
opencv highgui231d.lib
以上の 3 項目を設定してプロジェクトの作成が終わります。
以上の手順を行うことにより開発環境の設定が終了する。
(※文責: 後藤 凌)
4.9.4
RGB カメラについて
RGB カメラをキネクトで使用することはキネクトプログラミングをする上で最も基盤となるもの
なので詳しく理解する必要があると考える。
これから RGB カメラのキネクトプログラミングの解説をする。
まず、アプリケーションクラスとして KinectSample クラスを作成する。アプリケーションクラス
には、Kinect SDK を使った処理を記述する。
まず、KinectSample クラスのメンバ変数について説明する。
INuiSensor* kinect;
HANDLE imageStreamHandle;
Group Report of 2013 SISP
- 40 -
Group Number 17-A
The project about creating squid robot for sightseeing in Hakodate
DWORD width;
DWORD height;
今回使用するメンバ変数は上記の 4 つである。INuiSensor*型のキネクトは、キネクトを操作する
ためのインタフェースで COM のように扱います。HANDLE 型の imageStreamHandle は、
RGB カメラのストリームデータを扱うためのハンドルです。DWORD 型の width および height
は、RGB カメラの表示解像度、設定された解像度の値から値を取得する。
次に関数 KinectSample::createinstance() について説明する。
void createInstance()
{
// 接続されている Kinect の数を取得する
int count = 0;
ERROR_ CHECK( ::NuiGetSensorCount( &count ) );
if ( count == 0 )
{
throw std::runtime_ error( "Kinect を接続してください" );
}
// 最初の Kinect のインスタンスを作成する
ERROR_ CHECK( ::NuiCreateSensorByIndex( 0, &kinect ) );
// Kinect の状態を取得する
HRESULT status = kinect-> NuiStatus();
if ( status != S_ OK )
{
throw std::runtime_ error( "Kinect が利用可能ではありません" );
}
}
最初にキネクトが何台接続されているか、利用可能な状態にあるかどうかを調べる。まず、
NuiGetSensorCount() を使って、接続されているキネクトの数を取得する。接続数が 0 であれば、
キネクトの接続を促す。キネクトが接続されていたら、NuiCreateSensorByIndex()を使ってキ
ネクトを操作する INuiSensor のインスタンスを生成する。インデックスは単純に接続数に対する
もので、1 台であれば 0、2 台であれば 0,1 となる。インスタンスが生成できたら、
INuiSensor::NuiStatus() で接続状態を確認する。接続状態は HRESULT 型で表され、使用可能
であれば S OK が返る。電源が接続されていない場合や、ランタイム上で Kinect for Xbox 360
が接続された場合などは、それぞれを表す値が返るので、それらの場合はエラーとする。
エラーチェックについて説明する。
#define ERROR_CHECK( ret )
if ( ret != S_OK ) {
std::stringstream ss;
ss << "failed " #ret " " << std::hex << ret << std::endl;
throw std::runtime_error( ss.str().c_str() );
}
Group Report of 2013 SISP
- 41 -
Group Number 17-A
The project about creating squid robot for sightseeing in Hakodate
Kinect SDK の関数は多くの場合 HRESULT 型の戻り値を返す。この値を見ることで、処理が正
常に終了できたかどうかを確認することができる。関数が正常終了したときの SO K の値と比較し
、正常終了以外であれば例外を投げるマクロになる。
関数 KinectSample::run() について説明する。
void run()
{
cv::Mat image;
// メインループ
while ( 1 ) {
drawRgbImage( image );
// 画像を表示する
cv::imshow( "Kinect Sample", image );
// 終了のためのキー入力チェック兼、表示のためのウェイト
int key = cv::waitKey( 10 );
if ( key == ’q’ ) {
break;
}
}
}
メインループでは、フレームデータの更新処理と、画像の表示、キーボード入力処理を行う。表示
は OpenCV で行う。表示データのための cv::imshow() で表示する。実際にウインドウを表示さ
せるために cv::waitKey() を呼び出し、表示処理と終了のためのキー入力待ちを行う。
関数 KinectSample::drawRgbImage() について説明する。
void drawRgbImage( cv::Mat& image )
{
// RGB カメラのフレームデータを取得する
NUI_IMAGE_FRAME imageFrame = { 0 };
ERROR_CHECK( kinect->NuiImageStreamGetNextFrame( imageStreamHandle, INFINITE,
&imageFrame ) );
// 画像データを取得する
NUI_LOCKED_RECT colorData;
imageFrame.pFrameTexture->LockRect( 0, &colorData, 0, 0 );
// 画像データをコピーする
Group Report of 2013 SISP
- 42 -
Group Number 17-A
The project about creating squid robot for sightseeing in Hakodate
image = cv::Mat( height, width, CV_8UC4, colorData.pBits );
// フレームデータを解放する
ERROR_CHECK( kinect->NuiImageStreamReleaseFrame( imageStreamHandle,
&imageFrame ) );
}
更新されたフレームデータの取得と処理を行う。RGB カメラのフレームデータを扱う流れは次の
ようになる。
InuiSensor::NuiImageStreamGetNextFrame() で、新しいフレームを取得する。
↓
InuiFrameTexture::LockRect() で、フレームの画像データを取得する。
↓
画像データの処理を行う
↓
InuiSensor:: NuiImageStreamReleaseFrame() で、フレームデータを解放する。
↓
画像を表示する。
キネクトからのフレームデータの更新を待つ方法は 3 種類ある。今回は、RGB カメラの更新をト
リガして動作するので、最もかんたんな NuiImageStreamGetNextFrame を使用しました。フ
レームが更新されるまで他の処理は行わないので、タイムアウト値にはタイムアウトをしない
INFINITE を指定する。
InuiSensor:: NuiImageStreamGetNextFrame() でタイムアウト値を設定して待つ
↓
InuiSensor::NUiImageStreamOpen() に設定したイベントハンドルを使って、
WaitForSingleObject または WaitForMultipleObjects で待つ
↓
InuiSensor::NuiSetFrameEndEvent() に設定したイベントハンドルを使って、
WaitForSingleObject で待つ
更新されたフレームの画像データは NUI IMAGE FRAME::pFrameTexture が持っており、
pFrameTexture の LockRect を呼び出すことで取得することができる。画像データを取得したら、
OpenCV の cv::Mat に渡す。画像サイズはあらかじめ取得した幅と高さ、キネクトから得られる
画像のフォーマットは 1 ピクセルあたり 8 ビットの R,G,B データと無効値の計 4 つ、32 ビットの
データとなるので、CV 8UC4 を指定する。RGB の並びは KinectSDK、OpenCV ともに BGR
データであるため、そのままビットデータをコピーすることで表示が可能である。
関数 K̃inectSample() について説明する。
~KinectSample()
{
// 終了処理
if ( kinect != 0 ) {
Group Report of 2013 SISP
- 43 -
Group Number 17-A
The project about creating squid robot for sightseeing in Hakodate
kinect->NuiShutdown();
kinect->Release();
}
}
デストラクタには終了処理が記述されており、INuiSensor::NuiShutdown()、
InuiSensor::Release() の順に行う。INuiSensor::NuiShutdown() は、キネクトの終了処理、
INuiSensor::Release() はインスタンスの解放処理をする。
最後に関数 main() について説明する。
void main()
{
try {
KinectSample kinect;
kinect.initialize();
kinect.run();
}
catch ( std::exception& ex ) {
std::cout << ex.what() << std::endl;
}
}
KinectSample クラスのインスタンスを生成し、初期化およびメインループを呼び出す。
上記の処理をすることにより RGB カメラを動作させることができる。
Group Report of 2013 SISP
- 44 -
Group Number 17-A
The project about creating squid robot for sightseeing in Hakodate
図 4.23 RGBカメラ
4.9.5
骨格検知について
キネクトの最大の特徴は骨格検知(スケルトン)である。Kinect SDK では、2 人までの骨格を認
識することができ、1 人のスケルトンにつき 20 点の関節の位置を取得することができる。関節の
位置を取得することによりジェスチャーをしたときの関節の位置で多くのことができる。今回では
関節の位置によって IKABO を動かすことを目標としてやった。
関数 initialize() について説明する。
void initialize()
{
createInstance();
// Kinect の設定を初期化する
ERROR_CHECK( kinect->NuiInitialize( NUI_INITIALIZE_FLAG_USES_COLOR |
NUI_INITIALIZE_FLAG_USES_DEPTH_AND_PLAYER_INDEX |
NUI_INITIALIZE_FLAG_USES_SKELETON ) );
// RGB カメラを初期化する
ERROR_CHECK( kinect->NuiImageStreamOpen( NUI_IMAGE_TYPE_COLOR, CAMERA_RESOLUTION,
0, 2, 0, &imageStreamHandle ) );
// 距離カメラを初期化する
ERROR_CHECK( kinect->NuiImageStreamOpen( NUI_IMAGE_TYPE_DEPTH_AND_PLAYER_
INDEX, CAMERA_RESOLUTION,0, 2, 0, &depthStreamHandle ) );
Group Report of 2013 SISP
- 45 -
Group Number 17-A
The project about creating squid robot for sightseeing in Hakodate
// Near モード
ERROR_CHECK( kinect->NuiImageStreamSetImageFrameFlags(
depthStreamHandle, NUI_IMAGE_STREAM_FLAG_ENABLE_NEAR_MODE ) );
// スケルトンを初期化する
ERROR_CHECK( kinect->NuiSkeletonTrackingEnable( 0, NUI_SKELETON_TRACKING_
FLAG_ENABLE_SEATED_SUPPORT ) );
// フレーム更新イベントのハンドルを作成する
streamEvent = ::CreateEvent( 0, TRUE, FALSE, 0 );
ERROR_CHECK( kinect->NuiSetFrameEndEvent( streamEvent, 0 ) );
// 指定した解像度の、画面サイズを取得する
::NuiImageResolutionToSize(CAMERA_RESOLUTION, width, height );
}
スケルトン認識のための設定を 2 つ追加する1つめは INuiSensor::NuiInitialize() のフラグに
NUI INITIALIZE FLAG USES SKELETON を追加する。これによりスケルトンの認識を行
えるようになる。2 つめは INuiSensor::NuiSkeletonTrackingEnable() でスケルトントラックキン
グを有効にする。これによりフレームの更新で、スケルトンのフレームを取得することができるよ
うになる。Near モードの設定は INuiSensor;;NuiImageStreamSetImageFrameFlags() で行う。
この関数に距離カメラのハンドルと Near モードのフラグである NUI IMAGE STREAM
FLAG
ENABLE NEAR MODE を設定することで、Near モードとなる。
関数 run() ではスケルトンの描画を行う drawSkeleton() を追加する。
void drawSkeleton( cv::Mat& image )
{
// スケルトンのフレームを取得する
NUI_SKELETON_FRAME skeletonFrame = { 0 };
kinect->NuiSkeletonGetNextFrame( 0, &skeletonFrame );
//ERROR_CHECK( kinect->NuiSkeletonGetNextFrame( 0, &skeletonFrame ) );
for ( int i = 0; i < NUI_SKELETON_COUNT; ++i ) {
NUI_SKELETON_DATA& skeletonData = skeletonFrame.SkeletonData[i];
if ( skeletonData.eTrackingState == NUI_SKELETON_TRACKED ) {
for ( int j = 0; j < NUI_SKELETON_POSITION_COUNT; ++j ) {
if ( skeletonData.eSkeletonPositionTrackingState[j] !=
NUI_SKELETON_POSITION_NOT_TRACKED ) {
drawJoint( image, skeletonData.SkeletonPositions[j] );
}
Group Report of 2013 SISP
- 46 -
Group Number 17-A
The project about creating squid robot for sightseeing in Hakodate
}
}
else if ( skeletonData.eTrackingState == NUI_SKELETON_POSITION_ONLY ) {
drawJoint( image, skeletonData.Position );
}
}
}
認識されたスケルトンのジョイント位置または、プレイヤーの位置を表示する。
INuiSensor::NuiSkeletonGetNextFrame() で新しいスケルトンデータのフレームを取得する。ス
ケルトンフレームである NUIS KELET ONF RAM E 構造体には、6 人分のプレイヤーに対する
スケルトンの認識状態が格納されている。プレイヤーごとのスケルトンデータ
は N U I SKELET ON DAT A 型の N U I SKELET ON F RAM E :: Skeleton データにある
。N U I SKELET ON DAT A :: eT rackingState は N U I SKELET ON
TRACKING STATE 列挙体で表され、スケルトンの認識状態を取得することができる。スケル
トンの状態が追跡状態にある場合は、ジョイントのいちを描画する。KinectSDK が認識できる
ジョイントは 20 点で、それぞれのジョイントごとに認識状態と座標持っている。認識状態は
NUI SKELETON DATA::eSkeletonPositionTrackingState、座標は NUI SKELETON
DATA::SkeletonPositions から取得することができる。NUI SKELETON
DATA::eSkeletonPositionTrackingState は NUI
SKELETON POSITION TRACKING STATE 列挙体で表される。
通常、追跡されている状態は NUI SKELETON POSITION TRACKED になりますが、腕を
クロスした場合などは NUI SKELETON POSITION INFERRED のジョイントが現れる。座
標は取得できるので、追跡されてない状態以外はジョイントの座標を描画する。
スケルトンが位置のみ追跡されている状態にある場合は、その位置を描画する。スケルトンの位置
は、NUI SKELETON DATA::Position にあり、Centor hip の位置となっている。
関数 drawJoint() について説明する。
void drawJoint( cv::Mat image, Vector4 position )
{
FLOAT depthX = 0, depthY = 0;
::NuiTransformSkeletonToDepthImage( position, depthX, depthY,
CAMERAR ESOLU T ION );
LONG colorX = 0;
LONG colorY = 0;
kinect-¿NuiImageGetColorPixelCoordinatesFromDepthPixelAtResolution(
CAMERAR ESOLU T ION, CAM ERAR ESOLU T ION,
0, (LONG)depthX , (LONG)depthY, 0, colorX, colorY );
cv::circle( image, cv::Point( colorX, colorY ), 10, cv::Scalar( 0, 255, 0 ), 5 );
}
実際にジョイントを描画する。流れは次のようになっている。
スケルトンの 3 次元座標を距離カメラの 2 次元座標に変換する
↓
Group Report of 2013 SISP
- 47 -
Group Number 17-A
The project about creating squid robot for sightseeing in Hakodate
距離カメラの座標を RGB カメラの座標に変換する
↓
表示する
まず、表示するスケルトンのスケルトンの 3 次元座標を NuiTransformSkeletonToDepthImage()
を使い距離カメラの 2 次元座標に変換する。
続いて INuiSensor:: NuiImageGetColorPixelCoordinates
FromDepthPixelAtResolution を使って距離カメラの座標を RGB カメラの座標に変換する。変
換された RGB 座標を中心にして円を描画することで、ジョイントの座標を表示する。
上記をプログラムすることにより骨格座標を検知することができ今後の服の着せ替えやマウスカー
ソルの操作につながる。
図 4.24 骨格検知
(※文責: 後藤 凌)
Group Report of 2013 SISP
- 48 -
Group Number 17-A
The project about creating squid robot for sightseeing in Hakodate
4.9.6
Kinect を使った PC の操作
ス̧ケルトンの位置情報を使って体をポインティングデバイスにするプログラムを作った。RGB カ
メラ画像においてスケルトンの手の位置とディスプレイ中のカーソルの位置を対応させ、腕を動か
すだけでカーソルを移動できるようにした。さらに一定時間のホバーによってクリックも行えるプ
ログラムを作成した。
実行結果
プログラムを実行すると、右手の位置によってマウスカーソルが移動する。右手を静止すると左ク
リックする。
図 4.25 クリック操作
プログラムの skeletonMouse() 関数について説明する。
skeletonMouse(){
// スケルトンのフレームを取得する
NUI_ SKELETON _ FRAME skeletonFrame = { 0 };
kinect->NuiSkeletonGetNextFrame( 0, &skeletonFrame );
// トラッキングしている最初のスケルトンを探す
NUI_SKELETON_DATA* skeletonData = 0;
for ( int i = 0; i < NUI_SKELETON_COUNT; ++i )
{
NUI_SKELETON_DATA& data = skeletonFrame.SkeletonData[i];
if ( data.eTrackingState == NUI_SKELETON_TRACKED ){
skeletonData = &data;
break;
}
Group Report of 2013 SISP
- 49 -
Group Number 17-A
The project about creating squid robot for sightseeing in Hakodate
}
// 追跡しているスケルトンがなければ終了
if ( skeletonData == 0 ) {
return;
}
// 右手が追跡されていなければ終了
if ( skeletonData->eSkeletonPositionTrackingState
[NUI_SKELETON_POSITION_HAND_RIGHT]==
NUI_SKELETON_POSITION_NOT_TRACKED ) { return; }
・右手の追跡位置を利用して、マウスを操作する。NUIS KELET ONF RAM E を取得し、追跡さ
れている最初のプレイヤーのスケルトンデータを取得する。追跡されているスケルトンがあれば
、右手で追跡されているか確認する。追跡されていれば処理を継続する。
// 右手の座標を取得する
Vector4 rh =
skeletonData-¿SkeletonPositions[NUIS KELET ONP OSIT IONH AN DR IGHT ];
// 右手の座標を、Depth の座標 (2 次元) に変換する
FLOAT depthX = 0, depthY = 0;
::NuiTransformSkeletonToDepthImage( rh, depthX, depthY, CAMERAR ESOLU T ION );
・右手が追跡されていれば、右手の座標を取得し、距離カメラの座標系に変換する。
// スクリーン座標を取得する
SIZE screen = {
::GetSystemMetrics( SM_CXVIRTUALSCREEN ),
::GetSystemMetrics( SM_CYVIRTUALSCREEN ) };
// 右手の座標を、スクリーン座標に変換する
FLOAT x = (depthX * screen.cx) / width;
FLOAT y = (depthY * screen.cy) / height;
・距離カメラの解像度をディスプレイに見立てているので距離カメラの座標をスクリーンの座標に
変換する。
// マウスを動かす
SendInput::MouseMove( (int)x, (int)y, screen );
// クリックを認識した場合に、右クリックを行う
if ( isClicked( FramePoint( skeletonFrame.liTimeStamp.QuadPart, depthX, depthY ) ) ){
SendInput::LeftClick();
}
Group Report of 2013 SISP
- 50 -
Group Number 17-A
The project about creating squid robot for sightseeing in Hakodate
}
・最後に算出された座標でマウスを動かす。また手の座標が静止されているか確認し、静止されて
いればクリックされたと認識させる。
次に skeletonMouse() 関数について説明する。
// クリックされたか判定する
bool isClicked( FramePoint& currentPoint )
{
// milliseconds 時間経過したら steady
if ( (currentPoint.TimeStamp.QuadPart - basePoint.TimeStamp.QuadPart) > milliseconds) {
basePoint = currentPoint;
return true;
}
// 座標の変化量が threshold 以上ならば、basePoint を更新して初めから計測
if ( abs( currentPoint.X - basePoint.X ) > threshold ||
abs( currentPoint.Y - basePoint.Y ) > threshold ) {
// 座標が動いたので基点を動いた位置にずらして、最初から計測
basePoint = currentPoint;
}
return false;
}
・クリック動作をするためのアクションとして一定時間のホバーを設定した。ホバー状態の認識は
前フレームと現在の座標の変化を比べ、それが閾値内で収まっているかを確認し続ける。常にフ
レーム間の変化量が少ない場合は、ポイントの座標位置の変化も少ないといえる。しかし、座標の
変化は簡略化や操作性を考慮して X,Y 座標の二次元のみの判定とした。そして、SkeletonFrame
内に格納されているタイムスタンプを調べ、ホバー開始時のデータが格納されている basePoint の
タイムスタンプと比較して二秒間の間ずっとフレーム毎の座標の変化量が少ない場合はホバー状態
であったと認識する。しかし、計測開始から二秒が経過する前に、threshould 以上の大きな座標
の変化があった場合は、basePoint を currentPoint に更新して時間の計測を最初からやり直す。
struct FramePoint
{
LARGE_INTEGER TimeStamp; // タイムスタンプ
FLOAT X; // X 座標
FLOAT Y; // Y 座標
FramePoint( LONGLONG timeStamp = 0, FLOAT x = 0.0f, FLOAT y = 0.0f )
: X( x ), Y( y )
Group Report of 2013 SISP
- 51 -
Group Number 17-A
The project about creating squid robot for sightseeing in Hakodate
{
TimeStamp.QuadPart = timeStamp;
}
};
・基準とするフレームは、基準時間のタイムスタンプ
(NUIS KELET ONF RAM E :: liT imeStamp) および、基準とする X, Y 座標持たせ比較する。
4.9.7
プロセッシング
ウスの遠隔操作を利用して、IKABO 1号機、IKABO3 号機、IKABO5 号機、IKABO 11号機
を紹介するプログラムを作成した。言語はプロセッシングを使用して作成した。マウスカーゾルを
IKABO 1号機と書かれた四角形に重ねると画面に、IKABO 1号機の画像が表示される。マウス
カーゾルを IKABO 3号機と書かれた四角形に重ねると画面に、IKABO 3号機の画像が表示され
る。マウスカーゾルを IKABO 5号機と書かれた四角形に重ねると画面に、IKABO 5号機の画像
が表示される。マウスカーゾルを IKABO 11号機と書かれた四角形に重ねると画面に、IKABO
11号機の画像が表示される。既存の IKABO を表示させることで、各 IKABO を知ってもらお
うとプログラムを作成した。
図 4.26 プロセッシング
以下、実装したプログラムの詳細を説明する。
frameRate(); 1 秒間に何回画面が更新されるかを表す。値を増やすことでマウスを操作したとき
に、カクカクする動作を軽減させた。
size(); x 座標、y座標の値を指定することで作成したプログラムの、画面サイズを指定する。
loadImage(); 同じフォルダ内にある、画像ファイルを読み込む。
image(); x 座標、y 座標を指定したり、画像の x 座標の大きさ、y 座標の大きさを指定し、読み込
んだ画像表示する。
noStroke(); 表示した図形の枠を消す。
fill(); 図形や、文字のに RGB を指定して色をつける。
rect(); 図形を表示する x 座標と y 座標を指定し、x 座標の長さと y 座標の長さを指定することで、
四角形を表示させる。
Group Report of 2013 SISP
- 52 -
Group Number 17-A
The project about creating squid robot for sightseeing in Hakodate
if(mouseX = amouseX = bmouseY = cmouseY = d)a、b、c、d それぞれに値を指定すること
で範囲内にマウスカーソルが入ったらプログラムを実行する。
(※文責: 宍戸健吾)
4.9.8
プロセッシング 2
IKABO 11号機をキネクトを操作して動作させるという前提をもとに、マウスの遠隔操作を利用
¯
して、画面上で IKABO が動くプログラムを作成した。言語はプロセッシングを使用して作成し
た。マウスカーゾルをウインク(右)と書かれた四角形に重ねると画面に、右目をウインクした画
像が表示される。マウスカーゾルをウインク(左)と書かれた四角形に重ねると画面に、左目をウ
インクした画像が表示される。マウスカーゾルを右手と書かれた四角形に重ねると画面に、右手を
上げた画像が表示される。マウスカーゾルを左手と書かれた四角形に重ねると画面に、左手を上げ
た画像が表示される。
図 4.27 プロセッシング2
以下、実装したプログラムの詳細を説明する。
frameRate(); 1 秒間に何回画面が更新されるかを表す。値を増やすことでマウスを操作したとき
に、カクカクする動作を軽減させた。
size(); x 座標、y座標の値を指定することで作成したプログラムの、画面サイズを指定する。
loadImage(); 同じフォルダ内にある、画像ファイルを読み込む。
image(); x 座標、y 座標を指定したり、画像の x 座標の大きさ、y 座標の大きさを指定し、読み込
んだ画像表示する。
noStroke(); 表示した図形の枠を消す。
fill(); 図形や、文字のに RGB を指定して色をつける。
if(mouseX = amouseX = bmouseY = cmouseY = d)a、b、c、d それぞれに値を指定すること
で範囲内にマウスカーソルが入ったらプログラムを実行する。
次に作成した IKABO 1号機の画像作成について記述する。
Group Report of 2013 SISP
- 53 -
Group Number 17-A
The project about creating squid robot for sightseeing in Hakodate
画像は illustrator を使用して作成した。曲線や直線は直線ツールを使用して書いた。色づけはス
ポイトツールを使用し行った。作成した画像は Photoshop を用いて加工した。自動選択ツールを
用いることで背景を削除し IKABO のみを画像として保存した。
(※文責: 宍戸健吾)
4.9.9
Kinect を使った PC の操作-動作によるクリックとイカボコントロー
ラーの起動
. // 左手が追跡されていなければ終了
if (
skeletonData-¿eSkeletonPositionTrackingState[NUIS KELET ONP OSIT IONH AN DL EF T ]
== NUIS KELET ONP OSIT IONN OTT RACKED){
return;
}
・NUIS KELET ONF RAM E を取得し、追跡されている最初のプレイヤーのスケルトンデータ
を取得する。追跡されているスケルトンがあれば、左手が追跡されているか確認する。追跡されて
いれば処理を継続する。
// 頭が追跡されていなければ終了
if ( skeletonData-¿eSkeletonPositionTrackingState[NUIS KELET ONP OSIT IONH EAD]
== NUIS KELET ONP OSIT IONN OTT RACKED){
return;
}
・NUIS KELET ONF RAM E を取得し、追跡されている最初のプレイヤーのスケルトンデータ
を取得する。追跡されているスケルトンがあれば、頭が追跡されているか確認する。追跡されてい
れば処理を継続する。
// 左手の座標を取得する
Vector4 lh = skeletonData-¿SkeletonPositions[NUIS KELET ONP OSIT IONH AN DL EF T ];
//頭の座標を取得する
Vector4 hd = skeletonData-¿SkeletonPositions[NUIS KELET ONP OSIT IONH EAD];
・左手と頭の座標を取得する。
// 左手の座標を、Depth の座標 (2 次元) に変換する
FLOAT depthA = 0, depthB = 0;
::NuiTransformSkeletonToDepthImage( lh, depthA, depthB, CAMERAR ESOLU T ION );
// 頭の座標を、Depth の座標 (2 次元) に変換する
FLOAT depthHDX = 0, depthHDY = 0;
::NuiTransformSkeletonToDepthImage( hd, depthHDX, depthHDY,
CAMERAR ESOLU T ION );
・右手が追跡されていれば、右手の座標を取得し、距離カメラの座標系に変換する。頭が追跡され
ていれば、頭の座標を取得し、距離カメラの座標系に変換する。
//左手を頭より上に上げたときクリック
if(depthHDY¿depthBdepthB¿depthHDY-10){
Group Report of 2013 SISP
- 54 -
Group Number 17-A
The project about creating squid robot for sightseeing in Hakodate
SendInput::LeftClick();
}
・左手のy座標が頭の y 座標より小さいかつ、左手のy座標が頭の y 座標より10 pixel 小さい範
囲より大きいときに、LeftcCick(); 関数を呼び出す。
//右手と左手の距離
FLOAT distance =
(depthX-depthA)*(depthX-depthA)+(depthY-depthB)*(depthY-depthB);
//イカボコントローラを呼び出す
if(distance¡25) callIKABOControler();
・二点間距離をもとめるために左手の座標を(depthX,depthY)
、右手の座標を (depthA,depthB)
とした。二点間の距離の求め方は
(depthX-depthA)*(depthX-depthA)+(depthY-depthB)*(depthY-depthB) でもとめることが
でき、その答えを distance に格納した。今回は平方根をつけずに計算した。そのため if 文の範囲
を 25 に設定し、右手と左手の距離が 5 未満になったときに callIKABOControler(); 関数を呼び出
すようにした。
//イカボコントローラを呼び出す関数
void callIKABOControler(){
int ikabo;
ikabo = s pawnlp(P N OW AIT, ”path”, N U LL);
}
・path を指定することでイカボコントローラーを起動できるようにした。またイカボコントロー
ラーを起動した際にキネクトのプログラムが終了しないように PN OW AIT を追加することで
、キネクトを並列処理できるようにした。 (※文責: 宍戸健吾)
4.9.10
服の着せ替え機能の実装
パソコン上でイカボ T シャツを人間の衣服に重ねるためのプログラムを作成した。つまりパソコ
ン上で衣服の着せ替えを行うことができるプログラムを作成した。イカボ T シャツの着せ替えを
することでグッズの宣伝にもなり、イカボの認知度の向上を目指し作成した。
プログラムの流れは
ClothSetting クラスで衣服画像を読み込む
↓
衣服画像上で肩腰にあたる位置をクリック指定
↓
衣服画像と肩腰の位置座標を KinectControl クラスへ渡す
↓
KinectControl クラスでユーザのスケルトンを追跡
↓
肩腰の対応点をもとに透視変換を算出
↓
Group Report of 2013 SISP
- 55 -
Group Number 17-A
The project about creating squid robot for sightseeing in Hakodate
衣服画像を透視変換しユーザへフィッティング
↓
表示
となっている。
図 4.28 服の着せ替え
ファイル構成は以下の五つで構成した。
• main.cpp
• ClothSetting.h
• ClothSetting.cpp
• KinectControl.h
• KinectControl.cpp
各ファイルについて記述していく
main.cpp
今回は ClothSetting クラスの中で KinectControl クラスを使っているため、main 関数では衣服
画像のファイル名を ClothSetting クラスのオブジェクトに渡すことしかしていない。
ClothSetting.h
ClothSetting.cpp
ClothSetting というクラスを用意し、このクラスでは OpenCV を使って画像の読み込み、クリッ
クによる画像上の位置指定を行っている。
ClothSetting.cpp 内の setClothImage() 関数について記述する
void ClothSetting::setClothImage( std::string fileName )
{
try {
cloth = cv::imread( fileName, CV_LOAD_IMAGE_UNCHANGED );
if( !cloth.empty() ) {
Group Report of 2013 SISP
- 56 -
Group Number 17-A
The project about creating squid robot for sightseeing in Hakodate
cv::imshow( "ClothImage", cloth );
cv::setMouseCallback( "ClothImage", _mouseCallback, this );
marked = cloth.clone();
cv::waitKey( 0 );
}
}
catch( std::exception &ex ) {
std::cerr << "ClothSetting::setClothImage" << ex.what() << std::endl;
}
}
main 関数からこのクラスの setClothImage というメソッドへ衣服画像のファイル名が渡される。
衣服画像が正常に読み込まれた場合に、画像を ClothImage という名前のウインドウへ表示する。
次にこのウインドウに対してマウスコールバック関数を設定する。
ClothSetting.cpp 内の mouseCallback() 関数について記述する
入力された画像を表示したら、左肩→右肩→左腰→右腰の順におおまかに画像上での位置をクリッ
クしていく。クリックされた位置は std::vector¡cv::Point¿型のメンバ変数 points へ順に格納され
る。この部分はコールバック関数 mouseCallback 内で行われる。
if( points.size() < 4 ) {
points.push_back( cv::Point( x, y ) );
cv::circle( marked, cv::Point( x, y ), 20, cv::Scalar( 255, 0, 0 ), 10 );
cv::imshow( "ClothImage", marked );
}
else if( points.size() == 4 ) {
KinectControl kinect;
kinect.setCloth( cloth, points );
kinect.initialize();
kinect.run();
}
else {
points.clear();
marked = cloth.clone();
}
全部で四点の情報が必要なため、points の要素数が4未満であるときは左クリックがなされた位置
の画像座標を新たに points に加える。また、クリックがあった位置に青色の円を表示する。キネ
クトで取得したユーザーのスケルトンから導かれる点と、各々を対応させる必要があるため、ク
リックする点には順番が決められている。そのため points に格納される点の意味づけを行わなけ
Group Report of 2013 SISP
- 57 -
Group Number 17-A
The project about creating squid robot for sightseeing in Hakodate
ればならない。順番は左肩→右肩→左腰→右腰という風に指定した。もしすでに四点の情報が
points に格納されていた場合は、読み込んだ画像と、クリックされた点の位置 points を
KinectControl のオブジェクトに渡す。値を渡したら Kinect を初期化し、データ取得のループへ
入る。
KinectControl.h
KinectControl.cpp
KinectControl クラスでは、可視画像、スケルトンを取得した後、両肩と両腰の間接の位置だけを
取り出して透視変換を求める処理をしている。
KinectControl.cpp 内の setCloth() 関数について記述する
void KinectControl::setCloth( cv::Mat _clothImage, std::vector<cv::Point> _points )
{
std::cout << "setCloth" << std::endl;
clothImage = _clothImage.clone();
points = _points;
}
画像と点列をメンバ変数へコピーする。
KinectControl.cpp 内の setJoint() 関数について記述する
void KinectControl::setJoint( cv::Mat& image, int joint, Vector4 position )
{
try {
FLOAT depthX = 0, depthY = 0;
::NuiTransformSkeletonToDepthImage( position, &depthX, &depthY,
CAMERA_RESOLUTION );
LONG colorX = 0;
LONG colorY = 0;
kinect->NuiImageGetColorPixelCoordinatesFromDepthPixelAtResolution(
CAMERA_RESOLUTION, CAMERA_RESOLUTION,
0, (LONG)depthX , (LONG)depthY, 0, &colorX, &colorY );
// 左肩・右肩・左腰・右腰
if( joint == 4 || joint == 8 || joint == 12 || joint == 16 ) {
cv::circle( image, cv::Point( colorX, colorY ), 5, cv::Scalar( 255 ), 2 );
if( joints.size() < 4 ) {
joints.push_back(cv::Point( colorX, colorY ));
}
}
}
catch ( std::exception& ex ) {
std::cout << "KinectControl::setJoint" << ex.what() << std::endl;
Group Report of 2013 SISP
- 58 -
Group Number 17-A
The project about creating squid robot for sightseeing in Hakodate
}
}
この関数では渡されてきた間接の番号が4、8、12、16のいずれかである場合、その可視画像
上における位置を joints というメンバ変数に格納する。
間接の番号は
4→右肩
8→左肩
12→右腰
16→左腰
となっている。
KinectControl.cpp 内の fitCloth 関数について記述する
void KinectControl::fitCloth()
{
try {
if( joints.size() == 4 ) {
cv::Point2f src[4];
cv::Point2f dst[4];
for( int i = 0; i < 4; ++i ) {
src[i] = points.at(i);
dst[i] = joints.at(i);
}
trans = cv::getPerspectiveTransform( src, dst );
cv::Mat fitImage;
cv::warpPerspective( clothImage, fitImage, trans, rgbImage.size(), cv::INTER_LINEAR,
cv::BORDER_CONSTANT, cv::Scalar( 255, 255, 255 ) );
for( int i = 0; i < rgbImage.rows; ++i ) {
for( int j = 0; j < rgbImage.cols; ++j ) {
// 服の画像の画素値
cv::Vec4b rgba = fitImage.at<cv::Vec4b>( i, j );
// 背景でなく、かつユーザ領域なら
if( rgba[3] != 0 && userMask.at<UCHAR>( i, j ) == 255 ) \{
for( int k = 0; k < 3; ++k ) {
rgbImage.at<cv::Vec4b>( i, j )[k] = rgba[k];
}
}
}
}
Group Report of 2013 SISP
- 59 -
Group Number 17-A
The project about creating squid robot for sightseeing in Hakodate
cv::imshow( "RGBCamera", rgbImage );
joints.clear();
}
}
catch ( std::exception& ex ) {
std::cout << "KinectControl::fitCloth" << ex.what() << std::endl;
}
}
fitCloth 関数では openCV の cv::getPerspectiveTransform という関数を使って、四組の対応点
から透視変換行列を算出する。trans=cv::getPerspectiveTransform(src,dst); で透視変換行列を
計算している。trans という変数では透視変換行列を格納している。cv::warpPerspective という
関数を用いて、衣服画像を変換する。この関数では第三引数として渡される3*3変換行列を使っ
て、第一引数で与えられる入力画像を透視変換し、第二引数へ出力する。第四引数で出力画像のサ
イズを指定する。ここでは、入力される衣服の画像がキネクトによって得られる可視画像と同じサ
イズに変換される。これによって、変換された衣服画像を可視画像に重ねれば、フィッティングさ
れるようになる。二重の for ループでは、fitImage 上で、衣服の領域でありかつユーザーピクセル
である座標を探し、その位置におけるキネクト可視画像 rgbImage の画素値を衣服画像の画素値と
置き換えている。
KinectControl.cpp 内の setDepthImage 関数について記述する
// ユーザピクセルかどうかをマスク画像に記録
if ( player != 0 ) {
int index = (colorY * width) + colorX;
userMask.data[index] = 255;
}
ユーザーピクセルをユーザーのマスクとして userMask メンバ変数へ記録している。ユーザー領域
を加えることで、衣服画像が実際のユーザーからはみ出している部分が非表示となり、衣服が
フィッティングしているように見せている。
(※文責: 宍戸健吾)
Group Report of 2013 SISP
- 60 -
Group Number 17-A
The project about creating squid robot for sightseeing in Hakodate
第5章
5.1
プロジェクトの結果
結果
制作班は、本プロジェクトの目的である観光産業を盛り上げる為に、既存のIKABOのメンテナ
ンスと改良、新たなIKABO11号機の制作に取り組んできた。
(※文責: 小松紺奈)
5.1.1
IKABO3 号機
IKABO3 号機のメンテナンスの結果としては、故障の原因はマイコンの故障であることがわかっ
た。新たなマイコンを購入しプログラミングをしなおすことを考慮したが、現在のマイコンは製造
中止となっていた。そのため、大きさや値段、拡張しやすさを考慮して小型 PC を乗せることに決
定した。次年度以降のプロジェクトを考慮して小型 PC を乗せることは有益な案となった。
IKABO3 号機の頭を固定する予定であったが、時間が足りずできなかった。
(※文責: 宍戸健吾)
5.1.2
IKABO5 号機
IKABO5 号機のメンテナンスの結果としては、故障の原因は PC のポートの接続にあることがわ
かった。ポート接続では bluetooth 通信を行うため、bluetooth を交換するという案も考慮された
が IKABO3 号機が同時に故障したこともあり、IKABO3、5 号機共に小型 PC を乗せることを決
定した。そうすることで再びどちらか一方の小型 PC が故障しても、もう片方の小型 PC にプログ
ラムが残っているので再びプログラミングを行う作業が容易になるメリットも考慮した。
足の付け替えが可能になっていたが持ち運ぶ際に外れることが多々あったため、磁石による付け替
えを行った。結果的には、磁石同士の部分は外れにくくなったが、IKABO5 号機に磁石をつける
ために強力両面テープを使用して接着した部分が外れやすくなってしまった。そのため IKABO5
号機と磁石を接着するための素材を検討する必要があったが時間が足りずできなかった。
(※文責: 宍戸健吾)
5.1.3
IKABO 11号機設計の結果
前期では3mを超えるIKABO11号機を制作しようと考え、その機能やデザイン、寸法などを
決めた。決定した仕様は以下の通りとなる。
・高さ約3. 7m
・重さ約200kg
・顔と胴体を分解
・人の動きを認識
Group Report of 2013 SISP
- 61 -
Group Number 17-A
The project about creating squid robot for sightseeing in Hakodate
・言葉を話す
・五本の腕を制御可能
・発光機能の実装
・着せ替え可能
その後、最終目標である3mの3分の1となる大きさのプロトタイプを制作した。プロトタイプの
制作は3段階で行われ、プロトタイプ1号機ではデザインの検討、プロポーションの検討、そして
スケール感の検討を行った。しかし、これだと高さに対して足や体が細く安定感がないという反省
点が出たためプロトタイプ2号機の制作をした。プロトタイプ2号機では反省点を活かし基本構造
の検討も加えて行った。プロトタイプ1、2号機の結果より新たに設計図を作り直し、プロトタイ
プ3号機の制作に取り掛かった。プロトタイプ3号機では稼働シュミレーションの検討と筐体用素
材の検討も行いながら制作した。プロトタイプ1号機、2号機、3号機を制作した結果として、全
体の比率、全体のイメージ、IKABO11号機図面の設計プランの手がかりを得ることができ
た。また、改善点として、胴体に対して顔が小さいことがあげられた。後期ではプロトタイプで得
た結果を活用して、新たに設計プランの考案を行った。模造紙に実際の寸法を書くなどして寸法を
決定した。このプランを元に企画書とスライドを作成し、機械メーカーへ制作依頼を申し出た。制
作許可を頂き話し合いを行ったが、問題点として顔が大きくて素材がないことや腕の位置の問題が
出てきた。検討を行った結果、顔は半球のポリカーボネイトを利用して制作すること、腕はデザイ
ンを重視するため最初の設計図のまま進めることに決定した。機械メーカーと共同で設計プランを
何度も改善していった。最終的にLEDライトや機能も考えた図面を機械メーカーに提出し設計図
の完成に至った。決定した素材については以下の通りとなる。
・耳 塩ビと発泡スチロール
・顔 ポリカーボネイト
・胴体 鉄
・足 鉄
以前挙げられていた安全性の問題も機械メーカーによる専門的な知識と、これらの素材を使用して
上の方を軽く、下の方は丈夫で強くすることにより問題なく制作出来ると考えられる。これらの結
果、3年計画の今年度の目標であった「設計図完成」は達成できたといえる。
(※文責: 小松紺奈)
5.1.4
IKABO11 号機のソフトウェア開発
IKABO11 号機のソフトウェア開発ついては、私たちは IKABO11 号機に搭載するキネクトの実
装に当たって、IKABO11 号機は制作途中であるため試験的に IKABO5 号機で動作実験を行うこ
とを決定し、プログラミング行った。
第一段階として人の骨格を検知するプログラムを作成した。第二段階として手の骨格を検知してマ
ウスカーソルを動かすプログラムを作成した。第三段階としてマウスの遠隔操作を利用して、
IKABO 1号機、IKABO3 号機、IKABO5 号機、IKABO 11号機を紹介するプログラムを作成
した。第四段階としてパソコンの画面上の IKABO を操作するためのプログラムを作成した。最
終段階として手を上げる、手を合わせるなどのジェスチャーで IKABO5 号機を操作するプログラ
ムを作成した。また別のプログラムとして、服の着せ替えを行うプログラムやスケルトンになるプ
ログラムを作成した。最終的に完成した手を上げる、手を合わせるなどのジェスチャーで
IKABO5 号機を操作するプログラムを応用して、IKABO11 号機を操作できるようにしたいと考
Group Report of 2013 SISP
- 62 -
Group Number 17-A
The project about creating squid robot for sightseeing in Hakodate
えた。
(※文責: 宍戸健吾)
5.2
成果の評価
本プロジェクトの目的である「函館の観光産業を盛り上げる」ということに対して、私たちはIK
ABOを通して積極的にイベントでデモを行ったり取材を受けることで様々な影響があったと考え
られる。まず花と緑のフェスティバルではIKABOでデモを行ったり、子供たちや地域の人にI
KABOを操作して頂くことでIKABOを知って頂き、ロボットに親しんでもらえたと考えられ
る。今年は港祭りにも参加し、IKABOの操作を行った。市民の会の方とも交流することがで
き、私たちにとって貴重な体験となった。NHKの収録や北海道新聞の取材もしていただき、北海
道の方にIKABOを広める機会を頂いた。このことは観光産業の盛り上げに繋がったと考えられ
る。そして夏休みには幌延町へ足を運んでデモを行いたくさんの方にIKABOで楽しんで頂い
た。成果発表ではNHKアサイチの収録もして頂いて、全国の方にIKABOを知ってもらえる機
会ができたことで観光産業の盛り上げに繋がったと考えられる。制作班はこれらのイベントにおい
て、事前に既存のIKABOのメンテナンスや動作確認を行ってから操作し楽しんで頂くととも
に、IKABO11号機のPRも行うことができた。IKABO11号機の制作においては、今ま
で大型化への取り組みが中断していたが今回3. 5mという大型化への取り組みを進めることがで
きた。そして今までとのIKABOとは違い、女子学生ならではのアイディアで可愛らしいデザイ
ンにしたことも今回の特徴である。ソフトウエア面では、今まで遠隔操作にデバイスを必要として
いたが、IKABO11号機ではデバイスをなくしてジェスチャーで楽しんで頂けるように考え
た。このことにより、周りを巻き込んで楽しんでもらえると考えることが出来る。このIKABO
11号機が完成すれば、今後メディアも注目し観光産業を盛り上げることに繋がると考えられる。
最終発表会の評価としては発表技術に関する点数が平均7、発表内容に関する点数が平均6であっ
た。発表技術のコメントをまとめたものが以下通りである。
良かった点
・各班の活動と成果が伝わる効果的な発表
・スライドが見やすい
・図や動画が多くわかりやすい
改善点
・声がもう少し大きいと良い
・キネクトの実演をして欲しい
・スライドが多すぎて早く感じた
・スライドの文字が小さかった
・手書きのスキャンが見にくかった
発表内容のコメントをまとめたものが以下の通りである。
良かった点
・今までにない可愛らしいデザインが良い
・目標が明確
・課題解決に取り組んだことがわかる
・IKABO11号機が出来るのが楽しみ
Group Report of 2013 SISP
- 63 -
Group Number 17-A
The project about creating squid robot for sightseeing in Hakodate
・キネクトの体験感が良い、面白い
・制作だけでなく有名にするために色々考えている
改善点
・地域貢献の具体性がない
・以前のIKABOと違いがわからない
・来年度に引き継ぐ十分な資料が揃ったか
・活動と観光産業はリンクするのか
・函館の観光発展とIKABOの知名度の関連性がわからない
これらのコメントにより、IKABO11号機を楽しみにしてくださる方が多いと感じた。改善点
である地域貢献についてと今までのIKABOとIKABO11号機の違いについては今後もっと
アピールしていきたい。発表技術に関しては、活動してきて説明したいことを詰め込みすぎた結果
が、スライドの文字が小さい、スライドが多くて早く感じたという改善点に繋がったと考えられ
る。キネクトの実装も時間がもう少しあれば出来たことである。そのため、もう少し発表内容をま
とめてわかりやすい発表を心がける必要がある。しかし、目標や成果のわかる発表であったことは
コメントから読み取ることが出来る。成果発表の質問では、1号機でwiiリモコンを使用したと
きハードウェア的に耐え切れないことを知っていたか、11号機でキネクトを使用して耐え切れる
のかという質問が出た。これは、キネクトを使用するが決まった動きにしか反応しないため問題な
いことがいえる。IKABOは3.5mだが強度について、実物のプロトタイプはないのかという
質問がでた。これについては、実物のプロトタイプを制作するのは難しいため機械メーカーと安全
性についてはしっかり話し合っていることを伝えた。安全性については前期のときも質問されたた
め、もっと安全性についてもアピールしていく必要があると考えられる。
(※文責: 小松紺奈)
5.3
5.3.1
担当分担課題の評価
後藤凌
本プロジェクトでは私は製作班に所属しており、私が担当していたのは、主に IKABO11 号機の
ソフトウエア開発を担当していました。キネクトのインターフェースは、プログラミング言語であ
る c++ で書かれているため、大学の講義で使っていた。c 言語を開発する環境では、編集ができ
ないことがわかっていたため、活動する一番最初に c++ の統合開発環境である、Microsoft
visual c++ 2010 Express(マイクロソフトヴィジュアルシープラスプラス 2010 エクスプレ
ス)を導入することにした。これを導入することにより、ようやくスタートラインであるプログラ
ムの内容確認に入れるようになった。プログラムの中身は KINECT forWindows SDK プログラ
ミング C++ 編を参考にプログラミングをした。この本を理解するのは簡単であったが、導入し
た環境やバージョンの違いでエラーが多くでたため、エラーを処理するののが大変であった。プロ
グラムは次年度に引継ぎする人がわかりやすいようにプログラム自体をより見やすくすることを心
がけた。また、今回のプロジェクト学習では函館の観光産業を盛り上げるためにいろいろなイベン
トに参加した。それぞれのイベントでは IKABO を動作させることによって IKABO に興味を
持った地域の人のコミュニケーションを図り、IKABO の認知度の向上を行うなど積極的にイベン
トに参加することによってたくさんのことが得られたと実感しました。自分はこのプロジェクト学
習では主にキネクトプログラミングについて頑張ってきたが、やはり物事を計画的かつ効率よく進
Group Report of 2013 SISP
- 64 -
Group Number 17-A
The project about creating squid robot for sightseeing in Hakodate
めるということはとても大事なことだなと改めて痛感した。また、物事を計画的かつ効率良く進め
るためには、まずこの期限までにこれらのことを絶対にやり通すという強い意志を持って自分の意
識から変えていけなければならないと考えた。そして、何事も自分の力でやってみないとわからな
いことが多いと感じた。大きな長期間の共同学習を通じて,プロジェクトのメンバと協力して同じ
目標に向かっていくことで協調性や積極性を養うことができ、またコミュニケーションを通して自
分の考え付かなかった発想や考えを見つけることができとても勉強になった。プロジェクト内での
結束力もプロジェクトの開始時期の頃よりも強くなったことは自分にとっては良い経験になった。
このプロジェクト活動を通して学んだことはこの先卒業研究でも社会人になって活かすことができ
ると考えられるので、この経験をまず卒業研究で活かしていきたいと考える。
(※文責: 後藤 凌)
5.3.2
宍戸健吾
プロジェクトで行ったことは 11 号機の機能案、デザイン案についての議論、3号機のメンテナン
ス、5号機のメンテナンス、イベントでの IKABO の操作、キネクトのプログラミングを行った。
11 号機の機能案についての議論では、去年の機能案を踏まえてメンバーで議論し、顔と胴体を分
解、 人の動きを認識、音によるメッセージ発信、五本の腕を制御可能、発光機能の実装を行うこと
に決定した。
デザイン案についての議論では、大きさや機能を実装するに当たってのデザインなどを考慮し話し
合いを行い、最終的には女子メンバー多いことから可愛さを追求したロボットを制作することに決
定した。
3号機のメンテナンスでは、3号機が動かなくなったために故障原因を探した。マイコンの故障が
発覚したために、小型 PC を乗せることを検討した。
5号機のメンテナンスでは、5号機が動かなくなったために故障原因を探した。故障の原因は PC
のポートの接続にあることが発覚した。そのため 3 号機と同様に、小型 PC を乗せることを検討し
た。また足の付け替えが可能になっていたが持ち運ぶ際に外れることが多々あったため、磁石によ
る付け替えを行った。
イベントでの IKABO の操作では、既存の IKABO の操作を担当し IKABO を動かせる状態に準
備したり、タブレットやイカボコントローラーでの操作を担当した。
キネクトのプログラミングでは、IKABO11 号機に搭載するキネクトの実装に当たって、
IKABO11 号機は制作途中であるため試験的に IKABO5 号機で動作実験を行った。1 つ目の段階
として人の骨格を検知するプログラムを作成した。骨格を検知することにより人のジェスチャーを
認識することができるようになった。2 つ目の段階として手の骨格を検知してマウスカーソルを動
かすプログラムを作成した。1 段階目でジェスチャーが検知できるようになったため応用して手の
動作でマウスカーソルを動かせるようにした。ここでは、パソコンの画面上の IKABO を操作す
るためのプログラムを processing 用いて作成した。3 つ目の段階として手を上げる、手を合わせ
るなどのジェスチャーで IKABO を操作するプログラムを作成した。1 段階目と 2 段階目を応用し
てぞれぞれのジェスチャーによってクリックやイカボコントローラの起動を実現し、パソコンのイ
ンタフェースを使用して IKABO を動かすことに成功した。
(※文責: 宍戸健吾)
Group Report of 2013 SISP
- 65 -
Group Number 17-A
The project about creating squid robot for sightseeing in Hakodate
5.3.3
小松紺奈
前期の活動ではまず、IKABO11 号機のデザインや機能について話し合った。その際女子学生はい
ままでとは違う女の子らしい案をたくさんだした。着せ替えができたりリボンがついている、また
LED ライトで耳や顔が光るなどを提案し、コンセプトをアイドルロボットと名付けた。着せ替え
が出来ること、イカ踊りを踊れること、そして可愛らしさを持っていることを兼ね備えている。話
し合いの際、自分の意見をしっかり伝えられたと感じている。大きさを決定する際は、実際どのく
らいなのかを想像するためにメジャーで長さを見てみたり、1号機と比べてみようということを提
案し、数字で想像していたよりもはるかに大きいことがわかった。次に、プロトタイプの制作時に
は積極的に役割を分担し効率化を図った。筐体用素材については、自らホームセンターに足を運び
お店の人に聞きながら検討した。顔の素材についても様々なサイトを調べ注文も行った。今までは
プロトタイプを何個も制作していたことがなかったが、今年は3つのプロトタイプを制作すること
に成功した。プロトタイプ1号機の改善点を作り直してみようと提案しプロトタイプ2号機では安
定感を得ることができた。プロトタイプ3号機では力仕事も積極的に行い、服の制作にも取り組ん
だ。足は熱で曲がる塩ビパイプを使用することにより想像通りの出来に仕上がったと感じている。
また、イベントでも積極的に活動した。花と緑のフェスティバルの1日2回のデモでは IKABO
の説明を行ったり、子供や市民の方に IKABO を説明し操作してもらうことで、たくさんの方と触
れ合うことが出来た。このイベントの中で私は IKABO の知名度について積極的に質問を行った。
市民の方だと IKABO のことを知ってくれている方が多かった。IKABO についての質問にも対
応した。港祭りでは、IKABO の操作を始め市民の会の方と交流することも出来た。取材にも参加
し函館観光産業を盛り上げることに努めた。後期の活動では、IKABO の設計グループにおいて活
動した。今年度中の設計図完成を目標に動いた。まず、成果発表会まであと約2ヶ月ということで
アドバイザーの教員に IKABO 11号機についてアドバイスをもらいに行った。その後機会メー
カーに連絡を取り、制作依頼を申し出た。制作をお願いするにあたり、スライドと企画書の作成も
行った。設計プランを考案する際も気付いた点は積極的に意見を言い、グループメンバーの意見も
真剣に聞き皆で良いものを完成させることを心がけた。機械メーカーの検討の結果 IKABO 11
号機を制作してくれることとなった。機械メーカーとの話し合いの中では私たちの作った設計プラ
ンについて機械メーカー提案の元、妥協出来る点や変更出来ない点などを伝え、設計図を検討して
いった。話し合いをしていくうちにどんどん理想の IKABO 11号機に近づいているように感じ
た。始め、3. 5mの IKABO 11号機の実現は難しいのではないかと感じていたが安全面なども
考慮し IKABO 11号機の制作が現実的となった。私は1回目の話し合いで検討していただきた
いと言われた部分について何種類も図面を書いてみて検討を行った。何種類もの図面を書くことで
私たちのコンセプトであるアイドルロボットがどのようなものなのかがわかってきた。検討する際
にはやはりデザインが大事だと考え、当初の可愛らしさを表現するのが難しかったが諦めず検討を
重ねた。機械メーカーからも了承をいただき、設計図の完成に至った。私たちの目標の設計図完成
を達成することが出来、非常に満足している。
(※文責: 小松紺奈)
Group Report of 2013 SISP
- 66 -
Group Number 17-A
The project about creating squid robot for sightseeing in Hakodate
5.3.4
阿部稿作
私は制作班において IKABO11 号機のプロトタイプの作成、既存の IKABO のメンテナンスと操
作、IKABO11 号機のソフトウェア開発を担当した。
IKABO11 号機プロトタイプ作成について、新たに制作されることになった IKABO11 号機につ
いて機能と仕様の検討、IKABO11 号機の各プロトタイプの作成を担当した。IKABO11 号機の仕
様については前年度の報告書を読み、前年度提案された機能をもとに話し合いで提案を行い、
IKABO11 号機の人の動きに反応する機能に KINECT を利用することとなった。また 11 号機プ
ロトタイプの作成ではメンバーと協力しながら 3 つのプロトタイプの作成に携わった。プロトタイ
プ 3 号機では用いる材料や腕や足などの接続方法を検討し実際に作成することでプロトタイプ 3
号機の完成に貢献した。
次に既存の IKABO のメンテナンスと操作について、主に IKABO3 号機 5 号機のメンテナンス、
各イベントでの IKABO の操作を担当した。IKABO3 号機のメンテナンスでは故障を発見し、そ
の原因を調査した。調査の結果マイコンの故障を発見したが故障したマイコン生産されておらず入
手困難なものであったため、新たなマイコンの検討を始めた。しかしながら Bluetooth を搭載し
ていて IKABO を動かせるマイコンを見つけることが出来なかったため、小型 PC の搭載を検討
した。小型 PC について調べ、Bluetooth が利用でき今後の拡張も容易でリファレンスがたくさん
あることから RaspberryPi を採用した。RaspberryPi に利用することが出来る SD カードを調
べ、RaspberryPi と SD カードを購入した。その後 RaspberryPi の設定を行った。しかしながら
RaspberryPi を採用し購入するまでに時間がかかってしまい、3 号機に実装してもとの動きが出来
るまでに戻せなかったことは反省点である。また 3 号機の頭の突起部分の塗装が剥がれていたので
塗りなおした。
IKABO5 号機のメンテナンスについては塗装の塗りなおしと足の取り付け方法の検討、急に動か
なくなる問題の調査を行った。足の取り付け方法の検討については、従来のマジックテープでは 5
号機を動かすとすぐ足が取れてしまうので、マジックテープに代わる新たな取り付け方法を検討
し、磁石を新たな取り付け方法とした。磁石で 5 号機に足を取り付けることができたが、磁石を付
けていた粘着テープが弱く磁石が取れてしまうようになった。そこで両面テープで補ったがそれで
も粘着が弱く磁石が取れてしまった。今後課題として磁石をしっかり 5 号機に貼り付ける方法を考
え、剥がれないように貼り付ける必要がある。急に動かなくなる問題については、5 号機のマイコ
ン、操作アプリケーション、Bluetooth の設定を調査した。結果 Bluetooth の設定が原因であり、
PC によって使われるポートが違うことが原因であることがわかったが、なぜ PC によって使われ
るポートに違いが現れるのか、また問題に対しての具体的な対策についてはわからないままなので
反省したい。今後もしプロジェクトメンバーのどの PC でも Bluetooth がうまく使えなくなった
場合、Bluetooth を交換したり専用の操作端末を別に用意したりなど対策が必要となる。
既存の IKABO の操作については、花と緑のフェスティバル、幌延町の科学展などのイベントで
IKABO の操作を行った。
最後に IKABO11 号機のソフトウェア開発については KINECT のプログラミングを担当した。
KINECT のプログラムを作るにあたって書籍を読み勉強しながらプログラムの作成を行った。た
だ書籍に書いてある情報が古く、開発環境の設定にとても時間がかかってしまった。環境設定がで
きるのにとても時間がかかってしまったが、環境設定ができてからは順調にプログラミングを行う
ことができた。RGB カメラの出力や骨格検知、体の部位の座標を取得しマウスカーソルを動かす
プログラムを作成し、最終的にそれらのプログラムを組み合わせることで、IKABO5 号機をジェ
Group Report of 2013 SISP
- 67 -
Group Number 17-A
The project about creating squid robot for sightseeing in Hakodate
スチャーによって動かすプログラムを作ることができた。KINECT のプログラミングを通して、
C++ や VisualStdio の使い方、KINECT を使ったアプリケーションの作成方法などを学ぶこと
ができた。今後 IKABO11 号機への実装に向け、ジェスチャーの種類を増やしたりなど拡張する
必要がある。
(※文責: 阿部稿作)
5.3.5
小田川玲奈
制作班のグループリーダーとして、前期の活動においては、主にメンバーの作業のサポートとスケ
ジュール管理、IKABIO 11号機のプロトタイプ1,2,3号機の制作を行った。IKABO11 号機
は 3 年計画であり、私たちは 2 年目であるので設計図まで完成することを目標としている。また、
今回の IKABO11 号機制作にあたり課題としたことは、今までにない可愛らしさを追求したいか
ロボットを考案し、女子のロボットに対する苦手意識を少しでも減らし、理系女子を増やすことで
ある。これはグループとしての課題であったが、何より私自信がそれを本当に望んでいたので闘志
が燃えた。プロトタイプ1,2号機はだいたいの比率などを確かめるために扱いやすいダンボール
を用いて制作した。制作する過程で、大きさなどを細かく書いた設計図を女子で作成した。プロト
タイプ 3 号機では、1,2号機での反省点をふまえて各部分の大きさの比率を調整したり、安定性
をもたせるために足部分を太くしたりして完璧なプロトタイプを完成させることに成功した。それ
を踏まえて、IKABO11 号機の設計図を改めて制作した。
また、後期の活動においては、11 号機制作にあたり、ハード班とソフト班に分かれて、私はハード
班に所属し、活動をしていた。機械メーカーの comtec 社と共同で設計図を開発出来ることとなり
何度も comtec 社と打ち合わせを重ねた。専門家の意見などを聞き、自分たちの考えの甘さや、厳
しい現状を突きつけられ、苦悩した。また、その際にもグループリーダーとして私が基本的に
comtec 社と直接連絡を取り合り、打ち合わせの日程を決めるなどし、メンバーに伝えていた。今
まで企業とこんなにも密接に関わったことがなかったので、このような経験を通して 、社会的マ
ナーや、専門的用語などを学ぶことができた。そうして、最後には、私たちの意見が取り入れられ
た満足のいく IKABO11 号機の最終設計図が完成した。このことにより、IKABO11 号機が来年
にも完成することが期待できる。
(※文責: 小田川玲奈)
5.3.6
須ヶ牟田百香
今年度の函館観光用ロボット制作運営プロジェクトで私、個人の活動内容としてまずはじめにあげ
られるのが既存の IKABO の引き継ぎである。昨年度の先輩方から IKABO 1、3、5号機の動
かし方を教えてもらった。
また、IKABO 1、3、5号機が故障した際にどうのように対処するべきか、また、IKABO 1、
3、5号機がどのように動いているかどれほどの重量があるかなどの簡単な説明を受け、既存の
IKABO について学んだ。
また IKABO 3、5号機のマニュアルや IKABO 3、5号機のマイコンのプログラムコードなど
を引き継いだ。函館の観光客減少という問題を解決すべく,函館市の新たな観光資源として市民の
有志らから巨大ないか型ロボット通称 IKABO の制作を進めている。当初は、20m 級という巨大
Group Report of 2013 SISP
- 68 -
Group Number 17-A
The project about creating squid robot for sightseeing in Hakodate
なロボットの製作を期待されていたが、予算や安全面の確保などで難しいとされていた。よって今
回は 2015 年に函館市の近くまで新幹線の延伸があり、それにあわせて IKABO を作成するため、
3 年間で3m級の IKABO の制作に取り組んでいる。前期では、IKABO 11号機のデザインコン
セプトや素材の検討を行なった。プロジェクト開始時に新しく IKABO 11号機はどうのような
ものにするかを検討する際に新しく制作する IKABO 11号機は巨大化させようという案がでた。
結果として、IKABO 11号機は3m級の大きなロボットに将来的になることが決まった。決定の
際、多くの意見をだし話し合いがスムーズに進んだ。また、IKABO 11号機の案がまとまった
後、すぐに制作を開始せず IKABO 11号機のプロトタイプを制作した。IKABO 11号機を制作
することで IKABO 11号機の全体のバランス像や素材の検討などを行うことができた。始めに
作った IKABO 11号機のプロトタイプではまず簡単に制作するために制作班でダンボールを校
外に取りに行き、ダンボールで IKABO 11号機プロトタイプを制作した。次に制作した IKABO
11号機プロトタイプではダンボールを使って強度をあげて制作した。次に制作した IKABO 1
1号機プロトタイプ3号機では塩ビパイプなどを使用して強度を増したプロトタイプを制作した。
使用した素材としては、塩ビパイプ、発泡スチロール、プラスチック板、木版などを主に使用した。
また、IKABO 11号機はデザインコンセプトとしてアイドルロボットというものがあげられる。
アイドルのように可愛くて、踊れて歌えるということがあげられる。アイドルのように可愛くする
ために IKABO 11号機には服を着せ場所や季節によって服の着せ替えが可能になるようにする。
そのため IKABo 11号機プロトタイプ3号機には実際の IKABO 11号機と同じデザインの服を
着せた。服は布とマジックテープで縫って制作した。
プロトタイプを制作することで全体の比率がイメージできたり、3mのロボットのイメージがわき
様々な課題が見えてきた。例えば IKABO11 号機を制作するにあたってどのようにして 3 m級の
ロボットを安全にたたせるかが課題となった。安全にたたせるため全体の軽量化、主に頭の部分や
上の部分をどのようにして軽くするかを考えた。始めの案としてあがったのが頭の部分を風船で制
作することだった。
だが、頭の他にヒレを装着しなければならず、頭部には LED で発光させる予定もあったので、風
船では強度が低いとなった。次にあがった提案が発泡スチロールで頭部を制作するというもので
あった。頭部を発泡スチロールにすることでまず、全体的に軽量化を図ることができ、さらにある
程度の強度もあるため、頭部の上にヒレを装着したり、LED を使用して発光させることも可能に
なる。
したがって IKABO 11号機の頭部を発泡スチロールにすることに決定した。それにより 3 mの
IKABO 11号機を安全にたたせることが可能になった。
また、IKABO 11号機プロトタイプ制作の後は既存の IKABO 1号機や3、5号機の認知度を高
めるために様々なイベントに参加していた。
函館の有名ないか踊りに参加し、幌延まで行き IKABO の存在をアピールした。幌延ではイベン
トに参加し子供たちに IKABO 3、5号機と触れ合ってもらった。
またその際、IKABO 3、5号機の足を固定して動かないようにするという対処法も生まれた。
様々なイベントに参加し後期のプロジェくが始まってからは IKABO 11号機の制作に向けて本
格的に行動を始めた。
IKABO 11号機制作するためには時間も足りないが予算も少ない。そのため IKABO プロジェ
クトと連携している市民の会に予算の増幅してもらう必要がある。
市民の会に予算を増幅してもらうには IKABO 11号機についてプレゼンテーションをして
IKABO 11号機の大切さを訴える必要がある。なので IKABO 11号機についてのプレゼン資
Group Report of 2013 SISP
- 69 -
Group Number 17-A
The project about creating squid robot for sightseeing in Hakodate
料を作成した。
また、プレゼン資料と具体的な仕様書なども作成し、より市民の会に IKABO 11号機の大切さと
IKABO 11号機が函館にどれだけ貢献をもたらすかアピールした。
また、IKABO11 号機の本格的な制作を進めるために業者に頼み IKABO 11号機制作を検討し
てもらった。
その際 IKABO 11号機の具体的なコンセプトを決めるために制作班内でもう一度 IKABO 11
号機のコンセプトや全体の比率などを検討した。
IKABO 11号機のコンセプトが固まり業者と連絡を取り合い IKABO 11号機の制作のお願い
をした。IKABO 11号機の制作をお願いした業者は IKABO 1号機の制作を行なってもらった
業者にお願いをした。
検討してもらった結果 IKABO 11号機の制作を正式に受けてもらったので IKABO 11号機の
素材や形について何度も話し合いを行なった。
話し合いの結果様々なデザイン変更があった。足の部分ははじめからついているがのちのち取り外
しを可能にする。
また、IKABO 11号機の頭部の目の部分は業者に頼むのではなく目の部分は自分たちで制作する
ことになった。制作のための素材などを検討している。
また頭部の上にあるヒレの部分も自分たちで制作することになっている。ヒレの部分を制作するた
めに素材の検討などを行っている。
また頭部の部分は始めは発泡スチロールでの制作を検討していたが、安全面や強度などを考えた結
果発泡スチロールではなく違う素材で頭部を制作することになった。
また、業者との話し合いがある程度まとまった結果 IKABO 11号機の最終的な設計案が作成さ
れた。作成された設計図などをもとにプロジェクト学習の最終発表にむけての準備を進めていっ
た。最終発表ではスライドの作成と前期で制作した IKABO 11号機プロトタイプ3号機を使用
した。スライドはそれぞれの班で15枚ほど作成し制作班でのスライド作成に大いに自分は検討し
た。スラドを作成する際、遠くからでも見やすいよう文字の大きさ、文字の色、文字と文字の間の
隙間に気を遣うなど、できるだけ見やすいスライドを作成するよう心がけた。
また、最終の発表ではスライドは出来るだけ文字を少なくし必要最低限の情報だけをのせるように
した。聞いている方々にスライドに集中してもらうのではなく話に集中してもらえるようなプレゼ
ンテーションとスライドの準備を行なった。
また、最終発表の際質疑応答ではできるだけ丁寧にわかりやすく答えれるよう今まで制作班が行
なったことをもう一度振り返りどんな質問がきても対応できるように準備をした。プロジェクト学
習で様々なことを学び、なにかひとつのことを制作するために必要なプロセスなどを学ぶことがで
きた。
(※文責: 須ヶ牟田百香)
5.3.7
牧 穂乃花
私が所属するプロジェクト、函館観光用ロボット制作運営プロジェクトは、函館市が今抱えている
「観光客の減少」に対する問題をいかロボットの制作を通じて解決することを目的としている。巨
大なロボットを作って欲しいというロボットフェスイン函館市民の会からの声で、このプロジェク
トが始まった。(ロボットフェスイン函館市民の会は、このプロジェクトに支援をしてくれている。
おかげで本プロジェクトはロボットを作れる大きな活動ができている。)初期段階として制作され
Group Report of 2013 SISP
- 70 -
Group Number 17-A
The project about creating squid robot for sightseeing in Hakodate
た、IKABO1 号機から、3 号機、5 号機と次々に制作された。今年のプロジェクトは、新型
IKABO11 号機を制作する計画である。従来の IKABO にはなかった、巨大化・ユーザー参加型を
目標に取り組んでいる。巨大化というのは、今までは予算や技術の関係上市民の会の要望である3
0m級のロボットの実現には至らなかったことから、今年は既存 IKABO の中で一番大きい一号
機の2mを越える、3mのロボットにしようと計画している。(過去に制作された IKABO9 号機
は、約 9 mの大きさを誇ったが、バルーン型であるため、ロボットとしての大きさでは今は
IKABO1 号機が一番である。)ユーザー参加型というのは、キネクトを使い、人の動きに反応して
IKABO が特定の動きをする、観客も気軽に IKABO と触れ合える環境を作ろうという目的が込め
られている。これらを踏まえ、IKABO11 号機のデザイン案、プロポーション、スケール感を検討
し、プロトタイプを制作した。その成果として、全体の比率や全体のイメージを得ることができ
た。この成果を基に、IKABO11 号機の設計図を作成し、制作を計画する。
今回、巨大ロボット新型 IKABO11 号機の設計図の完成と機能面でもプログラムの検討を行う。
昨年に IKABO3 年計画が建てられていた。これは、1 年では IKABO の制作完了が不可能である
と判断され、3 年かけて完成を目標とする計画のことである。今回初めて 2 桁の番号である
IKABO は、初めてを沢山詰め込む。また、既存機のメンテナンスを行った際、3 号機の故障が発
覚し、その修理をしなければならない。個人の課題として、巨大 IKABO11 号機の全体のイメー
ジや比率を掴み易くするために、グループの意見を取り入れ、細かな寸法などを記した設計図を作
成することが第一である。また、IKABO3 号機の復帰に関しては、原因を追究し修理できるかを
検討、そのサポートをする。
IKABO11 号機を作るに当たり、どのようなロボットにするかを話し合った。多くの意見が出る
中、私は発光機能、巨大化、着せ替えなどの意見を出した。他には、キネクトセンサーを使い、人
の動きに反応して IKABO が動くユーザー参加型の意見や、話す、踊るといった意見が出た。ユー
ザー参加型は昨年もあった意見で、それを受け継ぐ形になった。また、踊るというのは、IKABO
の伝統的な機能で、いか踊りができる。今回採用された機能は、他に発光機能、巨大化、着せ替
え、話すことに決定した。また、今までに無いものにするために、動く足を増やすことも昨日の一
つに決定した。巨大化に関しては、3 mを目指す。それ以上だと安全性に問題があり、非現実的で
あると考えた。それ以下だと、IKABO1 号機と同じくらいの大きさで、面白みがなくなってしま
う。また、IKABO11 号機は、制作班に女性が多いことが関係し、コンセプトがアイドルイカボに
なった。リボンやつけまつげを付けて可愛く、踊って歌えるロボットに仕上げるつもりだ。
いよいよ IKABO11 号機を作り始める。まずはプロトタイプを作ることから始めた。いきなり 3m
のロボットを作ることは不可能である。また、大きすぎて想像もできない。そのため、3 分の 1 ス
ケールのプロトタイプを制作する。それを 3 倍にしたときに全体の比率がおかしくないかを検討
する。私はメンバーの意見を取り入れ、それを紙に形にして書く仕事をしていた。たくさんの意見
があり、何度も書き直し納得のいく設計図を書いた。細かく正確な設計図を書く事は出来ないた
め、とにかくメンバーの意見を頭でイメージして、なるべく近くなるように細かく描いた。初めて
書いたのはプロトタイプ 1 号機である。初めはイメージだけで作ったため、強度やバランスが悪
い。反省点として、足や手が細い、頭が小さい、胴体が長いが挙げられた。それらを活かして再び
設計図を書く。手足を強度を上げるために太くし、動を少し縮め、頭を少し大きくした。数値的に
は微調整であり、私が書いた設計図の絵ではうまくいくように見えた。実際にその設計図に従って
プロトタイプ 2 号機を制作した。すると、設計図とはとても違うものになった。確かに、強度は上
がり、胴体も短く頭も大きい。しかし、私たちの今回のコンセプトである可愛らしさを重視したロ
ボットからは程遠い、男のようなたくましいロボットになっていまった。手足を太くし、動を短く
Group Report of 2013 SISP
- 71 -
Group Number 17-A
The project about creating squid robot for sightseeing in Hakodate
したことによって、華奢さがなくなってしまった。初心に帰り、再度メンバーで話し合い、意見を
まとめた設計図を作成した。それにより、プロトタイプ 3 号機を無事に完成させることができた。
今までに何度も設計図を書いたが、設計図の正確さの大切さを学んだ。ただ書くだけでは、完成さ
せることができない事を学んだ。
プロトタイプを作ったことにより、全体の比率とイメージを掴むことができ、IKABO11 号機の設
計図の手がかりとなった。そこから、設計班とプログラム班に別れて活動した。私は設計班として
主に設計図作成に携わった。イラストレーターを使い、機械メーカーがイメージを作りやすいよう
に、IKABO を描いた。何度も会談を行い、IKABO11 号機の設計図を完成させることができた。3
号機の故障については、プログラム班のメンバーが担当してくれたため、私はサポートすることが
できず力不足だった。設計班としては、私たちの目標である設計図完成を完了することができた。
私は制作班のポスター作成を担当していた。イラストレーターを触れたことがなかったため、慣れ
ない環境でのポスター作成だったため、苦労しました。しかし、グループの頑張りを多くの人に理
解してもらうためにも、見やすさや読みやすさ、バランスを考えながら作成した。
以上の活動を通して、自分の力不足に悔やむこともあったが、私なりにメンバーを支え活動してい
た。絵を描いたり、ポスターを作ったり、メンバーとの話し合いなどから、人の意見を聞き入れる
大変さも学んだ。このプロジェクトで活動できたことを誇りに思える。
(※文責: 牧穂乃花)
5.4
3 年計画―来年度の活動予定
3 年計画では、1 年目は計画を立て、2 年目は設計図完成・プログラム検討まで完了した。3 年目
は、いよいよ IKABO11 号機を形にしてもらいたい。
今年 IKABO11 号機を作っている際、名前を何にするか話し合った。今年度の制作班 7 人のイニ
シャルをとって、GK ‐ SHARM(ジーケーシャーム)と名付けた。
設計班
機械メーカーと話し合い、完成に至って欲しい。歴史に残る大きな IKABO となることは間違い
ない。設計図はできているため、それに従って IKABO11 号機制作にあたる。
耳、頭、手先、装飾品を、機械メーカーからの設計図を元に自分たちの手で制作する。
耳…とにかく軽量化を重視した素材(発泡スチロールなど)で制作する。
耳本体につけるヒレは、透明な板を使用する。私たちはアクリルが良いと考えたが、これは割れに
くいため、他の素材があれば避けるべき。ヒレの付け根には、LED を埋め込み、LED が発光する
と、透明の板に反射してヒレが光る構造にする。(よく、コンサートなどで使われるペンライトの
ような構造を考えている。LED テープライトを使用し耳に貼り、その上からヒレを接着する。)
頭…頭の本体は機械メーカーが用意してくれる。そのため、私たちは目を作らなければならない。
インターネットで素材はたくさん探し出すことができる。目の素材として、塩ビの球体(または半
球体)を使う。サイズは 200 mmが望ましい。球体を頭に合わせた曲面に削り、接着してしまって
良い。その際、可愛らしさを出すためにまつ毛を付けて欲しい。
手先…IKABO1 号機を見ればわかるだろうが、手先を円錐にする。今回の IKABO のイメージカ
ラーは青であるため、青の円錐を作る。
装飾品…チャームポイントである、リボンと服は着せ替えができるように制作する。機械メーカー
に提出した企画書に載ってある、装飾の例を見て青のストライプのデザインを作る。他のデザイン
Group Report of 2013 SISP
- 72 -
Group Number 17-A
The project about creating squid robot for sightseeing in Hakodate
は是非、受け継ぐメンバーで考えてもらいたい。私たちは、新幹線が北海道に来ることから、新幹
線の柄を作ることも検討していた。
(※文責: 牧穂乃花)
Group Report of 2013 SISP
- 73 -
Group Number 17-A
The project about creating squid robot for sightseeing in Hakodate
第 6 章 今後の課題と展望
6.1
IKABO11 号機の今後の課題と展望
昨年度の「第二期いかロボット創造プロジェクト」では、IKABO 既存機のメンテナンスと改善、
マニュアルの作成、IKABO 11号機の計画立案、模型制作が行われた。
しかし11号機の具体的な立案や次年度に引き継ぐことができる技術の修得には至らなかった。そ
こで今年度我々が行なった「函館観光用ロボット制作運営プロジェクト」では昨年度の反省を生か
し、11号機の制作を開始できる段階にすることを目標の1つとして活動した。その結果 IKABO
11号機のプロトタイプ制作、具体的設計案、最終的な設計図の作成を行なった。昨年度のプロ
ジェクトの反省を生かし、今年度の函館観光用ロボット制作運営プロジェクトの今後行うべき課題
と今後の我々の展望、また来年度に引き継いでほしい展望を書いていく。
昨年度の反省を生かし我々は IKABO 11号機の模型を完成させた。その結果、前期プロジェク
ト学習で IKABO 11号機んも計画立案、模型作成を行なった。IKABO 11号機の具体的なデザ
インが本当にこれでいいのか、IKABO のそれぞれの腕の長さ、関節の位置などの全体のバランス
や安全面について考えることができた。
今後の課題としては、IKABO 11号機の細かいヒレの部分などのプロトタイプを制作する必要が
ある。IKABO 11号機の胴体や足は鉄工所や業者に頼む予定であるが、頭の部分や頭の上部に位
置するヒレの部分などは我々の手で制作する必要がある。したがって、図面上の設計図を作成する
ことはもちろん設計図をつくりその後、前期プロジェクト学習時と同じように実物のものを制作す
る前にプロトタイプを制作する必要がある。プロトタイプは実寸よりいくらか縮小したものにし、
素材は様々なものを使いプロトタイプを制作する必要がある。始めはおおまかなイメージを作るた
めにダンボールなどの動きや形を自由に簡単に決めれるものから制作を開始する。プロトタイプ1
号機が完成したら、その後素材を実際のものに少しづつ近づけていく。近づけるというのは強度を
実際の IKABO 11号機のようにするということである。はじめは強度はあまり考えず、自分た
ちのイメージした像を実際に実現しやすいような柔らかい素材のものを使用して制作する。例え
ば、前期で制作した IKABO 11号機のプロトタイプ1号機のようにダンボールで制作を進める。
頭や上位に位置するヒレの部分のプロトタイプ1号機が完成したら、その後は強度を増した素材で
プロトタイプを制作していく。その際、前期プロジェクト学習でしようしたような塩ビパイプをな
どを使用する。
プロトタイプを制作することで IKABO 11号機の設計図を作成した時のように実際の頭やヒレ
の設計図を作成する際におおいに役に立つ。よって、IKABO 11号機の設計図が完成し、
IKABO 11号機の制作が開始されようとしているので, 我々は IKABO 11号機の頭の部分のプ
ロトタイプと頭の上部にあるヒレのプロトタイプを制作する必要がある。
また、IKABO 11号機の足の動きや足の形、また IKABO 11号機の足をどのように取り外しす
るかも考える必要がある。今年度では IKABO 11号機の完成は実現不可能である。主に理由は
2つある。
まず1つ目が予算の問題である。我々が行っているプロジェクト学習では毎年、それぞれのプロ
ジェクトに資金が与えられる。しかしその資金は決して無限ではない。多く使いすぎると来年度の
プロジェクト学習で使用できる額が少なくなってしまうので、我々は決められた範囲内で資金をや
Group Report of 2013 SISP
- 74 -
Group Number 17-A
The project about creating squid robot for sightseeing in Hakodate
りくりする必要がある。しかし、今年度ではもうすでに IKABO 11号機の設計図作成の際に予
定より多くの予算を使ってしまった。よって、我々に残された予算では IKABO 11号機全体を
完成させることはできない。
また2つ目の理由として、時間の問題があげられる。我々の行っているプロジェクト学習は 5 月頃
から本格的にスタートし、最終発表の12月上旬まで行われる。12月を目処に我々は活動を続
け、12月で1つのくぎりとなってる。12月以降は活動がしづらくなっている。よって、我々は
12月に IKABO 11号機完成を目指していた。しかし予定より IKABO 11号機の具体的案が
まとまらないことや、ソフト面でも技術向上に苦労したので IKABO 11号機の設計図案完成さ
せるのが大幅に遅れてしまった。図案を完成させ、鉄工所などに案を持ち込み、IKABO 11号機
の制作を頼む頃には、今すぐ制作を始めても12月上旬の最終発表には間に合わないということに
なっていた。
よってこの2つの理由から IKABO 11号機の完成は不可能になった。そのかわり今年度までに
IKABO11 号機の胴体部分の制作が開始され2月には IKABO 11号機の胴体部分が完成するこ
とになっている。胴体部分が完成したあと足の部分が来年度から制作が始まる。来年度から制作が
始まる足の部分のおおまかな作りや特徴を制作が始まる前に完成する胴体などとのバランスなど再
び考え直す必要がある。足の部分は今後取り外しが可能になったり、付け替えが可能になる。始め
は全く動かない飾りのような足を制作する予定だ。しかし、頭の部分、胴体、足などの全体像が完
成したならば今後は足を動かせるようにしていきたい。足は既存の IKABO1 号機のようにいか踊
りが出来るような動きにする必要がある。したがって、どのように IKABO 11号機の足を動か
していくか、どの部分を動かすか、どの部分に関節をつけるか、どの言語で動かしていくかなど考
える必要がある。
また IKABO 11号機のスイッチについても考える必要がある。IKABO 11号機は体に誰でも
簡単に押せるようなスイッチを埋め込む予定である。そのスイッチを押すことによって IKABO
11号機が様々な音を出すようにしたい。言葉のバリエーションとしては3つほどあり、1つ1つ
がどのように何をしゃべるかも決定する必要がある。IKABO 11号機のデザインコンセプトとし
てアイドルロボットというものがある。IKABO 11号機はアイドルのように可愛くて歌って踊れ
るという設定があるので、スイッチの内の1つは函館らしい、またはイカをモチーフにして歌を流
すつもりである。残りのスイッチの言葉や喋り方やどのような音声を使うかが今後の課題になって
くる。また、スイッチをどこに埋め込むのか、大きさや色などスイッチの外見についても考える必
要がある。そして IKABO 11号機本体とスイッチをどのように連動させていくかも今後の課題
になる。我々はスイッチのノウハウについては今年度のプロジェクトでは学んでおらず、過去の報
告書を見るか一から学ぶ必要がある。
次に課題としてあげられるのはどこの部分に音声が発生させるスピーカーをつけるか考えなければ
ならない。音声がなるスピーカーはどの部分につけるかという案もあるが、スピーカーを IKABO
11号機の横に直接置くという案もあるので、どちらが見た目がいいか、また安全面なども考慮し
てどのようにして音声を発生させるか考える必要がある。また、音量調整ができるのか、音量はど
のようにきめるかなども考えていく必要がある。
また KABO 11号機はアイドルロボットというデザインコンセプトを持っているため衣装を用意
する必要がある。IKABO 11号機が着ることになる衣装は我々プロジェクトメンバーで制作する
予定だ。
だが、衣装の数や素材、どのようなデザインで制作するかなどは考えていない。よって、IKABO
11号機の活躍する場面に応じて衣装を色々考える必要がある。衣装の素材は使い捨てではなく今
Group Report of 2013 SISP
- 75 -
Group Number 17-A
The project about creating squid robot for sightseeing in Hakodate
後も長い間使えるようにする必要がある。長く使える素材をつかうことでなんども衣装をつくる手
間暇をはぶくことができる。
また、我々が制作する IKABO 11号機にはもうひとつの名前が存在する。それは我々の函館観
光用ロボット制作運営プロジェクトの制作班の名前の頭文字をとって並べた、「GK-SHARM」と
いうものである。「GK ー SHARM」というのはただ我々制作班の名前を並び変えただけではなく
我々が函館観光用ロボット制作運営プロジェクト活動中に互いを呼び合っていた名前の頭文字を並
べて「GK ー SHARM」となっている。この「GK ー SHARM」を今後どのように普及していく
か課題である。函館観光用ロボット制作運営プロジェクトで制作する IKABO 11号機はいまま
での IKABO プロジェクトのなかで全長、重さとしては一番大きいイカロボットになる予定であ
る。なので今回制作する IKABO 11号機には今まで以上に力を入れて制作に取り組んでいる。
なので、今回制作する IKABO 11号機は制作が完了したら函館や北海道だけではなく色々な地
域で活躍させていきたいと考えている。なので力を込めて制作した IKABO 11号機には制作班
全員の名前をつかった「GK-SHARM」の名前を全面的にだしていきたいと考えている。
なので IKABO 11号機本体にも「GK ー SHARM」の名前を表記したいと考えている。そこで
「GK ー SHARM」をどのように表記するか、字体や大きさ、ロボットに対してどこに記載するか、
数はどのようにするかなど考えていく必要がある。
また、IKABO 11号機の動力をどうするか確定させる必要がある。既存の IKABO 1号機はエア
シリンダーで動作していたが、IKABO 11号機も動力をエアシリンダーにするかどうか確定させ
る必要がある。
また、IKABO 11号機は全長3m以上になる予定である。そのため、IKABO 11号機完成後ど
こに IKABO 11号機を置いておくか、保存方法なども考えなければならない。
また、IKABO 11号機を完成させるには資金を集める必要がある。我々函館観光用ロボット制作
運営プロジェクトは市民の会に全面的に協力を得て活動している。資金面のサポートやイベントの
出展など市民の会の協力を得ることが多い。今回の IKABO 11号機を制作するための資金も学
校の予算の他に市民の会にも協力してもらう必要がある。なので今後は市民の会に資金面でサポー
トしてもらうために市民の会を説得していく必要がある。よって、市民の会にプレゼンテーション
するためにスライドや資料を作成する必要がある。
また IKABO 11号機は人のある一定の動きに対して一定の動きで返すという仕様を備えている。
IKABO 11号機にはキネクトを搭載させる予定である。そのため IKABO 11号機とキネクト
を連動させるプログラムを作成する必要がある。また、IKABO 11号機は人のどのような動きに
対応するか、またどのように動くかを決定させる必要がある。
また IKABO 11号機にキネクトを搭載させるがどこに搭載させるかも考える必要がある。キネ
クトは IKABO 11号機に組み込むのか、それとも IKABO 11号機に組み込まず IKABO 11
号機とは独立した場所に搭載するのか。どちらかが安全面やデザイン面ですぐれているか決定させ
る必要がある。
また、IKABO 11号機は我々の年度では完成は厳しい。なので来年度のイカボプロジェクトメン
バーにしっかり IKABO 11号機の仕様やデザイン、コンセプトをしっかり引き継いでもらう必
要がある。引き継いでもらう前に我々のコンセプトなどをしっかり紙媒体などにまとめわかりやす
く情報漏れがないように引きついでもらう必要がある。
また、IKABO 11号機は考案段階で様々な案がうまれていた。
以上のように11号機の課題は多く存在する。
(※文責: 須ヶ牟田百香)
Group Report of 2013 SISP
- 76 -
Group Number 17-A
The project about creating squid robot for sightseeing in Hakodate
IKABO11 号機におけるソフトウェア面での課題
6.1.1
IKABO11 号機の主な機能として「人の動きに反応する」ことを定めた。そこでキネクトを利用し
プログラミングを行うことで、ユーザの動きに反応する機能を実現することができたが、実際に
11 号機に搭載するには不十分な点が多い。
まずはエラーの処理が不十分に行われていないため、ユーザの予期せぬ入力に対してプログラムが
止まったり IKABO が予期せぬ出力を行うかもしれない点である。今回作成したプログラムは人
の動きに反応し IKABO を動かすことのみを目標としたため十分にエラーへの対処、ユーザの
誤った操作への対処が行えていない。ユーザの誤操作やプログラムのエラーに対処して、システム
自体が停止しないように十分に作りこまなければならない。
次にキネクトを利用したプログラムの拡張を行わなければならない点である。今回作成したプログ
ラムはユーザの特定の動きを検知するプログラムであるが、そのユーザの動きというのは左手が頭
の高さを通過したといった単純なものであり、その他のジェスチャーについては検討されていな
い。今後どのようなジェスチャーで IKABO にどのような動きをさせるのかを検討し、プログラ
ミングを行わなければならない。ここでジェスチャーを検討するにあたり、ユーザが意図せず
IKABO を操作してしまわないことや、ジェスチャーの判定が競合しないようにすること、ジェス
チャー自体が容易に行えるものであることなどジェスチャーの誤認識防止、ユーザビリティのこと
も気にしなければならない。また IKABO11 号機の動きに関しても筐体が壊れないような動きを
検討する必要がある。以上のことをふまえながら今後プログラムの拡張を行う必要がある。
最後に実際にはまだ IKABO11 号機の筐体ができていない点である。今回作成したプログラムで
は IKABO5 号機を動かすことができただけであって、実際の IKABO11 号機を操作するに至った
わけではない。実際に IKABO11 号機の筐体が作成されてソフトウェアを IKABO11 号機に載せ
るにあたり、実際の筐体にあわせてプログラムを修正する必要が出てくる可能性がある。
IKABO11 号機は今までの IKABO より大きいこともあり、ひとつのエラーやバグが重大な事故
につながる。
以上のことが IKABO11 号機作成おけるソフトウェア面での課題である。来年度以降はこれらの
ことをふまえて、IKABO11 号機完成のため安全で安定なソフトウェア作りをしていくことが必要
となる。
(※文責: 阿部稿作)
6.2
既存の IKABO における今後の課題
IKABO1 号機、3 号機、5 号機について、イベントなどで IKABO を利用したいときに問題なく利
用できるように管理していくをことが大切である。
始めに IKABO1 号機について、台座と IKABO1 号機をつなぐ部分や腕関節などのボルトの締め
なおしなどを業者を呼び点検をお願いする。
次に IKABO3 号機について、今年度 IKABO3 号機のマイコンが壊れ、同様のマイコンは生産さ
れていないために今までのマイコンに変わる新たなものを導入する必要があった。そこで
RaspberryPi を導入することにしたが、まだ IKABO3 号機を動かすには至っていない。来年度以
降は RaspberryPi の使い方を学びながら IKABO3 号機を動かすための必要な機材をそろえ、
IKABO3 号機が故障する前の動きが出来るように設定していく必要がある。また外装についても
Group Report of 2013 SISP
- 77 -
Group Number 17-A
The project about creating squid robot for sightseeing in Hakodate
塗料が剥がれているところや今後塗料が剥がれることがあるので、定期的に塗料を塗りなおす必要
がある。さらに現在頭の突起の部分を装着できていないので、今後装着したら頭の突起が動かない
ような装着方法を検討する必要がある。
次に IKABO5 号機について、今後も動くようにメンテナンスをしなければならない。3 号機と同
様に定期的に外装を塗りなおし、腕のモータは消耗品なのでモータが弱ってきたら交換する。また
IKABO3 号機のマイコンが故障したこともあり、IKABO5 号機もマイコンがいつ故障するわから
ないので、IKABO3 号機の修理が完了し次第 IKABO5 号機もマイコンを交換する必要がある。
足について、現在まだ 5 号機に磁石を取り付けられていない状態なので今後 5 号機に磁石を剥がれ
ないように取り付けなければならない。
最後に IKABO3 号機 5 号機共通の問題として、現在 IKABO3 号機と 5 号機を操作するのに使用
している Bluetooth のアダプタが PC によってうまく稼動しないことがある。現時点ではこの
Bluetooth のアダプタが正常に使える PC で操作することしか対処法はない。よって来年度以降
Bluetooth のアダプタが使えなくなったときには、Bluetooth のアダプタを交換するか、
Bluetooth が使える端末を用意しその端末で IKABO の操作アプリケーションを利用する必要が
出てくる。
以上のことをふまえ、少なくとも IKABO1 号機と 5 号機については今後もいつでもイベントなど
で使用できるようにメンテナンスをしっかり行っていくことが大切である。
(※文責: 阿部稿作)
6.3
前期の反省点
前期の反省として3点挙げられる。1 つ目は,チームの情報共有不足である.本プロジェクトのメ
ンバはほぼ全員がこのようなチーム単位での活動が始めてであったため,各グループで決まった懸
案事項やプロジェクト全体の連絡事項などが、メンバ間にうまく伝わっていなかったり、メンバ間
で食い違いが生じた。このようなことを踏まえ後期では、細かなことでも決定事項はメールで流す
など、現状報告をしっかりと行いたい。また、ファイル共有システムをうまく利用するなどして,
より良くプロジェクトを運営できるように努力したい。
2つ目は、設計図を作る際に、設計が軽率であったことが挙げられる。プロトタイプの設計図を
作った時、工房の道具が必要であることがわかった。いざ工房に行って制作を始めようとするも、
細かな寸法や角度を考えていなかったことが判明した。そのため、再び設計図を考え直さなければ
ならなくなった。後期では本格的な機材を使ってロボット制作に取り掛かるため、このままでは完
成に至るとは考えにくい。このようなことが起きないよう、あらかじめ設計図には時間をかけて制
作に取り組もうと考えている。
3つ目は、スケジュール管理不足である.前期中にいくつかのマイルストーンがあった中,それま
でに何をどの程度まで完成させるかを細かく決めていなかった.毎回の活動もしっかりと決めな
かったせいか,効率のよい作業が出来ず,時間だけが過ぎていってしまう事も多くあった。中間発
表が近づいてきたことにより、前期の後半は急ピッチで活動を進めざる負えなくなってしまった。
後期からはこのようなことを解消するために、細かいスケジュール作成をし、効率よく私たちの最
終目標に到達できるように最善を尽くしたい。
(※文責: 須ヶ牟田百香)
Group Report of 2013 SISP
- 78 -
Group Number 17-A
The project about creating squid robot for sightseeing in Hakodate
6.4
後期の反省点
後期の反省点としていくつかのことがあげられる。前期では7名で全体で情報を共有しながら同じ
場所で作業し、全員で同じ作業をしていた。しかし、後期になってからは班のなかでまたさらに2
つのグループに別れて作業をしていた。3人と4人で別れ作業をしていた。1つのグループでは主
に IKABO 11号機のハードのデザインや動力などを考案していた。またもうひとつのグループ
では IAKBO 11号機のマイコンやソフトの面を担当していた。
IKABO 11号機のハードのデザインや動力を担っていた班の反省点としては、業者に連絡するの
が遅かったことがあげられる。根本的に後期は IKABO 11号機考案する時間が少なかったにも
関わらず IKABO 11号機を制作する会社に連絡をするのが遅くなったのが最大の反省点である。
もっと早めに連絡をとっていたら12月に行われた最終発表には胴体部分だけでも間に合った可能
性がある。今後何か業者と関わるときは早め早めの対応をするべきである。
全体の後期の反省点としては情報共有の場が少なかったのでもう少し情報を共有する努力や時間を
つくるべきだった。
また、お互いがグループ内でどのような活動をしているのか曖昧な部分があったのでお互いがなに
を進行しているのかしっかり把握する必要がある。
(※文責: 須ヶ牟田百香)
Group Report of 2013 SISP
- 79 -
Group Number 17-A
The project about creating squid robot for sightseeing in Hakodate
付録 A
活用した講義
・ロボットの科学技術どのようなロボットがあるか, そのメカニズムについて教わった。この講
義を受け, IKABO のサーボモータの駆動等に関する理解が深まった。・情報処理演習 II
IKABO3 号機・5 号機はマイコンで動いており, プログラムの改善を行うためこの講義は必要不
可欠であった。
(※文責: 須ヶ牟田百香)
Group Report of 2013 SISP
- 80 -
Group Number 17-A
The project about creating squid robot for sightseeing in Hakodate
付録 B
新規習得技術
・スプレー塗装この技術は IKABO 11号機のプロトタイプ制作の時に使用した。プロトタイプ
の頭の部分とヒレの部分をよりムラなく、遠くからはもちろん近くでみたときに塗装が綺麗に行わ
れているようにみせるためこの技術を使用することになった。我々の予想通り丁寧にスプレーを塗
装することによって塗装部分がムラなく細部まで細かく塗装することができた。技術を習得するの
に時間はかかったものの、比較的すぐに習得することができ作業を順調に行うことができた。今後
もなにかを塗装することがあり、広範囲にわたっての塗装ではなければこの技術は大いに役に立つ
ことが判明した。
(※文責: 須ヶ牟田百香)
Group Report of 2013 SISP
- 81 -
Group Number 17-A
The project about creating squid robot for sightseeing in Hakodate
参考文献
[1] 谷尻 豊寿. 身体の動きがコントローラ C++ で KINECT プログラミング KINECT センサー
画像処理プログラミング. 株式会社カットシステム. 2011.
[2] 中村 薫, 齋藤 俊太, 宮城 英人. KINECT for Windows SDK プログラミング C++ 編. 秀和
システム. 2012.
Group Report of 2013 SISP
- 82 -
Group Number 17-A
© Copyright 2026 Paperzz