Anatomia RobotaRobotyka

Kontrola energii i oprogramowanie

Większość projektantów systemów sterowania robotów podejmuje próbę zminimalizowania zużycia energii przez robota. Jest to prawdą, czy robot jest zasilany z baterii czy nie. Jeśli jest zasilany bateryjnie, kontrola energii jest na ogół kluczowym elementem projektu oprogramowania, który musi być utrzymany w czołówce wszystkich rozważań dotyczących projektowania oprogramowania. Jeśli oprogramowanie jest napisane na początku bez względu na kwestie związane z kontrolą energii, generalnie będzie wymagać przepisania. Nawet przyziemna baza danych i oprogramowanie do sprzątania muszą być napisane z myślą o kontroli zużycia energii. Stworzenie strategii kontroli energii jest sztuką. Skalowanie zużycia energii robota i jego komputera może być bardzo trudne. Najlepsze projekty nie wymagają dodatkowej energii, niż jest to absolutnie konieczne. Aby wykonać to wyczynowo, menedżerowie projektów i inżynierowie muszą zwrócić uwagę na kilka zasad.

PRIORYTETY

Najpierw umieść kontrolę energii. Aby spełnić wymagania kontroli energetycznej, tak właśnie jest prawie zawsze konieczne, aby postawić ten problem na pierwszym planie. Jeśli kontrola energii kiedykolwiek stanie się refleksją, to po prostu nie da się w ogóle zrobić dobrze. Wiele decyzji podejmowanych jest w sposób, który może uniemożliwić modernizację systemu sterowania z kontrolą energii w późniejszym terminie.

PRZYWÓDZTWO

Trzymaj jedną doświadczoną osobę ("cara energetycznego") odpowiedzialną. Jak wspomniano w innym rozdziale, projekt musi mieć jedną osobę odpowiedzialną za zarządzanie energią. Najlepiej byłoby, gdyby osoba, która najlepiej rozumie możliwości sterowania energią wbudowane w układ procesora. Kluczowe słowo tutaj jest doświadczone. Chociaż ubolewam nad tendencją firm do wykluczania dobrych inżynierów, którzy nie mają bezpośredniego doświadczenia w technologii będącej przedmiotem zainteresowania, ten przypadek wymaga takiego podejścia. Kontrola energii w przenośnym systemie komputerowym (podobnie jak w robocie) jest bardzo złożonym zadaniem, wymagającym doświadczonej ręki. Jeśli zaangażowanych jest wielu inżynierów, muszą one być koordynowane przez tę doświadczoną osobę.

PLANOWANIE

Kontrola energetyczna zakończy się sukcesem tylko wtedy, gdy specyfikacje zostaną opracowane z myślą o konkretnych celach i wymaganiach od samego początku. Car energetyczny powinien być na wszystkich wczesnych spotkaniach architektonicznych, specyfikacji i planowania.

BĄDŹ KONSERWANTNY

Nie lekceważ wysiłku. Car będzie miał oprogramowanie do pisania i testów, które będą wykonywane przez cały czas trwania projektu. To ryzykowna część projektu i trudna do zakończenia. Nie jest też niczym niezwykłym, że trudności pojawiają się późno w projekcie. Nawet doskonale działające oprogramowanie może nagle zawieść (zwiększyć pobór energii) z nieoczywistych powodów. Miej cierpliwość i spodziewaj się ciężkiej pracy nad tą częścią projektu. Testuj i testuj pobór energii przy każdej nowej zmianie inżynierskiej.

WYBÓR TECHNOLOGII

Idź z istniejącą technologią oszczędzania energii procesora. Pełna kontrola energii w system komputerowy zazwyczaj wymaga odpowiedniego wyboru procesora. Niektóre procesory są lepsze niż inne do tego zadania. Chodzi o to, że jeśli procesor jest tak zaprojektowany, aby umożliwić sterowanie energią, którego potrzebujesz, to prawdopodobnie ma wbudowany specjalny sprzęt. Często sterowniki oprogramowania do sterowania energią są już dostępne. Ogólny algorytm sterowania energią musi wykorzystywać te funkcje procesora. Próba ich obejścia lub użycia w niestandardowy sposób będzie prawdopodobnie oznaczać zrujnowanie. Projektanci procesorów prawdopodobnie mieli trudności z poprawnym działaniem i łatwo złamać ich projekt. Trzymaj się podstaw i nie bój się dzwonić do firmy przetwarzającej.

CENTRALIZACJA

Spróbuj scentralizować kod energetyczny. Aby prawidłowo funkcjonować, oprogramowanie do kontroli zużycia energii musi często rozprzestrzeniają się na większość oprogramowania w komputerze robota. Fragmenty kodu znajdują się w kodzie rozruchowym pamięci flash, systemie operacyjnym i kodzie aplikacji. Gdy kod rozprzestrzenia się w ten sposób, zaczyna się w nim "dziury". Staje się bardziej kruchy pod względem zdolności do zapewnienia właściwej kontroli energii. Jednocześnie, jeśli zaangażowanych jest wielu programistów, dyscyplina programowania staje się trudniejsza. Musimy zapewnić prosty, zrozumiały interfejs programisty aplikacji (API), który będzie odpowiednio kontrolować energię. Na szczęście dostępnych jest kilka środków zaradczych:

•  Zachowaj ostrożność Jeśli kod API jest napisany od podstaw, staraj się, aby API było małe i ograniczone do najniższych poziomów kodu (Podstawowy System Wejścia / Wyjścia [BIOS] i kilka sterowników).
•  Zachowaj prostotę Jeśli musisz zbudować własne sterowniki procesorów i możesz sobie z tym poradzić, nie próbuj implementować wszystkich funkcji oferowanych przez procesor. Najpierw działają najbardziej agresywne funkcje oszczędzania energii w procesorze. Jeśli inne funkcje są pożądane, dodaj je później, jeśli możesz.

Teraz powinniśmy przyjrzeć się strategiom kontroli mocy. Gdzie zaczynamy? Warto zacząć od specyfikacji. Podczas pisania specyfikacji, prawdopodobnie będziemy mieli poczucie, jak trudny będzie problem z kontrolą energii. To ma sens, aby spojrzeć na kontrolę energii w szerszym znaczeniu i zdecydować o ogólnym podejściu. Rząd ma nawet specjalne programy zachęcające branżę do zmniejszenia zużycia energii (patrz www.energystar.gov). Firmy półprzewodnikowe i firmy systemu operacyjnego współpracują ze sobą, aby zapewnić skoordynowane podejście do kontroli mocy. Na przykład społeczność definiująca architekturę komputerów PC robi to przez lata. Komitety spotykają się raz w roku w celu ratyfikacji zmiany, które wszystkie strony wprowadzą w swoich projektach i opublikują dokumenty określające zmiany. Konferencja Windows Hardware Engineering Conference (WiNHEC) jest jedną z tych komisji (www.microsoft.com/winhec/default.mspx). Bardzo złożonym zadaniem jest obniżenie zużycia energii przez duży system komputerowy. Jest o wiele łatwiej, jeśli system komputerowy został zaprojektowany specjalnie dla małej mocy. Komponenty systemu zostały prawdopodobnie opracowane specjalnie pod kątem oszczędności energii. Wszystkie nowe oprogramowanie można zapisać zgodnie z wymaganiami. W komputerach osobistych impuls do ustanawiania standardów pochodzi z rynku komputerów przenośnych. Kłopot polegał na tym, że cała architektura ewoluowała z architektury komputerów stacjonarnych, która miała niewiele funkcji oszczędzania energii. W związku z tym projekt jest zbyt nieszczelny, aby mógł być użyteczny jako projekt osadzony.

Oszczędzanie energii

Ma sens modelowanie ogólnego rodzaju stanów zachowania energii, które robot będzie miał. Firmy komputerowe nadają nazwy tym stanmm wymyślne nazwy, więc pomyślałem, że wymyślę też własne nazwy. Systemy sterowania energią komputerowych systemów sterowania i robotów można opisać na tych samych warunkach. Każdy stan energetyczny można opisać za pomocą zestawu cech, w tym sposobu, w jaki wykorzystuje i oszczędza energię, w jaki sposób używany jest stan i w jaki sposób programiści wchodzą w interakcję z oprogramowaniem.

Świnka Energetyczna

Byłby to robot, który zawsze pracuje z pełną mocą, niezależnie od tego, czy potrzebuje, czy nie.

•  Wykorzystanie energii .Wszystkie światła są włączone i nie podejmuje się żadnej próby oszczędzania energii. Komputer cały czas pracuje na pełnych obrotach, a silniki ciągle próbują przywrócić serwomechanizm do właściwej pozycji. Większość komponentów zużywa energię przy ich maksymalnym zużyciu.
•  Taktyka konserwatorska. Nie przewidziano celowych energooszczędnych metod.
•  Sposób włączania. Brak; zawsze jest przebudzony i aktywny.
•  Opóźnienia. Robot jest zawsze zasilany, więc nie ma opóźnień w przetwarzaniu.
• Specjalne zastosowania. Ponieważ oprogramowanie zawsze działa, nie ma żadnych ograniczeń dotyczących typów systemów, które można tworzyć w ten sposób.
• Współpraca oprogramowania. Oprogramowanie nie jest świadome środków oszczędzania energii, więc nie jest potrzebny żaden API energetyczny.

Świadoma Energia

Jest to robot, który zawiera jedną lub dwie z łatwiejszych sztuczek oszczędzających energię. Być może silniki zostaną wyłączone, jeśli się nie ruszą. Nie poświęcono zbyt wiele czasu na projektowanie sterowania energią.

