Opis oprogramowania:
- · Python Idle : jest to platforma kodowania używana w tym projekcie. Cały Robot jest kodowany w języku Python na Python Idle.
- · Otwórz Cv: jest to biblioteka przetwarzania obrazu używana do nadawania robotowi wizji szachownicy.
- · Pyfirmata: służy do kodowania Arduino w języku Python. Zasadniczo łączy to Arduino z Python Idle zamiast Arduino Ide.
Concepts for Autonomous Chess playing Robotic Arm: Working of robotic Arm involves series of concepts and mechanisms:
1. Forward Kinematics : Biorąc pod uwagę kąty kinematyki przedniej silnika serwo zajmuje się znalezieniem pożądanej pozycji efektora końcowego.(tj. biorąc pod uwagę kąty serwo takie jak theta_1, theta_2 i Theta_3 Kinematyka Forward pomaga znaleźć współrzędne X, Y i z lub pozycję efektora końcowego).Jest to również używane do sprawdzania, czy kąty uzyskane przez kinematykę odwrotną są poprawne, czy nie. Film znajduje się w folderze „Filmy” tego pliku zip.
2. Kinematyka odwrotna: biorąc pod uwagę współrzędne X, Y i z efektora końcowego, kinematyka odwrotna zajmuje się znajdowaniem pożądanych kątów serwomechanizmów, aby osiągnąć pożądane położenie. (na przykład : do wybierania obiektu, który jest umieszczony w pozycji (X, Y, Z) można użyć kinematyki odwrotnej, aby dotrzeć do tego konkretnego obiektu i go chwycić. Film znajduje się w folderze „Filmy” tego pliku zip.
3. Diagramy kinematyczne: są to diagramy używane do wyprowadzania i rozwiązywania równań do przodu i odwrotnej kinematyki. Rozwiązałem schemat kinematyczny manipulatora Przegubowego 3DOF.
4. Parametry denavita-Hartenberga: jest to metoda łatwego rozwiązywania kinematyki Forward poprzez utworzenie tabeli parametrów.
5. Macierze obrotowe i Wektory przemieszczenia : Są one wykorzystywane do znajdowania jednorodnej macierzy transformacji, a także do przekształcania współrzędnych kamery w Współrzędne Ramki bazowej robotów.
6. Przetwarzanie obrazu: służy do pokazania robotowi, co dzieje się na szachownicy, na przykład, jeśli ruch jest odtwarzany lub nie, lub jeśli ruch jest odtwarzany przez biały lub czarny.
krok po kroku praca robota Ramię:
· Krok 1: Pierwsze wejście od gracza jest podane, czy chce czarny lub biały. Jeśli gracz wybierze biały, to ramię robota przyjmuje czarny kolor i czarny jest podawany jako wejście i odwrotnie, jeśli gracz wybierze czarny Załóżmy, że gracz wybiera biały tutaj
· Krok 2: rozpoczyna się gra. Gdy tylko gra się rozpocznie, przetwarzanie obrazu zaczyna sprawdzać, czy white zagrał ruch. Wykrywanie ruchu jest wykrywane przez proste odejmowanie dwóch obrazów pierwszy to oryginalny obraz, a drugi to nowy obraz utworzony do zmian położenia kawałków na płycie. Jeśli odejmowanie nic nie daje, oznacza to, że żaden ruch nie jest odtwarzany. Jeśli odejmowanie daje macierz niezerową, to ruch jest odtwarzany przez biel. Pozwala to robotowi zrozumieć, czy ruch jest odtwarzany, czy nie.
· Krok 3: Załóżmy, że biały odtwarza tutaj ruch E4. Przesunięcie jest wykrywane przez przetwarzanie obrazu. Następnie robot pobiera ruch ze swojego słownika otwarcia szachowego, który stworzyłem, a następnie odpowiednio go odtwarza. Słownik wygląda jak {„E5”: współrzędne }. Dzięki temu Robot otrzymuje pożądane współrzędne, a następnie za pomocą kinematyki odwrotnej podnosi pionek z kwadratu e7 i umieszcza go na kwadracie e5. Tak działa zbieranie i układanie elementów.
· Krok 4: Cały ten proces ciągle się powtarza, chyba że gra dojdzie do końca. Cały Robot jest sterowany przez Arduino Pro mini, który kontroluje i zapewnia niezbędne PWM do silników.
wniosek: robot z powodzeniem wykrywa zagrane ruchy, a także z powodzeniem podnosi i umieszcza szachy dokładnie i precyzyjnie na szachownicy za pomocą przetwarzania obrazu.
WorkingVideo :zapraszam do sprawdzenia pracującego filmu z tego projektu poniżej:)