NXTway-GS is a self-balancing two-wheeled robot built with LEGO Mindstorms NXT and a Hitechnic gyro sensor. This demo presents sample models and documents describe the following contents.
How to Build NXTway-GS
Mathematical Dynamics Model of NXTway-GS
Controller Design for Balance and Drive Control
NXTway-GS Model Illustration
Simulation and Experimental Results
You can simulate NXTway-GS model and generate controller program that can be executed on the NXT. You can watch the movies of NXTway-GS simulation and control experiment at the following URL.
<Disclaimer>
LEGO(R) is a trademark of the LEGO Group of companies which does not sponsor, authorize or endorse this demo. LEGO(R) and Mindstorms(R) are registered trademarks of The LEGO Group.
I tried simulating this controller in simulink but i get errors for stating (source function do not exist) such as sfun_bt_tx, sfun_bt_rx, sfun_soundtone, sfun_expfcncallsscheduler. This is weird beacuse with the download of ecrobotNXT in the environment directory these do exist in a C file and as .mexw32. Could the problem be that I'm running this on X64 bit windows 7? Any help will very very much appreciated
Philipp, i have completed the controller becoming both dynamics into one, and close the loop control in the wheel dynamics, but i calculated the remain states from the on-board sensors. the controller can track lineal and angular velocities. but the idea of an observer was made by Takachi in his early nxtWAY in with use a ligth sensor to determinate the states (ecrobot exmples).
has somebody implented an observer based strategy for the non measured states? Great work by the way, but from the view of modern control theory an observer based method would be even better.
Hello, I first want to say that a person who designs a system so well, as seen in the archives of NXTway-GS, you should take time to support, from the fact that the documentation leaves some empty, they took me a while to realize that control the direction of the robot is in open loop.
I'm trying to enhance (expand) the autonomous mode that controls the NXTway, this by implementing the pure pursuit algorithm, which is executed when these option is chosen.
During the simulation, I found to have some doubts:
1. Why to calculate the current position of the robot you do not use the equation 3.1 on page 7 of document (revision 1.1)?, but instead you use this one:
Z = integral (thetadot * R * cos (phi)) + initial Z;
Y = integral (thetadot * R * sin (phi)) + initial Y
I know that you renamed the coordinates of the robot (pg 56), but despite of the change of coordinates I think the equations are not equivalent.
2. As I could see in the file param_controller.m the maximum linear velocity is 0.3 [m / sec], but you do not put the equivalence with the angular velocity, so: If I put in the gamepad phidot_ref=10, how much it is equivalent in angular velocity?, what I see is that what you do is to add and subtract power to the motors (with a maximum of 25 pwm).
I really appreciate your attention. Thanks in advance, any help you can give me and I am attentive to your answer.
I watched the Self-Balancing Two-Wheeled Robot at Embedded Systems EXPO in Tokyo. It looked like a clown on a monocycle. I think this robot is joyful study case for students.
17 Mar 2008
Anas Obeidat
it's Excellent Simulation to NXT robot and Documentation is perfect.
11 Mar 2008
Diego BarragĂˇn
Nice
Updates
07 Nov 2008
1.0 : First edition
1.1 : Added fixed-point controller model
1.2 : modified motion equations
11 Nov 2008
1.2+ Add an annotation to download the generated code into NXT standard firmware
28 Nov 2008
Modified the generalized forces and state equations.
Added simulation movie
26 Feb 2009
updated building instructions
added japanese document