miércoles, 5 de enero de 2011

NXT Ballbot Simulation with Microsoft Excel

Simulation tools are widely used in engineering and are very efficient in designing control systems, enabling us to foresee the features to have our system to solve the design challenge, saving time and cost of prototyping .

In our case, talking about TwoWheels or Ballbot it's important to know what power our engines need to maintain your robot, or conversely, from the power output should know the maximum slope that can scale.

Usually this activity takes place through specific design tools for engineering, such as Matlab or Simulink, but in this case I decided to make the simulation using Microsoft Excel, especially the ease of programming and the opportunity this presents, and that in any computer MSOffice is this tool available.

Needless to say, is a tool MsExcel general purpose computing, where its main strength is the ability to update results in real time, providing instant visual outcome. This is one of the reasons why it is also useful for simulation, allowing us to perform real-time optimization by adjusting the settings manually and have the result immediately.

It is noteworthy that this project does not require programming skills, as the resolution of differential equations can be performed on a spreadsheet directly, by implementing a method RungeKutta 4 th (RK4) order (the same as using Matlab or Simulink surreptitiously), but with the advantage of introducing external signals such as noise or pulse during the resolution of the same, since we have access to one row at a resolution of RK4.

Another utility that I used to MsExcel in this project and would like to highlight is the matrix calculation, which show the representation of the home page, which is expressed in a "state space" problem solving with matrices A, B, C and D.

Other Projects: click here.
I leave to your disposal the algorithm used in this example: Download: NXTBallbotSimulacion.xls.

1 comentario:

  1. Hi! I don't know if this blog is still in activity but maybe someone can answer my questions.
    I find your work really interesting.
    So i'm working on a Ballbot with 3 omniwheel (with an EV3 lego robot) and I've tried tu use the algorithm you provided here to simulate my project but I can't actually understand the K matrix in your states matrices. How do you chose the values?
    Also, how do you use the results from your simulation and make it work with you ballbot?

    Thank you!