Jump to content
Che

AI+Robot/Arduino?

Recommended Posts

Buna ziua!

Stiti cumva daca se poate face un proiect dupa cum urmeaza:

  1.  Un algoritm in Python care sa foloseasca inteligenta articiala pentru object recognition. Exista. OpenAI, am vazut filmulete pe Youtube despre asta.
  2.  Acum problema este alta. As vrea cumva sa vada in timp real acel obiect si sa miste un brat robotic ca sa il ia.
  3.  Rezultatul final sa fie un brat robotic care culeaga un mar sau o cireasa sau sa ia o minge de tenis, ceva de genul asta. Ideea este ca in caz ca nu l-a prin bine dar nu a cazut atunci sa-l prinda iar daca a cazut atunci sa-l ia de unde a cazut iar daca sunt mai multe sa faca cu toate la fel. Si inca ceva sa nu-l stranga nici prea tare de sa il striveasca dar nici sa-l apuce de sa-l scape fiindca nu a strans suficient.

Stiti ceva exemple concrete opensource pentru analiza si studiu? Ma intereseaza nu doar codul in Python pentru Ai ci si cum faci bratul robotic si cum faci interfata intre limbajul de programare si robotel.

Multumesc anticipat!

O zi frumoasa!

  • Upvote 1
Link to comment
Share on other sites

4 hours ago, Che said:

Ma intereseaza nu doar codul in Python pentru Ai

Ideea cu AI e sa nu faci cod, ci sa antrenezi AI-ul. Ii dai mura in gura la inceput si apoi pe baza experientei "invata". Incearca tensorflow de la google.

Apoi trebuie sa dezvolti o interfata simpla de lucru a robotelului cu obiectul. Pe baza a ceea ce vede sa ia decizia optima. Pregateste-te ca ai mult de munca.

Succes!

  • Upvote 1
Link to comment
Share on other sites

4 hours ago, Che said:

Buna ziua!

Stiti cumva daca se poate face un proiect dupa cum urmeaza:

  1.  Un algoritm in Python care sa foloseasca inteligenta articiala pentru object recognition. Exista. OpenAI, am vazut filmulete pe Youtube despre asta.
  2.  Acum problema este alta. As vrea cumva sa vada in timp real acel obiect si sa miste un brat robotic ca sa il ia.
  3.  Rezultatul final sa fie un brat robotic care culeaga un mar sau o cireasa sau sa ia o minge de tenis, ceva de genul asta. Ideea este ca in caz ca nu l-a prin bine dar nu a cazut atunci sa-l prinda iar daca a cazut atunci sa-l ia de unde a cazut iar daca sunt mai multe sa faca cu toate la fel. Si inca ceva sa nu-l stranga nici prea tare de sa il striveasca dar nici sa-l apuce de sa-l scape fiindca nu a strans suficient.

Stiti ceva exemple concrete opensource pentru analiza si studiu? Ma intereseaza nu doar codul in Python pentru Ai ci si cum faci bratul robotic si cum faci interfata intre limbajul de programare si robotel.

Multumesc anticipat!

O zi frumoasa!

 

Exista. Am lucrat putin pe automatica si am vazut proiecte foarte similare.

 

E mult research pe partea de Markov Chains, Reinforcment learning, Safe space representation, Learning by replication etc.

Te avertizez ca astea sunt teme de PhD. si multi studiaza 3-4 ani pentru a imbunatati o singura parte a sistemului.

 

Eventual exista solutii comerciale la pret de cateva sute de mii de $. Daca vrei sa faci tu la nivel de proiect de licenta se poate si asa, dar nu te astepta sa fie functional.

 

 

Edit: @Che Am vazut ca intrebi des de AI. Sa stii ca Ai-ul nu e cum iti imaginezi tu. Nu e ca un om sa ii dai un task si el invata si face.

Altfel de ce se angajeaza 'AI engineer' pe zeci de mii de $?

AI-ul se construieste pt un task anume, nu poate face orice. Nu poate invata decat intr-un singur fel.

AI-ul modern e defapt un optimizator care incearca sa gasesca minimul unui spatiu de solutii. Un inginer AI are jobul de a reprezenta matematic, pe intelesul optimizatorului, taskul pe care il vrei realizat.

 

De ex: Inginerii google au gasit o serie de transformari care reprezinta features din imagini. Astfel optimizatorul reuseste sa clasifice imaginile in functie de ce reprezinta ele (clasifica caini, pisici, flori etc.).

Fara reprezentarea features din imagini (Convolutii, LMST, Transformers etc.) AI-ul nu intelege ce e aia o imagine.

 

Pentru un brat robotic trebuie sa reprezinti pozitiile si actiunile pe care le poate face. Trebuie sa descrii un goal matematic, sa reprezinti actiunile care nu pot fi executate, sa evaluezi eficienta unei solutii, etc. etc. Dupa toate astea, atunci poti antrena un AI care speri sa faca ce vrei tu.

 

