AMOR - Automated Milking Ongoing Robot

Dieses Forum dient zur Evaluation neuer Projekte und Projektideen. Auch kleinen Projekten bietet dieses Forum einen Platz sowie Projekten die nicht ganz so OSE-Kernziel-nah sind.
Benutzeravatar
J.R.I.B.
Beiträge: 288
Registriert: Mi 5. Jun 2013, 00:34

AMOR - Automated Milking Ongoing Robot

Beitrag von J.R.I.B. » Sa 6. Jul 2013, 19:19

===========================================================
THE REPOSITORY IS THE MOST UP TO DATE SOURCE OF INFORMATION!
WARNING: ALL BELOW IS DISCUSSION OR MAY BE OUTDATED!
===========================================================



Dear colleagues,
Liebe OSEG-Freunde,

AMOR is a planned indoor / outdoor combinated mobile robot for automatic milking. It features a simplistic robotic manipulator that uses a 3D camera to determine the udder's position. A milk container of some sort has to be added, but the pipings and vacuum system will be built-in. As will be some outlets for calves' milk. It harvests water from rain, a river, stream or any other water source, a water inlet for connection to the farm's water supply will nevertheless be provided.

--> AMOR's Wikipage
  1. let's start with a problem first: I uploaded a high level schematic of AMOR and added it to its wiki page. I get the following error message:
    Wiki-System' hat geschrieben:Fehler beim Erstellen des Vorschaubildes:
    libgomp: Thread creation failed: Resource temporarily unavailable

    It's a vector graphics svg-File. Wikipedia supports it, so I thought ours too. What shall I do now? Any recommendation of our more experienced guys and gals appreciated!
  2. The schematic is not completely interlinked, but all required modules should be there. Tell me if you think something's missing.
  3. I hope the high level overview will get the planned prototype in a better order. Depending on my budget and the DC-AC high power sine inverter I hope we get the prototype done before end of winter - if not then summer 2014 is the ultimate goal. Any further delay for the prototype would be .. well .. annoying.

A list of missing functionality I'm aware of:
  • A milk container cleaning system.
  • ... (tbd)

----------------------- Continuing with the German translation. -----------------------------------
Zuletzt geändert von J.R.I.B. am Mo 12. Jan 2015, 23:31, insgesamt 13-mal geändert.

Benutzeravatar
J.R.I.B.
Beiträge: 288
Registriert: Mi 5. Jun 2013, 00:34

AMOR - Automatischer Melk Onboard Roboter

Beitrag von J.R.I.B. » Sa 6. Jul 2013, 19:47

AMOR ist ein beweglicher (engl. mobiler) Roboter der mittels eines einfachen Greifarms, automatisch milkt. Ein Behälter oder Milchtank muss extern angeschlossen werden, ein Platz am mobilen Roboter könnte aber vorgesehen werden. Dies ermöglichst uns weitere Flexibilität. Eimer für Kälbermilch können unter bis zu 10 automatisch vom Roboter gesteuerte Milchhähne gestellt werden. Ein Anschluss an die Hauswasserversorgung mittels eines Gartenschlauchs ist vorgesehen. Es wird weiter versucht, Regenwasser aufzufangen oder andere Wasserquellen wie Flüsse, Bächer oder andere Gewässer als Wasserquelle für den Reinigungsprozess der Roboterplattform zu verwenden.

--> AMORs Wikiseite
  1. zuerst die Probleme: Ich habe ein Übersichtsschema auf AMORs Wikiseite hochgeladen. Aber ich bekam die folgende Fehlermeldung:
    Wiki-System hat geschrieben:Fehler beim Erstellen des Vorschaubildes:
    libgomp: Thread creation failed: Resource temporarily unavailable

    Es handelt sich um eine Vektor-Grafik-SVG-Datei. Wikipedia unterstützt SVG, also dachte ich, unser System vielleicht auch? Könnt ihr mir auf die Sprünge helfen, ob ich das Dateiformat ändern muss?
  2. Die Systemübersicht sollte die wichtigesten Module enthalten. Bitte sagt mir, wenn ich noch etwas vergessen habe.
  3. Die Übersicht soll Entwurf (Komponentenauswahl) und Bau des Prototypen für [strike]diesen Herbst bzw. spätestens[/strike] nächsten Frühling erleichtern. Der Prototyp soll entweder diesen Winter oder kommenden Sommer (2014) gebaut werden. Jegliche weitere Verzögerung wird für mich zum Desaster.