•  Zużycie energii Dokonano kilku świadomych prób oszczędzania energii.
•  Taktyka konserwacji Komputer może używać jednego stanu niższej mocy, który pozwala mu oszczędzać energię podczas bezczynności pętli. Oprogramowanie wyłącza niektóre główne komponenty, gdy nie są używane.
•  Sposób włączania Zasadniczo zarówno przerwania, jak i oprogramowanie aplikacyjne mogą szybko przywrócić robota do stanu pełnego działania.
•  Opóźnienia Robot uruchamia się bardzo szybko od czasu wszystkich głównych środowisk programowych pozostają załadowane do pamięci. Opóźnienia w przetwarzaniu są bardzo krótkie.
•  Szczególne zastosowania Oprogramowanie ma niewiele ograniczeń, więc większość aplikacji robotów może korzystać z tego rodzaju kontroli energii, jeśli spełnia wymogi ochrony.
•  Interakcja z oprogramowaniem Oprogramowanie ma niewielkie haki API, aby umożliwić aplikacjom ich obudzenie i uśpienie. Ponieważ środowiska programowe są zawsze rezydentne, potrzebnych jest kilka innych wywołań API.

Wydajność Energetyczna

Jest to robot zaprojektowany od podstaw w celu efektywnego wykorzystania energii. Silniki rzadko są zasilane, komputer działa tylko wtedy, gdy jest to konieczne, a wszystkie podsystemy są zaprojektowane tak, aby zużywały bardzo mało energii.

•  Zużycie energii Zużycie energii jest znacznie zminimalizowane. Wykorzystano większość technik minimalizacji energii; tylko najtrudniejsze pozostają nieodwracalne.
•  Taktyka ochrony Komputer korzysta z najbardziej agresywnych stanów oszczędzania energii, jakie jest w stanie. Oprogramowanie wyłącza wszystkie główne komponenty, gdy nie są używane.
•  Sposób włączania Zasadniczo tylko przerywanie z timera lub bodźców zewnętrznych powoduje przywrócenie robota do pełnego stanu roboczego.
•  Opóźnienia Uruchomienie robota zajmuje trochę czasu, ponieważ wiele głównych środowisk programowych musi zostać ponownie załadowanych do pamięci. Opóźnienia w przetwarzaniu nie są krótkie.
•  Zastosowania specjalne Algorytmy sterowania oprogramowaniem muszą być w stanie wytrzymać znaczne opóźnienia ze względu na stan uśpienia procesora.
•  Interakcja z oprogramowaniem Oprogramowanie ma znaczną liczbę haków API aby umożliwić aplikacjom przechowywanie i pobieranie środowisk, budzenie procesora i usypianie. Interfejs API zazwyczaj zawiera haki zarówno do pamięci rozruchowej (ROM), jak i do oprogramowania aplikacyjnego.

Skąpstwo Energetyczne

Jest to robot, który wykorzystuje minimalną ilość energii do wykonania swoich zadań. Najlepszymi tego przykładami są roboty podróżujące w przestrzeni kosmicznej, zoptymalizowane pod kątem energii słonecznej i zachowania energii. Roboty mobilne często mają podobny wygląd, zwłaszcza jeśli działają bez nadzoru.

•  Zużycie energii Energia jest całkowicie zminimalizowana.
•  Taktyka konserwacji Każdy podsystem jest wyłączony, gdy nie jest używany. Baterie mają bardzo długie okresy użytkowania, a robot nie będzie ich odprowadzał, jeśli pozostanie nieruchomy. Komputer wykorzystuje najbardziej agresywne, energooszczędne stany, jakie może.
•  Sposób włączania Zasadniczo tylko przerywanie z timera lub bodźców zewnętrznych powoduje przywrócenie robota do pełnego stanu roboczego.
•  Opóźnienia Uruchomienie robota zajmuje trochę czasu, ponieważ wszystkie główne środowiska programowe muszą zostać ponownie załadowane do pamięci. Opóźnienia w przetwarzaniu mogą być znaczące.
•  Zastosowania specjalne Zwykle aplikacja musi tolerować znaczne opóźnienia ze strony systemu sterowania komputerem. To ogranicza stosowanie tak drastycznych metod oszczędzania energii do wyspecjalizowanych sytuacji, takich jak systemy ręczne i roboty bez nadzoru.

Rozważania dotyczące sprzętu

Nic poza sprzętem nie może zużywać energii. Oprogramowanie nie może bezpośrednio wykorzystywać energii nakazujący sprzęt do zrobienia. Sam sprzęt musi być dobrze skonstruowany, aby nie marnować energii.

ZASILACZ
Z pewnością zasilacz jest bardzo ważnym miejscem do rozpoczęcia próby oszczędzania energii. W rzeczywistości każdy radiator w robocie jest idealnym miejscem do oszczędzania energii. Energia marnowana w radiatorach stwarza dwa problemy. Po pierwsze, jest to bezpośrednie marnowanie energii. Po drugie, ciepło musi zostać rozproszone. W robotach zasilanych bateriami te kwestie są szczególnie ważne.

Regulacja

Istnieje kilka różnych rodzajów zasilania, ale najważniejsze jest to, że wszystkie marnują trochę energii, próbując regulować napięcie docierające do kontroli robota zespołu obwodów elektrycznych. Robot może być zasilany z linii energetycznych lub z baterii. W obu przypadkach silniki i systemy sterowania generują hałas elektryczny podczas włączania i wyłączania. W szczególności silniki powodują duże skoki napięcia przy włączaniu i wyłączaniu. Wszyscy widzieliśmy tego rodzaju gwałtowne zmiany, gdy duże urządzenie uruchamia się, a światła migoczą chwilowo. Chodzi o to, że nawet napięcie akumulatora może się zmieniać w sposób niedopuszczalny podczas pracy robota. Możemy nie być w stanie zasilić napięcie akumulatora bezpośrednio w czułe obwody sterowania. Wiemy również, że moc z linii energetycznych również nie jest dobrze zachowana; potrzebuje oczyszczenia. Z tych wszystkich powodów roboty mają zazwyczaj pewien rodzaj obwodu regulacji napięcia lub zasilania. To powiedziawszy, zanim przejdziemy do dyskusji na temat tego, jaki rodzaj zasilania należy wprowadzić, zbadajmy, jak nie włożyć zasilania. Jakie techniki możemy zastosować, aby uniknąć zasilania?

Moc akumulatora

Akumulatory są dość stabilnymi źródłami napięcia same w sobie. Różnią się jednak pod pewnymi warunkami:

•  Poziom naładowania Napięcie na akumulatorach będzie się zmniejszać wraz ze spadkiem poziomu energii w akumulatorach. Różne technologie akumulatorów będą z czasem zmniejszać się z różną szybkością. Mają charakterystyczne krzywe rozładowania z napięciem, które zmniejsza się w przewidywalny sposób, gdy ładunek jest odprowadzany z nich. Większość akumulatorów szybko się zmniejsza w ciągu pierwszych 5 procent krzywej rozładowania, wyrównuje się na poziomie 85 do 90 procent krzywej i zmniejsza się gwałtownie w ciągu ostatnich 10 do 15 procent krzywej.
•  Poziomy napięcia Należy wprowadzić kilka punktów dotyczących poziomów napięcia. Po pierwsze, jeśli bateria jest ładowana podczas przebywania w robocie, należy zachować szczególną ostrożność. Niedrogie urządzenie do ładowania akumulatorów, ładujące otwarty akumulator, nie ogranicza napięcia. Zamiast tego próbowałby dostarczyć znacznie wyższe napięcie, które rozprzestrzenia się po całym robocie. Baterie działają jak ograniczniki napięcia, gdy są ładowane i ograniczają napięcie taniej ładowarki. Ale jeśli bateria się otworzy (lub po prostu zostanie wyjęta), ładowarka może zasymilować resztę robota z nienormalnie wysokim napięciem! Jest to szczególnie ważne, gdy nie ma obwodu zasilającego, a robot bezpośrednio spływa z akumulatora.
•  Oporność wewnętrzna Wszystkie baterie mają różną rezystancję wewnętrzną. To działa podobnie jak rezystor połączony szeregowo z baterią. Wraz ze starzeniem się baterii ten opór może się zmienić. Gdy silnik lub inne duże obciążenie powoduje nagłe zapotrzebowanie na prąd w baterii, napięcie akumulatora szybko się zmienia. Upewnij się, że reszta układu sterowania robota i czułe oprzyrządowanie mogą spowodować nagły spadek napięcia na zasilaniu.
•  Dożywotnie Nie zapominaj, że zdolność akumulatorów do przechowywania energii zmienia się z czasem. Wiele typów akumulatorów (o różnej chemii wewnętrznej) traci zdolność do przechowywania energii w miarę starzenia się baterii. W akumulatorze chemikalia, gazy i metale migrują lub powoli korodują, więc nie są w stanie w pełni przyczynić się do magazynowania energii. Upewnij się, że obwody robota będą w stanie działać równie dobrze, gdy robot i jego akumulatory osiągną starość.

Wymagania dotyczące zasilania

Jeśli próbujemy zasilać robota używając tylko baterii jako naszego źródła zasilania, musimy ograniczyć liczbę różnych napięć, które będą potrzebne w robocie. Oznacza, że wszystkie elementy elektryczne muszą zostać wybrane, aby mogły pracować z tym samym napięciem. Staje się to dużym wyzwaniem, gdy próbujemy wybrać silniki, czujniki i komputery, które mają podobne wymagania co do napięcia. Więc jakie napięcie powinniśmy wypróbować? Wysokie napięcie, na przykład, nie jest dobrym wyborem do uruchamiania komputerów lub większości czujników.

Silniki. Aby jeszcze bardziej skomplikować, niskie napięcie nie działa dobrze, aby przesuwać silniki. Możemy użyć tranzystorów polowych o bardzo niskim spadku napięcia (FET), aby sterować uzwojeniami silnika i utrzymać wydajność w górę. Firmy półprzewodnikowe sprzedają chipy specjalnie zaprojektowane do skutecznego sterowania silnikami. Niektóre silniki niskonapięciowe są dostępne, ale ograniczyłoby to nasze wybory. Dostępnych jest wiele silników wymagających napędu 12- woltowego. Mniej dostępnych, które będą działać z napędem 5-woltowym. Wymóg wyłączenia i włączenia napięcia na silniku dodatkowo komplikuje problem z zasilaniem, ponieważ większość przełączników napięcia (i przewodów) również obniża napięcie dostępne dla silnika. Istnieje kilka alternatyw dla tradycyjnej technologii silników. Ezoteryczne silniki mogą być zabawne przy badaniu, ale należy je stosować ostrożnie. Silnik znaleziony na stronie www.drives.co.uk/news/prodnews/news_prodnews148.htm, na przykład, wykorzystuje energię piezoelektryczną do tworzenia ruchu i wykorzystuje niskie napięcie.

