Manipulator - sześć punktów swobody



Podwozia już były, teraz manipulator z sześcioma punktami swobody. Posłużymy się gotowym rozwiązaniem, ale do jego sterowania wykorzystamy Raspberry Pi.

Paczka wygląda tak...



Po rozpakowaniu mamy następujące elementy...



W zestawie są:
- manipulator (złożony),
- płytka z zestawem przycisków do sterowania,
- przejściówka do programatora,
- taśmy,
- płytka CD.

W naszym przypadku potrzebujemy jedynie manipulatora. :)



Skoro zapoznaliśmy się już z PWM, wiemy jak zainstalować bibliotekę PIGPIO i jak z jej pomocą sterować serwomechanizmy, to dla potrzeb zmontowania układu potrzebujemy manipulator i Raspberry Pi. Jak możesz zauważyć na zdjęciu powyżej w szczypcach jest sześć wtyków podłączonych do sześciu serwomechanizmów. Oznacza to ni mniej ni więcej, tylko że sterowanie manipulatorem polega na sterowaniu sześcioma serwomechanizmami.

Jak możesz zauważyć do wtyków serwo dochodzą trzy przewody. Czarny to GND, czerwony to zasilanie, a biały jest pinem sygnałowym, który podłączasz do maliny do wybranego przez Ciebie pinu.
Generalnie zasada wyprowadzeń z serwo jest standardem, tzn. środkowy to zasilanie, zewnętrzny czarny lub brązowy to GND, a ostatni to wejście sygnałowe.

Poniżej możesz zobaczyć jak wygląda serwo.



POniżej możesz zobaczyć jak należy podłączyć poszczególne elementy. Sześć serwomechanizmów to dość dużo jak na malinę, dlatego należy je zasilić z zewnętrznego źródła. Ja do tego stosowałem baterię Li-Pol 7,4V, ale rozwiązań jest sporo. To co jest ważne i na co należy zwrócić uwagę to aby połączyć masę zasilania serwomechanizmów z dowolnym pinem GND maliny.



Czas na kod. Poniżej najprostszy kod, który powoduje że wszystkie serwomechanizmy ustawiane są w pozycji środkowej.

	import pigpio
	a = pigpio.pi()
	a.start()
	a.set_servo_pulsewidth(18,1500)
	a.set_servo_pulsewidth(23,1500)
	a.set_servo_pulsewidth(24,1500)
	a.set_servo_pulsewidth(25,1500)
	a.set_servo_pulsewidth(16,1500)
	a.set_servo_pulsewidth(12,1500)
	
Jak można zauważyć poszczególne serwomechanizmy podłączyłem do pinów 18, 23, 24, 25, 16, 12. Przypominam, w przypadku pigpio obowiązuje metoda identyfikacji pinów BCM. Wartości podawane na serwomechanizm powinny zawierać się w przedziale od 500 do 2500. Teraz w zależności od Twojej inwencji, możesz tworzyć określone sekwencje ruchów, lub z wykorzystaniem Tkinter lub PyGame, wykonać pulpit sterowniczy.

A poniżej dwie realizacje. Pierwsza - manipulator wykunujący określoną, kombinację ruchów.



Druga, manipulator sterowani ruchem ręki za pomocą zamontowanego trzyosiowego żyroskopu i trzyosiowego akcelerometru.



:)