Zuletzt geändert von J.R.I.B. am Do 30. Jan 2014, 04:10, insgesamt 6-mal geändert.

nikolayhg
Beiträge: 841
Registriert: So 17. Jun 2012, 20:29
Wohnort: Berlin, Germany
Kontaktdaten:

Re: AMOR - Automated Milking Ongoing Robot

Beitrag von nikolayhg » Sa 6. Jul 2013, 21:38

Hi Jan, statt SVG, du kannst PNG uploaded. Ich habe es auch früher mit SVG nicht geschafft.

Benutzeravatar
J.R.I.B.
Beiträge: 288
Registriert: Mi 5. Jun 2013, 00:34

Re: AMOR - Automated Milking Ongoing Robot

Beitrag von J.R.I.B. » Di 9. Jul 2013, 06:23

Hey Nikolay, habe das gerade getestet und hat auch wunderbar funktioniert. Beim PDF hat's auch geklappt. :) Nur blöd, dass ich jetzt in KiCAD immer Screenshots machen muss, weil ich da PNGs verwende und das kann es nicht "plotten"/in eine Datei drucken.
Die Version 0.2 ist aufgeräumter und hat enthält jetzt auch Verbindungen zwischen den einzelnen Modulen. Sich auszukennen ist auf den ersten Blick bestimmt noch immer nicht leicht, aber im Vergleich zu Version 0.REV1 ist das schon ein himmelweiter Unterschied jetzt. Endlich kann ich mich an die einzelnen Module machen. Ich halt's kaum mehr aus.
Bild

Der 100 kW rein Sinus Inverter hat jetzt aber erstmal Vorrang. Am Donnerstag habe ich auch noch Projektbesprechung für die üble Lehrerwebseite, davon hängt ab wie viel Zeit ich überhaupt haben werde in den nächsten Wochen.

nikolayhg
Beiträge: 841
Registriert: So 17. Jun 2012, 20:29
Wohnort: Berlin, Germany
Kontaktdaten:

Re: AMOR - Automated Milking Ongoing Robot

Beitrag von nikolayhg » Mo 22. Jul 2013, 23:46

Hi Jan, please send me your email to nikolay@georgiev.cc so that I can forward you one email that I received for you. Thanks, Nikolay

Benutzeravatar
J.R.I.B.
Beiträge: 288
Registriert: Mi 5. Jun 2013, 00:34

Re: AMOR - Automated Milking Ongoing Robot

Beitrag von J.R.I.B. » Do 7. Nov 2013, 09:37

(Thank you very much Nikolay. I have sent a message to you some days ago.)