Daca ai gresit undeva, nu va functiona.

 

De aia costa sute de mii de $ si ani pe research.

Edited by yoyois
  • Upvote 1
Link to comment
Share on other sites

2 hours ago, gigiRoman said:

Apoi trebuie sa dezvolti o interfata simpla de lucru a robotelului cu obiectul. Pe baza a ceea ce vede sa ia decizia optima.

Tocmai asta ma intereseaza: cum se face interfata cod catre robot.

 

2 hours ago, yoyois said:

Am vazut ca intrebi des de AI. Sa stii ca Ai-ul nu e cum iti imaginezi tu. Nu e ca un om sa ii dai un task si el invata si face.

Altfel de ce se angajeaza 'AI engineer' pe zeci de mii de $?

AI-ul se construieste pt un task anume, nu poate face orice. Nu poate invata decat intr-un singur fel.

AI-ul modern e defapt un optimizator care incearca sa gasesca minimul unui spatiu de solutii. Un inginer AI are jobul de a reprezenta matematic, pe intelesul optimizatorului, taskul pe care il vrei realizat.

 

De ex: Inginerii google au gasit o serie de transformari care reprezinta features din imagini. Astfel optimizatorul reuseste sa clasifice imaginile in functie de ce reprezinta ele (clasifica caini, pisici, flori etc.).

Fara reprezentarea features din imagini (Convolutii, LMST, Transformers etc.) AI-ul nu intelege ce e aia o imagine.

Stiu deja chestiile astea. le-am invatat si eu de ceva timp si le-am folosit si eu in propriile proiecte dupa ce m-am uitat la tutoriale pe Youtube.

Ce ma intereseaza este cum se poate ca un brat robotic sa prina o cireasa fara sa o scape si fara sa o striveasca, spre exemplu. Am vazut ca sunt proiecte cu Arduino (pe care apropo nu-l stiu deloc) legat de Python si sa dea un impuls dar cum il faci sa faca miscari fine ca aici nu e vorba sa aprina un bec?

 

Multumesc tuturor!

Link to comment
Share on other sites

32 minutes ago, Che said:

Stiu deja chestiile astea. le-am invatat si eu de ceva timp si le-am folosit si eu in propriile proiecte dupa ce m-am uitat la tutoriale pe Youtube.

Daca zici tu ca ai invatat toate conceptele astea de doctorat si le-ai facut si tu te cred. :))

 

Bafta la prins cirese, sigur va posta cineva aici cod sa ii dai copy-paste si care sa apuce orice.

 

If cireasa then:
	apuca()
else:
	mai_cauta()

 

  • Haha 1
Link to comment
Share on other sites

12 hours ago, Che said:

Buna ziua!

Stiti cumva daca se poate face un proiect dupa cum urmeaza:

  1.  Un algoritm in Python care sa foloseasca inteligenta articiala pentru object recognition. Exista. OpenAI, am vazut filmulete pe Youtube despre asta.
  2.  Acum problema este alta. As vrea cumva sa vada in timp real acel obiect si sa miste un brat robotic ca sa il ia.
  3.  Rezultatul final sa fie un brat robotic care culeaga un mar sau o cireasa sau sa ia o minge de tenis, ceva de genul asta. Ideea este ca in caz ca nu l-a prin bine dar nu a cazut atunci sa-l prinda iar daca a cazut atunci sa-l ia de unde a cazut iar daca sunt mai multe sa faca cu toate la fel. Si inca ceva sa nu-l stranga nici prea tare de sa il striveasca dar nici sa-l apuce de sa-l scape fiindca nu a strans suficient.

Stiti ceva exemple concrete opensource pentru analiza si studiu? Ma intereseaza nu doar codul in Python pentru Ai ci si cum faci bratul robotic si cum faci interfata intre limbajul de programare si robotel.

Multumesc anticipat!

O zi frumoasa!

Daca te dau banii afara din casa poti sa investesti  :)

https://github.com/JEFF0824/Intelligent-robot-system

https://github.com/vituslehner/permaculture-object-detection

https://github.com/Horea94/Fruit-Images-Dataset

https://www.nature.com/articles/s41598-021-81216-5

https://mihaioltean.github.io/fruit_recognition_deep_learning.pdf

https://www.researchgate.net/figure/Robotic-arm-grasping-a-fragile-object-using-a-stan-dard-position-controller-left-and_fig1_282879825

 

 

 

  • Upvote 1
Link to comment
Share on other sites

De ce nu-ti imparti "proiectul" in mai multe "bucati" pe care sa le faci separat?
ai facut ai-ul?gj

n-ai facut bratul?

incepi incet incet, cum ai spus si tu cu arduino(mai degraba ia un py direct sa te ajute la integrarea cu ai-ul), si legi la https://www.optimusdigital.ro/en/346-robotic-arm pentru a vedeam cum va decurge, iei unul ieftin, sa nu arunci cu banii si dupaia sa vezi ca nu-i poti da de cap :D