Systemy kontrolne

Większość komputerów jest zaprojektowana do pracy z zasilaczami w zakresie od 3 do 5 woltów. Omówiliśmy już technologię procesorów, w tym wymagania dotyczące zasilania, ale jeden aspekt technologii komputerowej, na którą nie mieliśmy wpływu, dotyczy w szczególności robotów zasilanych bateryjnie. Układ obwodów sterowania wykonany w technologii Complementary Metal Oxide Semiconductor (CMOS) ma pewne zalety w tej aplikacji. Technologia półprzewodników CMOS, oprócz tego, że jest technologią o niskiej mocy, o której była mowa powyżej, ma również dwie inne cechy, które możemy wykorzystać:

• Wysokie marginesy szumów Większość technologii półprzewodnikowych, takich jak bipolarne i niektóre technologie FET, ma ścisłe wymagania dotyczące poziomów napięcia, które mogą występować na płytce drukowanej. Procesory i układy scalone wykonane z tych technologii mają sygnały, które zmieniają się tylko w niewielkim procencie zakresu napięcia zasilania. Jeśli sygnały różnią się od tych zakresów, mogą wystąpić błędy logiczne i robot będzie działał nieprawidłowo. Technologia CMOS FET może tolerować znacznie szerszy zakres napięć sygnału. Z pewnymi ograniczeniami, bramki logiczne CMOS traktują sygnały powyżej 50 procent napięcia zasilania jako logiczne, a sygnały poniżej 50 procent napięcia zasilania jako logiczne zero. Zasilacz może nawet zmieniać napięcie (w granicach), a bramki logiczne CMOS będą działały w porządku. Może być trudno znaleźć gotowe komputery zbudowane tylko z CMOS, ponieważ konkurencyjne technologie bipolarne mają większość rynku komercyjnego, ale niektórzy producenci koncentrują się na CMOS i innych rodzinach logicznych, spełniających wymagania aplikacji przenośnych i robotów. Należy również zauważyć, że niektóre rodziny logiczne działają lepiej niż inne w obecności promieniowania jądrowego. Jeśli twój robot będzie naprawdę gorące lokalizacje, nadaj CMOS dobry wygląd!
• Zasięg zasilania Technologia CMOS będzie działać w stosunkowo szerokim zakresie napięć zasilania. Większość komputerów jednopłytowych (SBC) działa na napięcie 5 woltów, ale nie jest niemożliwe znalezienie płyt, które przyjmą szerszy zakres napięcia. Projektanci samochodowi od lat używają technologii CMOS i pokrewnych układów, nawet jeśli nie tkwi w niej energia

Regulacja Mocy

Energia nie zawsze jest dostępna w formie, która może być z powodzeniem stosowana. Często musi być przekształcona i oswojona. Można to zrobić na kilka różnych sposobów, a niektóre są bardziej odpowiednie niż inne w przypadku robotów zasilanych bateryjnie. Nadszedł czas, aby przejrzeć regulację mocy, a przy okazji możemy wziąć pod uwagę techniki regulacji, które są dobre dla robotów. Głównym problemem, który należy rozwiązać przy regulacji mocy, jest przygotowanie nieoswojonego źródła energii, aby zapewnić robotowi wolną moc. Oczywiście, rodzaj oswajanej mocy potrzebnej robotowi będzie różny. W niektórych przypadkach obwody robota mogą wykorzystywać nieregulowany prąd stały (DC) lub prąd przemienny (AC) do zasilania elementów takich jak silniki lub solenoidy. Jednak w większości przypadków elementy robota będą wymagały dobrze regulowanej mocy prądu stałego. Ten typ mocy jest generalnie określony przez napięcie, dopuszczalny zakres napięcia, dostępny prąd i poziom tętnienia, który może być tolerowany. W przypadku niektórych 5- woltowych źródeł prądu stałego specyfikacje mogą brzmieć: "5 V + - 0,25 V, 5 A, 25 mv pp tętnienia." Jest to zasilacz, który może dostarczyć 5 amperów do robota przy napięciu między 4,75 a 5,25 woltów tylko 25 milisekund hałasu szumu. Hałas tętnienia to często 60 Hz hałasu (przy zasilaniu zasilanym prądem przemiennym) lub wyższa częstotliwość od działania przełączającego, które zostanie wkrótce omówione. Nieokreślone specyfikacje regulatora mocy obejmują:

•  Wydajność Chociaż nasz przykładowy zasilacz może dostarczyć 25 watów do robota (5 V x 5 A), może to wymagać mocy zasilacza 40 watów, aby to zrobić. To sprawiłoby, że jego efektywność wyniesie 25/40? 62,5 procent. Sam regulator mocy zużywa 37,5 procent energii. •  Emisje Zasilacze generują zakłócenia (szum elektryczny i promieniowanie), które propagują wszystkie połączenia zasilania i przez powietrze. Ponieważ często wymagana jest zgodność z organami regulacyjnymi, w ramach tych starań musimy zwracać uwagę na zasilanie. Rodzaje regulatorów. Regulatory zasilania są dostępne w wielu postaciach, w tym:

•  Regulatory liniowe Regulatory liniowe to starsza technologia, która jest dobrze scharakteryzowana. Jeden lub więcej dużych tranzystorów pobiera nieregulowaną moc przy wyższym napięciu (Vin) po jednej stronie i dostarcza regulowaną moc przy niższym napięciu (Vout) z drugiej strony. W zasadzie, ponieważ prąd płynie liniowo przez zasilacz, Efektywność = Vout / Vin. Ogólnie rzecz biorąc, im większa różnica między Vout i Vin, tym lepsze jest zasilanie, utrzymujące hałas na Vin z dotarcia do Vout. Niestety obniża to wydajność. Ponadto może być konieczne większe chłodzenie; tranzystory zasilające mogą wymagać większych radiatorów. Regulatory liniowe są względnie proste i można je zredukować do pojedynczego trójstopniowego komponentu z połączeniami dla Vin, Vout i Ground. Nie generują znaczących zakłóceń elektrycznych, ale z reguły nie są bardzo wydajne. Odgałęzieniem regulatorów liniowych jest regulator Low Drop Out (LDO). LDO to liniowe regulatory, które oczekują bardzo małej różnicy między Vin a Vout. Są używane głównie do lokalnej regulacji napięcia lub w sytuacjach, gdy Vin jest bardzo niski, a Vout musi być tak wysoki jak to tylko możliwe. Ponieważ wydajność jest wysoka (Vout / Vin), LDO na ogół nie potrzebują dużych radiatorów. LDO można wykorzystywać do rozproszonej regulacji. Zamiast jednego zasilacza w robocie, Vin jest rozprowadzany po całym robocie i wysyłany do kilku LDO, które zapewniają regulowaną moc Vout do różnych części robota.
•  Przełączanie regulatorów Przełączanie regulatorów jest na ogół bardziej wydajne niż regulatory liniowe. Ponadto mogą wykonywać takie wyczyny, jak uczynienie Vouta wyższym niż Vin, ale to nie znaczy, że wydajność jest wyższa niż 100 procent. Ponieważ prąd nie przepływa liniowo przez przełącznik, nie można łatwo obliczyć wydajności. Przełączniki w zasadzie biorą Vin i przekształcają go w falę napięcia przemiennego o wysokiej częstotliwości. Ten prąd wysokiej częstotliwości jest przetwarzany na różne sposoby na surowe napięcie DC, które może być wyższe lub niższe niż Vin. Następnie komponenty AC są usuwane w celu utworzenia Vout, a czynność jest łatwiejsza, ponieważ te komponenty AC mają wysoką częstotliwość i są łatwo odfiltrowywane. Przełączniki mogą pracować z bardzo wysoką wydajnością (powyżej 90 procent), gdy są używane ostrożnie. W praktyce nie licz na osiąganie twierdzeń producenta. Policz na 75 procent i bądź zaskoczony, jeśli prawdziwa liczba wypadnie wyżej. Ale w robocie ten rodzaj zasilania może oszczędzać energię. Minusem jest to, że przełączniki generują znaczne ilości zakłóceń elektrycznych wszystkich typów.

PROCESOR

Wszelkie dalsze rozważania dotyczące oszczędności energii sprzętowej muszą rozpoczynać się od procesora. Procesor ma kilka funkcji oszczędzania energii, które omówiliśmy wcześniej i zostały one opisane w poniższych sekcjach.

Napięcie zasilania

Większość procesorów o niskiej mocy zaprojektowanych do energooszczędnych systemów może działać przy bardzo niskim napięciu. Przekonamy się, dlaczego jest to ważne, gdy omawiamy logikę CMOS. Dość powiedzieć, że zużycie energii jest proporcjonalne do V2. To kwadratowe prawo fizyki przynosi nam wielkie zyski, gdy przechodzimy do niższych i niższych systemów napięciowych. Jeśli możemy obniżyć napięcie o połowę, zużycie energii spada o współczynnik 4!

Zmieniające się napięcie. Ponadto niektóre procesory mogą działać przy różnym napięciu zasilania. Jeśli procesor ma tę funkcję, możemy skorzystać z niej w następujący sposób. Ponieważ wyższe napięcia mogą szybciej ładować pojemności w układach logicznych, komputer może pracować szybciej przy wyższych napięciach. Jeśli komputer ma niewiele do roboty, możemy obniżyć napięcie i zmniejszyć częstotliwość taktowania, a pobór energii idzie w dół. Dopóki procesor może wykonać swoją pracę w wyznaczonym czasie, robot będzie działał prawidłowo i wszystko będzie dobrze. W międzyczasie zostanie zaoszczędzona ogromna ilość energii. Aby skorzystać z tej funkcji, zasilacz musi znajdować się pod kontrolą oprogramowania. Musi zainicjować odpowiednie napięcie, a następnie zapewnić odpowiednie sterowanie, które umożliwi oprogramowaniu komputerowemu zmianę napięcia zasilającego procesora na akceptowalny poziom. Możliwe jest uzyskanie pojedynczego wejścia cyfrowego, które zmienia napięcie zasilania. Wystarczy upewnić się, że szybkość zmiany napięcia zasilania (pierwsza pochodna) jest wystarczająco mała i mieści się w granicach, które może zaakceptować procesor.

