70
E
LEKTRONIKA DLA WSZYSTKICH 4/99
Robot jako taki
a jeżeli tak, to jaki i dlaczego?
(łapek i czułków ciąg dalszy)
W
poprzednim
odcinku na−
pisałem
pokrótce
o ewolucji robota czy
też żółwia elektronicz−
nego. Teraz zajmiemy
się tym szerzej. Pomy−
ślmy, jak zbudować ro−
bot. Nie jakiś konkret−
ny, ale tak ogólnie, jak
się do tego zabrać.
Niewątpliwie na po−
czątek trzeba zadać
sobie pytanie, co ten
robot ma robić. Po−
wiedzmy: ma nam ra−
no podać kawę. Nie,
nie chodzi o ekspres
do kawy, włączany ra−
no w sposób automa−
tyczny. Taki tępak nie
przyniesie nam kawy
do łóżka. My chcemy
skonstruować inteli−
gentny automat, który znajdzie puszkę
z kawą, zaparzy ją i poda cudownie aro−
matyczny napój wprost do łóżka. Chyba
właśnie z takimi funkcjami kojarzy się
słowo ‘robot’.
Taki robot musi jednak spełnić sze−
reg warunków:
− powinien mieć zdolność swobodne
go poruszania się po mieszkaniu;
− powinien mieć odpowiednie mani
pulatory (coby sobie dał radę z
puszką kawy itd.);
− musi “widzieć” (żeby się o ścianę
nie zabił i do szklanki trafił);
− musi dość intensywnie “myśleć”,
żeby przetworzyć wszystkie napły−
wające dane i podjąć stosowne akcje.
Już widać, że to nie będzie proste.
Nie rezygnuj! Czytaj dalej!
Zacznijmy od stosunkowo najłatwiej−
szej rzeczy − poruszania się. Rozważmy,
co technika dała nam do dyspozycji. Do
wyboru mamy koła, gąsienice i nogi.
Najlepsze byłyby oczywiście nogi
(długie, smukłe...). Niestety, chyba po−
zostaje jedynie się ożenić, bo mechaniczne
urządzenia kroczące, zwłaszcza dwu−
nożne są dopiero w fazie eksperymen−
tów i trzeba byłoby opracowywać wszy−
stko od podstaw. Zadanie zbyt trudne,
bo trzeba rozwiązać mnóstwo szcze−
gółowych problemów, w tym na przy−
kład napęd nóg.
Moglibyśmy użyć siłowników hy−
draulicznych (pneumatycznych), ale do
tego potrzebna byłaby też pompa cieczy
roboczej (kompresor). Poza tym rozrząd
hydrauliczny / pneumatyczny to też
ciężka
i
skomplikowana
sprawa.
Wszystko się da zrobić, ale wylądujemy
z silnikiem spalinowym na pokładzie −
tak z pół tony precyzyjnie obrobionej
stali. Kupa żelastwa, która − nawet jeśli
się da zamontować w robocie − sku−
tecznie ograniczy czas jego pracy do kil−
ku minut. Przy założeniu oczywiście, że
za naszym lokajem nie będą się ciągać
jakieś węże czy kable zasilające. Hy−
draulika odpada. Nogi też...
Pozostają jeszcze gąsienice i koła.
Oba rozwiązania mają podobny zakres
zastosowań, gąsienice są bardziej
wszędobylskie, ale za to bardziej skom−
plikowane w realizacji i mają większe
opory ruchu. Koła umożliwiają kierowa−
nie przez ich skręcanie, a nie tylko “pra−
wa przód, lewa tył, skręcamy!”.
Ponieważ na podłodze mieszkania
mogą znaleźć się różne rzeczy, sugero−
wałbym w naszym przykładzie użycie
gąsienic − nie ryzykujemy ugrzęźnięcia
koła np. między dwoma butami leżący−
mi na środku przedpokoju. Tu kwestia
wypływająca mimochodem, a` propos
tych butów: nigdy nie można liczyć na
czyste pole manewru. Każde urządze−
nie powinno sobie poradzić z nieoczeki−
waną sytuacją. Najczęściej to “poradze−
nie sobie” polegało będzie na wyłącze−
niu silnika i popiskiwaniu o pomoc, ale
to już jest coś, bo pozwoli ocalić przed
spaleniem zablokowane serwo napędu.
Zazwyczaj potwornie drogie serwo na−
pędu...
Część 2
71
E
LEKTRONIKA DLA WSZYSTKICH 4/99
Manipulatory
Znowu prosta reguła: z armaty muchę
się ustrzeli, ale zatłuc klapką taniej. Czyli
nasz robot nie zawsze musi mieć dzie−
sięć macek i cztery pałki. Niekiedy wy−
starczą kleszcze, a czasami wręcz elek−
tromagnes na sznurku. Zastanówmy się,
co nasz robot ma robić: otwierać sobie
drzwi, brać puszkę z kawą i otwierać ją,
brać szklankę, zapalać gaz, operować
czajnikiem, używać łyżeczki i cukiernicy.
No... tu za bardzo się nie oszczędzi. Ab−
solutnym minimum wydają się być kle−
szcze zaciskowe (takie “dwa palce”).
I wystarczy jeden taki manipulator. Pro−
blemy mogą być tylko z puszką z kawą,
ale elektromagnes do jej przytrzymania
przy otwarciu wystarczy (ale co ze szkla−
nym słoikiem? Może przyssawka? O tym
i o poruszaniu się − może w następnych
odcinkach).
Trudne, prawda. Nie podam Ci recep−
ty ma taki manipulator. Na razie zostaw−
my na boku problem naszego kawiarza.
Ja dążę do czego innego: do “zmysłu
wzroku”. Dlaczego w cudzysłowie? Bo
nasz służący i tak nigdy nic nie zobaczy
tak jak my.
Kwestie manipulatora i ogólnie − me−
chaniki robota należą do najtrudniej−
szych. Pozostawmy je na razie − wraz
z naszym kawiarzem − na boku, a zajmij−
my się kwestią − przynajmniej na począt−
ku − łatwiejszą.
Zastanówmy się, co potrzeba, aby
nasz robot “nie zabił się” przy “chodze−
niu”. W najprostszym przypadku wystar−
czy wyposażyć go w zestaw zderzaków
rozmieszczonych na zewnętrznym obry−
sie. Takie zderzaki zaopatrzone w prze−
łączniki krańcowe, pozwolą rozpoznać
przeszkodę. Fajnie działa (patrz poprzedni
artykuł), ale... problemy pojawiają się
w momencie, gdy nasz robot ma znacz−
ną prędkość poziomą. Słowem, jak wal−
nie w ścianę, to nie trzeba krańcówek −
będziemy mogli przeprowadzić akustycz−
ną detekcję kolizji i szacować prędkość
zderzenia na podstawie zasięgu rozrzu−
conych części... Przydałoby się wiedzieć
ciut wcześniej, że trzeba hamować, nie?
Można np. zainstalować czujnik ultra−
dźwiękowy reagu−
jący na przeszkodę
z
odległości np.
50cm. Stawiam 10
do 1, że robot z ta−
kim
czujnikiem
“zaliczy” pierwszą
pionową rurę jaką
napotka. Tudzież
firan, zasłony i wszy−
stko co futrzaste,
co pochłonie ultra−
dźwięki. Czujniki
IR − podczerwone
(jak te w Raabowo−
zie − sorry Raabe,
ja też nie lubię tej
nazwy) mają je−
szcze
mniejsze
szansę − chyba, że ktoś zmontuje ultra−
czułą podczerwoną kurtynę poziomą. Ale
jeżeli takie “ustrojstwo” miałoby zauwa−
żyć pionowy pręt z 20 cm, to będzie wyć
już w odległości 5 metrów od ściany.
Może kamera?
No dobra, zapomnijmy na chwilę ile
kosztuje taka zabawka i jak trudno ją
podłączyć do mikroprocesora. Przypuść−
my, że ktoś nam ją sprezentował i podłą−
czył. Załóżmy na początek, że nasz robot
“widzi” w podczerwieni. Stosunkowo ła−
two skonstruować kamerę (niezbyt czu−
łą, niskorozdzielczą) “widzącą” ciepło.
Montujemy ją
na
pojeździe
i całość wyglą−
da tak, jak na
rry
ys
su
un
nk
ku
u 1
1. Li−
niami
przery−
wanymi ozna−
czyłem pole wi−
dzenia. Na rry
y−
s
su
un
nk
ku
u 2
2 zoba−
czysz z grubsza
jak
wygląda
obraz na “siat−
kówce”. Ponie−
waż kamera pa−
trzy na wprost,
obiekty widocz−
ne w lewej po−
łowie znajdują
się w rzeczywi−
stości po lewej
stronie osi poja−
zdu i vice versa (tak na prawdę obraz na
siatkówce jest do góry nogami i w lu−
strzanym odbiciu, ale kto nam zabrania
sobie go później obrócić?).
Zacznijmy od sytuacji najprostszej: ro−
bot jest w pustej sali o kamiennej po−
sadzce i cieplejszych od niej ścianach.
Przypuśćmy, że jedzie prostopadle do
ściany. Na rry
ys
su
un
nk
ku
u 3
3 pokazane jest, jak
zmienia się obraz na matrycy kamery
w czasie jazdy. Szara plama to ściana.
Biała − podłoga. Jak widać, wbrew pozo−
rom, do określenia odległości od ściany
nie jest potrzebny jakiś skomplikowany
układ dwóch kamer. Wystarczy policzyć
piksele pomiędzy środkiem obrazu (hory−
zontem), a granicą białe/szare. Jeżeli ta
liczba jest duża, ściana jest daleko. Jeże−
li maleje – znaczy że ściana jest coraz bli−
żej. Nie można dopuścić, by była zbyt
mała − trzeba skręcić, bo się robot rozbije.
Na dobrą sprawę niepotrzebna jest
nawet kamera − wystarczy pojedynczy
pionowy rządek pikseli w centrum obrazu.
Musimy jednak wiedzieć, przynajmniej
R
Ry
ys
s.. 4
4
R
Ry
ys
s.. 3
3
R
Ry
ys
s.. 2
2
R
Ry
ys
s.. 1
1
72
E
LEKTRONIKA DLA WSZYSTKICH 4/99
z grubsza, pod jakim kątem jesteśmy
w stosunku do ściany. Popatrzmy znowu
“oczami robota”. R
Ry
ys
su
un
ne
ek
k 4
4 pozwala zro−
zumieć, jak wygląda zbliżanie się do prze−
szkody − dotychczas pozioma granica bia−
łe / szare staje się skośna. Tym bardziej,
im pod ostrzejszym kątem robot jest
ustawiony do ściany. Liczymy więc pikse−
le horyzont−podłoga w dwóch miejscach
obrazu − z lewej i z prawej strony osi. To
jest dość łatwe i nawet 80C51 sobie
z tym poradzi. Jak widać, niezbędne czuj−
niki, na pierwszy rzut oka bardzo skompli−
kowane, można znacznie uprościć.
W tym wypadku zamiast kamery wystar−
czą dwa rządki elementów światłoczu−
łych. Żeby było śmieszniej, można to
uprościć jeszcze bardziej. Zamiast całego
pionowego rządka gęsto upakowanych
fotokomórek, po każdej stronie pionowej
osi siatkówki, można zamontować tylko
po trzy − cztery elementy światłoczułe, tak
jak na rry
ys
su
un
nk
ku
u 5
5. W miarę jak kolejne pa−
ry stają się aktywne, jesteśmy informo−
wani o zbliżaniu się do ściany. Jeśli jeden
z rządków ma większą liczbę aktywnych
elementów, wiadomo, że z tej strony
ściana jest bliżej − jedziemy do niej pod
kątem. A te dwa szare (światłoczułe) po−
la? A co będzie, gdy na podłodze coś bę−
dzie leżeć? Pionowe rzędy komórek mo−
gą tego nie zauważyć − mają rozstaw taki,
żeby uchwycić ścianę, ale coś mniejsze−
go prześlizgnie się między nimi bez tru−
du. Poza tym, to coś może wyskoczyć
przed robota. Człowieka nie uszkodzi, ale
za rozjechanego chomika bez względu na
genialność konstrukcji rodzina niechybnie
zlinczuje biednego konstruktora.
Na rry
ys
su
un
nk
ku
u 6
6 zaznaczyłem, jakim frag−
mentom podłogi przyglądają się poszcze−
gólne kawałki “kamery”. Te dwie duże
płaszczyzny, to pojedyncze fotoelementy.
Normalnie powinny widzieć tylko podło−
gę, więc będą nieaktywne. Gdy cokol−
wiek podpełznie zbyt blisko, któryś z tych
elementów zareaguje. Pozostanie spraw−
dzić, który element podniesie większe la−
rum. To pozwoli zadecydować, z której
strony ominąć przeszkodę. Proste? Może
trudniejsze w wykonaniu, ale sądzę, że
dałoby się zrealizować nawet w domo−
wym warsztacie. Trzeba tylko pamiętać,
że użyte fotoelementy muszą być dość
czułe i wyposażone w filtr podczerwieni.
No i optykę jakąś trzeba dobrać, by uzy−
skać ostry obraz na ich powierzchni.
No dobrze. Możemy posprzątać halę
fabryczną, która ma jednolitą posadzkę.
Ale co z mieszkaniem, które na podłodze
ma dywany? Niestety, jeśli powierzchnia
podłogi nie odcina się jednolicie w całym
mieszkaniu od ścian i przeszkód, jeśli nie
ma jednakowego “odcienia”, mocno
różnego od ich jasności w podczerwieni,
to rozwiązanie nie bardzo zda egzamin.
Wróćmy do kamery w swej oryginalnej
postaci. Trzeba wymyślić jakiś sposób
pomiaru odległości niezależny od “kolo−
rów” ścian i podłogi. Na pewno wiele
jest różnych sprytnych rozwiązań, ja
proponuję coś w rodzaju dalmierza lase−
rowego. Pod kamerą zainstalowaną jak
poprzednio montujemy wskaźnik lase−
rowy z kolimatorem liniowym. Ten koli−
mator liniowy to taki element czy też ze−
staw optyczny, który kształtuje światło la−
sera nie w pojedynczy punkt, tylko w po−
przeczną linię. Wskaźnik laserowy nachy−
lony jest trochę w dół, tak aby na podło−
dze, w polu widzenia kamery widniała ja−
sna czerwona linia poprzeczna do osi po−
jazdu. Ważne jest nachylenie wiązki lase−
rowej w stosunku do osi stożka widzenia
kamery − ilustruje to rry
ys
su
un
ne
ek
k 7
7. Póki do
ścian i przeszkód jest jeszcze daleko, ka−
mera widzi tylko pojedynczą poziomą li−
nię. Jeśli jednak coś stanie “żółwiowi” na
drodze, przetnie też drogę wiązki lasero−
wej − fragment czerwonej linii na obra−
zie znajdzie się niżej (nachylenie wiązki
do osi kamery!) − patrz rry
ys
su
un
ne
ek
k 8
8. Wy−
starczy na obiektyw czarno−białej kame−
ry nałożyć filtr w kolorze lasera i kwestia
wydaje się być rozwiązana. Na ciemnym
obrazie mamy tylko jasną pręgę, której
pionowe współrzędne odzwierciedlają
bezpośrednio odległość od przeszkody
w danym kierunku. Pozostaje kwestia
“spojrzenia w słońce”. Czyli − wyelimi−
nowania zakłóceń. Układ nie może rea−
gować na odległe lampy itd. jak na prze−
szkody tuż przed nosem. Najprościej jest
po prostu zignorować część obrazu powy−
żej “zerowego” położenia pręgi laserowej
wiązki. Lepiej jednak nie świecić świa−
tłem ciągłym, tylko kluczować światło la−
sera i szukać w obrazie punktów migają−
cych z tą samą częstotliwością − wymaga
to jednak większej (dużo) mocy oblicze−
niowej procesora.
Tyle (na razie) rozważań na temat zmy−
słu wzroku u żółwia.
M
Ma
arre
ek
k L
Le
ew
wa
an
nd
do
ow
ws
sk
kii
ttw
wiilliig
gh
htt@
@c
ca
alllliis
stto
o..k
krra
ak
ko
ow
w..p
pll
R
Ry
ys
s.. 5
5
R
Ry
ys
s.. 7
7
R
Ry
ys
s.. 8
8
R
Ry
ys
s.. 6
6