Geschiedenis van techniek, technologie en informatica
Programmeren en robots in de oudheid
Mijn studenten kijken altijd wat ongelovig, maar vooral ook nieuwsgierig als ze te weten komen dat ik zowel met geschiedenis als met informatica bezig ben. Voor mezelf is dat niet zo vreemd. Informatica bedrijven is informatie structureren, catalogiseren, vergelijken, indelen, opzoeken, doorzoeken, filteren ... kortom, dingen waarover ook de heuristische methodes van een historicus handelen. Het ultieme streefdoel als leraar is jongeren leren omgaan met informatie, ze leren filteren. Maar dat is natuurlijk makkelijker gezegd dan gedaan.
Leren betekent ook informatie bestendigen in het geheugen. Ruwweg kunnen we als mens op twee manieren informatie leren en opslaan. Declaratieve herinneringen gaan via de kortetermijnbuffer naar onze hersenen. Het betreft in dit geval semantische herinneringen, zoals begrippen en feiten, en episodische herinneringen, die gekoppeld zijn aan een bepaalde tijd en ruimte. Dit soort informatie raakt het snelst vergeten. Niet-declaratieve herinneringen gaan niet via de kortetermijnbuffer en lijken door onze hersenen meer te worden bestendigd. Hierin onderscheiden we drie vormen van leren: motorisch leren verloopt via de kleine hersenen, perceptueel leren via de neocortex en gewoontevorming via de basale ganglia.
De langetermijnopslag, kortom de ‘harde schijf’ of het geheugen van onze hersenen, ligt in de neocortex en voor een stuk in de hippocampus, in het zogenaamde "zoogdierenbrein" . Mensen met geheugenproblemen zoals dementie ‘vergeten’ de namen van hun kinderen, maar kunnen meestal wel nog fietsen of koken. Het lijkt erop dat aangeleerde stappenplannen beter geconsolideerd worden dan pure feitenkennis. Ook al hebben computers niet meteen last van dementie, toch onderscheiden we ook hier die dualiteit tussen pure feitenkennis (de opslag van informatie) en het uitvoeren van programma’s.
Machines programmeren
De grootste genoegdoening krijg je als programmeur als je de machine precies kan laten doen wat jij wilt. Dat is natuurlijk wat anders dan bijvoorbeeld het licht ontsteken bij het drukken op de schakelaar. Een programma bestaat uit een stappenplan of meerdere instructies, die de machine achtereenvolgens moet uitvoeren. Een programma heeft ook enkel nut als de machine de instructies zelfstandig en automatisch uitvoert. De stuurfunctie is voor een stuk vastgelegd in een programma, waardoor de mens op dat punt overbodig wordt. De muziekdozen en pianola’s (automatisch spelende piano’s met geponste platen) uit de 19e eeuw, de machines van de Banū Mūsā uit de 9e eeuw of de automaten van Jacques Droz werkten met kamsystemen en cilinders met pinnen. Deze cilinders roteerden, waarbij de pinnen tegen hefbomen drukten en een bepaald mechanisme in gang zetten. Als je de cilinder verving, veranderde ook het programma.
Afbeelding: 19e eeuwse muziekdoos.
Heron, de eerste programmeur?
‘(...) Nadat ik Herons tekst grondig had gelezen, had ik niet de minste twijfel over zijn intentie. Het is duidelijk dat hij zijn robot had ontworpen om hem te kunnen programmeren en om hem in het theater voor verschillende effecten te gebruiken. Op een bepaald punt beschrijft hij zelfs hoe je ingewikkeld gedrag moet programmeren.’
Net zoals in moderne programmeertalen slaagde Heron er ook in om een ‘timer’-functie in te bouwen. Daarvoor plakte hij met was een stuk van het touw vast aan de as. Het zakkende gewicht trok het was stilaan los. Als het touw eenmaal was losgekomen, begon de as weer te roteren. Je zou de instructies voor Herons robot kunnen uitschrijven met een eenvoudige programmeertaal, zoals de programmeertaal die (als een gratis alternatief) voor Lego® Mindstorms- robots werd ontwikkeld.
task main(){
OnFwd(OUT_A,75);
OnFwd(OUT_B,100);
Wait(3000);
}

