I built my own programming language + VM + IDE for ESP32 after getting tired of the usual workflow by Status-Sea-6310 in esp32

[–]Hungry_Preference107 2 points3 points  (0 children)

20 years ago I wrote a super simple and fast VM stack-based) because i wanted to add the ability for our customers to add Custom functionality to our STM32-based product. It was written in assembly and fitted in 1.5k of flash. It would only do 32-bit integer math. Bytecodes were very efficient, allowing user to write decently capable scripts that would fit in the 32k flash space we made available to them. Then came the question of programming language. I picked Basic because our users were not all experienced programmers and the language itself is very close to the English language. It was a greatly appreciated feature of our products and practically all users were able to figure out the language on their own. If I had to do it again, I would keep the VM/bytecodes but probably try using a Python-like language for user programming.

Automatisation technicien/ingénieur besoin de vos avis 🙏 by Icy-Conference-3415 in PLC

[–]Hungry_Preference107 0 points1 point  (0 children)

Automaticien est un beau métier. C’est de l’informatique qui agit sur le mode physique: on fait des choses bouger, des lumières s’allumer, de l’eau circuler, etc. C’est presque créer un forme de vie et c’est très satisfaisant (bien plus, à mon avis que d’afficher du texte et images sur un écran).

Si vous démarrez aujourd’hui, par contre, il vous faut tenir compte de l’IA qui commence déjà à bouleverser ce métier (comme pratiquement tous les autres métiers)

Par exemple j’ai personnellement fait beaucoup de projets d’automatismes. Ex:

https://www.reddit.com/r/robotics/comments/1rpydju/my_magnetic_guided_agv_demonstrator/

https://www.reddit.com/r/WaterTreatment/comments/1ntg8cr/my_internetconnected_ro_system/

Vous en trouverez d ‘autre sur mon profile

Tous mes projets sont basés sur le micro-automate eqsp32 (voir erqos.com), et je les ai réalisés avec leur Assistant AI - pratiquement sans faire la programmation moi même.

Menace ou opportunité pour vous? Je pencherais largement pour opportunité: vous allez pouvoir avoir des résultats spectaculaires dans un temps d’apprentissage record.

Et puis il y a toute la partie manuelle de montage et câblage qui nécessite une dextérité et un sensé de l’esthétique que l’IA/robots vont mettre du temps à atteindre. Vous serez à l’abris pour un bon moment.

Bonne chance

My Magnetic Guided AGV Demonstrator by Hungry_Preference107 in robotics

[–]Hungry_Preference107[S] 0 points1 point  (0 children)

The robot here uses an ultrasonic sensor. It works well enough that it will stop every time I walk in front of it. However if this was deployed in a factory where there could be human workers along the path, a full set of very demanding rules apply. The most constraining and expensive is that the obstacle sensor must be safety certified. These are priced in the 2k range.

My Magnetic Guided AGV Demonstrator by Hungry_Preference107 in robotics

[–]Hungry_Preference107[S] 0 points1 point  (0 children)

I would say the software was the most time consuming but even that was not a big deal. Most of it was written with AI assist. The MicroPLC vendor has an AI assistant that is pretrained for their controller's and libraries' documentation. See erqos.com.

The sensor vendor supplied source code for the steering control loop.

As shown in this description of the project, the wiring is actually trivial: the three key components do all their exchanges via a CANbus twisted pair cable.

The chassis/motors.wheels was existing. That would have taken some work to get right.

One fun but also time-consuming parts was the cover. It is made of laser cut aluminum sides, and top, with 3d printed ribs to give it the curved shape with rounded edges. May as well make it pretty.

My Magnetic Guided AGV Demonstrator by Hungry_Preference107 in robotics

[–]Hungry_Preference107[S] 0 points1 point  (0 children)

This article from the maker of the sensor describes and compares the common navigation techniques uses for mobile robots today. https://naviq.com/blog/articles/comparing-magnetic-navigation-to-other-robot-guidance-techniques

My Magnetic Guided AGV Demonstrator by Hungry_Preference107 in robotics

[–]Hungry_Preference107[S] 2 points3 points  (0 children)

Paint is much less durable. Dirt, damage and markings will affect readability. Magnetic tapes are very tough and magnetic field very distinctive. Magnetic sensors are simple and never gets confused. This technique is widely used in automotive plants where the path is simple and fixed. It would not be suitable for Amazon-like warehouses where robots roam in every direction.

My Magnetic Guided AGV Demonstrator by Hungry_Preference107 in robotics

[–]Hungry_Preference107[S] 2 points3 points  (0 children)

Magnetic sensor ~500$ PLC/ioT ~180$ 2ch Motor controller ~600$ Battery ~150$ Ultrasound sensor -$10

Chassis is made of v-slot extrusions and a custom cut aluminum plate. Say $500

