204,509 research outputs found
Nonlinear Output Robust Regulation of Ground Vehicles in Presence of Disturbances and Parameter Uncertainties
Recommended from our members
Stella C. Acosta sends Dr. Hector P. Garcia a list of members who were mailed copies
Stella C. Acosta, Administrative Assistant to Representative Tony Garcia, writes to Dr. Hector P. Garcia a list of who copies were mailed to
Gradual C Programming for Typed Lua
The work presented in this thesis deals with the problem of enhancing the performance of dynamically-typed programming languages by integrating features from statically-typed programming languages. Statically-typed languages focus on security and performance, but dynamically-typed languages focus on flexibility and automation. Optional type-systems and gradual type-systems realize some of the security benefits offered in statically-typed languages by adding a static type-system to a dynamically-typed language. However, these approaches generally do not provide the performance advantages of statically-typed languages.
In this thesis, a programming language named Poseidon Lua is proposed. It extends Typed Lua, an optionally-typed programming language, with language features that are only available from statically-typed languages. A Poseidon Lua program is able to use manual memory management to bypass the performance costs related to automatic garbage collection. A Poseidon Lua program is also able to use direct memory programming using its C pointers to avoid the performance overhead of using Lua tables. Note that Lua does not allow a program to directly manipulate raw memory. This thesis presents an extension of the compiler and virtual machine of Lua, named Modified Lua, that does allow the direct manipulation of raw memory. All Poseidon Lua programs are translated to Modified Lua programs before execution. In addition, for calling external C functions, a Modified LuaFFI library is provided for Poseidon Lua. The Modified LuaFFI library is an extension of the luaffifb library that avoids the performance overhead of the extra dynamic typechecking that is carried out by the cdata values. Poseidon Lua, Modifed Lua, and the Modified LuaFFI library are implemented by modifying the compiler of Typed Lua, the compiler and the virtual machine of Lua, and the luaffifb library, respectively.
Poseidon Lua is tested using a benchmark suite and a feature test suite. In the benchmark suite, Poseidon Lua programs achieve a speedup of 0.98X with respect to corresponding Lua programs and a speedup of 6.82X with respect to corresponding luaffifb programs, which is a Lua program that uses the luaffifb library. One Poseidon Lua program of the suite is able to achieve a maximum speedup of 10.76X with respect to the corresponding luaffifb program. In the feature test suite, relative to a Lua program, a Poseidon Lua program is able to achieve a speedup of 4.18X and 1.31X due to manual memory management and direct memory programming, respectively. A Poseidon Lua program that uses the Modified LuaFFI library is able to achieve a speedup of 10.32X over a luaffifb program. Poseidon Lua along with its components achieves significant performance advantages over the dynamically-typed language Lua using features from the statically-typed programming language C
Essays on gradual wage-price adjustments, monetary unions and open economy macrodynamics
Proaño Acosta C. Essays on gradual wage-price adjustments, monetary unions and open economy macrodynamics. Bielefeld (Germany): Bielefeld University; 2007.This dissertation deals with the role of wage and price inflation dynamics and of monetary policy for the stability of monetary economies from the theoretical and empirical perspective. On the one hand, it analyzes the case of small open economies within a monetary union where, by definition, the country-specific nominal exchange rate channel does not exist anymore and where therefore the degree of macroeconomic flexibility relies to a much larger extent on the dynamics of domestic wage and price inflation. On the other hand, the interplay between the nominal exchange rate dynamics and the behavior of wage and price inflation in open economies is investigated
Design of a NonLinear Observer for a Laboratory Antilock Braking System
In this paper a nonlinear observer is presented in order to estimate the angular velocity of both upper and lower wheels of a PC controlled ABS Laboratory setup, from Inteco Ltd. The system simulates the dynamics of a quarter car model. In order to accomplish this, it includes two attached wheels. The angular velocity of the upper wheel simulates the angular velocity of a vehicle's wheel, while the lower wheel simulates the road surface. In the observer design, it is assumed that the angular velocity of the vehicle's wheel is known, since a sensor is installed on the system, as in a real vehicle, so that the longitudinal velocity can be determined with this information. The proposed nonlinear observer considers the Pacejka's "magic formula" to calculate the contact force. This formula allows the observer to estimate the states in both the linear and nonlinear regions. The stability of the observer is proved and validated with simulations, and experimentally with the Antilock Braking System Laboratory setup
Lua-tuen toteuttaminen pelimoottoriin
Opinnäytetyön tavoitteena oli oppia ymmärtämään, miten korkeatasoisen ohjelmointikielen lisäys tapahtuu C++-kielellä kirjoitettuun pelimoottoriin. Aiheeseen valittiin korkeatasoiseksi ohjelmointikieleksi Lua niminen komentosarjakieli. Opinnäytetyön aihe oli kirjoittajan itselleen antama oppimistehtävä.
Opinnäytetyö käy läpi pelinkehityksessä huomattavat komentosarjakielien ja pelimoottorien vahvuudet ja heikkoudet, jotka ilmenevät niiden yhteisestä ja erillisestä käytöstä. Opinnäytetyön yhteydessä toteutettiin testiprojekti, jolla testattiin opittuja menetelmiä. Testiprojektin tavoitteena oli luoda ja hallita pelimoottorin piirtämiä 3D-objekteja Lua-komentosarjoja käyttäen. Erilliset työn vaiheet olivat 3D-objektin luonti, sen sijainnin muokkaus sekä Lua-komentosarjan kautta rakennetun päivitysfunktion asettaminen ja kutsuminen. Työn toteutuksessa käytettiin Visual C++ Express 2010- ja Visual Studio 2010 -ohjelmia sekä Lua-kielen kehittäjien sivuilta saatavaa Luan omaa virtuaalikonetta. Pelimoottoriksi valittiin Kajaanin ammattikorkeakoulun Pelimoottori II-kurssilla ohjatusti kirjoitettu moottori. Testiprojekti toteutettiin Windows 7 -ympäristössä.
Tuloksena huomattiin, että kirjallisen teorian oppiminen on edelleen suurin ajan viejä uuden asian oppimisessa. Testiprojektissa toteutettiin onnistuneesti sille listatut tavoitteet yhdelle objektille. Tulevaisuuden hyödyn kannalta testiprojektin tekeminen ja sen lopputulos antoivat tarpeellisen perusosaamisen komentosarjakielten ja pelimoottoreiden välisestä kommunikoinnista. Se tarjosi myös tarpeellista tietoa Lua-komentosarjakielen kirjoittamisesta ja hallitsemisesta C++-ympäristössä.The purpose of this thesis was to learn to understand how a high level programming language is embedded to a game engine, more precisely, to a game engine written in C++ language. The high level language used in the thesis was chosen to be Lua scripting language. The topic of the thesis was chosen by the author as a learning experience.
The thesis goes through the strengths and weaknesses of game engines and scripting languages, whether they are used together or separately. The practical part of the thesis consists of creating a test project to test embedding mechanisms which were learnt during the research. The goal of the test project was to create and control objects drawn by the engine via scripting. The practical part includes the creation of a 3D-object, changing position of the 3D-object, setting a scripted update function for the object, and calling it in the engine. The project was created by using Microsoft Visual C++ Express 2010 and Visual Studio 2010 programs. The virtual machine for Lua was taken from its official website. The project used the author's own game engine which was created during the Kajaani UAS course "Game Engine Project II".
At the end of the thesis it was noticed that the author still has problems in learning new things through reading. During the test project only one object could be created and controlled. For the future benefits, the test project gave necessary know-how on the communication between scripting languages and game engines. It also offered knowledge of Lua-scripting and how to control it in the C++ environment
Experimental comparison of linear and nonlinear controllers applied to an Antilock Braking System
The possibilities of C++ application extension using Lua script language
Glavni zadatak ovog rada bio je upoznati se s radom Lua skriptnog jezika i proširiti program
napisan u C++ jeziku tako da može izvoditi Lua skripte. U prvom dijelu rada općenito su opisani
skriptni jezici te je navedeno koje vrste postoje i kako se koriste. Nakon toga je opisan Lua skriptni
jezik, osnove rada sa njime, najpoznatije biblioteke te primjena skripta u popularnim programima
današnjice. Za kraj je objašnjena instalacija Lua jezika u Visual studio te napisana dva programa,
jedan jednostavniji, koji poziva Lua skriptu i vraća rezultat, a drugi složeniji, koji šalje varijable u
Lua skriptu i vraća varijable nazad u C++ nakon obavljene operacije nad njima.The main taks of this final paper was to learn the basics of Lua scripting language and to extend
the functionality of C++ applications by embedding Lua script language. The first part of this
paper is comprised of descriptions of scripting laguages and types available. Next, this paper
describes Lua scripting language, the basics of working with Lua, commonly used libraries and
applications of scripts in most used programs today. Finally this paper explains how to instal Lua
in Visual Studio and two programs were shown, one simpler, which executes Lua script and shows
the result and the other one more complicated, which sends variables into Lua script and returns
them back after the operation has been done
- …
