Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
Software Build Linux

Linux Controls a Gasoline Engine With Machine Learning 89

An anonymous reader writes: Here's a short (2 min) video of PREEMPT_RT Linux controlling a gasoline engine from one burn to the next using a Raspberry Pi. It's using an adaptive machine learning algorithm that can predict near chaotic combustion in real-time. A paper about the algorithm is available at the arXiv.
This discussion has been archived. No new comments can be posted.

Linux Controls a Gasoline Engine With Machine Learning

Comments Filter:
  • I am not familiar with combustion engine computation. Does this make the engine more or less efficient? And if it is more effiecent, how does it compare with commercial offerings of comparable use?
    • by ls671 ( 1122017 ) on Saturday January 10, 2015 @02:40AM (#48779935) Homepage

      Here the goal is to make the engine spend as much fuel as possible, hence the term "chaotic combustion". The system can maintain the engine in a "chaotic combustion" state in real time ;-)

      • As much fuel as possible ? Hardly.
        The conclusion says "the broader objective of this new modeling approach is to enable a new class of cycle-to-cycle predictive control strategies that could potentially bring HCCI’s low engine-out NOx and high fuel efficiency to production feasible gasoline engines."

        • by Anonymous Coward

          by burn as much fuel as possible he probably meant
          "get the most energy out of the fuel in the chamber"
          not
          "use the most fuel"

    • That's because you read the summary, not the paper...

      tl;dr?

    • by Anonymous Coward on Saturday January 10, 2015 @07:02AM (#48780353)

      In HCCI, you operate the engine *without* the throttle (for practical purpose, they probably left the throttle in but operated at WOT: pedal to the metal). This improves the efficiency for sure right there.

      HCCI *is* about efficiency: without the throttle in the way, things go much better thermally in the machine. Torque output (thus power) is then controlled by fuel injection and the motor autoignites (like a diesel).

      Combustion at every cycle starts according to current conditions (pressure and temperature). This means that earlier cycles are essentially what determines the current combustion... You only get to control fuel timming and quantity supply...

      This is hard people...

      The article is about a *control* strategy. It is normal to seek worst case conditions (hence the chaos, variability, etc) and to try to demonstrate robustness... Efficiency will certainly be evaluated next, once robustness is set. Given the article was written in october 2013, they probably have this figured-out by now ;-)

    • On a production engine, the specs of every unit will be identical (to machining tolerances .001 in). So once you solve the problem just encode the parameters in the controller and you can use something much less powerful (and more reliable). For solving the problem, use whatever high-power equipment you'd like. Attach a hundred sensors and throw a supercomputer at it. Even better, rather than "machine learning" (aka, we don't understand it, we will let the computer tweak it until it gets better), simulate t

      • by Anonymous Coward

        On a production engine, the specs of every unit will be identical

        Wow. That is fabulously naive.

        Manufacturers deal in tolerances. They do NOT make "identical" engines. There is a range of acceptable tolerances for everything. Then there is tolerance stack up, sort of a second derivative of a simple tolerance. A cylinder volume at top-dead-center will vary due to the sum of; the rod journal and pin clearance, the distance between the rod journal and piston pin holes, the position of the pin hole in the piston, the milling height of the cylinder deck, the milling of th

  • 'Linux?' (Score:5, Insightful)

    by Sarusa ( 104047 ) on Saturday January 10, 2015 @03:10AM (#48779981)

    Oh come on - I like Linux and use it for my servers and even some RTOS... but 'Linux' has almost nothing to do with that. It'd work just as well on any RTOS. Would you give credit to Windows for every single freaking program that can run on it?

    Something like 'Raspberry Pi Controls a Gasoline Engine With Machine Learning Using Eigen
    C++ Matrix Library' would be far more descriptive.

    • I dont think its clear from the video, but if its actually doing the entire realtime engine control process loop on the raspberry pi, then Id say hats off to PREEMPT_RT. Not something windows could do. Using a rb pi is a decent demo of low resource usage.
      • by burni2 ( 1643061 )

        Windows Vista - not somehting it could do
        WIndows 7 - not something it could do

        WindowsXP - can do
        Windows2000 - can do

        That's part of the answer why winnt5/5.1 are actually widley used, they are used in realtime equipment, along with their low memory and cpu footprint (winxp can be tuned very good).

        And hopefully nobody dares to connect Win2ksp4 or winxpsp3 on these appliances to the pure-internet nor to any intranet consisting of more than one not connected computer.

        But WinXP and 2k are very good & smooth

        • by gatkinso ( 15975 )

          >> That's part of the answer why winnt5/5.1 are actually widley used, they are used in realtime equipment

          BS. No hard real time system uses any Windows variant. There are RT packages for Windows, but all the RT functionality is in the package kernel - Windows rides along as an preemptable process on top of the RT nanokernel. Tenasys and other vendors IIRC.

          RT_PREMPT is alive and well - however AFAIK most folks leverage it through Xenomai.

      • Linux is the kernel. Windows is a full operating system.
        You take the NT kernel and strip out the extra stuff like the gui then it could run on the pi as well

      • by gatkinso ( 15975 )

        It is a cool implementation to be sure, but we are talking timing deadlines of about 8-9 Hz per cylinder at (2000RPM). Not very much of a test of a RTOS or the HW it is running on.

        • It is a cool implementation to be sure, but we are talking timing deadlines of about 8-9 Hz per cylinder at (2000RPM). Not very much of a test of a RTOS or the HW it is running on.

          They claim they're sampling combustion at multiple points during the cycle per cylinder, so it's probably in the tens of Hz. Which is still not much of a test.

          • by Anonymous Coward
            Umm, instead of guessing numbers, you can look at the actual work and see where it is stated that sampling is done over 100 kHz and response time needs to be on the order of 0.1-1 ms.
    • by Livius ( 318358 )

      The first time a program runs reliably and securely on Windows, I will give all the credit it is due.

    • by amn108 ( 1231606 )

      I agree. I am as much a content user of Linux as the next guy here, but it could easily have been any decent OS doing the same thing. Even the Raspberry PI has alternatives here. There is no need to glorify Linux as something special in this regard, it's just a completely typical (for Tannenbaum fans, completely atypical, of course) run-of-the-mill half-modern (monolithic kernel debate again) operating system. There is no magic involved in Linux other than the fact that it is essentially the largest crowdso

    • by gatkinso ( 15975 )

      That video showed a whole lot of Windows, BTW.

  • by spike hay ( 534165 ) <blu_ice AT violate DOT me DOT uk> on Saturday January 10, 2015 @12:56PM (#48781865) Homepage

    HCCI engines are a really cool technology, but very hard to do.

    Efficiency of internal combustion engines is related to the compression ratio - the ratio of the combustion chamber from largest to smallest capacity.

    Gasoline engines usually have a compression ratio around 9:1. Higher, and the compressional heating combined with the heat off of the walls can cause "knocking," which detonation of pockets of fuel/air away from the flame front from the spark plug. Engines with premium gas can run higher compression ratios. Higher-octane fuels can be compressed more without burning, but of course there is no benefit to running it on engines rated for regular.

    Diesel engines run ratios of around 17:1, resulting in much greater efficiency. Diesel engines of course don't have spark plugs. The fuel is injected just before top dead center, where the air is compressed maximally. This is in contrast to a gasoline engine, where it is well mixed with air before entering the combustion chamber. Due to compressional heating, it spontaneously combusts very quickly, much faster than the combustion in a spark-plug-ignited gas engine.

    HCCI well-mixes the air and gas upon intake, but ignites by compression like diesel. This gives diesel efficiency. In addition to the better compression ratio, HCCI controls power by the amount of fuel injected, like a diesel. Gasoline engines use a throttle to choke off the air supply, which induces losses because the engine has to work harder to pull air at lower power. That's how engine braking works, and also why diesel trucks use a separate "jake brake" to use the engine to brake.

    It must run under a leaner mixture. It's really hard to have complete burning of fuel, and avoid knocking. That's why it has to be very carefully computer controlled based on temperature and such.

    • Most gasoline engines have a compression even below 9:1, but now compression ratios over 10:1 are starting to become common because gasoline engines are now going direct injection. Direct-injection diesels run ratios of around 17:1, the old IDIs ran more like 21 or 22:1 which makes them much better in non-turbocharged applications. However, nobody is really making naturally aspirated diesels any more, because they stink on ice. However however, we can expect the same trend to happen for gasoline engines as

No spitting on the Bus! Thank you, The Mgt.

Working...