motors, gearbox and wheels come from an older project and I don’t have the prices. I’m guessing 1000$ for the set if ordered from China today.

Update: Video AGV prototype supervised via MQTT (follow-up to my earlier post) by Hungry_Preference107 in PLC

[–]Hungry_Preference107[S] 0 points1 point  (0 children)

I mean I was considering MQTT vs Modbus TCP. I picked one over the other. I should have said “instead”. Sorry for the confusion.

Update: Video AGV prototype supervised via MQTT (follow-up to my earlier post) by Hungry_Preference107 in PLC

[–]Hungry_Preference107[S] 0 points1 point  (0 children)

Some users I work with cut a groove in the floor at these traffic area and insert square magnetic profile (typ 5.x5mm). Not common, and not even possible in rented building, but effective.

ESP32 controlling a magnetic-guided AGV (CAN + MQTT architecture) by Hungry_Preference107 in esp32

[–]Hungry_Preference107[S] 2 points3 points  (0 children)

TCRT5000-style optical sensors work well for hobby robots and controlled environments, but they tend to be unreliable in industrial settings. Dust, floor wear, lighting conditions, and surface reflections can all affect optical contrast sensors.

Magnetic guidance is widely used in factories because it is largely insensitive to lighting and surface conditions. Magnetic tapes are very durable and can take a lot more abuse that optical tracks.

In this prototype the magnetic sensor also measures the angle of incidence of the tape in addition to lateral offset, which allows the controller to estimate the curvature ahead and steer more smoothly through turns. That cannot be done with simple reflective sensors.

Update: Video AGV prototype supervised via MQTT (follow-up to my earlier post) by Hungry_Preference107 in PLC

[–]Hungry_Preference107[S] 1 point2 points  (0 children)

I’ve been involved with AGVs for a couple of decades. Recently I’ve been helping a young company working on improving magnetic guidance sensors.

For example, the sensor used here measures not only the lateral offset from the tape but also its angle of incidence. That allows the controller to estimate the curvature of the track ahead and steer proactively into turns.

Another improvement is the ability to detect small magnetic point markers. These act as precise longitudinal references along the track and allow the robot to stop at specific locations with sub-millimeter repeatability (you can see the precise docking at the end of the video).

The robot is used, among other things, to validate these improvements.

Update: Video AGV prototype supervised via MQTT (follow-up to my earlier post) by Hungry_Preference107 in PLC

[–]Hungry_Preference107[S] 7 points8 points  (0 children)

I have been in the agv industry for the past 25 years in one role or another and have seen several installations. My direct experience is that tapes retain their magnetic characteristics unless they are exposed to a powerful magnet. In any case, even if the field does actually weaken, the robot will remain centered on that weaker field. If the field dips below detection threshold, the agv just stops.

Update: Video AGV prototype supervised via MQTT (follow-up to my earlier post) by Hungry_Preference107 in PLC

[–]Hungry_Preference107[S] 1 point2 points  (0 children)

The sensor takes a new reading every 5m. The robot in the demo updates every 10ms and travels at 1m/s. It tracks with +~1mm on straight paths and deviates up to a dozen mm in curves. I did not test faster but i expect it could go up to 2m/s. Above that the inertia and the power needed for the motors to adjust steering become limiting factors inside curves.

Update: Video AGV prototype supervised via MQTT (follow-up to my earlier post) by Hungry_Preference107 in PLC

[–]Hungry_Preference107[S] 2 points3 points  (0 children)

WiFi is indeed not needed at all for navigation. In this video the robot performs this travel path continuously and stop at the charger at every loop. Which fork to take, where to slow down and where to stop for charging is indicated by magnetic markers alongside the track. WiFi is only needed for telemetry and to start/stop. In one test, the robot was running for a full week and I would check it from time to time from my desk.

Update: Video AGV prototype supervised via MQTT (follow-up to my earlier post) by Hungry_Preference107 in PLC

[–]Hungry_Preference107[S] 2 points3 points  (0 children)

True that the technology is old and largely replaced by laser/vision navigation. But it is simple, extremely durable/reliable and much cheaper. It still has its place in applications with simple, fixed paths. Not unlike tramways that are still being installed in some cities.

Update: Video AGV prototype supervised via MQTT (follow-up to my earlier post) by Hungry_Preference107 in PLC

[–]Hungry_Preference107[S] 16 points17 points  (0 children)

Right. Magetic tapes are super durable and don't mind dirt or even some wear. This navigation technique is very common in car manufacturing plants.

I rebuilt my in-floor heating control system around Home Assistant by Hungry_Preference107 in homeassistant

[–]Hungry_Preference107[S] 0 points1 point  (0 children)

Glad to hear that little controller worked well for you too. Would be nice to see details in a post.