Zmieniający się zegar

Procesory mogą być zbudowane z CMOS. Wszystkie rodziny logiczne mają podstawowy blok konstrukcyjny nazywany falownikiem. Inwerter CMOS jest wyjątkowy, ponieważ nie pozwala na przepływ prądu, z wyjątkiem sytuacji, gdy zmienia stan. Tak więc, jeśli falownik CMOS pozostaje statyczny jako logiczny lub logiczny zero, nie będzie zużywał energii. Jednak gdy zmienia stan, pojemność w falowniku musi być naładowana (zmiana na 1) lub rozładowana (zmiana na 0). Kiedy tak się dzieje, w pojemności falownika zużywana jest inna ilość energii. Energia w tej pojemności jest

Ecap = 0,5 x C x V2, gdzie V jest napięciem zasilania, a C jest pojemnością logicznej bramki inwertera CMOS. Ponieważ ta ilość energii jest zrzucana za każdym razem, gdy falownik CMOS zmienia stan, moc wywierana jest proporcjonalna do

P = Ecap x f = 0,5 x C x V2 x f

gdzie f jest częstotliwością zegara procesora. Ponieważ pojemność C jest ustalana przez proces CMOS, jasne jest, że naszą największą nadzieją na oszczędność energii jest zmniejszenie V i f. Niektóre nowoczesne procesory są zbudowane, aby wytrzymać to. Zmiana napięcia zasilania i zmiana częstotliwości zegara zmniejszy zużycie energii. Należy jednak uważać, aby zegar procesora nie był wykorzystywany w żadnych stałych procesach częstotliwości w robocie. Na przykład interfejsy komunikacyjne często wymagają specjalnej stałej częstotliwości dla operacji. Upewnij się, że te interfejsy mają swoją własną stałą częstotliwość taktowania. Centralny zegar systemu może najpierw zostać podłączony do tych interfejsów komunikacyjnych, a następnie może zostać podzielony w dół dla procesora. Niektóre procesory mają cały ten układ podziału zegara wewnątrz procesora. Napięcie i zegar mogą być zwiększane i zmniejszane w celu dopasowania obciążenia procesora. Ta sama ilość pracy zostanie wykonana na drugim wykresie, ale ponieważ napięcie jest o połowę niższe, rozpraszanie mocy dla tej pracy jest jedną czwartą tego, co byłoby.

Stany mocy procesora

Jak wspomnieliśmy wcześniej, procesory mają różne stany oszczędzania energii. Wybierz procesor, który ma typy stanów oszczędzania energii, które będą pasować do wymagań operacyjnych robota, który budujesz. Ponadto, jeśli robot ma działać w odległym środowisku (z pewną kontrolą zdalną), należy rozważyć umożliwienie operatorom zmiany stanu zasilania procesora z daleka. Jest to funkcja, która może pewnego dnia "uratować boczek" zespołu projektowego. Ci, którzy czytają tłumaczenia tego tekstu, są teraz dość zdezorientowani tym idiotycznym idiomem. W ramach eksperymentu przepisałem ten akapit skomputeryzowanemu tłumaczowi i przetłumaczyłem go z angielskiego na niemiecki i z powrotem. Przed rozważeniem budowy tłumacza robota przeczytaj następny akapit. Jestem pewien, że to mój edytor pasuje. Oba tłumaczenia są następujące. Spróbuj sam na http://babel.altavista.com/tr. Oto automatyczne tłumaczenie na język niemiecki:

"Weiter wenn der Roboter w einer Aussenstelle funktionieren soll (mit etwas Fernbedienung), betrachten Sie, den Operatoren die Fähigkeit zu geben, um den Prozessorenergie Zustand von fern zu ändern. Dieses ist eine Eigenschaft, die gerade save der Speck kann. von der Projektmannschaft eines Tages. Leseübersetzungen dieses Textes sind jetzt a diesem schweineartigen Idiom eher ziemlich konfus. Als Experiment habe ich diesen Zunse einem automisierten Übersetzer eingezogen und ihm von englischem zum Deutschen und zur Rückseite übersetzt. Bevor Sie einen Roboterübersetzer errichtend betrachten, lesen Sie den folgenden Punkt. Sicheres I. m gibt er meinem Herausgeber Sitze. Die Übersetzung Versuchen Sie sie sich a http://babel.altavista.com/tr"

Oto automatyczne tłumaczenie z powrotem na angielski:

"Far one if the robot in a branch office to function is (with something remote maintenance), regards you, to give to the operators the ability in order to change the processor energy condition from a distance. This is save a characteristic, the straight the bacon can from the project crew of a daily. The read translations of this text are now considerable at this pig-like Idiom rather konfus. As experiment I drew in this point to an automated translator and him from English to the German and to the back translated. Before you regard a robot translator establishing, read the following point. Safe I'm it gives to my publisher of seats. The translation follows. Try it on http://babel.altavista.com/tr."

No cóż.

Pobór mocy procesora

Niektóre procesory są po prostu zaprojektowane do pracy z małą mocą, a inne nie. Nie przejmuj się nawet rozważaniem procesorów, które nie mają typów funkcji niezbędnych do pracy z małą mocą. Ogranicz wyszukiwanie procesora do odpowiednich procesorów energooszczędnych.

Typy pamięci

Wybierając technologię pamięci, należy zwrócić uwagę na pobór mocy w pamięci same żetony. W szczególności niektóre układy pamięci flash mają wbudowaną funkcję oszczędzania energii. Przejdą one w stan niskiego poboru energii, jeśli nie będą dostępne w określonym czasie. Może to znacznie zmniejszyć zużycie energii, z niewielkim wpływem na szybkość działania procesora.

KONTROLA MOCY PODSYSTEMU

Podsystemy robota powinny być zaprojektowane z wbudowanymi przełącznikami sterowania mocą. Procesor, pod kontrolą oprogramowania, powinien mieć możliwość wyłączenia zasilania nieużywanych części robota. Jeśli na przykład robot będzie działał przez jakiś czas, możemy wyłączyć zasilanie siłowników i silników. Jeśli robot nie będzie musiał niczego wyczuwać przez chwilę, możemy wyłączyć czujniki. Wariant tego rodzaju przełącznika sterowania mocą jest kontrolerem mocy "martwego człowieka", który wyłącza moc podsystemu, chyba że procesor nakazuje inaczej. Jest to przydatne w sytuacjach, w których procesor może zbombardować lub jeśli oprogramowanie aplikacji po prostu zapomina o odpowiednim porządkowaniu. Zdalne, nienadzorowane roboty potrzebują tego rodzaju funkcji sprzętowej na sterowaniu mocą podsystemu, aby uniknąć przypadkowego spuszczenia baterii.

WYCIEK POZYSKIWANIA DANYCH

Spróbuj użyć czujników, które nie zużywają energii, dopóki nie zostaną przesłuchane. W przypadku prostych wejść cyfrowych rozważ użycie trzech podanych wejść procesora. Często można uniknąć wycieku energii, z wyjątkiem krótkiego okresu, w którym procesor przesłuchuje dane wejściowe.

SPRAWDZANIE SCIEŻKI

Podczas projektowania robota upewnij się, że sprawdziłeś każdą istniejącą ścieżkę podejść do ziemi. Często pojawiają się niespodziewane ścieżki, które mogą wyczerpać baterię. Nie zakładaj, że wszystkie przewody, połączenia i komponenty są jednokierunkowymi przewodnikami prądu. Często prąd przepływa wstecz przez komponent w celu zapewnienia nieprzewidzianej ścieżki. To może całkowicie wyczerpać baterię. Roboty zaprojektowane do odległych lokalizacji (takich jak Mars) są rutynowo badane pod kątem tego rodzaju ścieżek. W przypadku misji krytycznych określ, co się stanie, jeśli komponent nie powiedzie się całkowicie. Czy to się nie uda? Czy to się nie powiedzie? Jaki jest plan tworzenia kopii zapasowych w celu zapobiegania utracie energii w takim przypadku?

Dławienie Czujnika

Ponieważ komputer nie może mimo wszystko zwracać stałej uwagi na czujniki, należy rozważyć wyłączenie ich, gdy nie są używane. Bądź jednak ostrożny; wybierz czujniki, które nie mają czasu rozgrzewania. Często czujniki będą dryfować przez pewien czas po włączeniu. Jeśli czujniki mają integralne, wewnętrzne odniesienia i zachowują dokładność przy cyklach zasilania, mogą działać dobrze. Jeśli komputer musi ponownie kalibrować czujniki za każdym razem, gdy są włączone, może nie być tego wart.

KONTROLA MOCY PERYFERYJNEJ

Wiele urządzeń peryferyjnych jest dostępnych z wewnętrznym układem sterowania mocą. Czasami sterowanie zasilaniem działa automatycznie w urządzeniu peryferyjnym, a czasami program steruje nimi bezpośrednio. Takie urządzenia peryferyjne są następujące:

•  Dyski twarde Dyski twarde można wyłączyć, aby się obracały. Większość komputerów oferuje tę opcję teraz. Gdy dysk się obróci, zajmie kilka sekund opóźnienia dla wszystkich nowych danych; Dysk musi wirować do prędkości, zanim dane będą dostępne.
•  Wyświetlacz. Większość komputerów ma teraz kontrolę nad zużyciem energii wyświetlacza. Na laptopach podświetlenie jest kontrolowane, a komputery kontrolują sam monitor. Te komponenty zużywają sporo energii. Jeśli robot ma wymagania dotyczące wyświetlacza, upewnij się, że odpowiednie elementy sterujące pozwalają kontrolować zużycie energii.
•  Interfejsy komunikacyjne. Interfejsy komunikacyjne przenoszą dane do iz robota. W przypadku robotów, które mają mało dostępnej energii, interfejsy komunikacyjne muszą być przemyślane bardzo ostrożnie. Jednym z najtrudniejszych problemów do wykonania jest monitorowanie wejść komunikacyjnych. Potrzebna jest energia do ciągłego monitorowania wejścia komunikacyjnego. W następnej sekcji omówiono kilka rozwiązań, które mogą pomóc w rozwiązaniu tego problemu.

