Vis enkel innførsel

dc.contributor.advisorMathisen, Pål Holthe
dc.contributor.authorPanengstuen, Lars-Erik Nes
dc.contributor.authorMerkesvik, Edvard Brekke
dc.contributor.authorOlsen, Stian Johan
dc.contributor.authorPedersen, Kristoffer Meggelæ
dc.date.accessioned2021-09-23T18:51:59Z
dc.date.available2021-09-23T18:51:59Z
dc.date.issued2021
dc.identifierno.ntnu:inspera:83592108:83595218
dc.identifier.urihttps://hdl.handle.net/11250/2781046
dc.description.abstractTobeinte roboter kan bevege seg i røffere terreng hvor andre roboter ikke kommer til. Disse robotene er ofte avhengige av veldig kompliserte matematiske funksjoner. Det endelige målet med dette prosjektet er å lage en robot som kan gå ved hjelp av en relativt enkel matematisk formel. Roboten vil være veldig avhengig av pendel effekten for å minimalisere momentet som er nødvendig. Før denne rapporten har en master grad blitt skrevet om teorien bak roboten, og to andre bachelor grupper har arbeidet på roboten direkte. Vi forventer at flere grupper kommer til å fortsette å jobbe på denne roboten fremover. Det var derfor viktig å dokumentere og gjøre alle resursjene så tilgjengelige som mulig slik at frentidige grupper kan bruke mindre tid på å sette seg inn i prosjektet. Roboten har fått diverse hardware oppgraderinger. Nye ledninger ble lagd for å koble sammen servoene til BBB shieldet. Nye noterings bøyler ble lagd for å feste servoene til beina og ett nytt shield ble lagd for at BBBen skal kunne motta 5V fra enkoderne i tillegg til å kunne sende ut 5V PWM signaler. ROS blir brukt til å dele opp koden i pakker for å gjøre det lettere å utvikle ny kode og forbedre eksisterende kode. Dette gjør det også lettere å implementere koden i andre systemer siden pakken kan enkelt legges til hvilket som helst ROS workspace. Ved å benytte en egen messages pakke som alle ROS nodene på roboten bruker kan hvilket som helst system kommunisere og kontrollere roboten så lenge systemet også har denne pakken. Den nye IMU koden bruker målt akselerasjon samt gyroskopiske målinger og kombinerer disse gjennom Kalman filtrering langs signal prosesseringen for å få en stabilt og nøyaktig måling av benvinkelen. Enkoderne hadde vært et veldig godt verktøy å sammenlikne IMU målingene med, men vi fikk ikke gjort dette siden enkoderene ble ødelagt. Den nye enkoder koden tar vinkelen mellom bena og kroppen som blir målt av enkoderne sammen, med benvinkelen målt av IMUene, for å produsere et estimat på kroppsvinkelen. Dette er nyttig når man skal kontrollere robotoen og det brukes også til å visualisere tilstanden til roboten i Rviz. Enkoderne har vært utrolig upålitelige og det blir diskutert hva som kan være årsaken til dette og hva som kan brukes som potensielle erstatninger. Avvik som angående motoren som ble oppdaget fra tidligere år har blitt rettet på og dokumentert. Ledningene som går inn i servo kontrollerene og konfigurasjonene rundt har blitt endret på slik at PWM signaler kan bli lest. Det tidligere ledningsoppsettet og konfigurasjonene har skadet en av motorene. Motor koden har blitt skrevet på nytt til det nåværende enhets tre overlegget for å tillate en andre motor. Enkoder koden har også blitt implementert for å redusere ventetid. Dokumentet forklarer også teorien som er blitt brukt på de forskjellige delene av roboten. Dette er i hovedsak for å gjøre det lett å forstå hvorfor enkelte valg har blitt gjort i løpet av prosjektet. Av samme grunn har bruken av ROS også blitt forklart. Både et grensesnitt og et visualiserings program blitt lagd. Dette kommer til å gjøre det enklere å teste deler av roboten i framtiden. Selv om det er rom for forbedring, er begge veldig gode verktøy som kan bli brukt videre i utviklingen av roboten. Til slutt har en Github-side blitt lagd til bruk for fremtidig utvikling. Hver relevante mappe har sin egen README-fil som forklarer hvordan du installerer og utfører mappe-relevante prosesser, forklaringer av kode og annen relevant info til den bestemte mappen. Målet til giten er at du skal forstå og klare å sette i gang hele systemet med bare giten som ressurs.
dc.description.abstractImplementing the bipedal walk in robots will allow them to move in rougher terrain and humanoid spaces where other robots might be inadequate. These robots are often explained with quite complicated mathematical functions. The ultimate goal of this project is to create a bipedal robot that is able to walk using a relatively simple mathematical function. The gait will rely heavily on the pendulum effect to increase its energy efficiency and minimise the torque needed. Previous to this report a master of science thesis has been written about the theory behind the robot and two previous bachelor groups have worked directly on the robot. And we expect other bachelor groups to keep working on the robot. Because of this it is important to make the work as accessible and easy to understand as possible, so that future work will have an easier time at the start of their project. \ This thesis focuses on the upgrades to the system. It includes all the different parts of the work that has happened on the biped itself, as well as the functionality of the code. The embedded system for the robot has been developed further and works better. In addition some hardware modifications has been made, including a new circuit board and wiring. Various upgrades has been made in the hardware of the robot to add new functionality. New wires were created to connect the servos to the BBB shield, a new bracket was created to secure the new servos to the feet of the biped and a new shield circuit board was created to allow the BBB to read the 5V signals from the encoders as well as send out a 5V PWM signal. ROS is used to divide the code into packages to make it easier to develop new code or improve existing code. this also makes it easy to implement the code in other systems as the package can simply be added to any ROS workspace. The addition of a message package which all Biped nodes uses also makes it so that any system with this package can easily communicate and interact with the biped. New IMU-code uses both acceleration measurements and gyroscope measurements and combines them trough kalman filtering along other signal processing to get a steady and accurate measurement of the leg angle. The encoders would have been a great tool to compare the IMU measurements to, but we were not able to do this due to the encoders breaking unexpectedly. New encoder code takes the angle between the legs and torso measured by the encoders along with the leg angle measured by the IMU´s to produce a estimate of the torso angle. This is useful when controlling the robot and is also used to visualize the robot state in Rviz. The encoders have been incredibly unreliable and we will discuss what might be causing this and potential replacements. Discrepancies with the motor from previous years have been corrected and documented. The wiring into the servo controllers and the configurations have been altered so it allows for PWM readings. The previous wiring and configurations have damaged one of the motors. The motor code has been rewritten to the current device three overlay, and to allow a second motor. The encoder code has also been implemented to reduce latency. The servos has been extensively tested/troubleshooted and have been made to function using C++ code with ROS implementation. In addition they have been connected to the main board. One of the four servos has broken, and recommendations on how to proceed with solving this problem has been put forth. The document also explains the theory used on the different parts of the robot. This is in order to make it easy to understand why certain decisions have been made throughout the project. For this purpose the use of ROS has also been explained. Both an interface and visualization software has been made. This will make testing easier in the future. While there is room for improvement, it more than makes for good tools to be used in the continued development of the robot. Lastly a github repository has been put up to be used for further development. Every relevant folder contains README-files with walkthroughs, code explanation and other relevant information for the specific folder. The goal of the Git is that you should be able to understand and launch the entire system as the git as the only resource.
dc.languageeng
dc.publisherNTNU
dc.titleInstrumentation, actuation and software development of Bipedal Robot.
dc.typeBachelor thesis


Tilhørende fil(er)

Thumbnail
Thumbnail

Denne innførselen finnes i følgende samling(er)

Vis enkel innførsel