Finally news for AMOR. Several design choices have been made:
  • Controller: Beagle Bone Black (BBB) + Stepper drivers or Vacuum valves (robotic controller).
  • RODOS (Realtime operating system), supports ARMv7 (=>BBB) better than Raspberry Pi, furthermore, I fear we'd get into serious trouble if using Raspberry Pi as it is neither real open source (processor) nor are the schematics available due to the 'manufacturing contract' with RS, Farnell/element14 and Reichelt - that and the not sufficient Real Time capabilities with jitter in the region of 4..20 [Xanomai + Linux] over 10..80 [Realtime Linux Kernel] to 600 [Realtime Linux Kernel again, sources vary!] so that PWM would only be possible with a frequency of 1 Hz or below in the latter case. The unit is micro seconds.
  • BBB has 50+ GPIOs vs. 8 GPIOs of Rpi.
  • BBB has 8 PWM pins vs. 0 on the Rpi.
  • BBB has Cortex 8 1GHz processor vs. 700 MHz of the Rpi and the technology used in the BBB processor from TI uses parallel instructions among other improvements in preformance that make a big difference as first tests show [Source: Michael Leonhard].
  • BBB has ADC modules inbuilt. (though DAC would be possible with both using a small external circuit or even pure software high frequency pin switching what is not viable as we need the computing power for our robotic manipulator.)
  • The whole system will be powered by an old power supply of a PC running SUSE linux or a minimal python server or whatever proves the most viable for running blender and MySQL/SQLite as well as the network link at the same time.
  • Alternatively at a later point the BBB can take over the webserver and storage responsibility too. This is only possible if the resources of the BBB are enough to control all the gates, the feeding AND the milking and still has reserves for the webserver thing (as traffic will be low). Then the power supply will be a custom green UPS that integrates with alternative energy (solar & steam as cooling the milk will give plenty of heat back - water storage will be heated up as an energy storage).
  • Vacuum pump will be anything one can think of from a vacuum cleaner to a diffusion pump as we need a low degree of vacuum only. (it's not an electron beam precision machine!)
Details are still in development - the prototype has been scraped and now is being used a tree house ...
The decision to switch from Raspberry Pi to BBB has far reaching consequences and will hopefully save us some annoying dead ends.

The robotic manipulator in its existing cardanian design will be kept - besides that some effort is invested in controlling it via vacuum cylinders instead of springs and stepper motors (at least that'd be good if we have constant cow positioning feedback from the 3D camera at the tool tip what I doubt we have -- if not then a stepper will be a much more predictable choice because of accurate positioning!). Perhaps a hybrid solution will be viable, e.g. vacuum controlling gates and feeding system as well as at least one manipulator axis (Z, for tolerating a cow's hit - otherwise the robot would break) while the other two axes (X, Y) are controlled by steppers. This has the huge benefit that once the cows' udder teats are close enough the teat cup will pull itself to the destination (because air/vacuum is compressible/expandable).

I have found a solution for a pure stepper configuration too if the vacuum approach turns out unfeasible: 1) A spring high. 2) The tether low. (as a reminder to myself of my idea ...)
Another solution could be to use Spring (strong) -> Tether -> Robot -> Spring (weak) although this sounds like harvesting potatoes by digging a tunnel to not to have to pull them out of the earth. :?

Benutzeravatar
J.R.I.B.
Beiträge: 288
Registriert: Mi 5. Jun 2013, 00:34

Re: AMOR - Automated Milking Ongoing Robot

Beitrag von J.R.I.B. » So 10. Nov 2013, 23:36

Vergissmeinnicht:
  • Tormechanik umstellen: Zentral & 1 Vacuumzylinder (TODO: CAD-Zeichnung) => alles fix bis auf eine Seite des Robotergestells,
  • 7x Kälbermilch in Milchkanten - Display!
  • (da war noch etwas .. nur was)
Nach dem Verlegen des Futtertanks (Aufhängung) steht dann die Mechanik. Ansteuerung des Futterautomats mittels eines einfachen Ventils, gesteuert durch Relay.

Es wird davon ausgegangen, dass noch ein alter Milchtank mit integrierter Kühlung zur Verfügung steht. Ein 1-Phasen-Wechselstromanschluss dafür wird vorgesehen. Optimal wäre natürlich ein selbstreinigender Tank, doch das ist etwas für später, wenn der wichtige Teil ersteinmal funktioniert.


Planung:
Als nächstes kommen daher jetzt die Sensoren für die Milcheigenschaften.

Dann sammeln wir die Daten und schicken sie per Radiofunk/Wifi weiter an den Linux-Server, der einen Touchscreen betreibt und die HTML5-Seiten generiert.
(Da einzelne Messpunkte nicht kritisch sind, werden verloren gegangene Pakete nicht beachtet. => Es wird ein einfaches, schnelles Protokoll zur Übertragung verwendet.)

Währenddessen ist das Beagle Board Black mächtig beschäftigt mit Steuern des Roboters und vor allem der Auswertung der Daten der 3D-Kamera. Optimalerweise sollte BBB Milchfluss messen UND den Futterautomaten kontrollieren. Alles andere macht es unnötig kompliziert.

Also alles in einem Mikrocontroller. Zu dem wie ich das in Sachen Redundanz lösen will (Watchdog) gibt es dann später ein paar Infos. Jetzt muss ersteinmal das bisher erreichte in Einklang miteinander gebracht werden (und leider die Software geschrieben werden).