Szpiegowanie

Interfejs analizuje okresowo sieć, więc zużycie energii jest minimalizowane, gdy nie ma aktywności. Sieci przesyłające podsłuchy Dostępne są układy interfejsu sieci peryferyjnych monitorujące sieć okresowo, aby sprawdzić, czy istnieją komunikaty. Inny interfejs układy scalone są w stanie obudzić system z drzemiącego w trybie energooszczędnym drzemki, gdy pojawi się wiadomość przeznaczona tylko dla robota. Przez resztę czasu obwód interfejsu jest wyłączony, aby oszczędzać energię.

•  Wykrywanie energii podczas przeskakiwania Do wykrycia określonych wzorców danych potrzeba więcej obwodów, niż wykrywanie aktywności danych. Niektóre interfejsy komunikacyjne będą spać, dopóki nie wykryją wystarczającej ilości energii na wejściu komunikacyjnym. Działa to najlepiej w łączu komunikacyjnym, w którym występuje mały ruch, który nie jest przeznaczony dla odbiornika (jak wąskopasmowe łącze radiowe [RF]). Ten typ przebudzenia nie działa dobrze w sieciach, w których wszystkie interfejsy korzystają z tego samego łącza fizycznego, różnicowanego tylko przez adresowanie.
•  Koordynacja czasu przeskakiwania Jeśli oba końce łącza komunikacyjnego wcześniej zgodzą się na ograniczenie komunikacji z różnymi oknami czasowymi, żadna strona łącza nie będzie musiała oglądać swojego odbiornika aż do wyznaczonego czasu. Taki protokół komunikacyjny może zaoszczędzić sporo energii. Z pewnością oba końce łącza muszą mieć dokładne, swobodne zegary, aby zachować koordynację. Alternatywą jest użycie powszechnie dostępnego zegara, takiego jak jeden transmitowany przez satelity GPS, który jest dostępny na całym świecie.

PEWNE UWAGI O SPY-HOPPING

Szpiegowanie to sposób, w jaki robot może okresowo próbować świata, w którym się znajduje musi działać. Jak zobaczymy w części 8, pobieranie próbek może łatwo spowodować kłopoty robota. Dwa warunki umożliwiają zastosowanie tej techniki. Po pierwsze, warunki muszą być dobrze znane, aby pobieranie próbek było skuteczne. Po drugie, system kontroli musi być w stanie prawidłowo funkcjonować z ograniczoną ilością informacji, którą zapewniają odpowiednie techniki pobierania próbek. Powinniśmy zauważyć w tym miejscu, że podsłuchy szpiegujące są z natury rodzajem głosowania. System kontroli robota bierze na siebie odpowiedzialność za obserwowanie zdarzeń i łapanie ich w momencie ich wystąpienia. Oprogramowanie procesora przechodzi do każdego interfejsu okresowo i "odpytuje", aby określić, czy wymaga ono uwagi. Ta metoda sterowania różni się wyraźnie od systemów sterowania sterowanego przerywaczami, w których do samego zdarzenia należy powiadomienie systemu sterowania, że potrzebne jest działanie. Systemy przerwań również mogą pracować w trybie małej mocy. Ponieważ przeskoki szpiegowskie opierają się na próbkowaniu, wbudowane w system sterowania wbudowane opóźnienie odpowiedzi jest wbudowane. Jeśli wystąpi ciekawe wydarzenie, upłynie trochę czasu, zanim procesor się obudzi i odpytuje czujniki monitorujące wydarzenie. Dopóki zdarzenie będzie trwało wystarczająco długo, aby mogło zostać wykryte, procesor go złapie i będzie działał prawidłowo. Nastąpi jednak opóźnienie, które może trwać tak długo jak interwał przeskakiwania. Dopóki system kontroli może skutecznie wykonywać swoje zadania w obliczu opóźnień, nie występują problemy.

ADAPTACYJNY CYKL OBROTU SPY-HOP

Oprogramowanie sterujące robota może dostosować się do zmieniającego się środowiska. Jeśli oprogramowanie sterujące zauważy, że istotne zdarzenia występują coraz częściej, może zmniejszyć częstotliwość przeskoków szpiegowskich. Częste pobieranie próbek pomoże zagwarantować płynne działanie, ale kosztem zwiększonego zużycia energii. Kiedy oprogramowanie sterujące robotem wyczuje, że aktywność zewnętrzna zwalnia, może ponownie zwiększyć interwały szpiegowskie, aby zaoszczędzić energię. Technika ta może być stosowana w sytuacjach, w których środowisko zmienia się w stosunkowo przewidywalny sposób. Jeśli oprogramowanie do adaptacyjnego sterowania zmienia wystarczająco szybko interwał śledzenia szpiegów, aby śledzić zmieniające się środowisko, wszystko będzie dobrze. Jeśli środowisko zmienia się szybciej niż system sterowania może się dostosować, pojawią się problemy. Interwał przeskakiwania szpiegów może pozostać zbyt duży, aby skutecznie przetestować przyspieszone środowisko. Jeśli istnieją granice tempa zmian w procesach środowiskowych, to system adaptacyjnego sterowania można zaprojektować tak, aby nadążał. Ale jeśli nie istnieją żadne ostateczne granice dla tych procesów, bądźcie ostrożni wobec adaptacyjnych pętli kontrolnych wewnątrz robota. Lepiej byłoby po prostu zmarnować dodatkową energię i pozwolić systemowi sterującemu działać z dużą szybkością, zamiast ryzykować problem z systemem sterowania.

Uwagi dotyczące oprogramowania do kontroli zużycia energii

Jak wspomniano wcześniej, tylko sprzęt może oszczędzać energię, ponieważ jest jedynym konsumentem. Większość funkcji sprzętowych zdolnych do oszczędzania energii będzie prawdopodobnie pod bezpośrednią kontrolą oprogramowania. Wiele technik używania oprogramowania do oszczędzania energii wspomina.

SYSTEM OPERACYJNY

Omówiliśmy już niektóre ze sztuczek systemu operacyjnego (OS), które można wykorzystać do oszczędzania energii. Ogólnie rzecz biorąc sama obecność systemu operacyjnego jest antytetyczna dla właściwego funkcjonowania oszczędnego systemu oszczędzania energii. Nie będziemy o tym dłużej dyskutować, ponieważ każdy system operacyjny będzie posiadał własną dokumentację dotyczącą takich spraw, ale należy uważać, aby system operacyjny prawidłowo obsługiwał stany zachowania energii procesora, na którym działa system operacyjny. Jeśli system operacyjny nie został poprawnie przeniesiony do procesora lub system operacyjny nie obsługuje oszczędzania energii, należy rozważyć inny. Jedną z kluczowych cech systemu operacyjnego, o którym wspomnieliśmy, jest obsługa środowiska programistycznego. System operacyjny musi być w stanie przechowywać i pobierać środowiska programowe, aby mógł przetrwać awarie zasilania. Podczas początkowej inżynierii systemu robota musimy zdecydować, jakie są konsekwencje awarii zasilania. Jeśli robot musi być w stanie przetrwać krótkie przerwy w zasilaniu, należy wziąć pod uwagę specjalne wymagania sprzętowe i programowe. Omówimy je w rozdziale dotyczącym awarii zasilania.

ALGORYTMY

Możemy dostosować algorytmy do oszczędzania energii. Główną ideą jest to, że każda indywidualna operacja w algorytmie sterowania, każdy wykonany krok instrukcji, zużywa energię. Możemy zmienić algorytm, więc mniej kroków jest wymaganych, a tym samym oszczędność energii. Z pewnością algorytmy mogą być zbudowane na wiele różnych sposobów, ale aby oszczędzać energię, należy je utrzymywać na krótko i słodko.

PLANOWANIE

Aby ukuć frazę, lepiej kupić pizzę, zamiast po prostu zjeść ją za plasterek. Oczywiście, zakup całej pizzy na raz będzie tańszy, i to samo dotyczy domeny oprogramowania. Łatwo jest podzielić problem kontroli na drobne kawałki, nie zdając sobie z tego sprawy. Często zdarza się to podczas procesu projektowania, ponieważ różne aspekty problemu z kontrolą mocy są rozpatrywane pojedynczo. Gdy problem zostanie pocięty na kawałki, płacimy za to w straconym czasie obliczeń, straconej energii i niższej niezawodności. Problemy stają się fragmentami w więcej niż jednym wymiarze. Oto kilka sposobów zmniejszyć zmarnowany narzut w robocie:

•  Koszty ogólne komputera Komputerowy program sterujący, który uruchamia się sporadycznie, jest nieekonomiczny. Komputer robota musi być przebudzony lub częściej używany, a towarzyszące mu koszty stają się nadmierne. Jeśli uda nam się znaleźć sposób na ponowne połączenie programu, aby można go było użyć za jednym zamachem, możemy odzyskać utraconą energię i czas. Rozważ skontrolowanie wszystkich zadań wykonywanych przez robota i identyfikowanie tych, które są obsługiwane w sposób fragmentaryczny. Kilka takich zadań wkrada się niezauważalnie do projektu podczas fazy projektowania. Przepisanie tych zadań często przynosi oszczędności energii i zwiększa niezawodność oprogramowania.
•  Napięcie zasilania Większość robotów ma dziesiątki zadań do wykonania. Część energii potrzebnej do wykonania tych zadań zostanie zmarnowana . Zastanów się, na chwilę, samochód. Uruchomienie samochodu, co najmniej, powoduje zużycie energii z akumulatora. Jeśli mamy dwa zlecenia do wykonania, możemy je pogrupować, więc musimy uruchomić samochód tylko raz. Ta sama technika grupowania może działać w zarządzaniu energią w robocie. Niektóre obwody sprzętu będą musiały być naładowane do wykonania zadań. Możemy oszczędzać energię, grupując zadania razem, tak aby zmarnować mniejszy narzut energetyczny.
•  Tworzenie potokowania (w czasie rzeczywistym) Rozważ modyfikowanie oprogramowania sterującego robota do zadań potokowania. Aby zilustrować, dlaczego jest to użyteczne, musimy ponownie przeanalizować potokowanie w odniesieniu do procesorów. W procesorach z potokowaniem instrukcje nie są wykonywane natychmiast, ale są wprowadzane do potoku. Rurociągi mogą być wykorzystywane na różne sposoby w celu kontrolowania zużycia energii lub prędkości wykonania. Kompromis odbywa się między prędkością i mocą, ponieważ większa moc obliczeniowa wymaga więcej energii.

