Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

KUKA KR10 R900 Control

Приложение на PyQt6 для управления манипулятором KUKA KR10 R900 в симуляторе CoppeliaSim. Проект предназначен для обучения студентов и школьников: знакомство с управлением промышленным роботом, изучение алгоритмов прямой и обратной кинематики, написание собственных алгоритмов управления.

Требования

  • Python 3.14 или новее
  • PyQt6
  • numpy (последняя версия, 2.x)
  • Симулятор CoppeliaSim (V-REP) и файл сцены kuka_world.ttt
  • Нативная библиотека Remote API для вашей ОС (см. раздел «Remote API»)

Установка

python3 -m venv .venv
source .venv/bin/activate        # Windows: .venv\Scripts\activate
pip install -r requirements.txt

Запуск

  1. Запустите CoppeliaSim.
  2. Откройте сцену kuka_world.ttt.
  3. Запустите приложение:
python main.py

При успешном подключении приложение само запустит симуляцию и покажет видеопоток с камеры. Если симулятор не запущен, окно откроется в режиме «офлайн» — элементы управления будут заблокированы.

Структура проекта

qt_ya_project/
├── main.py                       # точка входа
├── pyproject.toml                # метаданные пакета
├── requirements.txt              # зависимости
├── kuka_app/
│   ├── config.py                 # конфигурация приложения
│   ├── main_window.py            # главное окно (PyQt6)
│   ├── ui/dialog.ui              # интерфейс (Qt Designer)
│   └── robot/
│       ├── kuka_consts.py        # константы и пределы суставов
│       ├── sim_control.py        # обёртка над CoppeliaSim Remote API
│       ├── ball_kinematic.py     # кинематика полёта мяча
│       ├── kinematics.py         # обратная кинематика (учебная модель)
│       └── vendor/               # вендорные модули Remote API
│           ├── sim.py
│           ├── simConst.py
│           └── remoteApi.{so,dll,dylib}
├── tests/                        # юнит-тесты
└── kuka_world.ttt                # сцена симулятора

Remote API

Для связи с симулятором используется библиотека Remote API. Разные ОС требуют разных файлов:

ОС Файл
Linux remoteApi.so
Windows remoteApi.dll
macOS remoteApi.dylib

Поместите нужный файл в каталог kuka_app/robot/vendor/ (или в lib_remote_api/ на уровень выше). sim.py ищет библиотеку автоматически.

Тесты

python -m pytest tests/

Назначение кнопок

  • Set new position — установить манипулятор в позицию из полей A1..A6.
  • Zero position — нулевая позиция манипулятора.
  • Master position — стартовая позиция манипулятора.
  • Set new position (слева) — установить мяч в выбранную позицию (ракетка / центр KUKA / слева / справа).
  • Push ball — запустить мяч (поле «Start speed» — скорость, «Angle» — угол).
  • START — место для собственных алгоритмов (обработчик on_button7_clicked).
  • Close — закрыть приложение и остановить симуляцию.

Ползунки A1..A6 задают углы суставов в градусах и синхронизированы с полями.

About

Репозиторий для работы над задачей олимпиады Я-Профессионал по направлению Робототехника

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages