MSc in Electro-mechanical Systems Design

The projects throughout my masters degree have focused more on modeling and control of systems and less on the implementation and realization of a design.

Analysis of Control Performance of a Reluctance Magnetic Lead Screw

A group at Aalborg University had developed a new design for a reluctance magnetic lead screw utilizing a mechanical lead screw geometry and a magnetic nut to convert rotational motion to linear with very little friction. This process has the downside of not guaranteeing the position precisely while moving, and is capable of slipping. For many cases however, the lack of mechanical coupling allows for the actuator to be used in scenarios where a lead screw would not be suitable.

Reluctance Magnetic Lead Screw Cross-Section as Presented in [1]

The goal of my project was to develop a reliable control scheme for the magnetic lead screw and the brushless motor that drove it, with a priority on determining the maximum performance possible with the given configuration.

In order to complete the project, a model was developed, behavior analysis conducted with the model, control models developed, and the reliance on sensor feedback investigated.

The model was developed based on the typical permanent magnet synchronous motor fixed rotor reference frame model. The magnetic lead screw was modelled with a sinusoidal force curve in relation to the displacement of the translator compared to the magnetic nut. The behavior of the model was then verified in comparison to the expected behavior of the actuator configuration as well as the behavior measured in steady-state tests.

Force curve of the modelled reluctance magnetic lead screw.

From the developed model, an analysis of the behavior was conducted, mostly using a linear approximation of the model. The motor in the fixed rotor reference frame may be effectively represented with a linear model however as the magnetic leadscrew coupling is significantly nonlinear, the behavior had to be investigated across many different operating points. From this investigation, the magnetic lead screw was found to behave as a softening spring meaning that the effective spring constant decreases with displacement. This behavior causes significant complications with control design, however the bandwidth of the motor is significantly higher than that of the translator which allows for the problems to be isolated from each other.

Softening spring behavior of the magnetic lead screw.

Based on the system behavior analysis, controllers are designed for the system. The motor control is simply conducted using PID controllers for the direct and quadrature axis currents. As the bandwidth of the motor is so much higher, these controllers allow for the mechanical control problem to be considered with just the motor torque as the controlling input.

Assumed implementation used for control design.

For controlling the mechanical system, a variety of methods were tested, including various implementations of LQR, a controller for the slip, and a calculated torque controller. The LQR implementations tested various methods of accounting for the nonlinearities and discontinuities in the system. Furthermore, as the translator position was not measured, various configurations of state estimators and sensor feedback were investigated in order to see their effects on control performance.

Testing of LQR with various nonlinearity compensation methods and feedforward of the static friction.

The Project was never implemented due to the Covid-19 situation limiting lab access, however the conclusions drawn from the control design demonstrate various possible methods for controlling such a system and that the system can move very quickly if it needs to.

The full project report may be read at:

CAN bus Implementation on a Glass Lifting Machine

Smartlift wanted to improve their product control behavior from the current method where the operator has to determine accurate control themselves, and for this the more advanced features of the Linak actuators they used were necessary.

From this, my task was to create the software and interface with the actuators in order to be able to deploy their new control solution. As the Linak actuators utilized CAN bus and smartlift already worked with Danfoss Plus+1 controllers, these were the tools required for the project.

In order to create the solution, I set up the CAN bus link for the actuators using the Plus+1 Guide software as well as a small amount of C code for bitwise logic to create the packets and interpret the state information from the actuators. The control input was taken either from a joystick or, for the purpose of testing the control solutions, an emulated joystick signal from a microcontroller which could be controlled wirelessly from Simulink.

Implementation of a Brushless Motor in a Feeding Trolley

The objective of this project was to implement and control a permanent magnet synchronous motor in the drive module of an automated feeding wagon. The goal of implementing the PMSM is to increase the efficiency of the drive module by the implementation and control of a permanent magnet synchronous motor.

A concept design was conducted to get an overview of the potential modifications to the system including the implementation of the PMSM. The result of the concept design was to replace the currently implemented DC motor and the gearbox with a high pole count hub motor with a rated torque high enough to make a gearbox unnecessary.

A nonlinear model of the current design was set up and tests were done to identify the energy losses so that the efficiency could be determined. Four tests were conducted, three no-load tests to determine the losses within the motor, gearbox, and belt drive, as well as one loaded test to determine the loaded frictional losses of the gearbox.

To compare the efficiency, a model of the system with the PMSM implemented is created. To validate the model of the PMSM performance tests were conducted. The performance tests were conducted to confirm the compliance of the model to the values stated in the datasheet and the values confirmed in testing of the actual motor. The peak velocity was found to be nearly identical between the datasheet, physical motor, and modeled as was the torque though the physical motor could not be tested with a high enough load or current to identify the peak torque.

To control the system a cascade controller was chosen with higher speed controllers controlling the direct and quadrature axis currents and a lower speed controller for the velocity. The i_d current controller effectively controlled the direct axis current to zero in order to improve efficiency and the i_q controller effectively controlled the torque-inducing current without noticeable coupling between the two.

Speed controllers were developed for the system by targeting the operation requirements of 0.33 [m/s] and acceleration to the operating speed within a distance of 1 [m]. The initial controllers were designed to target these requirements by achieving the target velocity at the distance limit, thus minimized the energy needed. These controllers were tested with various step reference inputs and ramped reference inputs. In order to further improve the behavior of the system, an ideal reference ramp was calculated so that a more aggressive controller could be utilized to maintain a constant acceleration. With this controller constant acceleration current, 0% overshoot, and effective disturbance rejection were observed.

