1
まねっこロボット開発 進捗報告
早稲田大学チーム
林 弘昭 (LDR)
延 剛
澤田 万尋
2
開発概要
目標: 人の動作を模倣するロボットを作りたい!
使用機材: G-ROBOTS GR-001 (HPI製)
CMS-V43BK-3 (SANWA supply製)
動作イメージ:
1. カメラで人を検出し, ロボットが人の方向に
向く。
2. 人の動作パターンを認識する。
3. ロボットが対応する動作を模倣する。
3
要求図
<<deriveReqt>>
<<requirement>>
パターン認識
text=姿勢パターンを
区別できること
<<requirement>>
骨格検知
text=人の骨格の座標
を検知できること
<<deriveReqt>>
<<deriveReqt>>
<<requirement>>
初期姿勢に戻す
text=動作の前に初期
姿勢(直立)に戻れるこ
と
<<deriveReqt>>
<<requirement>>
動作生成
text=特定の動作を取
れること
<<requirement>>
角度計算
text=人の位置とロ
ボットのなす角がわか
ること
<<requirement>>
人の動作を模倣するロボット
text=人の場所を検知してその方向を向き, 動
作を認識して, 同じ動作を再現できるロボット
e.g. 手を上げる etc.
<<requirement>>
方向転換
text=人の場所を検知してその方向を向くこと
ができること.
<<requirement>>
動作模倣
text=人の動作を認識して, 同じ動作を再現で
きるロボット e.g. 手を上げる etc.
<<requirement>>
回転
text=特定の角度に回
転できること
<<requirement>>
人検知
text=人を検知できる
こと
<<deriveReqt>>
<<deriveReqt>> <<deriveReqt>>
<<deriveReqt>>
<<deriveReqt>>
4
設計
:カメラ制御
:~rgb画像 (Img::ImageData)
:骨格座標取得
:~骨格座標 (RTC::TimedDoubleSeq)
:rgb画像 (Img::ImageData)
:骨格座標
(RTC::TimedDoubleSeq)
:パターン認識
:~姿勢パターン
(RTC::TimedString)
:骨格座標
(RTC::TimedDoubleSeq)
:距離計算
:~相対水平距離
(RTC::TimedDouble)
:姿勢パターン (RTC::TimedString) :相対水平距離 (RTC::TimedDouble)
:動作決定
:~動作パターン (RTC::TimedString)
:g-robot
:動作パターン (RTC::TimedString)
ウェブカメラ
Laptop PC
Ubuntu
G-Robot
USB USB
LAN
Laptop PC
Windows
 内部ブロック図  ハードウェア構築
5
作業工数
:カメラ制御
:~rgb画像 (Img::ImageData)
:骨格座標取得
:~骨格座標 (RTC::TimedDoubleSeq)
:rgb画像 (Img::ImageData)
:骨格座標
(RTC::TimedDoubleSeq)
:パターン認識
:~姿勢パターン
(RTC::TimedString)
:骨格座標
(RTC::TimedDoubleSeq)
:距離計算
:~相対水平距離
(RTC::TimedDouble)
:姿勢パターン (RTC::TimedString) :相対水平距離 (RTC::TimedDouble)
:動作決定
:~動作パターン (RTC::TimedString)
:g-robot
:動作パターン (RTC::TimedString)
林: 5時間
林: 6時間
林: 2時間
林: 3時間
澤田・延: 15時間
澤田・延: 15時間
PC間通信
澤田: 1時間
コンポーネント間通信
林・澤田: 4時間
6
RTC説明
:カメラ制御
:~rgb画像 (Img::ImageData)
:骨格座標取得
:~骨格座標 (RTC::TimedDoubleSeq)
:rgb画像 (Img::ImageData)
:骨格座標
(RTC::TimedDoubleSeq)
:パターン認識
:~姿勢パターン
(RTC::TimedString)
:骨格座標
(RTC::TimedDoubleSeq)
:距離計算
:~相対水平距離
(RTC::TimedDouble)
:姿勢パターン (RTC::TimedString) :相対水平距離 (RTC::TimedDouble)
:動作決定
:~動作パターン (RTC::TimedString)
:g-robot
:動作パターン (RTC::TimedString)
 入力:カメラ
 出力:rgb画像(Img::ImageData)
 中身:
・OpenCVによりカメラと接続する。
・Numpy型の画像を読み取る。
・画像データをbyte型に変換する。
・データをImageDataクラスに代入する。
・データを送信する。
 カメラ制御
