![MASTERPIECE!](https://private-user-images.githubusercontent.com/78167331/325750778-29259987-38ca-4814-ae7d-929f1ffc355d.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjU1NDk2NTAsIm5iZiI6MTcyNTU0OTM1MCwicGF0aCI6Ii83ODE2NzMzMS8zMjU3NTA3NzgtMjkyNTk5ODctMzhjYS00ODE0LWFlN2QtOTI5ZjFmZmMzNTVkLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA5MDUlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwOTA1VDE1MTU1MFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTBjZTk2NWU4OTQ3ZmU2MmU0MDE3MzY3YzViOTJiMjFiODQzYWQ4OWU0MmEzNzI1MzcyMjUwYWM5ZWQ3MDRiMjYmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.zPrvPR7EpTbSxxjMAjo9vBPzlLr_-aInivBJ5QBYePc)
-
Мы использовали Meepmeep, специализированный планировщик пути в FTC, Meepmeep обеспечивает быстрый экспорт путей, позволяя вносить изменения без повторной загрузки кода RoadRunner упрощающий создание пути с помощью интуитивно понятного графического интерфейса или корректировки координат. робота для мгновенного тестирования. Признавая ограничения для поддержки визуализации траектории, мы выбрали хорошо зарекомендовавшую себя библиотеку, разработанную специально для систем привода Mecanum.
-
-
Мы включили шаблон Singleton в нашу разработку. шаблон проектирования доказал свою эффективность Используя шаблон Singleton, Этот в обеспечении существования одного экземпляра класса во всем приложении, обеспечивая централизованную точку доступа для контроля и координации различных операций робота. мы повышаем эффективность использования ресурсов и поддерживаем согласованное состояние всей нашей кодовой базы, тем самым способствуя общей устойчивости и надежности нашей программной архитектуры
-
Finite State Machine. Для нашего автономного режима, Эта конструкция (FSM) позволяет роботу приспосабливаться, мы добились широких возможностей настройки и адаптивных состояний в зависимости от входных сигналов датчиков. находя пиксели на земле изапуская следующую команду, демонстрируя возможности динамического реагирования FSM
-
PIDF-Controller. Мы использовали PIDF контроллеры для достижения точного и плавного управления движением наших колес Mecanum. Пропорциональные, интегральные и производные контроллеры обеспечивают обратную связь по положению, позволяя рассчитывать оптимальную мощность, чтобы минимизировать ошибку от цели. Используя данные абсолютного энкодера с неподвижных колес, мы обеспечиваем постоянное поддержание положения даже при наличии внешних сил, таких как трение и центробежная сила. Такой подход повышает точность и надежность управления движением нашего робота
-
Мы интегрируем S образные профили движения в нашу систему обеспечивая плавные и контролируемые движения. точность управления водителем и смягчить резкие рывки в механизмах, как для лифта, так и для движения. Эти профили предназначены для облегчения постепенного ускорения и замедления, Реализуя эти профили движения, мы стремимся повысить тем самым способствуя более плавной работе нашей системы в целом.
-
Мы применяем фильтр Калмана для совмещения информации от наших модулей одометрии и данных, полученных с веб камеры Apriltag. Фильтр Калмана решает эту проблему, Поскольку модули одометрии обновляются чаще, чем камера, полагаться только на один источник может привести к задержкам и ошибкам. определяя уровни доверия к каждому датчику, что снижает шум в данных от Apriltag и повышает точность информации, полученной от одометрии.
- С начала сезона мы работали над созданием полностью автономного метода размещения пикселей в оптимальном месте на щитке. использование OpenCV и цветового пространства yCrCb для идентификации шестиугольных фигур на доске. Для решения проблем После обнаружения контура, перспектива изображения преобразуется в согласованный вид с помощью AprilTag, Шестиугольники связаны с позициями в 2D-массиве (pixelMap), Этот комплексный подход сочетает в себе обнаружение контуров, преобразование перспективы и взвешенный алгоритм Хотя он еще недостаточно надежен, чтобы его могли использовать водители во время матча, в следующих параграфах описывается наш подход. Процесс обнаружения пикселей включает Из бинарного изображения извлекаются контуры и выполняется анализ связанных компонентов для разделения отдельных шестиугольников. слияния применяется процесс фильтрации для обнаружения и удаления недопустимых контуров. размещенного на доске. Это преобразование позволяет использовать стандартизированную систему координат, необходимую для последующего анализа. Для определения оптимального размещения шестиугольников предложен взвешенный алгоритм. и алгоритм учитывает как положение, так и цвет. Цель состоит в том, чтобы найти наиболее подходящее место для размещения шестиугольников на основе заранее определенных критериев, таких как избежание плавающих шестиугольников и обеспечение поддержки со стороны нижних слоев. интеллектуального размещения шестиугольных фигур. Интеграция компьютерного зрения, обработки изображений и алгоритмических вычислений создает надежную систему для автоматического манипулирования и расположения шестиугольников на доске.