Съдържание:
- Стъпка 1: Изисквания
- Стъпка 2: Изграждане на хардуер
- Стъпка 3: Софтуерът, който премества робота
- Стъпка 4: Софтуерът, който разпознава движението на човека
- Стъпка 5: Камера, светлини, клавиатура, маса, дисплей
- Стъпка 6: Получаване на софтуера
Видео: Шахматен робот Raspberry Pi Lynxmotion AL5D Ръка: 6 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:50
Изградете този шахматен робот и вижте как той побеждава всички!
Създаването е доста лесно, ако можете да следвате инструкциите как да изградите ръката и ако имате поне елементарни познания по компютърно програмиране и Linux.
Човекът, играейки бяло, прави ход. Това се открива от системата за визуално разпознаване. След това роботът се замисля и след това прави своя ход. И така нататък …
Може би най -новото нещо в този робот е кодът за разпознаване на ходове. Този код за визия може да се използва и за роботи за шах, изградени по много други начини (като моя робот за шах с LEGO build).
Тъй като ходът на човека се разпознава от зрителна система, не е необходим специален хардуер за шахматна дъска (като тръстикови превключватели или каквото и да е друго).
Моят код е достъпен за лична употреба.
Стъпка 1: Изисквания
Целият код е написан на Python, който ще работи, наред с други неща, на Raspberry Pi.
Raspberry Pi е малък, евтин (около $ 40) едноплатен компютър, разработен от Raspberry Pi Foundation. Оригиналният модел стана много по -популярен от очакваното, като се продаваше за приложения като роботика
Моят робот използва Raspberry Pi, а рамото на робота е изградено от комплект: Lynxmotion AL5D. Комплектът се предлага със серво контролер. (Връзката, която току -що дадох, е към американския сайт на RobotShop; кликнете върху едно от знамената в горния десен ъгъл на страниците на сайта им за вашата страна, например Великобритания).
Ще ви трябват също маса, камера, осветление, клавиатура, екран и посочващо устройство (например мишка). И разбира се, шахматни фигури и дъска. Описвам всички тези неща по -подробно в следващите стъпки.
Стъпка 2: Изграждане на хардуер
Както вече посочих, сърцевината на кода за визия ще работи с различни версии.
Тази конструкция използва роботизиран комплект за ръце от Lynxmotion, AL5D. В комплекта е включена платка за серво контролер SSC-32U, която се използва за управление на двигателите в рамото.
Избрах AL5D, защото ръката трябва да може да прави многократни точни движения и да не се отклонява. Грайберът трябва да може да влиза между парчетата, а ръката трябва да може да достига до далечната страна на дъската. Все още трябваше да направя някои модификации, както е описано по -долу.
Raspberry Pi, който използвам, е Raspberry Pi 3 Model B+. Това говори с платката SSC-32U чрез USB връзка.
РЕДАКТИРАНЕ: Raspberry Pi 4 вече е наличен. Ще ви трябва:
- 15W USB-C захранване-препоръчваме официалното захранване Raspberry Pi USB-C
- MicroSD карта, заредена с NOOBS, софтуерът, който инсталира операционната система (купете предварително заредена SD карта заедно с Raspberry Pi или изтеглете NOOBS, за да заредите картата сами)
- Клавиатура и мишка (вижте по -късно)
- Кабел за свързване към дисплей чрез микро HDMI порт на Raspberry Pi 4
Имах нужда от по -нататъшно обхващане на рамото на робота, затова направих някои малки модификации в него, използвайки допълнителни части Lynxmotion, които могат да бъдат закупени от RobotShop:
1. Сменена 4,5-инчова тръба с 6-инчова-Lynxmotion част AT-04, продуктов код RB-Lyn-115.
2. Опитах да използвам допълнителен комплект пружини, но се върнах към една двойка, когато приложих т. 3 по -долу
3. Увеличете височината с помощта на 1-инчов дистанционер-част Lynxmotion HUB-16, код на продукта RB-Lyn-336.
4. Увеличен обхват на грайфера с помощта на резервни подложки за захващане, прикрепени от някои резервни LEGO парчета, които имах, и еластични ленти (!) Това работи много добре, тъй като въвежда гъвкавост при повдигане на парчета.
Тези модификации могат да се видят на изображението по -горе вдясно.
Над шахматната дъска е монтирана камера. Това се използва за определяне на хода на човека.
Стъпка 3: Софтуерът, който премества робота
Целият код е написан на Python 2. Кодът на обратната кинематика е необходим, за да се движат правилно различните двигатели, така че шахматните фигури да могат да се преместват. Използвам библиотечен код от Lynxmotion, който поддържа движението на двигателите в две измерения и добавих към това със собствен код за три измерения, ъгъл на захващане и движение на челюстта на грайфера.
И така, тогава имаме код, който ще премества парчета, взема парчета, замък, поддържа en passant и т.н.
Шахматният двигател е Stockfish - който може да победи всеки човек! "Stockfish е един от най -силните шахматни двигатели в света. Освен това е много по -силен от най -добрите човешки шахматни гросмайстори."
Кодът за задвижване на шахматната машина, потвърждава, че ходът е валиден и т.н. е ChessBoard.py
Използвам някакъв код от https://chess.fortherapy.co.uk за взаимодействие с това. Моят код (по -горе) след това взаимодейства с това!
Стъпка 4: Софтуерът, който разпознава движението на човека
Описах това подробно в инструкцията за моята конструкция Lego на Chess Robot - така че няма нужда да го повтарям тук!
Моите „черни“парчета първоначално бяха кафяви, но ги боядисах в матово черно (с „боя за черна дъска“), което прави алгоритъма да работи по -добре при по -променливи условия на осветление.
Стъпка 5: Камера, светлини, клавиатура, маса, дисплей
Те са същите като в моята версия Lego на Chess Robot, така че няма нужда да ги повтарям тук.
Само че този път използвах различен и значително по -добър високоговорител, Lenrui Bluetooth високоговорител, който свързвам към RPi чрез USB.
Предлага се от amazon.com, amazon.co.uk и други търговски обекти.
Също така сега използвам различна камера - HP Webcam HD 2300, тъй като не можах да накарам предишната камера да се държи надеждно.
Алгоритмите работят най -добре, ако шахматната дъска има цвят, който е далеч от цвета на фигурите! В моя робот фигурите са почти бели и кафяви, а шахматната дъска е ръчно изработена от карта и е светлозелена с малка разлика между "черните" и "белите" квадратчета.
Алгоритмите се нуждаят от определена ориентация на камерата към борда. Моля, коментирайте по -долу, ако имате проблем. Ръката има ограничен обхват и затова квадратният размер трябва да бъде 3,5 см.
Стъпка 6: Получаване на софтуера
1. Запас
Ако стартирате Raspbian на вашия RPi, можете да използвате двигателя Stockfish 7 - това е безплатно. Просто бягай:
sudo apt-get install stockfish
2. ChessBoard.py Вземете това от тук.
3. Код, базиран на https://chess.fortherapy.co.uk/home/a-wooden-chess… Идва с моя код.
4. Библиотека с обратна кинематика на Python 2D -
5. Моят код, който извиква целия код по -горе и който кара робота да прави движенията, и моят код за зрение. Вземете това от мен, като първо се абонирате за канала ми в YouTube, след това щракнете върху бутона „Любими“в горната част на тази инструкция и след това публикувате коментар в тази инструкция и аз ще отговоря.
Препоръчано:
Шахматен робот, направен с LEGO и Raspberry Pi: 6 стъпки
Шахматен робот, направен с LEGO и Raspberry Pi: Удивете приятелите си с този шахматен робот! Не е твърде трудно да се изгради, ако сте правили LEGO роботи преди и ако имате поне елементарни познания по компютърно програмиране и Linux. Роботът прави свои ходове и използва визуално разпознаване
Махнете с ръка, за да контролирате роботизираната ръка на OWI Без прикачени низове: 10 стъпки (със снимки)
Махнете с ръка, за да контролирате роботизираната ръка на OWI … Без прикачени низове: ИДЕЯТА: Има поне 4 други проекта на Instructables.com (към 13 май 2015 г.) около модифицирането или контрола на роботизираната ръка на OWI. Не е изненадващо, тъй като това е толкова страхотен и евтин роботизиран комплект за игра. Този проект е подобен в
КАК ДА СЕ СБОРЯ ВРЕМЕННА ДЪРВЕНА РОБОТНА РЪКА (ЧАСТ 3: РОБОТНА РЪКА) - НА ОСНОВА НА МИКРО: BITN: 8 стъпки
КАК ДА СЕ СБОРЯ ВРЕМЕННА ДЪРВЕНА РОБОТНА РЪКА (ЧАСТ 3: РОБОТНА РЪКА) - НА ОСНОВА НА МИКРО: BITN: Следващият процес на инсталиране се основава на завършването на режима за избягване на препятствия. Процесът на инсталиране в предишния раздел е същият като процеса на инсталиране в режим на проследяване на линии. Тогава нека да разгледаме окончателната форма на A
Как да сглобите впечатляваща дървена ръка на робот (част 1: Робот за проследяване на линии)-Въз основа на Micro: Bit: 9 стъпки
Как да съберем впечатляваща дървена ръка на робот (част 1: Робот за проследяване на линии)-Въз основа на Micro: Bit: Този дървен човек има три форми, той е много различен и впечатляващ. Тогава нека влезем в него един по един
Трета ръка ++: Многофункционална помощна ръка за електроника и друга деликатна работа .: 14 стъпки (със снимки)
Трета ръка ++: Многофункционална помощна ръка за електроника и други деликатни работи. Никога не успях да получа клиповете точно там, където ги исках, или ми отне повече време, отколкото наистина трябваше, за да се инсталира