Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
GR-ROSE でroombaをコントロールする
Search
lutecia16v
November 10, 2018
Technology
420
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
GR-ROSE でroombaをコントロールする
GR-ROSE プロデューサーミーティング (作品発表会)での発表資料です。
http://gadget.renesas.com/ja/event/2018/pm_rose2.html
lutecia16v
November 10, 2018
More Decks by lutecia16v
See All by lutecia16v
EDF-IDF Programming Guidを読む - JTAG Debugging 編 -
lutecia16v
1
400
GR-ROSEとROSを使ってコマンドサーボの現在位置をWebブラウザで表示してみる
lutecia16v
0
1.7k
GR-ROSEでROS/ROS2
lutecia16v
1
1.9k
Jetson NanoとGR-ROSEで始めるROS2
lutecia16v
0
2.3k
がじぇねるねでもROSしたい!
lutecia16v
1
160
Other Decks in Technology
See All in Technology
Flutterをカメラで動かしたかった話
sony
1
130
Breaking the Seal: Static Deobfuscation of Compiled V8 JavaScript Bytecode Malware
hshrzd
0
680
修正PRを食べてレビュースキルが賢くなる:Claude Codeによる自己改善サイクル
yuyaumetsu
6
1.4k
モダンフロントエンド 開発研修
recruitengineers
PRO
4
570
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
1.2k
今こそ聞きたいソフトウェア設計 ドメイン駆動設計再入門
masuda220
PRO
17
6.9k
つくって納得、つかって実感! 大規模言語モデルことはじめ ver2.0
recruitengineers
PRO
4
1.2k
[しろおび夏祭り2026] チャットするAIから、作業するAIへ - 使われ方の変化と、その裏側で起きていること
kk0n
0
1.7k
SmartHR Engineering Team Deck
smarthr
1
1.5k
Eight Engineering Unit 紹介資料
sansan33
PRO
3
8.1k
AI時代の強いチームの作り方
yuukiyo
26
16k
[ChatGPT Work LT]事務作業が苦手な人のための バックオフィスの「半」自動化
chimaki_iot
0
250
Featured
See All Featured
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.5k
Navigating Team Friction
lara
192
16k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Designing Experiences People Love
moore
143
24k
Bash Introduction
62gerente
615
220k
GraphQLとの向き合い方2022年版
quramy
50
15k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Tell your own story through comics
letsgokoyo
1
1k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.9k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
64
56k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
68
56k
Transcript
GR-ROSE でroombaを コントロールする - 2018 X’mas version - 2018.11.10 GR-ROSE作品発表会
るぅて(@lutecia16v)
Why GR-ROSE GR-ROSE arduino ESP32 Raspberry pi Motor control ◎
〇 〇 △ Network ◎ Ethernet / WiFi ✖ 〇 WiFi ◎ Ethernet / WiFi multitask 〇 ✖ 〇 ◎ ROS 〇 (DDS-XRCE) ✖ △ (ROS Serial) ◎ Low Power 〇 ◎ 〇 ✖
Why ROS - 期待するもの 強力なフレームワークとツール群が利用可能に! For Navigation For Robot For
simulation Navigation Stack Others rqt rosconsole roslaunch Robot Web Tools
予定と結果(理想と現実) 【最初】KONDO ICSサーボ × 6の 垂直多関節をROS(MoveIt!)で制御したい! 【結果】Roombaを制御 ROS環境の構築 未完了
予定と結果(理想と現実) 【最初】KONDO ICSサーボ × 6の 垂直多関節をROS(MoveIt!)で制御したい! Arduinoで作ってみた際の課題 ・1軸/2軸のトルク(電流値?)不足 ⇒RS485の高トルクサーボ導入 ・Joint制御
⇒IK, Joint Trajectory Action対応 = ROS対応 ・サーボモータ制御 ⇒各パラメータの調査と調整 ・各軸への同時制御メッセージ送信 ⇒制御線をわける or フタバサーボへ変更
ROSの活用 J1 J2 J3 J4 J5 J6 P(x, y, z,
Δz, Δy, Δz)※ P’(x’, y’, z’, Δz’, Δy’, Δz’) P(J1, J2, J3, J4, J5, J6) ①先端の位置情報をジョイント座標に変換 ⇒IK(Inverse kinematics) ②移動先への経路(PATH)を生成 ⇒Planning path ③経路情報を通知 ⇒Joint Trajectory Action ④経路情報を元にモータを制御 ⇒GR-ROSEのお仕事 ※注)ROSは標準でクオータニオンを使用 ROS (MoveIt!) ROS (MoveIt!) ROS (MoveIt!) ⇒ P’(J1’, J2’, J3’, J4’, J5’, J6’) 実際の制御にはこれに速度 /加速度情報が必要
ROSの活用(自動運転の場合) 移動計画 ナビゲーション 自己位置推定 地図管理 ハード制御 地図生成 ↑ GR-ROSEのお仕事 ROSを活用
さて本題
Roombaとサーボモータを、 GR-ROSEを使ってPCから制御します ESP8266 TCPServer
RoombaとGR-ROSEとの接続 ミニDIN 8pin : RXD, TXD, GND x 2, Vpwr,
BRC(未使用)を引き出し ⇒ Serial1と電源に接続
Roombaの制御 “iRobot Roomba 600 Open Interface Spec”を使用してシリアル通信で制御 https://www.irobotweb.com/~/media/MainSite/PDFs/About/STEM/Create/iRobot_Roomba_600_Open_Interface_Spec.pdf 機能 opcode
説明 Start 128 Roombaの制御開始 Safe 131 Roombaの制御モード設定 Full 132 Roombaの制御モード設定 Reset 7 Roomba制御のリセット Stop 173 Roomba制御の終了 機能 opcode 説明 Drive 137 Velocity 500~500(mm/s) Radius -2000~2000(mm) Drive direct 145 右輪/左輪ごとに-500~500(mm/s) Drive PWM 146 右輪/左輪ごとに-255~255の値 LEDs 139 各LEDの制御 Song 140 音の再生 ※各センサーの通知機能は未実装
ハードウェア構成 デバイス 型番 I/F 補足 サーボモータ MG996R A1 2つ繋いでみたが電流不足 Roomba
ルンバ622 Serial1 電源もルンバから取得 OLED aitendo M096P4BL Wire(I2C) ESP8266と同時で動作せず →解決してくださいました
disconnect TCPサーバの実装 ESP8266 TCPServer $ python client.py >> d, 100,
0 d,100,0 >> m,100 m,100 >> s s >> c 【コマンド】 d: roombaのDirectコマンドを実行 m: サーボモータの動作実行 s: roombaの停止 c: 通信切断(終了) connect d,100,0 ・ ・ ・ ✖
ちなみにROSなら ESP8266 ROS topic : geometry_msg/Twist 課題:LiDARへの対応
あじけないので、100均グッズで装飾