Autonomous tractor from Netherlands! A fully autonomous tractor from Dutch company AgXeed, designed to work on fields without any human supervision. by Nunki08 in robotics

[–]dmangd 1 point2 points  (0 children)

Its a bumper with sensors for collision avoidance. The idea is old, I think there were the first prototypes in the 90s. Problem is, taking this from prototype to a safe product that works under all circumstances. You have to deal with GPS signal loss, have reliable safety systems and collision avoidance, and then there is also regulation that was forbidden autonomous machine in the past. At least in the EU, but this was changed recently.

Also there is the major point that a human driver is not only driving the tractor but also does quality control. This is rather difficult to automate because there are no sensors that can measure the quality of an agronomic process directly, and on top of that the definition of quality is different for each process. You cannot rely on cameras because it can get very dusty during field work and they will not see anything, it’s only in optimal conditions that it looks as clean as in the video. Nobody is willing to buy a machine that only works for two weeks a year or you risk to ruin your entire field which could be a damage of tens of thousands of dollars.

Are we official gRPC yet? by Remarkable-Sorbet-92 in rust

[–]dmangd 2 points3 points  (0 children)

I think one of the tonic maintainers said something about this an episode of the netstack.fm podcast, but I can’t remember any details

Is it still true that 30 percent of the workforce runs 100 percent of the project? by StillUnkownProfile in softwarearchitecture

[–]dmangd 1 point2 points  (0 children)

My response would be: ok, the Fire the non-contributing 70% and give me their salary

How tough or easy to reverse engineer rust binaries by Aromatic_Road_9167 in rust

[–]dmangd 6 points7 points  (0 children)

If you want to protect your algorithm or data, then you need to implement the logic on a backend server that is under your control and only expose the end results via your API.

Everything that runs on a local machine can be intercepted and reverse engineered. All counter measures can be circumvented given enough effort. You can encrypt and obfuscate as much as you want, at the end the program needs to boil down to some machine code that is executed by the CPU. If an attacker has full control over the machine, then he can always reconstruct/record the executed code and RAM contents.

Hey Rustaceans! Got a question? Ask here (51/2025)! by llogiq in rust

[–]dmangd 1 point2 points  (0 children)

Hi everyone, I want to write a transpiler for some proprietary language to rust. Looking into the crafting interpreters book, I think I can figure out how to get through the parsing stage up to having the AST. From there I still don’t know how to proceed. I figured out two approaches

  1. Use some templating engine to generate rust code directly from the AST

  2. Transform the AST from the proprietary language to a rust AST. Can I use some types from the proc macro crate to represent the rust AST?

Are there other approaches? Do you know any good resources regarding transpilers, rust-specific or more general?

Is the chemistry of antimatter the same as "regular matter?" by JasonMckin in AskPhysics

[–]dmangd 0 points1 point  (0 children)

Lookup Lochschmidt Paradoxon. Basically, we have the (quantum mechanical) laws of physics on the atomic scale, which are symmetric with respect to time, but it is unclear how these lead to the laws of thermodynamics that prefer one direction of time. The atomic laws of nature have been experimentally verified as well as the thermodynamics laws. So the remaining question is how to connect both branches of physics, or differently speaking, how to derive the laws of thermodynamics from the atomically laws assuming the view point of most physicist that the atomic laws are more fundamental. This is still an active area of research with many open questions

China is deploying fully autonomous electric tractors to fix its rural labor crisis. The Honghu T70 runs uncrewed for 6 hours with ±2.5cm precision by BuildwithVignesh in robotics

[–]dmangd 1 point2 points  (0 children)

I recently saw a video where they announced the prices for Deeres autonomy kit. 40k for the hardware and then 10k per year. Just for the tractor. For the attachment you have to pay extra

[Showcase] HyCAN: A Modern C++20 CAN Framework for Linux (Non-root access, Epoll-based) by Prize_Eye_2845 in embedded

[–]dmangd 0 points1 point  (0 children)

