SlideShare a Scribd company logo
EV3+MonoBrick+C#
Microsoft MVP .NET
Tomoaki Masuda
Moonmile Solutions
倒立振子ロボットを動かす
 LEGO Mindstorms EV3 で
倒立振子ロボットを動かす
MonoBrickな話
LEGO Mindstorms EV で倒立振子
 レゴ® マインドストーム® で地球を探査
 ET ロボコン 用の EV3 サポートサイト
 Microsoft の探査ロボットや ET ロボコンの制御に
MonoBrick が使われている。
MonoBrickをインストール
 BALANC3R のコードを C# に移植する
 moonmile/MonoBalancer 移植コード
MonoBrickをインストール
 MonoBrick.DK から SDメモリイメージをダウ
ンロード
 EV3 上に Linux + Mono 環境を
作れる。
.NET Framework 4.0 相当
async/await がない orz
Bluetooth で接続
 Bleutooth で
アクセスポイント接続
 MonoBrick へ 10.0.1.1 で
接続できる
Xamarin Studio で起動
 Xamarin Add-in を入れると
Xamarin Studio からデバッグ実行できる
Visual Studio + WinSCP
 Visual Studio 上でビルドして、
WinSCP でコピーする
Tera Term で起動
 10.0.1.1 に SSH 接続
 Tera Term で動く
制御工学のキツイ話
倒立振子ロボットが、なぜ倒立するかを自力で解く
制御工学な話
 運動方程式
 簡易的に二次元で解く
 ラグラジュアン方程式で解く
 (x, y) → (θ, φ)
 状態方程式
 車輪の角速度(θ), 本体の角度(φ)
 PID制御
 Kp, Ki, Kd
 モーター制御(PWM パワー)
座標系
R
θ
φ
L
M, Jφ
m, Jw
x
y
yb
ym
m: 車輪の質量
R: 車輪の半径
M: 車体の質量
L: 重心までの距離
Jw: mR2/2 車輪モーメント
Jφ: ML2/3 車体モーメント
運動方程式
運動、位置、回転エネルギー
ラグランジュ方程式で (x,y)を(θ,φ)へ
倒立状態なので φ≃0 と考える
連立方程式を解くと状態方程式が出る(未)
制御工学
 現在値から目的の値へ近づける
ブロック線図
フィードバック制御
はじめての制御工学から引用
PID制御
 時刻tが入る
 ラプラス変換する
はじめての制御工学から引用
ナイキストの安定判別法で導出(未)
 Kp: t時点での誤差
 Ki: t時点までの誤差積分
 Kd: t時点の微分値
誤差を調節して倒立
参考文献
 ET ロボコン 用の EV3 サポートサイト
http://sourceforge.net/p/etroboev3/wiki/MonoBrickWin/
 レゴ® マインドストーム® で地球を探査
https://channel9.msdn.com/Series/Microsoft-Virtual-Academy-Japan/lego-mindstorms-programming-curriculum
 MonoBrick EV3 Firmware & Xamarin Add-in
http://www.monobrick.dk/software/ev3firmware/
 NXTway-GS (Self-Balancing Two-Wheeled Robot) Controller Design
http://www.mathworks.com/matlabcentral/fileexchange/19147-nxtway-gs--self-balancing-two-wheeled-robot--controller-
design
 ダウンロード - レゴ®マインドストーム LEGO.com
http://www.lego.com/ja-jp/mindstorms/downloads
 倒立振子の研究
http://www.instructables.com/id/%E5%80%92%E7%AB%8B%E6%8C%AF%E5%AD%90%E3%81%AE%E7%A0%94%E7%A9%B6/
 みのくらロボット
http://minokura.net/works/wheelpendulum.html
 はじめての制御工学 (KS理工学専門書)
http://www.amazon.co.jp/ebook/dp/B00TZ8X61I/
 ラグランジュ方程式の利点
http://homepage2.nifty.com/eman/analytic/lagrange2.html

More Related Content

PDF
Phoenix Framework
PPTX
Unityで PhotonCloudを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【応用編・前編】
PDF
Cent osにpyhtonをインストールしてみよう
PPTX
Summer camp2018 group1
PPTX
Let’s play windows 10 io t on raspberry pi !
PPTX
レゴブロックとC#を使ったIoT体験
PPTX
Raspberry pi+mono を使ってlegoを制御
PDF
20110212 Silverlight から Bing Maps に触れる
Phoenix Framework
Unityで PhotonCloudを使ってリアルタイム・マルチプレイヤーゲームを作っちゃおう【応用編・前編】
Cent osにpyhtonをインストールしてみよう
Summer camp2018 group1
Let’s play windows 10 io t on raspberry pi !
レゴブロックとC#を使ったIoT体験
Raspberry pi+mono を使ってlegoを制御
20110212 Silverlight から Bing Maps に触れる

Similar to EV3 + MonoBrick + C# (20)

PDF
Cocos2d-x x iBeacon Bluetoothを使ったゲームを作ろう
PPTX
JapaneseBertOnDocker.pptx
PPTX
実践 Web App for Containers! ~コンテナ開発の基礎からDevOps環境の構築まで~
PPTX
はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
PDF
Step-Oriented Programming による任意コード実行の可能性 by 坂井 弘亮
PDF
Step-Oriented Programming による任意コード実行の可能性
PPTX
20200809 jcdug lt
PDF
Mobile-first, Cloud-first のその先へ ~ Microsoft が描く Web/Mobile の未来
PDF
ゲーム開発初心者の僕がUnity + WebSocketで何か作ってみた
PPTX
ngCore engine for mobage platform
PDF
[Cloud OnAir] 開発ツールと踏み出す Kubernetes への第一歩 2019年9月19日 放送
PPTX
Microsoft azureとdockerとansibleと
PDF
BricRoboEV3RT開発環境の使い方
PDF
【de:code 2020】 Azure Bot Services を使って Teams bot を開発する
ODP
Mono at Microsoft Tech Days Japan 2009
PDF
【BS14】Blazor WebAssemblyとJavaScriptのインターオペラビリティ
PDF
bicep dev container
PDF
Kinect Camp with TMCN / Kinect入門ハンズオン 2015.06.06
PPTX
Windows IoT Core and Robot Arm
PDF
[Intermediate 01] イントロダクション / Bitcoin を動作させる
Cocos2d-x x iBeacon Bluetoothを使ったゲームを作ろう
JapaneseBertOnDocker.pptx
実践 Web App for Containers! ~コンテナ開発の基礎からDevOps環境の構築まで~
はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
Step-Oriented Programming による任意コード実行の可能性 by 坂井 弘亮
Step-Oriented Programming による任意コード実行の可能性
20200809 jcdug lt
Mobile-first, Cloud-first のその先へ ~ Microsoft が描く Web/Mobile の未来
ゲーム開発初心者の僕がUnity + WebSocketで何か作ってみた
ngCore engine for mobage platform
[Cloud OnAir] 開発ツールと踏み出す Kubernetes への第一歩 2019年9月19日 放送
Microsoft azureとdockerとansibleと
BricRoboEV3RT開発環境の使い方
【de:code 2020】 Azure Bot Services を使って Teams bot を開発する
Mono at Microsoft Tech Days Japan 2009
【BS14】Blazor WebAssemblyとJavaScriptのインターオペラビリティ
bicep dev container
Kinect Camp with TMCN / Kinect入門ハンズオン 2015.06.06
Windows IoT Core and Robot Arm
[Intermediate 01] イントロダクション / Bitcoin を動作させる
Ad

EV3 + MonoBrick + C#