Potokowanie dla prędkości

W części na temat sprzętu komputerowego omawialiśmy wykorzystanie potoków do przyspieszenia przetwarzania. Konkretnym stosowanym przykładem było "Jeśli A, następnie B, w innym C." W potoku optymalizowanym pod kątem prędkości, A, B i C są wprowadzane do potoku jednocześnie i są obliczane jednocześnie. B lub C wychodzi z potoku (już wstępnie skompilowany) w oparciu o wartość A. W ten sposób zachowałby się rurociąg zoptymalizowany pod kątem prędkości. Spala energię tak szybko, jak to możliwe.

otokowanie dla Mocy

Ponieważ procesor wykonuje instrukcje wewnątrz potoku, czasami zauważa, że niektóre instrukcje nie muszą być wykonywane. Moc może zostać zapisana, jeśli niepotrzebne instrukcje nie zostaną wykonane. Zrewidujmy nasz przykładowy program: "Jeśli A, następnie B, inny C." W potoku optymalizowanym pod kątem mocy, A jest umieszczany w potoku i obliczany jako pierwszy. Na podstawie wartości A, B lub C jest wprowadzane do potoku w celu obliczenia. Ta metoda jest wyraźnie wolniejsza, ale oszczędza energię, którą można wykorzystać w niepotrzebnych obliczeniach. Właśnie przyjrzeliśmy się, w jaki sposób rurociąg w procesorze może zostać zoptymalizowany pod kątem oszczędności energii. Procesor ma potok, który obsługuje instrukcje, które są wykonywane szeregowo. W ten sam sposób możemy skonstruować szereg zadań, które robot wykonuje w sposób szeregowy. Jeśli zbuforujemy te zadania zamiast je natychmiast wykonać, możemy odkryć zadania, które nie muszą być wykonywane. W prawdziwej operacji mogą pojawić się różne polecenia, które nie mają sensu. Jeden zestaw poleceń może wyglądać tak: "Przejdź z punktu B do punktu C i podnieś skałę C. Przywróć ją do punktu B i sprawdź fakt A. Jeśli A jest prawdą, upuść skałę C i podnieś skałę B. "Prawidłowo skonstruowany rurociąg zadań robota przyjrzy się tej serii poleceń i zmieni ją w następujący sposób:" Zbadaj Fakty A. Jeśli A jest prawdziwe, podnieś Rock B, lub przejdź do punktu C i podnieś Rock C. "Bardzo dobrze skonstruowany potok zadań robota będzie wątpił, czy robot powinien wykonać dowolną z tych prac. Jeśli nie potrzeba ani informacji o fakcie A, ani o skałach ,kolejne zadania, wszystkich tych prac można uniknąć. Jeśli kolejne zadanie robota wymaga Rock B lub Rock C, wtedy zadania potokowe mogą zostać wykonane. Co więcej, potok zadań robota może określić, czy robot naprawdę musi w ogóle powrócić do punktu B. Większość ludzi, podczas sprzątania domu, znajdzie wiele powodów, aby pójść na górę i zejść na dół, aby osiągnąć określone cele. Jeśli nie wystąpią żadne sytuacje awaryjne, sensowne jest, aby przez jakiś czas przetwarzać wszystkie zadania. Idź na górę, aby wykonać zadania na górze i na dole, aby wykonać zadania na dole. Łatwo powiedzieć, że to oszczędza energię. Jeśli robot może pozwolić sobie na chwilę wahania, może przepompować swoje zadania i prawdopodobnie zaoszczędzić trochę energii.

Potokowanie (wstęp)

Tak jak komputer robota może wykonywać zadania potokowe, tak też projektanci robotów mogą z dużym wyprzedzeniem wykonywać zadania związane z rurociągiem. Chodzi tylko o to, jak szybko można ustalić logiczną kolejność wykonywania. W przypadku potokowania w czasie rzeczywistym, komputerowy rurociąg robota eliminuje zadania, które zostały sklecone w ostatniej chwili. Potok w czasie rzeczywistym optymalizuje zadania, które nie mają sensu, ponieważ nie można ich wcześniej przewidzieć. Ale dzięki sprytnemu programowaniu projektanci robotów mogą z wyprzedzeniem optymalizować sposób wykonywania zadań. To prawie tak, jak wykonywanie potoków, zanim zadania mają się odbyć, a następnie zasilenie rurociągu robota w czasie rzeczywistym strumieniem zadań, które nie wymagają dalszej optymalizacji. Rozważmy banalny przykład. Załóżmy, że robot ma "buty", które są wymagane do ruchu. Nie trzeba być geniuszem, aby zdać sobie sprawę, że zakładanie butów powinno się odbywać przed wstawaniem. Ci z nas, z dziećmi, wiedzą jednak, że dziecko jest już w samochodzie i do centrum handlowego, zanim odkryjemy nadmiar różowych, kręconych palców u nóg. Biorąc pod uwagę, że ludzie są skazani przed robotami w ich zdolnościach i ewolucji, pozostawiamy to czytelnikowi, aby odkryć przewagę, jaką ten rodzaj zachowania przekazuje gatunkowi ludzkiemu. Dlaczego świat jest tak zsynchronizowany? Kiedy my, ludzie, będziemy wystarczająco inteligentni, aby odkryć przyczynę, z pewnością stworzymy lepsze roboty. Ale dygresję. Projektanci robotów powinni być w stanie zaplanować misje, w których robot jest kontrolowany na tyle dobrze, aby założyć buty przed przeprowadzką. W rzeczywistości, przy użyciu odpowiedniego oprogramowania do tworzenia oprogramowania, osoby planujące wstępne planowanie powinny posiadać narzędzia, które zapewnią odpowiednie sterowanie robotem w dużym stopniu zautomatyzowane. Zrobiwszy jeden krok wstecz, projektanci robotów powinni również być w stanie zoptymalizować wszystkie instrukcje oprogramowania, aby oszczędzać energię. Widzieliśmy już przykład instrukcji IF zoptymalizowanej pod kątem prędkości lub mocy. Większość kompilatorów może zoptymalizować oprogramowanie pod kątem różnych rzeczy. Z pewnymi flagami ustawionymi w czasie kompilacji, kompilator może wykreować szybki kod lub skondensowany kod, który zużywa mało pamięci. Dobry kompilator wyeliminuje również kod, który nigdy nie zostanie wykonany.

ŚRODKI OCHRONNE

Oprogramowanie sterujące robota powinno mieć pętle kontrolne, które będą wykrywać nadmierne zużycie energii i inne poważne sytuacje. Jest to szczególnie ważne w misjach kosmicznych lub gdy robot nie może być naprawiony. Dwa typy zdarzeń powinny być dokładnie obserwowane dzięki osobnym programom nadzoru oprogramowania:

•  Naruszenie bezpieczeństwa Komunikacja przychodząca do robota powinna zostać zeskanowana w poszukiwaniu dowodów hakerów i innych bardziej przypadkowych zakłóceń. Jeśli zostanie stwierdzone, że system jest atakowany, powinien przejść do bezpiecznej konfiguracji i zmienić jego kontrolę strategie. Robot powinien zgłosić włamanie po jego wykryciu, a następnie zabezpieczyć zasilanie robota przed nieuzasadnionym użyciem. Energia może zostać zachowana podczas przywracania właściwej komunikacji.
•  Miażdżenie mocy Biorąc pod uwagę, że zasilanie energią ma kluczowe znaczenie w wielu robotach mobilnych, rozsądnie jest uważnie obserwować spust mocy. Jeśli energia jest odprowadzana zbyt szybko, sensowne jest zamknięcie działań do momentu ustalenia przyczyny. Robot może się bać, źle działać lub po prostu źle opracować algorytm. To inteligentny robot, który da sobie czas.

AWARIE ZASILANIA

Jedną z technik, która niemal całkowicie zaginęła w dzisiejszym złożonym świecie oprogramowania komputerowego, jest zastosowanie wykrywania awarii zasilania. Możliwe jest zbudowanie zasilacza z sygnałem wyjściowym o nazwie Power Failure Detect (PFD), który ostrzega o zbliżającym się zaprzestaniu zasilania wejściowego. Podczas awarii zasilania sygnał PFD może spaść o kilka milisekund przed upływem czasu, w którym regulowana moc nie spełnia wymagań. Procesor zostanie przerwany i może wykonać wszystkie czynności porządkowe niezbędne do przetrwania zdarzenia. Jeśli robot jest zaprojektowany od samego początku, aby go wykorzystać, robot może podnieść się tam, gdzie zostało przerwane. Aby zaplanować wykorzystanie tej możliwości, musimy rozwiązać wszystkie następujące problemy:

