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
「人生を制御するルーレット」は何制御と言えるのか? at 制御工学勉強会(2025/09/06)
Search
ktetsuo
September 06, 2025
0
28
「人生を制御するルーレット」は何制御と言えるのか? at 制御工学勉強会(2025/09/06)
制御ガチ勢の皆さんにお伺いした結果、「MPC(モデル予測制御)」が有力のようでした。ありがとうございました!
ktetsuo
September 06, 2025
Tweet
Share
More Decks by ktetsuo
See All by ktetsuo
20240420_あまーい話_unagipy
ktetsuo
0
73
Featured
See All Featured
Practical Orchestrator
shlominoach
190
11k
Testing 201, or: Great Expectations
jmmastey
45
7.7k
For a Future-Friendly Web
brad_frost
180
9.9k
Building Better People: How to give real-time feedback that sticks.
wjessup
368
19k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
The Language of Interfaces
destraynor
161
25k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
The Straight Up "How To Draw Better" Workshop
denniskardys
236
140k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
How to Think Like a Performance Engineer
csswizardry
26
1.9k
4 Signs Your Business is Dying
shpigford
184
22k
Docker and Python
trallard
46
3.6k
Transcript
「人生を制御するルーレット」 は何制御と言えるのか? 2025/09/06 制御工学勉強会 第024回 お気軽セッション 発表者:テツオ 1
自己紹介 ◼ハンドルネーム:テツオ(本名ではありません) ◼静岡県浜松市在住の技術系会社員(ソフトウェアエンジニア) ◼幼少期にレゴ・ミニ四駆に触れて以来、趣味でもモノづくり継続中 ⚫NHK大学ロボコン ⚫レスキューロボットコンテスト ⚫マイクロマウス(ロボトレース)→Xアイコンはミニ四駆型ライントレーサー(2006年頃) ⚫魔改造の夜「トラちゃんウサちゃん50mリレー」 ⚫Maker Faire
(Tokyo, Ogaki, Hamamatsu)出展 ➢Scratchでペンプロッターを動かす ➢人生を制御するルーレット 2 X:@ktetsuo
「人生を制御するルーレット」の紹介 ◼好きな目を指定して止めることができるルーレットです。(悪用厳禁) 3 https://www.youtube.com/watch?v=z3t7xZzwHNs
なぜ作ったか? ◼「お年玉ルーレット」をXで見たから 4 https://x.com/KazumasaKusaba/status/1624899272033570817 https://x.com/KazumasaKusaba/status/1625082018186018816 ステッピングモーターだと手で回すと固いので、 制御されてる感満載だなあ… →DCモーターなら手で回せるのでは??
メカ構造 ◼ロータリーエンコーダーで角度検出して、DCモーターで停止位置を制御 5 ミニ四駆用モーター (ダブルシャフトモーター) 回転板 磁気式ロータリーエンコーダー (アブソリュート式) 項目 仕様/構成
モーター ハイパーダッシュモーターPRO モータードライバー TB6612 (Toshiba) ロータリーエンコーダー AS5600 (AMS) 分解能 4096 [count/r])
システム構成 ◼モーター制御はRasPi PicoW、UIはM5Stackが担当 6 Bluetooth 目標値 ルーレット側 UI側 M5Stack Core2
Raspberry Pi Pico W 現在位置(表示用) 今日はこちら側の話をします
制御方法 ◼全体の状態遷移 7 加速待ち 減速開始待ち 減速制御中 回転速度が一定まで上がった 停止した 減速開始待ち中の最大速度から 速度が一定以上下回った
回転速度 手で回された ことを検出 時間 加 速 待 ち 減 速 開 始 待 ち 減 速 制 御 中 手が離れた ことを検出
④ 現在速度 から でちょうど停止するために必要な加速度 を求める 𝑣𝑡 𝑥target 𝑎target 𝑎target =
𝑣𝑡 2 2𝑥target ⑤ 加速度 を出すためのモーターのPWM値を求め、出力する。 (加速度はPWM値に比例するとして実験で係数を求めた) ⑥ ④,⑤を繰り返す 𝑎target ③ に一番近い止めたい数字の位置 を求める 𝑥0 𝑥target 制御方法 ◼減速制御方法 8 速度 ① 減速制御開始時点の速度 を計測する ② から自然減速したときの予測停止位置 を求める 𝑣0 𝑥0 𝑣0 𝑣0 𝑥0 𝑥target 4で止めたい場合→ ←このままだとここに止まる モーターフリーの場合の減速カーブ この減速カーブになるように制御 位置 𝑥0 = 𝑣0 2 2𝑎0 1 2 4 5 6 7 8 9 10 3 1 2 4 5 6 7 8 9 10 3 モーターフリーの場合の加速度 あらかじめ実験で求めておく
制御のポイント ◼長い区間をかけて目標値に停止するようにしている ⚫人間の目には制御しているように見えず、あたかも自然に停止しているように見える。 ◼制御周期は4ms ⚫エンコーダーとのI2C通信に3msかかりそれに依存している。 ◼等加速度運動とすることで、高校物理程度の知識で実現できた。 ⚫制御工学は大学でちょっと触れたが全部忘れました。PID制御はチョットワカル程度。 ◼モーターは減速を少しアシストする程度 ⚫ほぼ自然減速に任せており、モーターに大きなトルクは不要。減速機構なしで十分だった。 ⚫PWMのDutyは0~20%くらいで推移している。
◼この制御方式を思いついて実装したら、一発で動いた。 ⚫自分でも目を疑った 9
おわりに ◼この制御は何制御と言えるのか? ⚫みんな大好きPID制御ではない。 ➢最初はガチガチにPID制御しようとしたがモーターのトルク不足?で全然うまくいかなかった。 ⚫必要なトルクを算出して出力しているので、フィードフォワード制御? 10 制御ガチ勢の皆さんに意見を聞きに参りました。 よろしくお願いいたします。m(_ _)m