Het automatische theater van Heron reed volkomen zelfstandig het podium van het theater op. Daar stopte het en toonde een toneelstuk van mechanische poppen, die eveneens door een mechanisme van pinnen, gewichten, touwen, assen, tandwielen en hefbomen werden aangedreven. Het theater was voorzien van decorwissels en geluidseffecten. Door op een bepaald moment een sleuf open te trekken vielen loden ballen op een trom, wat het geluid van donder simuleerde.
Oeroude wortels?
De ongeziene genialiteit die hij aan de dag legde bij het programmeren van zijn automatische theaters doet vermoeden dat ze slechts een stap waren in een lange traditie van programmeerbare machines. Dat blijkt ook uit zijn teksten. Heron klaagt er uitdrukkelijk over dat schrijvers die voor hem leefden niet duidelijk genoeg waren in hun boeken over automaten. Hij verwijst ook expliciet naar het thans verdwenen boek van Philo van Byzantium over automatische theaters. Ook de werken van Aristoteles bevatten referenties aan automaten, en zelfs in de Ilias van Homeros lijken sommige passages automaten ter sprake te brengen.
Moderne software heeft met andere woorden oeroude wortels.
Het heeft er dus alle schijn van dat automaten een onafgebroken traditie van overerving kennen, startend bij Philo van Byzantium over Heron, via de Arabische ingenieur Al-Jazari en Leonardo da Vinci naar de programmeerbare weefgetouwen van Jacquard. Moderne software heeft met andere woorden oeroude wortels.
Kris Merckx - Uit het boek: "Niet van gisteren". http://www.nietvangisteren.be
Reconstructie - Heron I / HerOne
Een 2000 jaar oude programmeerbare robot
De Heron I / HerOne is een reconstructie van een programmeerbare robot van Heron van Alexandrië. Het toestel wordt aangedreven door een zwaartekrachtmotor (gewicht) en is door een pinmechanisme herprogrammeerbaar. We bouwden voor de lezingen bij het boek "Niet van gisteren" een sterk vereenvoudigde versie van het automatisch theater van Heron van Alexandrië. Hoofddoel was de programmeerprincipes en het gebruik van gewichten zoals we in veel latere klokken terugvinden, te demonstreren. Het toont aan dat programmeren en automatisering geen uitvinding van de 20e eeuw is.
Met dank aan Ghislain Kinnart voor het uitwerken van de plannen in een model.




Noel Sharkey, professor artificiële intelligentie en robotica aan de universiteit van Sheffield bestudeerde het werk 'Peri automatopoietikes' van Heron van Alexandrië. In dat werk beschrijft Heron (1e eeuw na Chr.) het bouwen van automatische theaters.
"(...) Nadat ik Heron's tekst grondig had gelezen, had ik niet de minste twijfel over zijn intentie. Het is duidelijk dat hij zijn robot had ontworpen om hem te kunnen programmeren en om hem in het theater voor verschillende effecten te gebruiken. Op een bepaald punt beschrijft hij zelfs hoe je ingewikkeld gedrag moet programmeren. "

