There are two files:
Run kalmandesign3.m first to generate a linear state space model of the plant, design a Kalman filter to estimate the states from the gyro, accelerometer, and wheel encoders, and design a full state feedback controller.
Then use NXT_segway_kalman3.mdl to generate code that can be embedded onto the NXT using the NXT target.
In order to get this to work you will first have to install support for the NXT target:
See the video of this working:
Robert White (2020). Lego Segway.zip (https://www.mathworks.com/matlabcentral/fileexchange/47271-lego-segway-zip), MATLAB Central File Exchange. Retrieved .
This link is no longer exist and this support by Matlab has been updated, your model should be updated too.
Hi! What if I wanted the robot to move forward instead of keeping still? Where do I implement (or how) the drive control?
I try to implement your controller on my EV3. Could you help me with the meaning of "T=0.2; %motor time constant (sec)"
Thanks and best regards
Added a link to a you tube video.