7
RTC説明
:カメラ制御
:~rgb画像 (Img::ImageData)
:骨格座標取得
:~骨格座標 (RTC::TimedDoubleSeq)
:rgb画像 (Img::ImageData)
:骨格座標
(RTC::TimedDoubleSeq)
:パターン認識
:~姿勢パターン
(RTC::TimedString)
:骨格座標
(RTC::TimedDoubleSeq)
:距離計算
:~相対水平距離
(RTC::TimedDouble)
:姿勢パターン (RTC::TimedString) :相対水平距離 (RTC::TimedDouble)
:動作決定
:~動作パターン (RTC::TimedString)
:g-robot
:動作パターン (RTC::TimedString)
 入力:rgb画像(Img::ImageData)
 出力:骨格座標(RTC::TimedDoubleSeq)
 中身:
・ImageDataクラスデータを受信する。
・画像データをNumpy型に変換する。
・OpenPoseのmobilenet_thinモデルにより骨
格検出する。
・骨格座標をTimeDoubleSeqクラスに代入す
る。
・データを送信する。
 カメラ制御
*OpenPose: https://github.com/ZheC/tf-pose-estimation
説明:ダウンロードしたフォルダーを自分のコンポーネントにコピーし、プログラム内
でパスを書けば使える。
8
RTC説明
:カメラ制御
:~rgb画像 (Img::ImageData)
:骨格座標取得
:~骨格座標 (RTC::TimedDoubleSeq)
:rgb画像 (Img::ImageData)
:骨格座標
(RTC::TimedDoubleSeq)
:パターン認識
:~姿勢パターン
(RTC::TimedString)
:骨格座標
(RTC::TimedDoubleSeq)
:距離計算
:~相対水平距離
(RTC::TimedDouble)
:姿勢パターン (RTC::TimedString) :相対水平距離 (RTC::TimedDouble)
:動作決定
:~動作パターン (RTC::TimedString)
:g-robot
:動作パターン (RTC::TimedString)
 入力:骨格座標(RTC::TimedDoubleSeq)
 出力:姿勢パターン(RTC::TimedString)
 中身:
・TimedDoubleSeqクラスデータを受信する。
・左右肘と左右肩の座標を抽出する。
・左右の肘と肩の角度を計算する。
・角度に応じて、姿勢を7パターンに定義する。
両手下げ、
右手上げ(M)、左手上げ(M)、左右手上げ(M)
右手上げ(H)、左手上げ(H) 、左右手上げ(H)
・25回(1秒)ごとに姿勢パターンを判定する。20回以上
同じ姿勢が検知されたら、その姿勢を選択する。
・姿勢パターンをTimedString方クラスに代入する。・デー
タを送信する。
 パターン認識
9
RTC説明
:カメラ制御
:~rgb画像 (Img::ImageData)
:骨格座標取得
:~骨格座標 (RTC::TimedDoubleSeq)
:rgb画像 (Img::ImageData)
:骨格座標
(RTC::TimedDoubleSeq)
:パターン認識
:~姿勢パターン
(RTC::TimedString)
:骨格座標
(RTC::TimedDoubleSeq)
:距離計算
:~相対水平距離
(RTC::TimedDouble)
:姿勢パターン (RTC::TimedString) :相対水平距離 (RTC::TimedDouble)
:動作決定
:~動作パターン (RTC::TimedString)
:g-robot
:動作パターン (RTC::TimedString)
 入力:骨格座標(RTC::TimedDoubleSeq)
 出力:相対水平距離(RTC::TimedDouble)
 中身:
・TimedDoubleSeqクラスデータを受信する。
・首の座標を抽出する。
・人とロボットの相対水平距離として、首と画像中心
の横pixel距離を計算する。
・25回(1秒)のデータを平均化する。
・平均したデータをTimedDouble型クラスに
代入する。
・データを送信する。
 距離計算
10
RTC説明
:カメラ制御
:~rgb画像 (Img::ImageData)
:骨格座標取得
:~骨格座標 (RTC::TimedDoubleSeq)
:rgb画像 (Img::ImageData)
:骨格座標
(RTC::TimedDoubleSeq)
:パターン認識
:~姿勢パターン
(RTC::TimedString)
:骨格座標
(RTC::TimedDoubleSeq)
:距離計算
:~相対水平距離
(RTC::TimedDouble)
:姿勢パターン (RTC::TimedString) :相対水平距離 (RTC::TimedDouble)
:動作決定
:~動作パターン (RTC::TimedString)
:g-robot
:動作パターン (RTC::TimedString)
 入力: 姿勢パターン (RTC::TimedString)
相対水平距離(RTC::TimedDouble)
 出力: 動作パターン (RTC::TimedString)
 中身:
・姿勢パターン, 相対水平距離を受信する。
・前回の送信から所定の時間の経過を確認する。
(ロボットの動作完了を時間で担保)
・相対水平距離から, 回転の必要性を判断する。
→回転必要であれば、回転方向を判断し, 動作
決定する。
→回転不要であれば、受信した姿勢パターンに
動作決定する。
・決定した動作に対応する文字列をTimedString
型クラスに代入する。
・データを送信する。
 動作決定
11
RTC説明
:カメラ制御
:~rgb画像 (Img::ImageData)
:骨格座標取得
:~骨格座標 (RTC::TimedDoubleSeq)
:rgb画像 (Img::ImageData)
:骨格座標
(RTC::TimedDoubleSeq)
:パターン認識
:~姿勢パターン
(RTC::TimedString)
:骨格座標
(RTC::TimedDoubleSeq)
:距離計算
:~相対水平距離
(RTC::TimedDouble)
:姿勢パターン (RTC::TimedString) :相対水平距離 (RTC::TimedDouble)
:動作決定
:~動作パターン (RTC::TimedString)
:g-robot
:動作パターン (RTC::TimedString)
 入力(使用したもの): 動作パターン (RTC::TimedString)
 出力(使用したもの) :無し
 中身:
・動作パターンを受信
・動作パターンが既定の文字列と一致する場合,
既定の内容を実行 (初期化, 通電 等)
・一致しない場合, ユーザー定義された
同名のモーションファイル(*.m)を実行
 g-robot (*既存のコンポーネントを流用)
12
結果 回転動作
 右回転  左回転
足裏に滑り止め
13
結果 OpenPose
14
結果
15
最後に
・分業って素晴らしい
コンポーネント単位で明確に分かれている > 並行して開発することで時間コスト削減
ただしコンポーネント間のインターフェースはしっかり話し合っておく必要有
・インテグレーションは大変
コンポーネントのユニットテストでは問題なく見えても, 実際繋いだら問題がたくさん
e.g. 人検出からロボット動作までのラグがありえないぐらい酷い
> 動作決定コンポーネントで受けた際のisNew判定のやり方がまずかった
・ドキュメンテーション大事
既存のコンポーネントを再利用するときに, ドキュメントがないと読み解くのが大変

More Related Content

PDF
ROBOMECH2023 RTミドルウェア講習会 第1部
PPTX
ピッキングシステム
PPTX
GNGを使った未知環境における経路計画
PDF
商品自動補充ロボットシステム
PPTX
RTサマーキャンプ2022最終発表_都立大.pptx
PDF
SysML実習20220822SC_GA.pdf
PDF
RTミドルウェアサマーキャンプ資料2022.pdf
PDF
NEDO講座 MoveIt! チュートリアル 第1部
ROBOMECH2023 RTミドルウェア講習会 第1部
ピッキングシステム
GNGを使った未知環境における経路計画
商品自動補充ロボットシステム
RTサマーキャンプ2022最終発表_都立大.pptx
SysML実習20220822SC_GA.pdf
RTミドルウェアサマーキャンプ資料2022.pdf
NEDO講座 MoveIt! チュートリアル 第1部

More from openrtm (20)

PDF
5.総合演習(2)
PDF
4.総合演習(1)
PDF
3.RTCプログラミング演習
PDF
2.プログラミングの基礎
PDF
1.コース概要
PDF
OpenRTM概要
PDF
Slam実習
PDF
Rtshell入門
PDF
Rtコンポーネント作成入門
PDF
Rtミドルウェアサマーキャンプ2021_宮本信彦
PDF
RTミドルウェアサマーキャンプ2021_坂本武志_1
PPTX
Rtミドルウェアサマーキャンプ資料2021_坂本武志_2
PDF
Rtミドルウェアサマーキャンプ資料2021_菅佑樹
PDF
ROBOMECH2021 RTMオンライン講習会 第1部
PDF
ROBOMECH2021 RTM講習会 第1部
PDF
201111 05
PDF
201111 04
PDF
201110 03
PDF
201110 02 Polytech center 2
PDF
201110 01 Polytech Center 1
5.総合演習(2)
4.総合演習(1)
3.RTCプログラミング演習
2.プログラミングの基礎
1.コース概要
OpenRTM概要
Slam実習
Rtshell入門
Rtコンポーネント作成入門
Rtミドルウェアサマーキャンプ2021_宮本信彦
RTミドルウェアサマーキャンプ2021_坂本武志_1
Rtミドルウェアサマーキャンプ資料2021_坂本武志_2
Rtミドルウェアサマーキャンプ資料2021_菅佑樹
ROBOMECH2021 RTMオンライン講習会 第1部
ROBOMECH2021 RTM講習会 第1部
201111 05
201111 04
201110 03
201110 02 Polytech center 2
201110 01 Polytech Center 1
Ad