•  Zasilanie musi niezawodnie generować sygnał PFD. Większość zasilaczy nie ma tej funkcji.
•  Oprogramowanie systemu operacyjnego musi ułatwiać implementację i wykorzystanie sygnału PFD. Prawda jest taka, że większość oprogramowania OS będzie po prostu przeszkodą w skutecznym wdrażaniu oprogramowania PFD. Większość dużych programów dla systemu operacyjnego ma tyle dziur i luk, że sukces jest problematyczny.
•  Komputer robota musi mieć wystarczającą nieulotną pamięć, aby odrzucić wszystkie lotne dane, które zostaną utracone podczas awarii zasilania. Pamięć Flash, pamięć (RAM) i dyski są dobrym miejscem do umieszczenia danych. Jednak po sygnalizacji PFD musimy być bardzo ostrożni, aby zakończyć wszystkie operacje, zanim zasilanie całkowicie się nie powiedzie.
•  Wszystkie stany robota należy odłożyć, aby uzyskać pełne odzyskiwanie PFD. Stany te obejmują zarówno stany cyfrowe, o których mówiliśmy, jak i stany mechaniczne. W końcu robot może się poruszać, gdy nastąpi awaria zasilania. Jest prawdopodobne, że ruch zostanie zakłócony przez awarię zasilania, chyba że awaria zasilania jest bardzo krótka. Rozważmy przypadek, w którym robot porusza ramieniem w prawo.
Jeśli wystąpi bardzo krótka awaria zasilania, odpowiednie oprogramowanie PFD zachowa te informacje i zakończy ruch, gdy moc powróci kilka milisekund później. Oczywiście, jeśli awaria zasilania potrwa dłużej, ruch zostanie zniszczony i tak. Ponadto, jeśli wymaga tego bezpieczeństwo, wszystkie ruchy muszą się zatrzymać, gdy zasilanie spadnie. We wszystkich tych przypadkach pełne odzyskanie stanów mechanicznych PFD jest niemożliwe.

Zagadnienia mechaniczne: oprogramowanie do kontroli energii

Będziemy omawiać niektóre elementy inżynierii mechanicznej później. Wiele aspektów konstrukcja mechaniczna zawiasu robota na zużycie energii. Oczywiście, jeśli robot się poruszy, wtedy energia zostanie zużyta, aby stworzyć ten ruch. System kontroli może monitorować wydatki energii mechanicznej i optymalizować rzeczy. Może się to zdarzyć na kilka sposobów, które są tutaj wymienione w nie określonej kolejności.

UDOSTĘPNIANIE SILNIKÓW

Silniki należą do najcięższych komponentów. Jeśli robot nie musi poruszać się w wielu wymiarach jednocześnie, należy rozważyć wprowadzenie lekkich sprzęgieł i udostępnienie silnika między tymi mechanizmami. Oprogramowanie robota może musiało określić, w którym kierunku najpierw się poruszać.

PROGNOZA POZYCJI

Kiedy oprogramowanie sterujące zdecyduje się na przesunięcie robota, spodziewa się, że zakręci ono w prawidłowej pozycji na końcu ruchu. Ale prawda jest taka, że robot rzadko ląduje dokładnie w odpowiednim miejscu po pierwszym ruchu. Kolejny mniejszy ruch jest często konieczny. Do tego stopnia, że te mniejsze ruchy korekcyjne można zminimalizować, robot może zaoszczędzić energię. Pamiętaj, że często potrzeba dodatkowej energii, aby w ogóle ruszyć robotem. Jeśli system sterowania robota jest na tyle inteligentny, aby się dostosować, może przewidzieć efekt ruchu, nawet zanim to nastąpi. Ponadto, gdy zmieniają się warunki wokół robota, mechanizm przewidywania może zostać zmieniony w celu dopasowania do warunków. Przy odpowiednim algorytmie oprogramowanie sterujące robota będzie nadal sprawne w swoich ruchach, zbliżając się do przewidywanej pozycji za pierwszym razem. Zastanów się nad prawdziwym przykładem. Załóżmy, że robot musi umieścić słupki ogrodzenia w ziemi. Oprogramowanie sterujące włączało silnik do przodu na trzy sekundy za każdym razem, gdy robot musi przejść do następnego bieguna. Jednakże, gdy robot zaczyna wchodzić do piaszczystej ziemi, trakcja staje się problemem i zajmuje dodatkowy czas, aby osiągnąć kolejną pozycję. Oprogramowanie sterujące powinno być w stanie wykryć to z ostatniego słupka ogrodzenia i włączyć silnik dłużej podczas przechodzenia do następnego stanowiska. W miarę poprawy trakcji można skrócić czas jej trwania.

MINIMALNE TRASY ENERGETYCZNE

Oprogramowanie systemu sterowania, któremu polecono przesunięcie robota w wielu wymiarach, powinno być w stanie zminimalizować ilość energii wymaganej do wykonania ruchów. Może się to odbywać na wiele sposobów. W niektórych przypadkach robot może skutecznie wykonać wymagany ruch na wiele różnych sposobów. Załóżmy na przykład, że robot musi przesunąć rękę w nowe miejsce, aby wykonać zadanie. Robot mógł cofnąć rękę, przesunąć się do wygodnego miejsca przed obiektem, który ma być manipulowany, i wyciągnąć rękę, aby uchwycić przedmiot. Ten zestaw ruchów może być marnotrawny. Przesunięcie ręki do wymaganej pozycji może spowodować obrót tylko w talii lub w przedłużeniu ramienia. To samo zadanie można wykonać w ten sposób przy dużych oszczędnościach energii. Oprogramowanie sterujące może zdecydować, który ruch zminimalizuje zużycie energii na kilka różnych sposobów. Oprogramowanie może zawierać prosty statyczny model kosztów przemieszczania się w każdym wymiarze lub może adaptacyjnie zmieniać koszty ruchu, obserwując koszty poprzednich ruchów. Oczywiście, te algorytmy mogą stać się złożone. Jeśli jedna część robota pęknie, uniemożliwiając ruch w jednym wymiarze, po prostu zwiększ koszt ruchu w tym wymiarze do bardzo wysokiej wartości. Oprogramowanie minimalizacji energii powinno następnie ominąć każdy ruch w wymiarze zawierającym uszkodzone elementy.

HAMOWANIE

Każdy, kto zjechał na bardzo długie, strome wzgórze, wie, że hamowanie wymaga energii. Pedał hamulca jest wciśnięty, co wymaga energii z mięśni nóg. Powszechnie wiadomo, że hamulce należy od czasu do czasu odpuszczać, aby uniknąć przegrzania. To jest coś, co wciąż robię do dziś, nie wiedząc, czy jest to potrzebne. W każdym razie projekt układu hamulcowego należy starannie wykonać zamiast czekać do ostatniej sekundy. Po pierwsze, jakie są hamulce? Omówimy wkrótce rodzaje hamulców.Zdefiniowane w sposób ogólny hamulce są mechanizmem spowalniającym robota w jednym lub wielu wymiarach. Zgodnie z teorią, że każdy element musi być uzasadniony, powinniśmy zadać następujące pytanie. Dlaczego w ogóle może być konieczne hamowanie?

Bezpieczeństwo

Jeśli robot znajdzie się w trudnej sytuacji, może się szybko zatrzymać. Może się to zdarzyć, gdy pojawi się przeszkoda, wystąpi usterka lub operatorzy nacisną przycisk paniki. Zauważ, że w przypadku paniki hamulce mogą faktycznie boleć zamiast pomagać. Rozważ przypadek, w którym ktoś przypadkowo został złapany w mechanizmach przenoszenia. Gdy ruch zostanie zatrzymany z powodu paniki, hamulce powinny być zwolnione, o ile nie następuje już ruch. Po zwolnieniu hamulców mechanizmy mogą zostać przesunięte w celu wydobycia uwięzionego operatora. Projektując robota, nie zapominaj, że hamulce mogą być równie niebezpieczne jak silniki.

Brak energii

Jeśli zasilanie się nie powiedzie, robot może wymknąć się spod kontroli. To, co dzieje się dalej, zależy od konstrukcji hamulca. Samochody mają dwa rodzaje: hamulce tymczasowe (operator może nacisnąć pedał hamulca) lub hamulce typu "flip-flop" (operator może pociągnąć hamulec bezpieczeństwa i zwolnić go później). Trzecią opcją byłoby automatyczne hamowanie przy zaniku zasilania, w którym hamulce są wyłączone do momentu awarii zasilania. Wnikliwy projektant robotów musi wybrać między tymi opcjami. Oprogramowanie systemu sterowania będzie użyteczne tylko do momentu całkowitego zaniku zasilania. Jeśli zasilacz robota ma wbudowany PFD, ostrzeżenie zostanie przekazane z wyprzedzeniem. Chociaż podstawowy układ hamulcowy może stać się skomplikowany, utrzymuj proste systemy hamowania awaryjnego.

Prędkość

Najszybszym sposobem na przejście z punktu A do punktu B jest przyspieszenie z maksymalną prędkością przez połowę trasy, a następnie zmniejszenie prędkości z maksymalną prędkością dla drugiej połowy podróży. Ci dobrze zaznajomieni z rachunkiem rozpoznają kilka wad tego ostatniego stwierdzenia, ale daje nam to podstawową koncepcję. Jeśli celem jest szybkość działania (zamiast oszczędzania energii), wówczas można zastosować techniki takie jak ten manewr hamowania, aby skrócić czas podróży. Pozostawiamy czytelnikowi opracowanie modelu matematycznego, aby naprawdę zminimalizować całkowity czas podróży.

Jakie rodzaje hamulców istnieją?

Zapamiętaj ogólną definicję. Hamulce są metodą spowalniania (lub utrzymywania w miejscu). Jest to funkcja, którą można zaimplementować w następujący sposób:

•  Brak hamulców OK, wszyscy mieliśmy takie rowery. Prawda jest taka, że oprócz zeskrobywania butów na ziemi, możliwe jest spowolnienie, po prostu zatrzymując się. To nie działa bardzo dobrze, zjeżdżając z górki, ale działa dobrze na płaskim terenie i pod górę. Nawet jeśli robot ma świetne hamulce tarczowe, oprogramowanie sterujące powinno być wystarczająco inteligentne, aby rozpoznawać, kiedy nie trzeba ich używać. Ten rodzaj działania hamującego zużywa bardzo mało energii, ale wymaga raczej wyrafinowanego oprogramowania. Oto przykład działania oprogramowania, które może zaoszczędzić energię. Załóżmy, że robot musi przesunąć się o 4 stopy. Przypuśćmy, że robot wie, że zejdzie on na odległość 2 stóp, gdy robot osiągnie maksymalną prędkość, a silnik zostanie wyłączony. Prawdopodobnie najmniej energochłonnym sposobem poruszania się jest osiągnięcie maksymalnej prędkości, poruszanie się na 2 stopy, wyłączanie silnika i wybieg przez 2 stopy, aż robot zatrzyma się. Inne plany wydatków na energię mogą działać lepiej, ale z pewnością mała moc zostanie zmarnowana w ostatniej połowie podróży. Silnik i hamulce będą wyłączone. Jedno jest jednak pewne. Robot nie wykona ruchu w minimalnym czasie.
•  Hamowanie silnikiem Tak, jak przy przyspieszaniu robota można użyć silnika, tak samo można go spowolnić. Silniki mogą być używane jako hamulce na kilka różnych sposobów. Ponieważ poruszające się cewki drutu przez pola magnetyczne powodują przepływ prądu, niektóre silniki stają się generatorami, gdy rotor obraca się wokół niego. Jeżeli cewki silnika są zwarte, wówczas większy prąd przepłynie, a silnik oprze się ruchowi wirowania na wirniku. Z definicji powoduje to hamowanie. Dostępne są bardziej zaawansowane układy sterowania silnikiem, które mogą bardziej skutecznie hamować, napędzając cewki silnika w optymalny sposób. W rzeczywistości silnik może być częściowo napędzany w przeciwnym kierunku. Następnie silnik aktywnie przeciwdziała istniejącemu ruchowi robota.
•  Hamulce klocków hamulcowych Dostępne są także zwykłe hamulce cierne wszelkiego rodzaju. Omówiliśmy już hamulce ABS i różne formy hamowania (ręczne i automatyczne). Po prostu warto wspomnieć je tutaj ponownie. Jednak jedna rzecz nie została wcześniej wspomniana. Hamulce wymagają chłodzenia. W najgorszym przypadku rozpraszają całą energię kinetyczną robota. Zapewnienie chłodzenia klocków hamulcowych (jeśli istnieją) musi być częścią projektu.

KONTROLA MOMENTU OBROTOWEGO

Podobnie jak hamulce ABS mogą zapobiec blokowaniu się obracających się kół, ma sens zapobieganie obracaniu się kół podczas przyspieszania, gdy powinny one uchwycić powierzchnia trakcji. Nie ma sensu obracać kołami robota podczas przyspieszania. To tylko strata mocy, czasu i gumy. (Producenci opon w Detroit będą zadowoleni, że nie wyobrażam sobie poruszania się na czymkolwiek innym niż opony.) Poniższa dyskusja zakłada, że robot ma więcej niż jedną prędkość lub może wybierać pomiędzy więcej niż jednym ustawieniem momentu obrotowego na kołach. Aby przeciwdziałać obracającym się kołom, robot musi najpierw być w stanie wykryć zdarzenie. System sterowania robotem może wyczuć, kiedy opony obracają się na kilka sposobów. Najprostszą metodą jest określenie prędkości robota nad terenem i porównanie go z modelem kół. Jeśli jedno z kół obraca się znacznie szybciej niż inne, prawdopodobnie nie chwyta tej samej powierzchni. W tym przypadku zadziałałyby te same czujniki, używane w hamulcach ABS. Nieco trudniejszą metodą jest bezpośrednie określenie momentu obrotowego na każdym kole. Można tego dokonać za pomocą mechanizmów sprężynowych lub poprzez monitorowanie napięć na uzwojeniach silnika. Silnik niespełniający oporu nie zużywa tak dużej mocy, aby obracać koła ze znaną prędkością. Jeśli koło się obraca, obwód sterujący silnika powinien być w stanie to zasygnalizować.

ODZYSKIWANIE ENERGII

Jedną z funkcji, która jest prawie darmowa za pomocą elektrycznego samochodu, jest możliwość generowania energii elektrycznej podczas zjazdu z góry lub hamowania. (Przyjemna strona internetowa, która powinna się przydać, a szczegóły dotyczące myślenia w samochodach elektrycznych są już dostępne na www.howstuffworks.com/electric-car.htm.) Jeśli robot pobrałby 100 wat energii, aby wspiąć się na wzgórze, moglibyśmy pomyśleć, że moglibyśmy odzyskać większośćz tych 100-wat, schodząc po drugiej stronie wzgórza. . Ale niestety na przeszkodzie staną się prawa termodynamiki. Na pewno nie chcielibyśmy, żeby policja termodynamiczna była na naszym ogonie. Drugie prawo stanowi, że entropia izolowanego systemu nigdy nie może się zmniejszyć. Ogranicza to efektywność konwersji energii między różnymi rodzajami energii. Rzadko można zbliżyć się do 25-procentowej efektywności, zamieniając energię elektryczną na energię kinetyczną i ponownie na energię elektryczną. Odzyskanie energii jest bardzo trudne i powinno być podejmowane tylko wtedy, gdy sprzęt jest praktycznie wolny i nie zakłóca innych procesów. Rzadko się opłaca w tak złożonym urządzeniu jak robot.

PONOWNE WYKORZYSTANIE ENERGII

Chociaż trudno jest ponownie wykorzystać energię, przekształcając ją z jednej formy w drugą, łatwo jest ponownie wykorzystać energię w jej istniejącej formie. Już widzieliśmy, jak możemy wykorzystać istniejącą energię kinetyczną robota, aby dotrzeć do celu i zaoszczędzić energię. Możemy rozszerzyć tę koncepcję poprzez śledzenie energii kinetycznej w różnych częściach robota. Oto przykład. Załóżmy, że robot ma stosunkowo ludzką postać. W takim przypadku możemy przeprowadzić szybki eksperyment używając naszych własnych ciał. Stań na odległość jednego ramienia od włącznika światła na ścianie lewym ramieniem najbliżej ściany. Teraz obróć tak, aby twoje prawe ramię znajdowało się najbliżej przełącznika, z lewym ramieniem. Jeśli chcesz włączyć przełącznik światła lewą ręką, masz kilka sposobów na wykonanie tego zadania. Możesz obracać się w prawo (90 stopni) w pasie, aż spojrzysz w ścianę i dopiero wtedy podnieś lewe ramię, aby dotknąć przełącznika. Te dwa ruchy są rozłączne i zużywają stosunkowo znane ilości energii. Alternatywnym sposobem jest podniesienie ramienia, aby dotknąć przełącznika, gdy obrót jest już w połowie ukończony (45 stopni). Może się wydawać, że łatwiej to zrobić w ten sposób, ponieważ moment ramienia jest już skierowany w kierunku przełącznika, gdy obrót jest już w połowie ukończony. Ale jeśli obrót talii zostanie zakończony przed podniesieniem ręki, energia marnuje się podczas podnoszenia ramienia. Najważniejsze jest to, że roboty mogą korzystać z koordynacji. Bardzo niewielu ludzi zadaje sobie kiedykolwiek trudność w określeniu, jaka jest ludzka koordynacja. Wiemy tylko, że niektórzy sportowcy zdają się szybować nad innymi bez wysiłku i wykonywać olśniewające wyczyny. Ale z podziałem na fizykę przynajmniej niektóre aspekty koordynacji sprowadzają się do zachowania energii i zachowania impetu. Tak jak ludzki mózg musi działać, by zmienić niezgrabną osobę w pełnego wdzięku sportowca, tak też system sterowania robota musi uruchamiać algorytmy zdolne do usprawnienia ruchów robota. Obliczenia ruchu i energii, które usprawnią ruchy robota, nie muszą być wykonywane pod wpływem chwili tuż przed ich użyciem. Możliwe jest obliczenie wielu ruchów z wyprzedzeniem i zapisanie wyników do wykorzystania w przyszłości. Projektanci robota mogą eksperymentować z wyprzedzeniem, aby znaleźć odpowiednie kombinacje ruchów, aby uzyskać pożądany efekt. Jeśli repertuar ruchów robota jest mały, może to działać dobrze. Ale jeśli robot musi poruszać się w wielu wymiarach jednocześnie, aby osiągnąć złożone, natychmiastowe zadania, system sterowania może potrzebować wykonać te obliczenia szybko, w czasie rzeczywistym. Pisanie programu symulującego koordynację jest złożonym zadaniem. Dobrym przybliżeniem pierwszego rzędu byłoby napisanie osobnych algorytmów sterowania dla każdego komponentu. Na przykład możemy napisać jedną pętlę kontrolną dla ramienia i jedną pętlę kontrolną dla talii. Podczas gdy pętla kontrolna w talii obraca się w kierunku ściany, pętla sterowania dla ramienia rozpozna optymalny czas, aby rozpocząć przesuwanie ramienia. Możliwe jest napotkanie problemów z wieloma algorytmami sterowania działającymi równolegle, ale trudności te można przezwyciężyć. Na przykład wykrywanie i unikanie zagrożeń może stanowić problem. Przenoszenie jednego komponentu na raz jest bardziej przewidywalne, ponieważ tylko jedna pętla sterowania jest aktywna jednocześnie. Jeśli pętle regulacji pasów i ramion działają jednocześnie, muszą być skoordynowane, jeśli przeszkód należy unikać. Koordynacja obejmuje komunikację i pada ofiarą wszystkich trudności, o których mówiliśmy wcześniej w równoległym przetwarzaniu. Jeśli będziemy obserwować pułapki, będziemy mogli czerpać korzyści z oszczędności energii. Inny przykład koordynacji obejmuje rotację masy. Łyżwiarze wciągają ręce, gdy wchodzą na szybkie obroty. Robot, który musi się obracać, powinien pociągnąć za ramiona przed obrotem. Nie tylko pomaga uniknąć uderzenia operatora, ale także wymaga mniejszej ilości energii obrotowej. Podsumowując, ochrona i kontrola rezerw energetycznych robota wymaga szczególnej troski. Algorytmy oprogramowania, własność napisana, mogą zminimalizować zużycie energii przez robota.