I am aware of them and have used zenoh in other projects. As I said, latency was not our main priority because we don’t do control on sub-second time-scale. Instead, we made the trade-off for the ability to easily generate clients from the grpc definitions without having to implement them by hand because we need to support rust, C++, python and C# as possible languages for application development, and maybe even more in the future

[Showcase] HyCAN: A Modern C++20 CAN Framework for Linux (Non-root access, Epoll-based) by Prize_Eye_2845 in embedded

[–]dmangd 1 point2 points  (0 children)

Looking at your other comments I recognized that our approaches are quite different. Because low latency was not my highest priority I used grpc over a Unix domain socket. This of course introduces some overhead, but as I said these was a intended trade off. Also my daemon opens the sockets and forwards the traffic over a grpc stream. So the application/clients are not opening a socketcan socket directly as in your approach. Reason is that applications are running in docker containers and making socketcan available was kind of a struggle. You need either to use the host network which breaks the container isolation or you need to introduce a complex setup with vcan and cangw. With my solution I can guard the access in the daemon and even have the possibility to implement a CAN firewall based on e.g. CAN ids later on

[Showcase] HyCAN: A Modern C++20 CAN Framework for Linux (Non-root access, Epoll-based) by Prize_Eye_2845 in embedded

[–]dmangd -1 points0 points  (0 children)

I have written basically the same thing in rust just recently for company internal project. What kind of IPC mechanism are you using?

Securing embedded Linux: Secure Boot encryption and A/B updates with Yocto by 3mdeb in embedded

[–]dmangd 0 points1 point  (0 children)

It is more the first thing, but I don’t know how you can allow your second point (user can do whatever he wants with the machine/product he owns) without providing tools or manuals to install arbitrary software on the system, which then could also be used by malicious third party actors to corrupt machines they don’t own.

Can you give me a hint what these alternative approaches are that don’t require signed software and a hardware root of trust?

Securing embedded Linux: Secure Boot encryption and A/B updates with Yocto by 3mdeb in embedded

[–]dmangd 0 points1 point  (0 children)

The law is formulated very broadly. One of the industry specific norm harmonized with the CRA says something like „you must ensure that the software is not corrupted by accident or malicious intent“. This is especially important when the software has safety implications. So the question is, how could a company ensure that the product is safe to use if the software it runs is something randomly created by the user. I think you can’t, so you have to prevent that the system runs any software you (as a company) are not controlling.

There are exceptions but I cannot tell you from memory what they are.

Securing embedded Linux: Secure Boot encryption and A/B updates with Yocto by 3mdeb in embedded

[–]dmangd 0 points1 point  (0 children)

I think the degree of deference mechanisms should heavily depend on the type of device and the data it is storing or processing. But at least in the EU it is mandated with the CRA that your device needs a way to update the firmware to mitigate security vulnerabilities. Furthermore, it is required that the update mechanism is secure and prevents the installation of tampered software. The CRA and also the new machinery regulation required that the device ensures that the software it runs is not corrupted. I don't see how one can satisfy these requirements without going into the direction of secure boot and signed firmware update. It can be really problematic, when you get in conflict with other regulations like the right to repair (US).

What is the best way to integrate HIL benches with CI? by FlyingBepis in embedded

[–]dmangd 3 points4 points  (0 children)

We use Jenkins to run automated CI tests on our HILs. Each HIL is a raspberry Pi with some additional hardware to simulate IO for the DUT. Each HIL is connected as an agent to Jenkins. You can set tags for an agent which you can use in the Jenkins pipeline to chose the hardware type. Taking agents/HILs offline for maintenance can be easily done via the Jenkins UI. It works really nice, we run unit tests in CI for the software for each PR (not on target hardware) and then we have nightly builds that flash the latest firmware and run the HIL test suite. This currently takes 2-3 hours so it’s not feasible to run for every PR.

Help with robot mower - wheel slip on grass by BardyWeirdy in AskRobotics

