Table of Contents

1. Exemplu redactare proiect

Introducere

Exemplu pentru redactare Proiect 2023

Aceasta pagina documentează realizarea unui robot mini-sumo

Autor : Darmaz Andrei-Sebastian 341B1

Descriere generală

Ca și în artele marțiale tradiționale japoneze, roboții încearcă să își împingă oponentul în afara ringului. Reguli:

Schema bloc:

Hardware Design

Lista de componente: Microcontroller:

Senzori:

Conectivitate:

Alimentare:

Mecanice:

Șasiul robotului a fost realizat manual din tabla de oțel de 1mm. Pe vârful acestuia, plug, voi lipi o lama din titan.

Software Design

Mediu de dezvoltare folosit a fost Arduino IDE.

Biblioteci folosite : MBED_RP2040_PWM, TFMPlus, WiFiNINA.

Deoarece am utilizat microcontrollerul ARM RP2040 care dispune de doua coruri codul este împărțit astfel :

Primul core :

Al doilea core:

Am implementat mai multe metode de cautare :

Fiecare căutarea are avantajul ei :

Aceste căutări sunt implementate în funcții diferite din Arduino și sunt selectate prin determinarea strategiei de pe dipswitch. Tot înaintea meciului pe dipswitch se slecteaza și atacul principal pe care robotul o sa îl facă.

Atacul inițial oferă un avantaj robotului prin cunoașterea poziției fata de adversar. Pin selectarea strategiei 0-16 ii comunicam robotului în ce poziție sa se miște. Astfel am implementat câteva strategii clasice folosite în meciuri de sumo :

Interacțiune cu senzorii:

Interacțiunea cu motoarele:

Posibile upgrades :

În viitorul nu foarte îndepărtat o sa mai adaug citirea datelor de la accelerometrul de pe placa. Din putinele teste făcute pana acum datele nu vin destul de rapid de la senzor pentru a-l implementa în codul core al robotului. Conexiune Bluetooth cu un device pentru a selecta strategia/desena atacul inițial - nu am implementat în core fiindcă conexiunea bluetooth nu este tot timpul stabilă, iar unele concursuri nu permit conexiuni externe in timpul meciurilor, dar poate sa fie o funcție fun. Pornire/oprire folosind microfonul de pe board - am implementat antrenând un model ML cu TenserFlow, dar ocupa un core și nu este practic în timpul meciurilor. Alimentare cu 12V în loc de 8V pentru motoare - am testat deja totul era funcțional, însă nu voiam sa ard motoarele fix înainte de prezentare :)

Rezultate Obţinute

Am obținut inca un robot mini-sumo de adăugat la colecție. Pot spune ca este cel mai avansat de pana acum din punct de vedere mecanic, iar la partea software este tot timpul loc de îmbunătățire. Saber a reușit sa îmi bată robotul anterior care avea în palmares un loc 8 la Robochallenge și loc 2 la Infomatrix. Deci o sa așteptam sa vedem cum se descurca la concursurile din viitor.

Tot ca rezultat aș putea spune ca mi-am mai dezvoltat skillurile hardware și am învățat mai multe despre arhitectura ARM, eu fiind obișnuit numai cu AVR.

Concluzii

Mă bucur ca am ales sa fac PM și ca mi-a dat impulsul de a începe un nou proiect. Robotul consider ca este unul reușit, desi exista tot timpul loc de îmbunătățiri.

Download

Jurnal

Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului.

Bibliografie/Resurse

https://github.com/khoih-prog/RP2040_PWM#features

https://cdn.sparkfun.com/assets/1/4/2/1/9/TFmini_Plus_A02_Product_Manual_EN.pdf

https://github.com/budryerson/TFMini-Plus

https://datasheets.raspberrypi.com/pico/raspberry-pi-pico-c-sdk.pdf

https://p1r.se/startmodule/implement-yourself/

https://docs.arduino.cc/hardware/nano-rp2040-connect

https://cdn-reichelt.de/documents/datenblatt/A300/ABX00053-DATASHEET.pdf

Export to PDF