Robotic sensorimotor interaction strategies
Talukder, Rafiqul; Kettukangas, Teemu (2023-06-20)
Talukder, Rafiqul
Kettukangas, Teemu
R. Talukder; T. Kettukangas
20.06.2023
© 2023 Rafiqul Talukder, Teemu Kettukangas. Ellei toisin mainita, uudelleenkäyttö on sallittu Creative Commons Attribution 4.0 International (CC-BY 4.0) -lisenssillä (https://creativecommons.org/licenses/by/4.0/). Uudelleenkäyttö on sallittua edellyttäen, että lähde mainitaan asianmukaisesti ja mahdolliset muutokset merkitään. Sellaisten osien käyttö tai jäljentäminen, jotka eivät ole tekijän tai tekijöiden omaisuutta, saattaa edellyttää lupaa suoraan asianomaisilta oikeudenhaltijoilta.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:oulu-202306202680
https://urn.fi/URN:NBN:fi:oulu-202306202680
Tiivistelmä
In this thesis we investigate the mathematical modeling of cognition using sensorimotor transition systems. The focus of the thesis is enactivism, where an agent learns to think through actions. As a theoretical basis for our implementation, we discuss a mathematical model of enactivist cognition, sensorimotor interaction and how they can be used as algorithmic aides for studying theoretical problems in robotic systems.
In Chapter 3 of this thesis, we introduce a platform which was developed in the University of Oulu as a software project and explain how enactivism and sensorimotor interaction have been taken advantage of, in developing a 2D platform. This platform enables one to concretely implement and explore different interaction strategies that allow an agent to construct internal models of its surroundings. The agent in the platform is a multi-jointed robotic arm, which maneuvers through an obstacle-filled environment. The robotic arm tries to explore its environment with minimal sensory feedback, using algorithms created by the user of the platform.
Our main goal on this thesis is to implement new features to this platform. We implement a memory functionality which allows the robotic arm to store all its performed actions. The memory helps the agent infer to a greater extent its surroundings from a limited sequence of action-observation pairs, and helps it in getting a better grasp of the environment. In addition, we implement other methods and functionalities, such as an obstacle sensor, a graph visualization of the internal models, etc. to enhance the perceptual ability of the robotic arm.
In Section 5, we develop an algorithm for a simple 2D environment with no obstacles. Here the robotic arm makes a 360-degree move in four steps to perceive its surroundings and generates a state machine graph to visualize its internal model of the environment. The goal of the algorithm is to build an accurate representation of the environment with the help of memory.
Through this algorithm we are able to evaluate the performance of the newly implemented features. We also test the platform through unit testing for finding and resolving bugs. Tässä tutkielmassa tutkimme kognition matemaattista mallintamista käyttämällä sensorimotorisia transitio-järjestelmiä. Tutkielman keskiössä on enaktivismi, jossa agentti oppii ajattelemaan toiminnan kautta. Teoreettisena perustana toteutuksellemme käsittelemme matemaattista mallia enaktivistisesta kognitiosta, sensorimotorista vuorovaikutusta ja kuinka niitä voidaan käyttää algoritmien apuvälineinä teoreettisten ongelmien tutkimisessa robottiikkajärjestelmissä.
Tutkielman luvussa 3 esittelemme alustan, joka on kehitetty Oulun yliopistossa ohjelmistoprojektina, ja selittämme miten enaktivismia ja sensomotorista vuorovaikutusta on hyödynnetty 2D-alustan kehittämisessä. Alusta mahdollistaa erilaisten vuorovaikutusstrategioiden konkreettisen toteuttamisen ja tutkimisen. Näiden avulla agentti rakentaa sisäisiä malleja ympäristöstään. Alustassa mallinnettu agentti on moninivelinen robottikäsi, joka liikkuu esteitä sisältävässä ympäristössä. Robottikäsi pyrkii tutkimaan ympäristöään minimaalisen sensoritiedon avulla käyttämällä alustan käyttäjän luomia algoritmeja.
Tutkielmamme päätavoite on kehittää uusia ominaisuuksia tälle alustalle. Toteutamme muistitoiminnallisuuden, jonka avulla robottikäsi tallentaa kaikki suoritetut toiminnot. Muisti auttaa agenttia päättelemään enemmän ympäristöstään rajoitettujen toiminta-havainto-parien avulla, ja auttaa sitä ympäristön hahmottamisessa. Lisäksi kehitämme muita menetelmiä ja toiminnallisuuksia kuten estesensorin ja sisäisten mallien graafisen visualisoinnin parantaaksemme robottikäden havainnointikykyä.
Tutkielman myöhemmässä osassa kehitämme algoritmin yksinkertaiselle 2D-ympäristölle ilman esteitä. Siinä robottikäsi tekee 360 asteen liikkeen neljässä vaiheessa havainnoidakseen ympäristönsä, ja luo tilasiirtymäkaavion visualisoidakseen sisäisen mallinsa ympäristöstä. Algoritmin tavoitteena on rakentaa tarkka malli ympäristöstä muistin avulla.
Tämän algoritmin avulla pystymme arvioimaan kehittämiemme uusien ominaisuuksien toimintaa. Testaamme alustaa myös yksikkötesteillä löytääksemme ja korjataksemme virheitä.
In Chapter 3 of this thesis, we introduce a platform which was developed in the University of Oulu as a software project and explain how enactivism and sensorimotor interaction have been taken advantage of, in developing a 2D platform. This platform enables one to concretely implement and explore different interaction strategies that allow an agent to construct internal models of its surroundings. The agent in the platform is a multi-jointed robotic arm, which maneuvers through an obstacle-filled environment. The robotic arm tries to explore its environment with minimal sensory feedback, using algorithms created by the user of the platform.
Our main goal on this thesis is to implement new features to this platform. We implement a memory functionality which allows the robotic arm to store all its performed actions. The memory helps the agent infer to a greater extent its surroundings from a limited sequence of action-observation pairs, and helps it in getting a better grasp of the environment. In addition, we implement other methods and functionalities, such as an obstacle sensor, a graph visualization of the internal models, etc. to enhance the perceptual ability of the robotic arm.
In Section 5, we develop an algorithm for a simple 2D environment with no obstacles. Here the robotic arm makes a 360-degree move in four steps to perceive its surroundings and generates a state machine graph to visualize its internal model of the environment. The goal of the algorithm is to build an accurate representation of the environment with the help of memory.
Through this algorithm we are able to evaluate the performance of the newly implemented features. We also test the platform through unit testing for finding and resolving bugs.
Tutkielman luvussa 3 esittelemme alustan, joka on kehitetty Oulun yliopistossa ohjelmistoprojektina, ja selittämme miten enaktivismia ja sensomotorista vuorovaikutusta on hyödynnetty 2D-alustan kehittämisessä. Alusta mahdollistaa erilaisten vuorovaikutusstrategioiden konkreettisen toteuttamisen ja tutkimisen. Näiden avulla agentti rakentaa sisäisiä malleja ympäristöstään. Alustassa mallinnettu agentti on moninivelinen robottikäsi, joka liikkuu esteitä sisältävässä ympäristössä. Robottikäsi pyrkii tutkimaan ympäristöään minimaalisen sensoritiedon avulla käyttämällä alustan käyttäjän luomia algoritmeja.
Tutkielmamme päätavoite on kehittää uusia ominaisuuksia tälle alustalle. Toteutamme muistitoiminnallisuuden, jonka avulla robottikäsi tallentaa kaikki suoritetut toiminnot. Muisti auttaa agenttia päättelemään enemmän ympäristöstään rajoitettujen toiminta-havainto-parien avulla, ja auttaa sitä ympäristön hahmottamisessa. Lisäksi kehitämme muita menetelmiä ja toiminnallisuuksia kuten estesensorin ja sisäisten mallien graafisen visualisoinnin parantaaksemme robottikäden havainnointikykyä.
Tutkielman myöhemmässä osassa kehitämme algoritmin yksinkertaiselle 2D-ympäristölle ilman esteitä. Siinä robottikäsi tekee 360 asteen liikkeen neljässä vaiheessa havainnoidakseen ympäristönsä, ja luo tilasiirtymäkaavion visualisoidakseen sisäisen mallinsa ympäristöstä. Algoritmin tavoitteena on rakentaa tarkka malli ympäristöstä muistin avulla.
Tämän algoritmin avulla pystymme arvioimaan kehittämiemme uusien ominaisuuksien toimintaa. Testaamme alustaa myös yksikkötesteillä löytääksemme ja korjataksemme virheitä.
Kokoelmat
- Avoin saatavuus [32110]