Autonomous Mini Rally Car Teaches Itself to Powerslide
A mini rally car with high-power graphics processing unit (GPU) that the vehicle carries is able to control and decide the trajecoryaround a muddy/dirty racing ground, see this video.
They call the algorithm Model Predictive Path Integral (MPPI) Control which continuously samples data coming from global positioning system (GPS) hardware, inertial motion sensors, and other sensors. The onboard hardware-software system performs real-time analysis of a vast number of possible trajectories (2560) and relays optimal handling decisions to the vehicle moment by moment. If you look at the video it is able to power slide in the corners. The MPPI approach combines both the planning and execution of optimized handling decisions into a single highly efficient phase. It’s regarded as the first technology to carry out this computationally demanding task; in the past, optimal- control data inputs usually is not processed in real time.
A very large scale application of control theory
One way to reduce the impact of climate change is called geo-engineering, which could be a controversial topic. However, one branch is called ”solar radiation management”. This paper uses control theory to address the topic of uncertainty in the process model, in this case the planet earth. The main idea is to use feedback to reduce the large amount of uncertainty in the model.See this paper
Control before the ”digital control” era
Automatic control has been used since the industrial revulution began. This is one implentation of a Pneumatic Controller (PID). The manual is found here.
Torpedoes was using a pendulum-and-hydrostat controller for the , which was a PD-controller for the right depth. The hydrostat sensor measured the pressure and the pendulum the angle to the gravity vector (derivative action), see this article.
In the end of April, Mathworks hosted their annual MATLAB Expo. Of course, Combine had a booth presenting the cube and the hexapod master thesis projects. The program also contained various presentations by Mathworks and by a few customers, and the videos from these presentations have just been published. You should be able to view them on the expo website, by registering under ”Proceedings”.
In the presentation on ”What’s new in Simulink”, it is nice to see that some new features are available from MATLAB 2016a:
Events enables queuing of messages, that are available until consumed. Units allows the developer to specify units for signals between subsystems for example, thus avoiding the use of different units causing scaling error or worse. Simulink Functions are function blocks containing Simulink code, that can be called from anywhere within the model. For more info, have a look at the links or some of the presentations, perhaps you will find functions you didn’t know you missed?
In the last post we had a look at co-simulation using MATLAB/Simulink with MotionSolve from Altair. With a co-simulation interface between the models, it is possible to take advantage of the strengths in each software, synchronizing the models and providing them with the means to communicate. However, at the conference in Sälen I gave a short presentation of a different approach – TCP/IP communication. This approach was investigated in a master thesis project carried out at the Combine office in Lund.
The process studied in the master thesis was a Gantry crane with the objective to pick up boxes and load them onto a truck. The Gantry crane model was created in IndustrialPhysics, a modelling software developed for HIL simulations. Some of the major IndustrialPhysics features are:
- Real time 3D simulations
- CAD model import
- Rigid body physics (enabling interaction between components for example)
- HIL solution
IndustrialPhysics has also been used in other projects carried out by Combine for customers within the industrial automation field, in which the models are executed on a real time target only (i.e. in a HIL setup). What makes the master thesis project interesting, is that it spanned the whole MBD process and included not only a HIL setup, but also the use of IndustrialPhysics and MATLAB/Simulink in a MIL setup.
In the MIL setup, a Simulink model is used to control the plant model running in IndustrialPhysics. The Simulink model contains control logic for the motion of the crane, with both a fully automatic mode and a manual mode, as well as a graphical interface (made to resemble actual control panel in rig) allowing the user to interact with the plant model when in manual mode. Interface blocks create a TCP/IP client object, allowing the Simulink model to read and write data to/from an IP address, and by defining an interface in the plant model for the same address the communication is established. The developer can now test and verify the controller before generating and deploying the code to the target hardware (in this case a PLC). By switching IP address in the plant model to that of the target, a HIL setup is achieved. This makes it possible to test the generated code when running on the hardware, using the same communication that may be used in the final product.
For more information, have a look at the master thesis report and let me know if you have any questions.