このサポートページでは,LEGO 部品とユニット付き BLDC モータ Roller485,振子用エンコーダ AS5601 を用いた回転型倒立振子について,装置の構成,組み立て方法,数理モデルの構築,パラメータ同定,制御系の設計,Simulink を用いた実機制御に必要な情報をまとめています.また,実験装置で使用する Roller485 および AS5601 用の Simulink ライブラリについて,インストール方法,使用方法,ブロックの開発方法を説明します.さらに,パラメータ同定や目標値追従制御などの実験手順や実験動画を掲載しています.
1. はじめに
本プラットフォームを開発するに至った経緯について説明します.
1.1 LEGO MINDSTORMS と MATLAB/Simulink
ロボット教材 LEGO MINDSTORMS が販売されて以来,制御工学の教育や研究への利用が提案されてきました.ここでは,その事例を紹介します.
(1) 事例紹介:Segway 風の車輪型倒立振子 NXTway-G
(2) 事例紹介:玉乗りロボット Ballbot
(3) 事例紹介:自転車ロボット NXT bike / EV3 bike
(4) 事例紹介:回転型倒立振子
筆者は,LEGO MINDSTORMS と MATLAB/Simulink を利用した回転型倒立振子のプラットフォームを提案しました.
1.2 LEGO MINDSTORMS から Arduino × 汎用モータ・センサへ
Arduino と汎用のモータ・センサを組み合わせて実験装置を製作し,Simulink により制御系を実装した事例もいくつか報告されています.
(1) 事例紹介:Ball & Beam
宇都宮大学の平田教授は Arduino と MATLAB/Simulink を利用した教材を提案しています.
(2) 事例紹介:回転型倒立振子
LEGO MINDSTORMS を利用することが困難になったことを受け,筆者は Arduino と汎用モータ・センサを利用した回転型倒立振子を提案しました.
(3) 事例紹介:アーム型倒立振子
上記の回転型倒立振子を発展させ,アーム型倒立振子を提案しました.
(4) 事例紹介:車輪型倒立振子
Segway 風の車輪型倒立振子についても提案しました.
1.3 従来の実験装置の問題点と改善方法
(1) 従来機の問題点
筆者が提案した回転型倒立振子やアーム型倒立振子(ここでは,従来機と呼びます)には,いくつかの問題点がありました.
(2) 提案機の構成
従来機の問題に対処するため,本研究では部品構成を見直し,実験装置を
- LEGO 部品
- ユニット付 BLDC モータ:Unit Roller485
- 磁気式エンコーダ:AS5601
を使用して製作しました(ここでは,提案機と呼びます).
2. 部品表
価格は 2026/07/11 に確認したものです.
2.1 マイコン
マイコンとしては,以下のいずれかを使用することができます.
ここでは,Arduino Mega を使用するとして説明をします.
2.2 モータ・センサまわりの部品
2.3 LEGO 部品
使用する LEGO 部品は以下のとおりです.たとえば,ブリッカーズさんで購入することができます.色はここで示したものである必要はありません(色によって価格は変わります).
(a) 本体:フレーム,アームと振子
(b) アーム駆動系の同定実験で使用する LEGO 部品
(c) 振子系の同定実験で使用する LEGO 部品
2.4 その他の部品
組み立てたフレームの底部に強力な両面テープを貼り,アクリル板と接着しました.アクリル板の底には滑り止めを両面テープで接着しています.
3. 組み立て
卒業研究生が組み立てると,おおよそ 30 分で作業を終えました.
3.1 フレームの組み立て
組立図の PDF ファイルはこちらで公開しています.
3.2 アームと振子の組み立て
組立図の PDF ファイルはこちらで公開しています.
3.3 フレーム,アームと Roller485 の結合
3.4 エンコーダ AS5601 の配線
3.5 BLDC モータ Unit Roller485 の配線
3.6 マイコン,AC アダプタの配線
4. ソフトウェア環境
4.1 MATLAB/Simulink
使用するソフトウェア
- MATLAB
- Simulink
- Control System Toolbox
- Simulink Support Package for Arduino Hardware
です.以下で説明する Simulink ライブラリは R2023a 以降に対応しています.ただし,Raspberry Pi Pico を使用する場合は R2024b 以降が必要です.
4.2 Simulink Support Package for Arduino Hardware
Arduino や M5Stack Core シリーズ, Raspberry Pi Pico を使用するためには,MathWorks 社が無償で提供している
- Simulink Support Package for Arduino Hardware
をインストールする必要があります.インストール方法については,以下の別記事を参照してください.
基本的な使用方法は,別記事
を参照してください.
4.3 Roller485 専用の Simulink ライブラリ "roller485lib"
Simulink ライブラリ roller485lib に含まれるブロックの開発方法については,以下を参照してください.
インストール方法については,以下の別記事を参照してください.
基本的な使用方法は,別記事
を参照してください.
4.4 エンコーダ AS5601 専用の Simulink ブロックを含むライブラリ "carterlib"
Simulink ライブラリ carterlib に含まれるエンコーダ AS5601 専用のブロックの開発方法については,以下を参照してください.
インストール方法については,以下を参照してください.
5. 回転型倒立振子のモデリング
5.1 数理モデル
5.2 アーム駆動系のパラメータ同定
5.2.1 配布ファイル
- アーム駆動系のパラメータ同定
5.2.2 振子の固定
5.2.3 実験手順
5.3 振子系のパラメータ同定
5.3.1 配布ファイル
- 振子系のパラメータ同定
5.3.2 アームの固定
5.3.3 実験手順
6. 積分型サーボ制御
6.1 配布ファイル
- 積分型サーボ制御
6.2 実験手順


