Robotyka to jedna z tych niesamowicie interesujących dziedzin, która łączy w sobie zasady projektowania z wielu dyscyplin. Przykłady obejmują uczenie maszynowe/AI, edge computing, widzenie komputerowe, kontrolę silników, fuzję sensorów, komunikację bezprzewodową i wiele więcej. W sercu wszystkich tych aplikacji znajduje się MCU, SoC, FPGA lub inna jednostka przetwarzająca, a także firmware, który to wszystko napędza.
Jeśli dopiero zaczynasz projektować systemy robotyczne i chcesz iść w kierunku MCU, prawdopodobnie zacząłeś szukać najlepszego MCU do aplikacji robotycznych. Nie ma jednego MCU, który byłby obiektywnie najlepszy dla każdego systemu robotycznego, ale pewne specyfikacje są ważniejsze w różnych typach robotów. Spójrzmy na niektóre z powszechnych MCU dla mniejszych robotów i jakie specyfikacje powinieneś obserwować przy wyborze MCU.
Chociaż nie ma jednego najlepszego MCU do robotyki, pewne MCU będą lepsze dla różnych typów robotów. Wszystko zależy od dopasowania specyfikacji MCU do wymagań systemu lub podsystemu. Przed wyborem MCU do swojej aplikacji, powinieneś zadać sobie kilka następujących pytań:
System główny czy podsystem? Jeśli projektujesz prostego robota z ograniczoną liczbą sensorów i peryferiów, pojedyncze MCU wystarczy. Możesz również użyć jednopłytkowego komputera (SBC) (Raspberry Pi i BeagleBone są popularnymi wyborami). Jeśli projektujesz główną część systemu robotycznego, łatwiej może być użyć SBC, a podsystemy mogą używać mniejszych MCU.
Wymagana liczba I/O i interfejsy. W zależności od tego, jak chcesz, aby twoje MCU komunikowało się z peryferiami lub kontrolami silników w twoim robocie, musisz sprawdzić jego liczbę I/O i dostępne interfejsy niskiej/wysokiej prędkości.
Prędkość zegara. Staje się to ważniejsze, gdy twój robot musi przetwarzać więcej danych na urządzeniu. Obecnie urządzenia wbudowane wykonują tylko proste obliczenia na urządzeniu; reszta jest przetwarzana w środowisku chmurowym. Proste modele ML mogą być uruchamiane z szybkim MCU, ale dostajesz więcej zasobów obliczeniowych, jeśli użyjesz czegoś bardziej zaawansowanego (patrz poniżej).
SDK i wsparcie dla programistów. Będziesz musiał zaprogramować swoje MCU, więc każdy wybrany komponent powinien mieć dostępne SDK od producenta. Nigdy nie zaszkodzi kupić płytkę deweloperską i przetestować swoją aplikację podczas rozwoju.
Możliwości bezprzewodowe. Twój robot może potrzebować interfejsu z większą siecią przez WiFi, Bluetooth, LoRaWAN lub inny protokół. Niektóre MCU zawierają zintegrowane transceivery potrzebne do działania na tych i innych protokołach.
Istnieje szereg MCU, które spełniają niektóre lub wszystkie powyższe wymagania, wiele z nich oferuje różne poziomy wsparcia dla programistów (zarówno od producenta, jak i społeczności open-source). Arduino jest prawdopodobnie najpopularniejszą linią płyt MCU dla prostszych robotów. Płyta Arduino lub płyta deweloperska dla twojego konkretnego MCU to dobry punkt wyjścia do rozwijania twojej aplikacji, podczas gdy projektujesz swoje niestandardowe sprzęty.
Mikrokontroler ESP32 od Espressif jest doskonałą opcją dla prostszych systemów robotycznych (tutaj pokazano płytę deweloperską).
Niewiele komponentów jest specjalnie reklamowanych jako przeznaczone do robotyki, głównie dlatego, że branża ta wciąż się rozwija. Jednakże, MCU i inne procesory promowane do zastosowań motoryzacyjnych lub w automatyzacji przemysłowej są idealne do użytku w robotyce. Komponenty te są budowane zgodnie z wysokimi standardami niezawodności i zawierają funkcje bezpieczeństwa, które są idealne dla systemów robotycznych.
Chyba że projektujesz stosunkowo prostego robota z ograniczoną liczbą czujników lub podsystemów, nie będziesz używać pojedynczego MCU do kontrolowania swojego systemu. Inne MCU będą zaangażowane w zapewnianie kontroli i mocy obliczeniowej dla różnych podsystemów. Jeśli projektujesz cały system, a nie tylko podsystem, będziesz musiał wybrać główne MCU do odbierania danych z innych podsystemów i zapewniania funkcji komend i kontroli. W przypadku aplikacji komercyjnych możliwe jest, że w ogóle nie będziesz używać MCU; po prostu nie oferują one wymaganej mocy obliczeniowej.
SRAM-owe lub Flash-owe FPGA są jedną z alternatyw dla MCU, ponieważ mogą być w razie potrzeby ponownie programowane przez zewnętrzny port komunikacyjny. FPGA mają również wysoką liczbę I/O i szybkie zegary, co czyni je dobrym wyborem do zaawansowanego przetwarzania danych otrzymanych z innych podsystemów. Jako przykład, Xilinx opracował linię FPGA specjalnie dla robotyki, chociaż te mają wysoką cenę i najlepiej nadają się do zaawansowanego przetwarzania i kontroli.
Komponent Xilinx XC7Z030-1FBG676C został zaprojektowany specjalnie dla systemów robotycznych. Ten komponent zawiera wiele szybkich interfejsów (CSI, PCIe, DDR) i pracuje z prędkością do 1 GHz.
Kolejną świetną alternatywą dla FPGA lub MCU do zaawansowanej mocy obliczeniowej jest użycie MPU, takiego jak linia procesorów Sitara od Texas Instruments. Linia Sitara obejmuje szereg opcji, które zapewniają zaawansowaną moc obliczeniową wymaganą dla skomplikowanych systemów robotycznych. MPU w tej linii pracują z prędkością do 1,5 GHz i zawierają wiele szybkich interfejsów, które można by oczekiwać w komputerze jednopłytkowym. Mają również niższą cenę niż porównywalne FPGA.
Moduł komputerowy dla AM3352BZCZ080 od Texas Instruments.
Inną opcją dla mocy obliczeniowej w podsystemach robotyki jest GPU, szczególnie do integracji wizji komputerowej i aplikacji uczenia maszynowego/AI. Moim zdaniem, platforma Jetson firmy NIVIDIA zajmuje czołowe miejsce w tej dziedzinie i jest już popularna w społeczności twórców do aplikacji AI związanych z wizją komputerową (identyfikacja obiektów, segmentacja obrazu, śledzenie obiektów itp.). Istnieje również dużo wsparcia dla programistów ze strony społeczności open-source, aby pomóc projektantom rozpocząć pracę z platformą Jetson.
Każdy robot będzie wymagał szeregu podsystemów, aby umożliwić wszystko, od regulacji mocy po komunikację bezprzewodową. Oto niektóre inne komponenty, których prawdopodobnie będziesz potrzebować w podsystemach dla dużych i małych robotów:
W miarę dojrzewania branży robotyki i zaczynania dominacji pewnych aplikacji, prawdopodobnie zobaczymy szereg SoC-ów nieopartych na FPGA wydanych przez głównych producentów komponentów. Gdy nowe SoC dla robotyki zostaną wydane, Octopart będzie tutaj, aby pomóc Ci znaleźć i kupić potrzebne komponenty.
Jeśli szukasz najlepszego MCU dla robotyki lub jakichkolwiek innych komponentów potrzebnych do systemów robotycznych, spróbuj użyć zaawansowanych funkcji wyszukiwania i filtracji w Octopart, aby znaleźć potrzebne komponenty. Wyszukiwarka części elektronicznych Octopart oferuje kompleksowe rozwiązanie do zarządzania łańcuchem dostaw elektroniki, a Ty możesz łatwo filtrować wyniki wyszukiwania według cyklu życia, specyfikacji i ceny. Zobacz naszą stronę z układami scalonymi, aby znaleźć moc obliczeniową, której potrzebują Twoje roboty.
Bądź na bieżąco z naszymi najnowszymi artykułami, zapisując się do naszego newslettera.