Het automatische theater van Heron reed volkomen zelfstandig het podium van het theater op. Daar stopte het en toonde een toneelstuk van mechanische poppen die eveneens door een mechanisme van pinnen, gewichten, touwen, assen, tandwielen en hefbomen werden aangedreven. Het theater was voorzien van decorwissels en geluidseffecten. Door op een bepaald moment een sleuf open te trekken, vielen loden ballen op een trom, wat het geluid van donder simuleerde. De ongeziene genialiteit die hij aan de dag legde bij het programmeren van zijn automatische theaters doet vermoeden dat ze slechts een stap waren in een lange traditie van programmeerbare machines. Dit blijkt ook uit zijn teksten. Heron klaagt er uitdrukkelijk over dat schrijvers die voor hem leefden niet duidelijk genoeg waren in hun boeken over automaten. Hij verwijst ook expliciet naar het thans verdwenen boek van Philo van Byzantium over automatische theaters. Ook de werken van Aristoteles bevatten verwijzingen naar automaten en zelfs in de Ilias van Homeros lijken sommige passages naar automaten te verwijzen.
Kris Merckx
Programmeren is oud
Een computer kan met behulp van software een heleboel taken automatiseren om de mens werk uit handen te nemen en vooral de benodigde (werk)tijd te verkorten. Toch beseffen velen nog steeds niet hoe ze dat precies moeten doen. De zoek-en-vervangopdracht in een tekstverwerkingsprogramma is daar een simpel voorbeeld van. In heel wat software kunnen steeds weerkerende taken met behulp van zogenaamde macro’s geautomatiseerd worden. Je voert een aantal taken uit terwijl de computer de uitgevoerde opdrachten stapsgewijs registreert. Nadien kan hij zelfstandig die taak herhalen. De lijst met instructies is vastgelegd in het geheugen van de computer. In automaten zitten de instructies eveneens in de machine.
De organen van de machine
Tijdens mijn lessen steek ik mijn bewondering voor Leonardo da Vinci niet onder stoelen of banken. Elke kans die zich voordoet om het over hem te hebben neem ik te baat. Iedereen kent Leonardo, al was het maar omdat hij de beroemde Mona Lisa heeft geschilderd.
Leonardo da Vinci was niet alleen schilder, maar ook ingenieur en beeldhouwer. Hij las gretig de vertalingen van Heron en Vitruvius, en bestudeerde de verschillende onderdelen van de machines. Hij noemde ze de ‘elementen’ of ‘organen’ van de machines. Door die onderdelen op allerlei manieren te combineren kon je in zijn ogen een oneindig aantal machines bedenken en bouwen. Wanneer je de werken van Da Vinci bekijkt, doen ze vaak denken aan de handleidingen uit dozen Lego® Technics. In zijn teksten beschreef hij welke soorten schroeven, tandwielen, vliegwielen, kogellagers, kettingen, veren, katrollen enzovoort er bestaan en hoe je ze maakt. Hij voorzag zijn teksten van uitgebreide technische tekeningen in perspectief. Zelf ontwierp hij een hele reeks machines: oorlogstuig zoals mortieren en tanks, baggerschepen, vliegtuigen, een helikopter, een duikpak, een hydraulische zaag ... Hij observeerde ook nauwlettend de vlucht van vogels en de werking van hun vleugels en veren. Leonardo ontwierp op basis daarvan tal van (zweef)vliegtuigen, die hij zelfs voorzag van schokdempers om bij de landing het ‘vliegtuig’ niet te beschadigen. Velen denken dat hij prototypes van die geniale vondsten zelf heeft uitgetest. Toch is het grootste deel van zijn uitvindingen nooit in praktijk gebracht. Een van de meest verbazingwekkende afbeeldingen uit de beschrijvingen van Leonardo da Vinci is die van een fiets. De fiets zoals we hem nu kennen, werd pas uitgevonden aan het einde van de 19e eeuw.
Codex Atlanticus
In de Codex Atlanticus, een bundel tekeningen en teksten van Leonardo die vervaardigd zijn tussen 1479 en 1519, ‘staat’ echter een tekening van een fiets met spaken, tandwiel, ketting, stuur enzovoort. Dit zou betekenen dat de fiets niet in Frankrijk of Duitsland werd uitgevonden, maar driehonderd jaar eerder in Italië, door de uitvinder aller uitvinders: Leonardo da Vinci. Recent onderzoek zou echter aantonen dat de fiets helemaal niet door Leonardo of een van zijn leerlingen werd getekend, maar pas veel later bij de restauratie van de ‘teksten’ is toegevoegd. Oorspronkelijk stonden er wel een aantal onderdelen van een voertuig dat sterk op een fiets lijkt, maar geen frame. Het is niet duidelijk wie de vervalsing heeft gemaakt. Sommige Leonardo- specialisten blijven echter vast geloven in de echtheid van het ontwerp.
In 1550 schreef Giorgio Vasari (1511–1574) in zijn boek over het leven van de belangrijkste Italiaanse kunstenaars:
‘Toen Leonardo da Vinci in Milaan was, kwam de koning van Frankrijk op bezoek. Hij vroeg hem iets speciaals te doen. Da Vinci ging aan de slag en presenteerde hem een leeuw die een paar stapjes zette en zijn borstkas opende, waar tal van lelies uit tevoorschijn kwamen.’
De Amerikaanse robotexpert Mark Rosheim bestudeerde de Codex Atlanticus van Da Vinci in de hoop sporen te vinden van die robotleeuw. Hij is ervan overtuigd dat Da Vinci de leeuw op een mechanisch programmeerbaar wagentje had geïnstalleerd. Een veermechanisme deed wielen draaien, die op hun beurt kleinere wielen in beweging zetten. Die stuurden houten armen aan, waaraan een soort schaarmechanisme was bevestigd. Door de armen volgens een vastgelegd plan te laten bewegen kon het karretje rijden en ook draaien.