Benutzeravatar
J.R.I.B.
Beiträge: 288
Registriert: Mi 5. Jun 2013, 00:34

Re: AMOR - Automated Milking Ongoing Robot

Beitrag von J.R.I.B. » Di 26. Nov 2013, 03:29

Status:
  • Tor auf Kippmechanik umgestellt.
  • Vakuumzylinder entfällt (war teuer und hatte nicht genug Reichweite).
  • Druckluft entfällt (der Vakuumzylinder wird jetzt anstatt durch Druckluftzylinder mit Elektroantrieb ersetzt). Grund: Eine weitere Technologie macht alles nur komplizierter, wir nehmen, was wir eh haben und das ist Vakuum zum Melken und Strom für alles andere.
  • Rohre entfallen, Schläuche sind ausreichend für den geringen Durchfluss der Milch einer einzelnen Kuh. (ein weitere Vorteil des Melkroboters: nur ein Melkzeug und keine Rohre => weniger Hardware => geringe Wartung).
  • Kühe stehen jetzt auf Gitter aus Rostfreiem Stahl oder Matten ( je nachdem, was man eher zur Hand hat). In das Gitter pflocken wir teils Holzstifte, damit keine Rutschgefahr für die Tiere. Das Gitter ist mein Favorit, weil es: 1) robust, 2) durchlässig (permeabel, d.h. für Regen, Dung oder Waschwasser).
  • Für die vielen Aktuatoren wird der Strom kaum ausreichen, den man durch alle regenerativen Energien zusammenschaufelt (weil auch nachts, z.B. ab 4 Uhr, Melkbetrieb möglich sein muss und da die Mobilität des Melkroboters nicht gefährdet werden darf, z.B. durch Überladen mit zu vielen Solarmodulen und Batterien). Daher wird auf PowerCube in Variation: Diesel -> Strom oder ein Notstromaggregat verwendet. Alternativ kann ein Schalter eingebaut werden, um ein Kabel anzuschließen. (Ich bin allerdings gegen den Stromanschluss, denn: 1) es macht alles komplizierter, 2) Kabel sind unendlich teuer, wenn Leistung und/oder Strecke groß werden, 3) Mobilität des Melkroboters wird gefährdet, Wasseranschluss ist bereits genug Tohuwabohu.).
  • Eine Alternative zur Stromversorgung wäre noch ein Traktor - den man eh zum Melkrobotertransport braucht - per Zapfwelle an einem Generator zu betreiben, allerdings: 1) Traktor muss abgezäunt werden, da Tiere ihn auseinanderbauen (ich habe schon Bekanntschaft mit abgerissenen Motorhauben von älteren Trekkern gemacht!), 2) Traktormotor und Getriebe gehen im Dauerbetrieb zugrunde. 3) Effizienz ist schlechter als direkt ein Notstromaggregat zu verwenden.
  • Gemessen wird: Spannung, Stromstärke, Milchfluss und zu Beginn nur Reinheit der Milch sowie ob Milch in Tank gemolken oder in Kälberkanten abgefüllt werden soll.
  • Als Notlösung für das Vormelken und Zitzen-Reinigungssystem wird jetzt auf einen fünften Melkbecher zurückgegriffen, ein den Wasserschlauch eingeführt.
  • Damit alles schneller geht, denke ich an Simultanbetrieb eines weiteren Roboterarms, das dürfte zwar Abstimmungsschwierigkeiten geben, aber ich habe da schon eine Idee. (Die Kosten sind jedenfalls nicht signifikant in unserem DIY-Roboter.)
Die Kosten für Metall, Elektronik, Motoren, Pumpen (TODO: Trocken oder Diffusionspumpen Vor-/Nachteile), Milchtank (selbstreinigend?) sind insgesamt schwierig einzuschätzen, da die meisten ja schon einen Milchtank haben, also den auch wiederverwenden werden.


Das Milchwagenproblem darf man nicht vergessen, man muss eine großzügige Gasse für den Milchwagen zäunen oder einen Feuerwehrschlauch verlegen, sonst wird die Milch garantiert nicht abgeholt!!


