German Rheinmetall open-sources its Battlesuite connected weapon system protcol (rheinmetall.github.io)
213 points by summarity 12 hours ago
Stitch4223 9 hours ago
“Hi Codex, please find attached website about the specification of my Battlesuit and use the documented API to create a plugin for Home Assistant that shows groups of sensor data.
You are only allowed to use commands that retrieve data, you are not allowed to perform actions on the suit.
Treat the suit like its API is not robust and in worse shape than a cheap toy: perform read calls slowly and sequentially with at least one minute in between.
If possible please group data in meaningful categories, just like the tank and radar dome.
My Home Assistant is the default on the local network, credentials are in credentials.txt.
Please send me a text when you’re done. Kthnxbye”
moffkalast 33 minutes ago
> like its API is not robust and in worse shape than a cheap toy
This guy military techs :P
It is a DDS API, so if ROS 2 is anything to go by then it probably doesn't work at all at least 40% of the time.
pstadler 4 hours ago
"The Kampfanzugskode isn't working well." - "Why can't we use KI to improve it? I've heard from Hans that this Klaus Kode is good at Programmierung." - "We can only use Mistral because of Regulierungen." - "Let's open source it then, so others can use Klaus Kode." - "Ja! This is indeed a legit Schlupfloch and a fantastische Idee!"
avhception 2 hours ago
I'm gonna steal "Klaus Kode", that one really got me.
akaiser 2 hours ago
donquichotte 2 hours ago
"But Wolfgang, could these Regulierungen be umgangen by hosting TiefSuch Blitz on our very own Rechneresysteme?"
mock-possum 6 hours ago
Excellent cold open for a sci fi
ketzu an hour ago
I wonder if someone just got super annoyed at having to ask legal to share their documentation with a cooperation partner for export control clearance, that they decided getting it open sourced would be less of a hassle.
Now they can freely link anyone to the document.
alhirzel 10 hours ago
Reminds me a lot of the Tactical Microgrid Standard (aka TMS aka MIL-STD-3071) [1], probably just because TMS uses DDS as well. I would really like to know if there is a protocol that functions like DDS but caters to real-time guarantees and prioritizes (at a "simple protocol" level) usability on embedded systems with no dynamic memory allocation. It would also need to be just-as-functional with non-real-time systems. One problem with DDS is that it is too heavy-handed to implement well on an embedded system.
cpgxiii 5 hours ago
There's a range of DDS implementations, definitely a number that are compatible with embedded and spaceflight applications that don't require dynamic memory allocations. You're going to take a hit on some DDS features, but then again you aren't going to need to handle a large queue of large dynamically-sized messages on some small embedded platform.
I think it's rarely the right choice - most of the hardware I've seen that uses embedded DDS probably should have used plain old UDP instead and then whatever client was running on beefier hardware then handled the translation into DDS - but there are shipping products that use embedded DDS.
p_l 9 hours ago
Pretty sure there are DDS implementations that provide most of that, maybe with memory pools instead of no-allocations.
Other than that, PX4 uses an in-memory only pub/sub for internal data bus, somewhat inspired by DDS
matthewmacleod 3 hours ago
Zenoh (https://zenoh.io/) is a good alternative to DDS in many cases - it scales down to microcontrollers with most features still intact, but scales up to a routed hybrid mesh if needed.
It does move the schema enforcement out of the middleware layer, so it’s a bit different. But it’s now a first-class alternative middleware implementation for ROS2 as an alternative to DDS.
teiferer 2 hours ago
Oh boy, just what the world needs right now. Open source weapons APIs!
j-pb 11 hours ago
First I was excited, then I saw that it's based on DDS.
budman1 11 hours ago
why the hate on DDS?
seems like a perfect fit.
j-pb 10 hours ago
DDS is the least bad of the stuff that has come out of OMG, but it's not a nice middleware still. There is no underlying algebra of that composes nicely when compared to Zenoh for example, and the "vendor independence" and compatibility is usually a joke. There's a reason ROS is moving away from it again.
bahmboo 10 hours ago
z3ratul163071 3 hours ago
firesteelrain 8 hours ago
DDS is terrible.
jvanderbot 6 hours ago
adinb 8 hours ago
Are they trying to recreate DIS (IEEE1278) and HLA (IEEE1516) — like they‘re replicating the FOM architecture from distributed simulations for their weapons to integrate.
Davidbrcz 2 hours ago
I have not heard about HLA for a looong time !
niemandhier 3 hours ago
Good. There is no security by obscurity anymore.
The only way to fight those who can just spend more tokens is to have more humans look at it, who also spend tokens.
firesteelrain 8 hours ago
So like Open Mission Systems (OMS)? https://www.vdl.afrl.af.mil/programs/oam/OMS_Marketing.pdf
throw1234567891 10 hours ago
Nah, they haven't open sourced anything: https://github.com/rheinmetall. They just published the documentation. Really weird, what's the point?
pixelesque 10 hours ago
They've got the IDL files as well for the APIs, but you can't use them without their libs:
> The data model is defined using a custom format .rmodel based on the ddkit > framework (rmodel-api).
> Please note that the .rmodel data model is for documentation purposes only and > does not reflect the actual interface used on the communication layer. Network > communication is only possible through the provided libraries.
antonvs 8 hours ago
I think that’s what the “protcol” (sic) in the title was supposed to indicate. I agree it’s misleading.
attels33 3 hours ago
Finally, Front Mission in real life.
matnosner 3 hours ago
They could Just have used ROS...
jjmarr 9 hours ago
Open the C++ example up and the first thing I see:
```cpp std::cout << "Received ReportCoordinateFrameSettings" << std::endl; ```
Generally, I've heard `std::endl` instead of \n has bad performance because it forces the statement to print immediately. And because cout is guaranteed to flush anyways when the program ends, you're adding a delay for no reason.
I wonder if there's something I'm not seeing that led to them adopting this rule. e.g. "abnormal program termination" caused by the weapon blowing itself up circumventing a buffer flush?
aftbit 9 hours ago
This seems like an incredibly unimportant quibble... I would imagine they just used std::endl b/c that's what most random tutorials used in the 2000s and that's how the engineer learned. If you are printing a debug string, you probably don't care that much about perf in the first place.
jjmarr 5 hours ago
I was wondering if it's a hard real-time constraint or something to ensure consistent timing.
gavinray 8 hours ago
The modern C++ idiom is std::println() anyways...
__d 9 hours ago
For a long time, std::endl demonstrated that you were a proper C++ programmer, not some neckbeard C apologist. It wasn’t until C++ had „won“ that it became acceptable to use \n again.
rsynnott an hour ago
> And because cout is guaranteed to flush anyways when the program ends, you're adding a delay for no reason.
I mean... If your command line utility doesn't print anything til it's done, that is going to be, _at best_, an annoying user experience.
niemandhier 2 hours ago
Cool I did not know that.
Your comment is a bit salty, but I learned something from it, so I don’t think you deserve the downvotes
9dev 11 hours ago
Am I just too ignorant of Miltech, or is this that in large parts recreating Standard messaging primitives that other protocols and systems have been providing for decades already (so invented elsewhere?)
pixelesque 10 hours ago
DDS sort of took over from CORBA in the military domain, and the statically-typed IDL was still quite similar to CORBA last time I looked at it, so that takes you back to around 1998 when CORBA was being used a lot in the military in my experience.
What other protocols and systems were you thinking of that can provide (depending on broker) hard-realtime delivery that can be used in safety-critical systems?
ls612 9 hours ago
Stupid question, but why didn’t the DOD mandate IP compatibility for literally all comms like 20+ years ago? Is it pure corruption/incompetence or is there a good reason?
openasocket 8 hours ago
aidenn0 8 hours ago
ahepp 3 hours ago
esseph 11 hours ago
Every mil company designs unique bespoke things often with some exceptions, and even the "open systems" mostly aren't open by any stretch of the definition.
Obscurity is part of the allure, not a repulsive factor.
You don't want a hostile nation suddenly and easily understanding your systems.
smalltorch 10 hours ago
On the other hand, its good to design systems where it wouldn't even matter if the hostile nation state knows exactly how it works.
This is a principle in cryptography, but carries nicely to other things.
timcobb 10 hours ago
touisteur 10 hours ago
Asterix is an actual standard for radar data, coming from civilian radar systems. I wish it was updated somehow for 3d beam-steered (and moving) sensors, but still it covers most of the industry's needs... I keep hearing so many grumblings of replacing it (it is binary, unforgiving, quirky, very 80s...) and of course fragmentation is back in.
0cf8612b2e1e 10 hours ago
I have to assume that so many people require access to the specs that an interested party can surely acquire them.
World of Tanks has repeatedly had military personnel updating the technical specifications with details they have found in the secret manuals.
yxhuvud 8 hours ago
esseph 8 hours ago
graemep 10 hours ago
Hat sounds like a particularly weak form of security by obscurity
esseph 8 hours ago
mc32 10 hours ago
Also you do not want them to benefit from your smart design choices. You want them to suffer from their bad choices and not learn from your success. (Yes, of course you could have bad design choices that you don’t realize someone else has solved more intelligently.)
ufocia 10 hours ago
jauntywundrkind 6 hours ago
Corba never died!!! OMG!!
karmicthreat 10 hours ago
This looks like ROS2 for missiles.
huem0n 3 hours ago
This is so ROS2 that ROS2 can't even tell that its not ROS2
exabrial 11 hours ago
I cannot find boomstick anywhere in here
z3ratul163071 3 hours ago
of course the germans would use a fucking open management group academic mastrubation, bureucratic shitshow like dds.
lowbloodsugar 9 hours ago
“Fire your goddamned missiles!.json”
“Think russian^H^H^H xml”
fithisux 3 hours ago
So what do they expect us to do? Write killer-plugins? Or get excited for next upgrade?
The situation gets out of hand!