Submit Search
まねっこロボット
Download as PPTX, PDF
0 likes
878 views
O
openrtm
RTMサマーキャンプ2022 早稲田大学チーム 最終成果報告
Education
Related topics:
Insights on Software Development
Read more
1 of 15
Download now
Download to read offline
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
More Related Content
PDF
ロボット用Open Source Software
たけおか しょうぞう
PPTX
Summercamp2020 group1
openrtm
PDF
Tutorial for robot programming with LEGO mindstorms EV3
Hironobu Fujiyoshi
PPTX
RTサマーキャンプ2022最終発表_都立大.pptx
openrtm
PPTX
「実ロボットの運動生成」
Yurika Doi
ODP
オープンキャンパススライド2017
robo_lab
PDF
複数の移動ロボットを用いた身体パフォーマンスの印象評価(EC2016)
Shuhei Tsuchida
PDF
画像認識 走行プレゼン
HanpenRobot
ロボット用Open Source Software
たけおか しょうぞう
Summercamp2020 group1
openrtm
Tutorial for robot programming with LEGO mindstorms EV3
Hironobu Fujiyoshi
RTサマーキャンプ2022最終発表_都立大.pptx
openrtm
「実ロボットの運動生成」
Yurika Doi
オープンキャンパススライド2017
robo_lab
複数の移動ロボットを用いた身体パフォーマンスの印象評価(EC2016)
Shuhei Tsuchida
画像認識 走行プレゼン
HanpenRobot
More from openrtm
(20)
PDF
ROBOMECH2023 RTミドルウェア講習会 第1部
openrtm
PPTX
ピッキングシステム
openrtm
PPTX
GNGを使った未知環境における経路計画
openrtm
PDF
商品自動補充ロボットシステム
openrtm
PDF
SysML実習20220822SC_GA.pdf
openrtm
PDF
RTミドルウェアサマーキャンプ資料2022.pdf
openrtm
PDF
NEDO講座 MoveIt! チュートリアル 第1部
openrtm
PDF
5.総合演習(2)
openrtm
PDF
4.総合演習(1)
openrtm
PDF
3.RTCプログラミング演習
openrtm
PDF
2.プログラミングの基礎
openrtm
PDF
1.コース概要
openrtm
PDF
OpenRTM概要
openrtm
PDF
Slam実習
openrtm
PDF
Rtshell入門
openrtm
PDF
Rtコンポーネント作成入門
openrtm
PDF
Rtミドルウェアサマーキャンプ2021_宮本信彦
openrtm
PDF
RTミドルウェアサマーキャンプ2021_坂本武志_1
openrtm
PPTX
Rtミドルウェアサマーキャンプ資料2021_坂本武志_2
openrtm
PDF
Rtミドルウェアサマーキャンプ資料2021_菅佑樹
openrtm
ROBOMECH2023 RTミドルウェア講習会 第1部
openrtm
ピッキングシステム
openrtm
GNGを使った未知環境における経路計画
openrtm
商品自動補充ロボットシステム
openrtm
SysML実習20220822SC_GA.pdf
openrtm
RTミドルウェアサマーキャンプ資料2022.pdf
openrtm
NEDO講座 MoveIt! チュートリアル 第1部
openrtm
5.総合演習(2)
openrtm
4.総合演習(1)
openrtm
3.RTCプログラミング演習
openrtm
2.プログラミングの基礎
openrtm
1.コース概要
openrtm
OpenRTM概要
openrtm
Slam実習
openrtm
Rtshell入門
openrtm
Rtコンポーネント作成入門
openrtm
Rtミドルウェアサマーキャンプ2021_宮本信彦
openrtm
RTミドルウェアサマーキャンプ2021_坂本武志_1
openrtm
Rtミドルウェアサマーキャンプ資料2021_坂本武志_2
openrtm
Rtミドルウェアサマーキャンプ資料2021_菅佑樹
openrtm
Ad
まねっこロボット
1.
1 まねっこロボット開発 進捗報告 早稲田大学チーム 林 弘昭
(LDR) 延 剛 澤田 万尋
2.
2 開発概要 目標: 人の動作を模倣するロボットを作りたい! 使用機材: G-ROBOTS
GR-001 (HPI製) CMS-V43BK-3 (SANWA supply製) 動作イメージ: 1. カメラで人を検出し, ロボットが人の方向に 向く。 2. 人の動作パターンを認識する。 3. ロボットが対応する動作を模倣する。
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.
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.
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.
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.
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.
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.
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.
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.
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.
12 結果 回転動作 右回転
左回転 足裏に滑り止め
13.
13 結果 OpenPose
14.
14 結果
15.
15 最後に ・分業って素晴らしい コンポーネント単位で明確に分かれている > 並行して開発することで時間コスト削減 ただしコンポーネント間のインターフェースはしっかり話し合っておく必要有 ・インテグレーションは大変 コンポーネントのユニットテストでは問題なく見えても,
実際繋いだら問題がたくさん e.g. 人検出からロボット動作までのラグがありえないぐらい酷い > 動作決定コンポーネントで受けた際のisNew判定のやり方がまずかった ・ドキュメンテーション大事 既存のコンポーネントを再利用するときに, ドキュメントがないと読み解くのが大変
Download