Het boek der kennis over ingenieuze mechanische apparaten
Leonardo was niet de enige die vruchtbaar gebruikmaakte van de kennis van automaten die via vertalingen van klassieke en hellenistische werken doorsijpelde. Abū al-’Iz Ibn Ismā’īl ibn al-Razāz al-Jazarī of kortweg Al-Jazari voor de vrienden (1136–1206) werd genoemd naar zijn geboorteplaats Al-Jazira (tussen Tigris en Eufraat). Hij werkte als astronoom, wetenschapper, wiskundige en ingenieur aan het paleis van Diyarbakır, die heerste over Oost-Anatolië. Over het leven van Al-Jazari is niet veel bekend, maar gelukkig bleef zijn Kitáb fí ma’rifat al-hiyal al-handasiyya (Het boek der kennis van ingenieuze mechanische apparaten) bewaard. Het bestaat uit een zestal hoofdstukken die handelen over mechanica en techniek: water- en tijdkaarsen, apparaten die trucs verrichten, hydraulische automaten en meetinstrumenten, fonteinen, muziekautomaten, hijsmachines enzovoort. Al-Jazari was duidelijk op de hoogte van de vondsten en mechanische onderdelen van de hellenistische technici. Hij vermeldde de krukas, het echappement, de waterhijsmachines, de dubbele pomp ... Het is niet altijd duidelijk in welke mate hij zelf aanpassingen heeft aangebracht. In zijn werk vinden we ook beschrijvingen van gesegmenteerde versnellingen, tijdkaarsen en klokken die met gewichten en waterkracht werden aangedreven. Zijn bekende olifantenklok lijkt de voorloper van onze koekoeksklok.
Afbeelding: 18e eeuwse automaat
Automatisering in de industrie

Basile Bouchon, zoon van een orgelbouwer, bedacht al in 1725 een manier om een weefgetouw aan te sturen met een geperforeerde rol papier. Bouchons vader maakte cilinders met pinnen voor orgels. Om de pinnen op de juiste plaatsen aan te brengen in de cilinder, tekende hij eerst een patroon op een kartonnen plaat. Die plaat draaide hij vervolgens om de cilinder waardoor hij precies wist waar hij de pinnen in de cilinder moest slaan. Basile meende dat het handiger zou zijn de kartonnen platen zelf te gebruiken. Het was Jacquard die het systeem als eerste succesvol wist te implementeren.

Al snel zag men ook op andere vlakken van de samenleving het nut van een ponskaartsysteem. Je kon op een ponskaart allerlei soorten informatie in gecodeerde vorm opslaan en het geautomatiseerd laten uitlezen. Charles Babbage (1791– 1871) tekende plannen voor een analytische rekenmachine en voorzag de invoer van ponskaarten. Zijn plannen betekenden een serieuze stap voorwaarts in de ontwikkeling van een rekenmachine. Eerder bouwde de Fransman Blaise Pascal (1623–1662) een mechanische rekenmachine, maar die was nooit een succes geworden. Ook de machine van Babbage kwam niet veel verder dan de ontwerptafel.
Kris Merckx - Uit het boek "Niet van gisteren", http://www.nietvangisteren.be