To be fair, from what you described so far, we still have not yet necessarily veered outside of the realm of simple counting... and when you refer to things like machine learning, I get a bit skeptical. The methods do sound disproportionately more sophisticated as compared to what the problem being solved appears to be. But, I most likely just do not understand enough about the mechanics of rebreather operation, and there is more to it than what has been described so far in this thread. I would be interested in better understanding where the complexity lies...
The mechanics of rebreather operation are actually incredibly simple. There's very little to them. My "machine learning" reference was for tuning PID gains, and it's probably the direction I'd go. The scenario tbone painted was
woefully inaccurate, and is a serious case of him trying to justify a rebreather to himself....but let's expand on it. Your sensor senses that your PO2 is low, right? It's "too low" relative to your required parameters. Well, first of all how do you set "too low"? You want to be breathing PO2 of 1.0...is 0.9999999 okay? How about .9999? How about .99? 0.9? What about 0.85? Where do you draw that line? Same thing on the high side. So, before you've even decided to fire off the solenoid to inject more oxygen you have a complex decision to make. Yeah, it's simple in that you can arbitrarily say "0.9"....but is that good enough in practical terms for the diving you're doing? I dunno. Now, the solenoid fires after you've arbitrarily set that min PO2 limit. How much does it fire? For how long? When does the O2 sensor reading matter next? Well, that's another issue that sounds simple but isn't. If you inject too close to the sensors, there's no mixing. If you inject before the scrubber (pretty common) then it takes a while to get mixed air to the sensor again....so it's sensing low PO2 a lot and will keep dumping O2 in if your response time is too low. Too high, and you'll never get your PO2 right. You want instant information, which can't happen due to the challenges above. So, now you've shot off an arbitrary amount of O2 after arbitrarily choosing between trade-offs and you're waiting a fairly arbitrary amount of time before you go through that whole cycle again. Having the machine decide how much O2 to add is a great thing if you can get the PID settings right, or get the machine to tune itself. PID is just a way of calculating how much "correction" to apply.
Unclear why you think there is no way, could you please elaborate?
What you say might very well be true, but those are some pretty strong statements you made about certain things being impossible, and I think it would be fair fto ask for a little more justification. When you say that a diver can predict something, but a rebreather can't, what scenario are you referring to?
Physics. Same for descent and ascent. You and I are swimming along at 35ft in a cave before the vertical passage to 115ft appears in front of us. Heck, it's 180ft+ in Eagle's Nest....but let's stick to 115ft. You're descending from about 2ATA to 4.5ATA. If you're at a "setpoint" of PO2=1.0 at 2ATA, you're breathing EAN50. Take that breathing gas to 115ft (over the course of 1 minute) and you're breathing a PO2 of 2.3 and you've got a tox risk. There are ways of mitigating that, but it requires human input which isn't being discussed. Human input is you set the setpoint VERY low initially and add tons of dil on your way down before upping your setpoint. This is experience, not a rebreather decision. It would take a LONG time of a VERY metered descent to keep your PO2 and setpoints in line happily. The diver predicting the descent is because they see the cave turn downwards, they see the moray eel 50ft below them when they decide to chase it, the wreck they're penetrating has led them to a stairwell. They see ascents/descents coming before they happen. Rebreathers don't.
This is interesting, do you happen to know more detail, how the eCCR screwed up when the diver lost focus? Just curious about the limitations of existing systems. In what circumstances do they fail if left unsupervised, and how do they screw up? Do they fail to automatically maintain a setpoint on rapid depth changes, or in some other situation?
They were following a passage and ascended a little too quickly while screwing with some gear issues they were having. PO2 started getting very low. Another diver did the opposite. I heard him discussing that he started messing with his computer alignment (slave, not master) and before he knew it his PO2 was 1.8.....exact scenario as posited above.
What you are describing sounds like an analogy to a fully automated rebreather that pretty much runs "on autopilot", but with a manual override that lets you instantly take over... would you be comfortable with that throughout the dive, or only during the times when you are not making depth changes?
The analogy I'm describing isn't theoretical but is exactly how many (dare I say
most?) eCCR divers use their units. Some high-profile divers in a high-profile training agency said it's the only way they'd ever feel comfortable diving a rebreather (and they dive rebreathers almost exclusively).
I am always amazed by how the cruise control in my Sprinter keeps the desired speed pretty accurately in spite of going up or down steep hills. It anticipates and responds to those stressors pretty well. After all, that's what we're talking about here: cruise control for your rebreather.
So let's take your Sprinter and make that cruise control analogy a little more accurate in terms of rebreathers. What if it took your Sprinter, loaded to the teeth with cave gear, 5 seconds to get input feedback? How about 15 seconds? 30 seconds? Your Sprinter's cruise control works well because the PID gains are tuned well and it all gets instant feedback. When you start going down a steep hill, it's not sitting there accelerating aggressively while the computer is WAITING for "appropriate" input. It knows. The speedo shows it immediately. You have a resolution on that system
infinitely higher than on a rebreather.