Recently uploaded (19)

PPTX
PPT KANJI IRODORI SHOKYUU 1 BAB 9 (FURIGANA)
PDF
8_「世の中の流行はどのようにして生まれるのか」学校法人聖ドミニコ学園竹野はるいpptx.pdf
PDF
7_「なぜ人は他人と違うところがあってもそれをなかなか誇れないのか?」明治大学付属中野八王子中学校宮本ゆりかさん.pdf
PDF
11_「なぜ議会への関心が低いのか?」長野県長野西高等学校 片桐 菜々美さん.pdf
PDF
13_「他者と自分、対立を防ぐには?」市原中央高等学校 大野リリinspirehigh.pdf
PDF
3_「本当の『悪者』って何?」鷗友学園女子中学校_福島 雪乃さんinspirehigh.pdf
PDF
共同売店から考える沖縄の新しい流通のしくみ2025琉球大学流通原論講義資料.pdf
PDF
10_「孤独は敵なのか?」 桜花学園高等学校堀川愛可さんinspirehigh.pdf
PDF
英単語学習の定番『キクタン』に収録された例文を、視覚的に理解できるよう イラスト化
PDF
My Inspire High Award 2024(岡田秀幸).pptx.pdf
PDF
6_「老いることは不幸なこと?」植草学園大学附属高等学校森 珠貴さんinspirehigh.pdf
PDF
12_「家族とは何か」星の杜中学校小倉ももこ『家族ってなに』inspirehigh.pdf
PDF
9_前田音葉さん:「Yakushima Islandってなんか変じゃない?」.pdf
PDF
14_「スーパーマーケットで回収されたキャベツ外葉は廃棄されているの?」公文国際学園高等部古澤琴子.pdf
PDF
「なぜ、好きなことにいつかは飽きるの?」大塚莉子 - My Inspire High Award 2024.pdf
PDF
外国人が日本のテーブルマナーに驚く理由は?_公文国際学園高等部 角田 恵梨佳さん
PDF
中学受験新演習 算数4年上 ポンチ絵解説資料
PDF
5_「AIと仲良くなるには?」日本大学東北高等学校南梨夢乃さんinspirehigh.pdf
PDF
12_星の杜中学校小倉ももこ『家族ってなに』inspirehigh発表物.pdf
PPT KANJI IRODORI SHOKYUU 1 BAB 9 (FURIGANA)
8_「世の中の流行はどのようにして生まれるのか」学校法人聖ドミニコ学園竹野はるいpptx.pdf
7_「なぜ人は他人と違うところがあってもそれをなかなか誇れないのか?」明治大学付属中野八王子中学校宮本ゆりかさん.pdf
11_「なぜ議会への関心が低いのか?」長野県長野西高等学校 片桐 菜々美さん.pdf
13_「他者と自分、対立を防ぐには?」市原中央高等学校 大野リリinspirehigh.pdf
3_「本当の『悪者』って何?」鷗友学園女子中学校_福島 雪乃さんinspirehigh.pdf
共同売店から考える沖縄の新しい流通のしくみ2025琉球大学流通原論講義資料.pdf
10_「孤独は敵なのか?」 桜花学園高等学校堀川愛可さんinspirehigh.pdf
英単語学習の定番『キクタン』に収録された例文を、視覚的に理解できるよう イラスト化
My Inspire High Award 2024(岡田秀幸).pptx.pdf
6_「老いることは不幸なこと?」植草学園大学附属高等学校森 珠貴さんinspirehigh.pdf
12_「家族とは何か」星の杜中学校小倉ももこ『家族ってなに』inspirehigh.pdf
9_前田音葉さん:「Yakushima Islandってなんか変じゃない?」.pdf
14_「スーパーマーケットで回収されたキャベツ外葉は廃棄されているの?」公文国際学園高等部古澤琴子.pdf
「なぜ、好きなことにいつかは飽きるの?」大塚莉子 - My Inspire High Award 2024.pdf
外国人が日本のテーブルマナーに驚く理由は?_公文国際学園高等部 角田 恵梨佳さん
中学受験新演習 算数4年上 ポンチ絵解説資料
5_「AIと仲良くなるには?」日本大学東北高等学校南梨夢乃さんinspirehigh.pdf
12_星の杜中学校小倉ももこ『家族ってなに』inspirehigh発表物.pdf
Ad

まねっこロボット