Die Strom sollte zumindest kurzzeitig und vor allem des Tags auch mal ohne Treibstoff auskommen können, also plane ich ein Mikrostromnetz (micro grid):
1. Fall: AC.
Wechselstromnetz für Notstromaggregat und andere Energiequellen mit Batterien und STATCOM (static compensator).
Transformatoren sind für Strecken von wenigen Hundert Metern und bei 3Phasen (also 400+V) bei unseren Energien nicht nötig.

2. Fall: DC (wenn kein Gerät Wechselstrom benötigt).
Gleichstromnetz für 12V/24V Generator/Aggregat und Solarzellen oder andere Gleichstromenergiequellen wie unsere VAWT Windturbine. Weiter Batterien und Maximum power point tracking (MPPT).
Transformatoren (DC-DC Wandler) sind für die Strecken eines Melkroboters (wenige Meter) auch bei Gleichstrom (DC) nicht nötig, bei Gleichstrom fällt weiter der Skineffekt weg.
Zuletzt geändert von J.R.I.B. am Sa 14. Dez 2013, 13:41, insgesamt 2-mal geändert.

Benutzeravatar
J.R.I.B.
Beiträge: 288
Registriert: Mi 5. Jun 2013, 00:34

Re: AMOR - Automated Milking Ongoing Robot

Beitrag von J.R.I.B. » Sa 14. Dez 2013, 13:23

Out of financial fiascos I have taken yet another third job two weeks ago, resulting in few time to develop this robot further currently. Of course development is not on hold, it just has lower priority until certain plagueing projects are driven far enough to make me relax those neverending update cycles a bit to step up the update cycles of AMOR again. :roll:

The Electronics order (containing especially the BeagleBoneBlack microcontrollers) had to be cancelled out of the same reasons and is postponed until after Christmas to not drive the postal services crazy. (I know my post officer quite well and don't want to risk him driving into one of the deeps here accidentally out of hurry only because of my Beaglebones and ice angels. I would miss his funny comments better not to build a b.omb whenever a new package arrives ... This time of the year the post officers help Santa Claus or the Christmas Angel or any other religions' angels a lot anyway.)

Luckily one of my higher priority investigations circle around open source RODOS (RealTimeOperatingSystem), where I have to implement a UDP stack and interface FlightGear user interface that uses OpenSceneGraph.
This work hopefully will help us out with the AMOR user interface and/or sensor node communication.

One news:
  • We spare a lot of time receiving and sending packages (serial or parallel) because we will NOT use complicated protocols that use for example handshaking! The reasoning behind this is that the unknown loss of one or the other sensor data (like milk properties) is not critical. In the HTML5 user interface we will simply interpolate that missing measurement.
  • Stepper motors for the robotic manipulator are being ordered, Alibaba imports is ruled out, price difference is subtle, shipping with current technological means (namely ships) is not an option and furthermore not really morally bearable. Nevertheless the focus still is on creating the least expensive yet functional self-repairable automated milking robot possible to our means (that mean: use mechanics like you want, using our design as a reference and plug in our do it yourself milking robotic manipulator, test it, improve it, commit back mechanical or milking procedure enhancements (that farmers probably have gained by experience from centuries of milking ... feedback is 8-) ).
Despite these bad news keep up hope and let's drive further our open source efforts. It can make the difference in future.
Zuletzt geändert von J.R.I.B. am Do 30. Jan 2014, 02:59, insgesamt 1-mal geändert.

Benutzeravatar
J.R.I.B.
Beiträge: 288
Registriert: Mi 5. Jun 2013, 00:34

Re: AMOR - Automated Milking Ongoing Robot

Beitrag von J.R.I.B. » Mo 6. Jan 2014, 19:24