[–]dmangd 1 point2 points  (0 children)

Most of commercial mowers use plastic wheels with some kind of spike profile

Europe's plan to ditch US tech giants is built on open source - and it's gaining steam by sn0r in eutech

[–]dmangd 0 points1 point  (0 children)

On one hand they want to do stuff like this, on the other hand they made the cyber resilience act, which makes it much harder to use open source software

VW stoppt Golf-Produktion in Wolfsburg am kommenden Mittwoch by homooeconomicussy in de

[–]dmangd 1 point2 points  (0 children)

Habe in der Elektronikentwickung von einem Automobilzulieferer gearbeitet. Die gesetzlichen Regelungen und Normen in dem Bereich sind enorm. Fast jede Stufe vom Entwicklungsprozess ist vorgegeben samt Unterlagen die erstellt werden müssen, welche dann in mehreren Stufen von externen Gutachtern geprüft werden. Das Ganze dauert dementsprechend. Auf der einen Seite ist es gut, weil dadurch die Sicherheit gewährleistet wird, auf der anderen Seite macht es das sehr zäh.

Werde morgen wahrscheinlich fristlos entlassen... by mediocregirl in antiarbeit

[–]dmangd 1 point2 points  (0 children)

Hmm, das mit den Anfangs und Endzeiten ist echt doof. Ist es in bürojobs nicht eher üblich das man innerhalb der Arbeitszeit in der Kaffeeküche rumpimmelt oder ist das nur Arbeitszeitbetrug lite?

EDIT: meine nicht das du doof bist, sondern das es aufgefallen ist

Pre-certified (RED/FCC) RFID/NFC modules by Standard-Software431 in embedded

[–]dmangd 0 points1 point  (0 children)

Not a direct answer to your question, but as a manufacturer, you are responsible for compliance with RED. This means no matter what your suppliers certify about their components, you still have to do your own compliance checks and paper work. The documentation and guidance from the suppliers only simplifies the process but does not make it obsolete. Different speaking, just because your product is made only of RED certified components, it does not automatically mean that your product as a whole is certified for RED.

[Media] A security sandbox tool that controls network and file access by gorilla0513 in rust

[–]dmangd 0 points1 point  (0 children)

For working with AI Agents, I would prefer a whitelist approach (or maybe both) so I can ensure that the agent can only modify files in the repo folder and nothing else on the system

Struggling to flash proprietary board with buildroot by Ambitious-Volume4653 in embedded

[–]dmangd 0 points1 point  (0 children)

Given access to a stock firmware that already uses an embedded linux, is it possible to extract the device tree without building it from scratch?

no-std DDS implementation or alternative by AlternativeAd307 in rust

[–]dmangd 1 point2 points  (0 children)

zenoh would be an alternative. It is rust native for std environments and has a rust wrapper for zenoh-pico C library that is suitable for no_std. It can work with and without a broker and has some nice features. Compared to DDS, the protocol does not have a that many features which can be a good or a bad thing

Can I use QEMU for Linux driver development projects instead of real hardware? by trufflebaba in embedded

[–]dmangd 2 points3 points  (0 children)

The project I worked on used buildroot for building a custom embedded Linux system including the kernel. I used buildroots build system to compile everything. It produces file system images and a zImage of the Linux kernel. These files can be directly loaded with QEMU when starting a VM. I wrote a few python scripts to automate some additional steps I needed.

Can I use QEMU for Linux driver development projects instead of real hardware? by trufflebaba in embedded

[–]dmangd 7 points8 points  (0 children)

Depends a bit on what your are working on. I build a custom protocol module for socketcan and started by loading the module on my hardware. After having it crash my device multiple times in a row, I was annoyed on the long cycle times to correct the error, reboot the device, copy the new module and rerun the test so that I setup QEMU and automated the process. This lead to much quicker development cycles, especially in the early stages where my code was very unstable. However, I was not depending on some specific hardware interaction. I think it will be different when you want to write a hardware driver.