Ti-ai pus problema despre cum vei sti unde sa muti bratul robotic pt a ajunge la cireasa?
Pe bratul robotic ai putea pune ceva sticker QR, pentru a-l recunoaste si sa afli distanta fata de camera, dar cu ciresele cum faci?

Link to comment
Share on other sites

Simplu si complicat ce vrei tu sa faci. Am un proiect in minte de ceva ani pentru constructia de containere autonome de productie de mancare care are aceelasi sistem, un gantry cu un brat robotic care sa ude, culeaga, taie plantele.

 

Pentru partea de cules iti sugerez sa te uiti la soft robotics si compliant mechanism care pot sa fie actionate de un motor pas cu pas sau normal, driverele mai noi de la Trinamic de ex mergand setate sa detecteze atunci cand este depasit un curent maxim setat, deci asta poate sa iti zica care e soft-pointul in care fructul este prins in asa fel incat sa nu fie nici prea strans nici prea lejer. 

Pot sa iti zic ca asta e partea usoara totusi, partea mecanica si stabilitatea robotului sunt mult mai importante. Partea de recunoastere cu niste ML/AI e destul de dezbatuta si relativ usor de implementat avand in vedere contrastul mare dintre fructe si restul background-ului. 

 

Probabil un mini-pc/raspbbery cu linux si niste python pentru controlul camerei si a comenzilor de miscare si o parte de hardware  cu ceva asemanator Arduino dar pe un 32 de biti pentru rapiditate si control mai smooth pe tot ce inseamna zona de motoare si miscare.

 

Trebuie sa incepi cu o schema block si sa incerci sa iei ce e mai bun in piata dpdv hardware pe zona de control si partea de software o rezolvi relativ ok si repede. Ia in calcul si faptul ca daca faci asa ceva probabil vrei si control la distanta si GPS pentru functia de autonomie totala.

 

Cobori robotul din spatele unei dube si tu ramai frumos la aer conditionat si il controlezi semi sau full autonom de la distanta.

 

Sunt multe de discutat pe topicurile astea, partea buna e ca daca faci asa ceva ai sanse mari sa si vinzi proiectul usor catre companiile care aduc digitalizarea in agricultura.

  • Thanks 1
Link to comment
Share on other sites

51 minutes ago, takko said:

asa ceva ai sanse mari sa si vinzi proiectul usor catre companiile care aduc digitalizarea in agricultura.

Care proiect? Vrei sa vinzi threadul asta sau care e proiectul?

 

Ce zici tu acolo amesteca remote control cu autonomia long-term. Adica ceva care exista cu ceva care nu exista inca, ca sa creeze idea idilica ca orice se relova usor.

Cum am mai zis, se poate. Dar nu e degeaba tema de doctorat, si nu degeaba platesc companii sute de mii de euro in a dezvolta asa ceva.

 

 

Asta pe partea de control. Pe partea de robotica/inginerie it's a whole new can of worms.

 

PS: Am vazut cum se lucreaza pe 'self driving cars' la partea de autonomie. Nici cel mai banal concept (gen cruise control) nu era usor de implementat adica echipe de 5-6 oameni lucrau un an(cu bugete mari) si tot nu mergea.

Link to comment
Share on other sites

17 hours ago, takko said:

Sunt multe de discutat pe topicurile astea, partea buna e ca daca faci asa ceva ai sanse mari sa si vinzi proiectul usor catre companiile care aduc digitalizarea in agricultura.

De ce ai face una ca asta cand ai putea tu personal sa te impui pe piata?

Link to comment
Share on other sites

On 4/18/2021 at 3:40 PM, Che said:

Buna ziua!

Stiti cumva daca se poate face un proiect dupa cum urmeaza:

  1.  Un algoritm in Python care sa foloseasca inteligenta articiala pentru object recognition. Exista. OpenAI, am vazut filmulete pe Youtube despre asta.
  2.  Acum problema este alta. As vrea cumva sa vada in timp real acel obiect si sa miste un brat robotic ca sa il ia.
  3.  Rezultatul final sa fie un brat robotic care culeaga un mar sau o cireasa sau sa ia o minge de tenis, ceva de genul asta. Ideea este ca in caz ca nu l-a prin bine dar nu a cazut atunci sa-l prinda iar daca a cazut atunci sa-l ia de unde a cazut iar daca sunt mai multe sa faca cu toate la fel. Si inca ceva sa nu-l stranga nici prea tare de sa il striveasca dar nici sa-l apuce de sa-l scape fiindca nu a strans suficient.

Stiti ceva exemple concrete opensource pentru analiza si studiu? Ma intereseaza nu doar codul in Python pentru Ai ci si cum faci bratul robotic si cum faci interfata intre limbajul de programare si robotel.

Multumesc anticipat!

O zi frumoasa!

it is reall amaiging

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...