*Update*
Two workloads are about to pass:
  • One time-consuming job is done, money will take time to arrive. So I had to postpone the BeagleBone order again. :? Update: 2014-01-30: Money still not arrived. Update: 2015-01-10: Money still not arrived. Was told by customer's insurance that they won't pay me until the customers didn't pay their insurance bill. That's a complication. :/
  • The most time-consuming other task is finally getting to an end (teacher's project) - after approximately one and a half years of headaches and bad dreams because of that crazy simplify-teachers' lives project for the didactics department ... (still hoping they decide to make it an open source project).
Then I only have one last exam and my thesis left for a giant rush as time runs out. I have few months - don't know if that will be enough for getting at least a "pass" in the thesis. Update: 2014-01-30: My thesis now is the Teacher's project. This bundles my efforts.

The hydro plant has advanced significantly and development has to speed up even more as frontiers harden here in the farm bankruptcy problem. Giant biogas energy farmers are knocking us out, we're loosing our animals' food for producing energy (don't know where they take the money for paying these horrific amounts of field leasing money). Update: 2014-01-30: The rather small scale hydro plant alone will not deliver enough energy. Looking for exotic alternatives. What about tying magnets to trees? (=


AMOR comes back to focus again as our sheep shift plan seems to turn perspectiveless:
  • The preliminary vacuum system is done.
And I came up with a solution for our 3D milling, printer, ... combination: There one often has a workpiece-fixing problem and I think we can solve that easily now using strong vacuum suckers. What do you think? This will fix the part no matter where you place it. I plan using individually controllable suckers where only those starting at the origin that is calibrated on the fly to LinuxEMC are active. The rest is inactive not to create too much vacuum leakage but perhaps this is not even necessary. Has to be determined. <-- This no longer is up to date. After some discussion with a farmer, I now believe vacuum is problematic if the milling object has a non-flat shape. A plane might be sucked to the ground properly by the vacuum suckers. But is this true for a ball too? I think no. (consider how the vacuum will leak while prototyping details of the head of the Statue of Rhodes).



If I'm lucky I can finally get around preparing RODOS for us, too. --> R & D Topic RODOS

I will divide my efforts threefold in the next time (priority descending):
  • Teachers'/University project. <-- now this is the Thesis' topic, but they had crazy special wishes, this will consume my next two months all day long (it has already started two weeks ago, but now it's official).
  • [strike]Thesis: RODOS UDPserver & FlightGear interfacing (i.e. using their OpenCascade interfacing).[/strike] <-- Update: Topic now is Teacher's project.
    Also I was asked for a thread scheduling visualization tool. There exist plenty (e.g. from Uni Karlsruhe) but somehow they seem not to like 'Open source' and better all roll their own. :roll: :| <-- Update: I have cancelled this task because I don't wish to reinvent the wheel (there are already proven open source tools). Instead I forwarded YARTISS (open source visualization tool for thread and for testing scheduling algorithms, attention: it needs Java 1.7 or newer) and this awful good state-of-the art master thesis.
  • Hydro plant schematics for the 700V DC batteries and the finalization of the AC micro-grid. A later option will be to add solar panels or fuel cells, that's why 700V DC bus is chosen (just like we chose it for buildtheenterprise.com where I invite our fellows to join our efforts). Warning: 700V DC can kill and will if one handles it wrongly! Warnung: Ein Stromschlag von 700V Gleichstrom ist tödlich!
  • Think about using DiVER (DC) grid for AMOR. Probably at first we now go the easiest route and simply take grid power using a long extension cord (preferably three phase). All else will prove troublesome if enough power for cooling milk has to be available. Using piping for leading milk to the existant stationary milk tanks are an option but will limit the mobility of the 'mobile' milking robot significantly. If we have no other choice, we will go that route.
Input and participation in development is very welcome. I understand people doubt the usefulness of an automatic milking system. I wonder whether they still think the same once they have to make milk, yoghurt-/cheese (or other milk products) for a bigger ecosystem let's say an open source village or a tribe in a developing country. Cheesemaking et al. already requires vast amounts of time and now image you have to milk the 100 cows for supplying enough milk for the population just using a single bucket milker. Bearing hundreds of liters of milk in the bucket. And it will take half your day - twice a day. :)
Perhaps you will think different of my craziness about 'autonomous' milking once you did bucket milking for y e a r s. And an automatic milking system is not much more difficult than milking buckets. The pulsators are the most critical part anyway as vacuum fluctuations easily can destroy your animals' udders, so the complification of using a manipulator will not add too much. Okay, I see, it's hard to convince you. lol ;)
Zuletzt geändert von J.R.I.B. am Sa 10. Jan 2015, 21:15, insgesamt 7-mal geändert.

Antworten