Skocz do zawartości

Nawyk

Użytkownicy
  • Zawartość

    2072
  • Rejestracja

  • Ostatnio

  • Wygrane dni

    126

Posty napisane przez Nawyk


  1. Elvis, szczerze mówiąc to trochę mnie rozczarowałeś tymi standardowymi bibliotekami. Mam wrażenie, że wszystko, co można było o nich powiedzieć, można znaleźć w książkach (np. Galewskiego), tutaj na forum lub ogólnie w internecie. HAL to co prawda dość nowy wynalazek, ale zdążyły już przejąć pałeczkę, zdominować wszelkie ciekawe repozytoria na githubach i dzisiaj trudno np. o współpracę nowych wersji LwIP oraz wielu różnych RTOS z STD. Wydaje mi się też, że narzędzie CubeMX jest strzałem w dziesiątkę dla początkującego, bo znacznie upraszcza sprawę. Nadal wymaga pewnej wiedzy, ale po prostu jest przyjemniej, przejrzyściej i bardziej edukująco, bo wszystko widać jak na talerzu 🙂 Generalnie STD nie ma zbyt dużych perspektyw na przyszłość, a HAL stał się rozwijanym i wspieranym standardem. Może i jest podobny, ale przesiadka bywa bardzo bolesna - doświadczyłem na własnej skórze i wolałem babrać się w rejestrach niż tracić dni na zastanawianie się, czemu nie działa 😉 Może jednak dasz się namówić na zmianę planów? 🙂


  2. Witam wszystkich po dość długiej przerwie. Od jakiegoś czasu pracuję w firmie ACCREA Engineering z Lublina, która jest biurem projektowym zajmującym się budowaniem i programowaniem prototypów robotów wykonywanych na zamówienie. Celujemy głównie w robotykę "okołomedyczną", ale trwają też prace nad projektami ułatwiającymi życie w hipermarketach, na siłowniach, ulicach miast, czy nawet przy liniach wysokiego napięcia.

    IMG_5526eb40185d25244.jpg

    Przykładowe projekty, w których bierzemy udział:

    • * Zdalna diagnostyka USG i badania palpacyjne przy użyciu interfejsów haptycznych - ReMeDi
    • * Autonomiczny robot do opieki nad pacjentami z łagodnymi zaburzeniami kognitywnymi - przypominanie o lekarstwach, angażowanie w rozmowę, obserwowanie postępów choroby, zakręcanie zapomnianych kurków kuchenki, zakładanie kapci, ćwiczenia pamięciowe itp. - RAMCIP
    • * Zestaw pionizatora i rolatora dla osób z problemami z poruszaniem się, czyli inteligentny "podnośnik" i zrobotyzowany chodzik pomagający m.in. wstać z krzesła - MOBOT

    i inne...

    A teraz do rzeczy - pracuję nad skompletowaniem zespołu, który będzie podejmował się różnych zadań związanych z programowaniem, projektowaniem elektroniki i systemów kontroli do budowanych przez nas robotów. Potrzebni są ludzie z pasją, którzy interesują się tematyką robotyki, mają głowę pełną pomysłów i chcą brać aktywny udział w tworzeniu specyfikacji, wymagań i rozwiązań, które zostaną wykorzystane w prototypach oraz gotowych produktach. Posiadamy warsztat maszynowy i wykwalifikowanych mechaników, elektroników i robotyków, więc nie boimy się eksperymentować 🙂

    Najpierw najważniejsze, czyli co musi być spełnione:

    • ➕ minimum to podstawowa znajomość j. angielskiego technicznego - nastawcie się na czytanie i pisanie dokumentacji/manuali, okazjonalny udział w telekonferencjach, wymiana maili z partnerami z konsorcjum, z klientami
    • ➕ dobre rozeznanie w tematyce robotyki amatorskiej i profesjonalnej - lektura IEEE Spectrum i Forbota do śniadania lub/i poduszki obowiązkowa
    • ➕ analityczny umysł i umiejętność samodzielnego rozwiązywania problemów
    • ➕ chęć ciągłego rozwijania wiedzy i umiejętność szybkiego uczenia się

    Następnie lista achievment'ów, które przede wszystkim będą brane pod uwagę (im więcej, tym lepiej):

    ➕ dobra znajomość MATLAB/Simulink

    ➕ bardzo dobra znajomość zagadnień C/C++

    ➕ znajomość podstaw robotyki - notacja Denavita-Hartenberga "w małym palcu"

    ➕ umiejętność rysowania schematów elektronicznych i projektowania PCB

    ➕ doświadczenie z programowaniem mikrokontrolerów AVR

    ➕ doświadczenie z programowaniem mikrokontrolerów STM32

    ➕ doświadczenie z programowaniem innych mikrokontrolerów (mile widziane 32-bitowe)

    ➕ dobre rozeznanie w tematyce RTOS (RT PREEMPT, Xenomai, RTAI)

    ➕ dobra znajomość środowiska ROS

    ➕ doświadczenie w pracy z API OpenGL

    ➕ doświadczenie w pracy z silnikiem graficznym Unity lub dowolnym innym

    ➕ dobra znajomość protokołów sieciowych UDP, TCP/IP

    ➕ dobra znajomość interfejsów komunikacyjnych (przynajmniej dwóch): UART, I2C, SPI, 1-wire, USB

    ➕ duża wiedza na temat działania i sterowania silnikami prądu stałego

    ➕ doświadczenie w pracy z interfejsami haptycznymi

    ➕ doświadczenie w pracy z unilateralną lub bilateralną teleoperacją (unilateral/bilateral teleoperation)

    ➕ dobra znajomość podstaw automatyki

    ➕ dobra znajomość podstaw teorii sterowania

    ➕ doświadczenie w pracy z systemami kontroli wersji (git, SVN, mercurial itp.)

    ➕ dobra znajomość SYSML

    ➕ doświadczenie z przygotowywaniem Product Safety Analysis

    ➕ umiejętność telepatii lub telekinezy będzie dodatkowym atutem 🙂

     

    Bardzo dużą wartość będą dla nas miały udokumentowane projekty, zbudowane roboty, stworzone aplikacje i inne Wasze dzieła, więc nie bójcie się o nich wspomnieć, a nawet przynieść na rozmowę kwalifikacyjną!

    Wiem, że na tym etapie sporo osób oczekuje widełek zarobkowych, ale "punkt startowy" jest zależny tylko i wyłącznie od faktycznych umiejętności kandydata. Zupełnie zieloni mogą zacząć od stażu lub praktyk, bardziej zaawansowani oczywiście rozpoczną pracę z innego pułapu i z innym zakresem obowiązków.

    Praca preferowana na miejscu, w Lublinie. W wyjątkowych przypadkach rozpatrzymy możliwość pracy zdalnej, ale taki tryb pracy mimo wszystko będzie wymagał okresowych wizyt w firmie np. w celu integracji komponentów robota.

    Swoje CV przesyłajcie na adres:

    d.nowakaccrea.com

    Pamiętajcie o dopisku na dole:

    Wyrażam zgodę na przetwarzanie moich danych osobowych zawartych w ofercie pracy w zakresie niezbędnym do przeprowadzenia rekrutacji (zgodnie z Ustawą o ochronie danych osobowych. Dz. Ust. Nr 133 poz. 833 z dnia 29.08.1997)

    Pamiętajcie o załączeniu PDF'ów i innych plików związanych z Waszymi projektami/dziełami (za wirusy i trojany w plikach są ujemne punkty)

    Zastrzegamy sobie możliwość odpowiedzenia tylko na wybrane aplikacje.

    Chętnie odpowiem na Wasze pytania w tym temacie, na "PW" lub przesłane w mailu.


  3. Uczyłem się na tej płytce podstaw programowania STMów i patrzę na nią z dużym sentymentem, ale... Prawda jest taka, że za znacznie niższą cenę możemy dziś kupić zestaw Discovery z dokładnie tym samym mikrokontrolerem. Nie trzeba być super ogarniętym programistą, żeby "przeportować" gotowe kody z książki - no chyba, że ktoś uczy się metodą bezmyślnego "kopiego-pejsta", ale nie widzę w tym logiki. Poza tym - pan Galewski opisał wszystko tak dobrze, że zmiana typu "port B zamiast D" czy "pin 3 zamiast 6" to żaden problem dla początkującego. W zestawie Discovery mamy już podłączony gotowy programator z debuggerem, w ZL27ARM możemy w wygodny sposób korzystać z wybranego narzędzia. Są przypadki, dla których jedna lub druga opcja jest zaletą (np. gdy w pracy jesteśmy zmuszeni używać Seggera). To, czego brakuje Discovery, to peryferia - tutaj ZL27ARM jest bezkonkurencyjny, bo do Disco musimy sami zakupić części, płytkę prototypową i popodłączać wszystko we właściwy sposób (ZL posiada taką możliwość pomimo zintegrowanych peryferiów). Czyli w zasadzie wszystko sprowadza się do wyboru: oszczędność (discovery) vs wygoda (zl27arm).

    Co do felernego egzemplarza - próbowałeś płytkę reklamować? Z doświadczenia wiem, że czasem firmy robiące reflow i zamawiające części próbują ugrać dla siebie więcej grosza, wrzucając do partii podzespoły od chińskich przyjaciół zamiast oficjalnych pośredników. Zasygnalizowanie tego dystrybutorowi może poprawić sytuację na rynku. Poza tym słyszałem, że serwis Kamami jest bardzo sumienny 🙂


  4. Naprawdę świetna książka na start z STM32. Próbowałem najpierw kursów online, potem artykułów w gazetach, czytania forów... Dopiero z tą książką się przekonałem do tych procków 🙂 Niestety, z czasem staje się coraz mniej przydatna i później praktycznie już się do niej nie wraca. Zwłaszcza jeśli mówimy o nowych bibliotekach HAL i narzędziach od ST (CubeMX). Po cichu liczę na to, że pan Galewski napisze kiedyś aktualizację lub drugą część - chętnie przeczytam, chociażby z czystej ciekawości.

    PS w książce jest duży nacisk na ZL27ARM, ale równie dobrze sprawi się jeden z zestawów Discovery na tym samym mikrokontrolerze. Będzie minimalnie trudniej (konfiguracja środowiska/projektu), ale za to oszczędności finansowe znaczne.


  5. "Plus" czujników musisz podłączyć zgodnie z ich znamionowym napięciem zasilania - najczęściej jest to 5 lub 3,3 V - sprawdzisz to wpisując w google "nazwa_czujnika datasheet", szukaj sekcji "Electrical characteristics" w PDF, większość producentów podaje też tę informację już na pierwszej stronie.

    Jeśli natomiast chodzi o podłączenie panelu solarnego, to nie wiem, co chcesz osiągnąć. Jaki akumulator (przede wszystkim typ i napięcie znamionowe), jakie ogniwo (napięcie i moc)?


  6. @edit

    Ok, doszedłem, jak to zrobić w nowszych wersjach. W katalogu z Eaglem, w podkatalogu scr masz plik "eagle.scr". Otwórz go w notatniku z uprawnieniami administratora. Zobaczysz coś takiego:

    # Configuration Script
    #
    # This file can be used to configure the editor windows.
    #
    # Uncomment this if you want a set of useful default shortcuts!
    #SCRIPT default-assign.scr;
    #
    
    BRD:
    MENU '[designlink22.png] Search and order : Run designlink-order.ulp -general;'\
        '[pcb-service.png] PCB Service : Run pcb-service.ulp;';
    
    SCH:
    Grid Default;
    Change Width 0.006;
    MENU '[designlink22.png] Search and order {\
                                             General : Run designlink-order.ulp -general; |\
                                             Schematic : Run designlink-order.ulp; \
                                             }'\
        '[LTspice.png] LT Spice simulation {\
                       Export: RUN ltspice.ulp /E; |\
                       Export Setup: RUN ltspice.ulp /E /S; |\
                       Export Group: RUN ltspice.ulp /E /G; |\
                       Import: RUN ltspice.ulp /I; \
                       }' \  
    ;
    
    LBR: (...)

    Wystarczy, że dopiszesz komendy, których chcesz używać w następujący sposób:

    # Configuration Script
    #
    # This file can be used to configure the editor windows.
    #
    # Uncomment this if you want a set of useful default shortcuts!
    #SCRIPT default-assign.scr;
    #
    
    BRD:
    MENU '[designlink22.png] Search and order : Run designlink-order.ulp -general;'\
        '[pcb-service.png] PCB Service : Run pcb-service.ulp;';
    
    SCH:
    Grid Default;
    Change Width 0.006;
    MENU '[designlink22.png] Search and order {\
                                             General : Run designlink-order.ulp -general; |\
                                             Schematic : Run designlink-order.ulp; \
                                             }'\
        '[LTspice.png] LT Spice simulation {\
                       Export: RUN ltspice.ulp /E; |\
                       Export Setup: RUN ltspice.ulp /E /S; |\
                       Export Group: RUN ltspice.ulp /E /G; |\
                       Import: RUN ltspice.ulp /I; \
                       }' \     
        'Add
    ;
    
    LBR:(...)

    W moim przypadku jest to 'Add. Żeby dodać inne instrukcje, wystarczy w kolejnych wierszach dopisywać konsolowe komendy (np. 'Change, 'Move itd.). W User interface włącz oczywiście Command texts. Możesz sobie przeciągnąć ten "kawałek" paska na prawą stronę. Po edycji eagle.scr, uruchom podobnie Eagle'a. Voila 🙂

    Aha, jak widzisz - są różne sekcje (SCH, LBR, BRD...) - chodzi o to, że dla każdego okna możesz sobie ustawić inne menu, albo skopiować wszędzie to samo.


  7. Skoro zadajesz to pytanie, to na Twoim miejscu bym sobie odpuścił. Wiesz jak połączyć zębatki z wałem silnika? Z osią kół? Jak równo złożyć wszystkie stopnie przekładni? Jakie musi być przełożenie dla tego silnika, żeby wystarczyło?

    Zakładam, że masz mało kasy i stąd ten pomysł. Oszczędzę Ci czasu i nerwów, jeśli nie masz "mechanicznego zacięcia", to skończy się albo na porzuceniu budowy, albo na zakupie silników ze zintegrowaną przekładnią. Tanie silniki to np. takie plastikowe coś: http://kamami.pl/index.php?categoryID=9936&sort=Price&direction=ASC

    W Botlandzie pewnie też coś takiego znajdziesz.

    Do tego znajdziesz pasujące koła, co też jest istotne, chyba że lubisz bawić się hotglue, termokurczkami, poxipolami i innymi "półśrodkami"


  8. Wypadałoby coś więcej wiedzieć o rzeczach, które Twój chłopak zrobił, pomoże to określić jego "poziom zaawansowania". No i Twoje fundusze - rzecz niemałej wagi, niestety...

    • Lubię! 1

  9. Schemat bardzo ładny, nie znalazłem błędów. Jeśli chodzi o zasilanie, to dotyczy ono zastosowania stabilizatora. Na zdjęciach/rysunkach takiego stabilizatora nie ma, został dodany później na życzenie osób udzielających się w temacie. Tak samo kondensatory filtrujące. Robot i bez tego będzie działać, zależało mi na maksymalnej prostocie, no ale... Źródłem 7V może być np. tani akumulator litowo-polimerowy 2S (7,4V), można się też pokusić o 5-tą baterię AA. Jak komu wygodniej. Jeśli chcesz robota zasilać z czterech AA, to stabilizator sobie odpuść albo poszukaj jakiegoś LDO, ew. miniaturowej przetwornicy Pololu...


  10. Osobiście wybrałbym pewnie dwustronną komunikację po UART, bo wtedy można by było wybrać konkretną wartość siły, a nawet mieć informację zwrotną na temat aktualnie działającej siły. Na potencjometr w tym przypadku krzywo bym patrzył, chociaż już rozumiem w jakim kontekście pisałeś o nim w pierwszym poście. Jeśli wystarczy Ci ustawianie siły obrotową "gałką"/suwakiem, to powinien się nadać. Kwestia dokładnego wyskalowania podziałki, o ile oczywiście ma to dla Ciebie znaczenie w projekcie.


  11. A masz jakieś sprzężenie zwrotne od siły? Bo rozwiązuje się to korzystając z wynalazku zwanego tensometrem (np. http://kamami.pl/index.php?ukey=product&productID=198897 ). Potencjometr da Ci co najwyżej pozycję ramion chwytaka.

    Schemat to dla mnie jakiś kogiel-mogiel, zwłaszcza w okolicach Arduino. Gdzie ma być ten potencjometr?

    Różnica napięć aż się prosi o zastosowanie przetwornicy, ale dobra - byleco też może zadziałać.

    • Lubię! 1

  12. Od siebie dodam, że bardzo pożyteczne jest zainstalowanie VNC - w ten sposób możemy pracować zdalnie na naszym komputerze, co dla wielu osób może okazać się dużo wygodniejsze. Wystarczy podpiąć RPi do naszej sieci domowej (przez WiFi lub przewód z RJ45) i wpisać prostą komendę:

    sudo apt-get install x11vnc

    Chcemy, żeby x11vnc uruchamiał się automatycznie, czyli wpisujemy:

    sudo leafpad /etc/xdg/lxsession/Lubuntu/autostart

    Na końcu otwartego pliku dopisujemy:

    @x11vnc -display :0 -ultrafilexfer -forever -quiet

    Na naszym PC instalujemy dowolny soft do obsługi VNC, osobiście polecam UltraVNC (instalujemy tylko klienta, serwer jest nam zbędny).

    Potrzebny jest nam adres IP naszego RPi, czyli wklepujemy na nim w terminalu

    ifconfig

    Ewentualnie sprawdzamy w liście klientów DHCP naszego routera lub skanujemy sieć po IP dowolnym programem (np. IPscan). Po uruchomieniu UltraVNC wpisujemy na górze adres IP, klikamy "Connect" i cieszymy się okienkiem z podglądem na pulpit naszego Raspberrego. Stosuję to co prawda w Cubieboard, ale instrukcje powinny być te same. Co zyskujemy? Jeden wolny monitor, do tego jedną klawiaturę i myszkę - czyli więcej wolnego miejsca na biurku 🙂 Jeśli ktoś chce, może się też zając bezpieczeństwem, wykorzystując do zdalnego dostępu SSH. W razie czego służę pomocą.

    PS Powyższe przydaje się też, jeśli płytka pracuje w jakimś urządzeniu, do którego niekoniecznie mamy fizyczny dostęp (podłączenie klawiatury, myszki, monitora jest trudne lub niemożliwe), czyli jak znalazł do robota.

×
×
  • Utwórz nowe...