As a result of the project an improved transmission system was designed, controllers for the permanent magnet synchronous motor were developed and the controllers implemented in embedded software to be tested on a physical system. The results in terms of control look promising, however further investigation is necessary in terms of the energy losses in the system.

Fluid Power Test Facility

The objective of this project was to develop a hydraulic test facility for hydraulic motors utilizing the principles of flow regeneration, by implementing a hydraulic pump as the load component.

Through an analysis of the necessary primary and safety functions, the hydraulic system was developed. The design was put into production but was, unfortunately, not finished before the hand in of this report.

A non-linear model including pressure dependent bulk modulus and density models, was derived and simulated. A steady state solution was also derived as to verify the functionality of the system as well as validating the principle of flow regeneration, showing that larger valves are needed in order to increase the benefit of the effects of regeneration.

From the steady state solution, an analysis of power consumption of the various components of the setup was conducted. The analysis showed that large portions of the power in the system is consumed by the pre-motor valve. This is a reason for concern as the accumulation of thermal energy due to the re-circulation of the oil could potentially degrade lubrication capabilities and damage components in the system. As such, a more comprehensive analysis of the consequences of excessive oil temperature must be conducted before the system is run at high speeds.

Based on the hydraulic system that was designed, a set of requirements for the control of the motor were defined. The requirements include accuracy targets for the control as well as stability requirements for the controllers. To develop system controllers, a linear model was derived. This included a discussion on simplification of the model, as well as a comprehensive analysis of the linearization points. Finally the model was validated by comparing it to the non-linear model. As no physical system was available for verifying the chosen physical constants of the system, a parameter study was conducted as to evaluate the effects of varying said constants.

To assist the development of system controllers, an RGA assisted coupling analysis was conducted. The analysis showed varying degrees of coupling with increasing frequencies, leading to the conclusion that care must be taken at certain frequencies, if no active decoupling is implemented.

To develop the controllers, a range of different strategies were proposed, granting a total of five control strategies to be tested.
The controllers for the various control strategies were developed with respect to the set requirements, and have been verified utilizing the non-linear model.

Though no physical system was available for testing, an overview of the practical implementation is still presented as to assist in the future development of the test facility.

BEng in Mechatronics

Automated Trailer for Painting Road Markings

Ingredient Doser for Skaertoft Molle

Rowing Machine/Exercise Bike Energy Generator

Assistive Smart Cane for People with Multiple Sclerosis

Leech inspired Wall Climbing Robot

Audiovisual Tree Sculpture

Personal Projects

In addition to the university projects, I work on many projects in my free time.

CNC Machine

Home Server

I work on many projects and have many platforms I like to play around with, hence I wanted to set up a home server to host whatever software solutions I need for a particular project.

For this purpose I set up a server on an old gaming machine, later rebuilt into a better case with a backplane, running Proxmox as the hypervisor. Each program instance runs either in a container or in a VM depending on the necessary capabilities.

Running on my server are:

  • Samba share for media and computer backups
  • PiHole
  • my Discord bot, running in python on debian
  • This website, running on ghost in debian
  • Game servers for various games I have tried with my friends
  • HomeAssistant server for interfacing the tasmota various smart devices I have at home

Planned to be added are:

  • NextCloud for external access to files and network resources
  • simulation compute resources for simulating control problems.

The control wiki is currently hosted on a VPS as the future required resources will likely be easier to migrate compared to from a home server.

Wikipedia has sections on control theory and many related topics, however, the subject matter is more reflective than practical. In order to improve the availability of high quality comprehensive control engineering information, I wanted to create a wiki dedicated to control and modeling.

In order to do this, I set up an instance of Mediawiki on a VPS and integrated the plugins necessary for hosting the content relevant to control. I have some plans for the future of the wiki and how to prompt both students and educators to contribute content, however it is currently only contributed to by members of my discord server.

There are not many pages yet on the wiki, and there is still a list of items to finish implementing, however the platform is now available and hopefully will grow further in the future.

Control Engineering Discord

Similarly to the situation of the control wiki, there are not really any good communities for discussing control on a real time basis. The closest I found was the Control Theory subreddit, however it didn't easily allow for working through more complex problems.

To rectify this, I wanted to create a more proactive community on discord where more organic discussions could take place. This server was very quickly made the associated server for the subreddit and has grown quickly. In order to promote active conversation I have attempted to hold weekly topic discussions as well as programming control challenges into my discord bot that the server members may attempt to get a high score on.

The server as of the time of writing has 271 members and is continually growing. As the numbers grow, so does the activity, however it may be a while yet before continual active conversation is present.

The Server may be found at:

Discord Bot

For the Discord servers I am involved in, I have created a discord bot written in python using the discord rewrite library. In this implementation, I have integrated server specific functions, basic functions for plotting data from datasets, simulations of transfer functions, and some standalone control problems that the users may test controllers on.


  1. Nick Ilso Berg, Alexander Becsei Christiansen, Rasmus Koldborg Holm, and Peter OmandRasmussen. Design and test of a reluctance based magnetic lead screw pto system for a waveenergy converter. In2017 IEEE International Electric Machines and Drives Conference, IEMDC 2017,United States, 8 2017. IEEE. 2017 IEEE International Electric Machines and Drives Conference,IEMDC 2017 ; Conference date: 21-05-2017 Through 24-05-2017.