Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Programowanie robotów CyberRobot i Evolution (Clementoni) via Python

rmroz80 06 Gru 2018 14:15 264 1
  • #1 06 Gru 2018 14:15
    rmroz80
    Poziom 8  

    Witam szanownych forumowiczów.

    Od jakiegoś czasu w mojej macierzystej szkole (SP6 w Kaliszu) prowadzę zajęcia pozalekcyjne z zakresu robotyki. Do nauki poprzez zabawę, wykorzystuję roboty firmy Clementoni - CyberRobot i Evolution. Obydwa są wyposażone w moduł Bluetooth i po zainstalowaniu odpowiedniej aplikacji dla systemu Android, można nimi sterować za pomocą smartfona sterować i nawet ... programować. Problem w tym że te roboty są tragicznie skalibrowane i samo programowanie (bardzo prymitywne) nie pozwala na uzyskanie 100% kontroli nad robotem. Roboty te z zalożenia powinny skręcać o 90 stopni w lewo lub prawo (skręcają o około 60). Przemieszczanie się do przodu do tyłu też ma charakter "skokowy". Moje pytanie do forumowiczów brzmi: "Czy w temacie tych niezbyt drogich zabawek (od 100 do 200zł) można zrobić coś więcej? Np. sparować robota z PC via adapter Bluetooth (np. taki sam jak używamy do gamepadów na BT) i uzyskać kontrolę nad dowolnym z silników robota w taki sposób aby móc sterować każdym z silników z osobna przez odpowiednio długi czas, jednocześnie np. sterując napięciem podawanym na dany silnik (kalibracja ruchu robota z poziomu programowania). Można byłoby do tego celu posłużyć się np. Językiem Python. Pisałem w tej sprawie do Clementoni Polska - nie orientują się. Napisałem również do centrali firmy we Włoszech, odpisali mi że się nie da... A ja sobie myślę że nie da się to założyć hełmu na lewą stronę a jak się człowiek uprze to takie coś da radę. Może ktoś wskazałby jakąś apkę do "podsłuchu" sygnałów wysyłanych przez aplikację z poziomu Androida tak aby stworzyć analogiczny ale bardziej rozbudowany interfejs via PC z Pythonem.

    0 1
  • #2 07 Gru 2018 16:41
    MirekCz
    Poziom 35  

    Podejrzewam, że nie da się z powodu wysyłanych komend - prawdopodobnie idzie komenda "obrót w prawo" i PC nigdy nie określa dokładnie ile to ma być - jest to zakodowane w robocie i on wykonuje np. 1sec pracy silnika.

    Musiałbyś całkowicie przeprogramować robota żeby to zmienić...

    0