Visual Components
- Разные фишки
- Смена инструмента ( Tool mount/dismount)
- Конвейер ( Conveyor)
- Управление кастомными servo
Разные фишки
Step size
Шаг робота в симуляции
Во вкладке Home
Параметр Size
Захват инструментом
Часто бывает, что робот не захватывает деталь инструментом
Кликаем на робота
Выбираем Action Configuration
Определяем Detection volume. Часто его нужно увеличить по Z
Дальше задаем TCP для нужного TOOL, нажав на шестеренку справа от него
Смена инструмента ( Tool mount/dismount)
По умолчания 33 выход отвечает за отцепление инструмента
https://www.youtube.com/watch?v=OsxlazzAXss
Все данные по умолчанию
Отцепление инструмента
Для того чтобы взять другой инструмент нужно использовать другой выход - 34
Также предварительно нужно с помощью Wizard сделать из него End Effector
Конвейер ( Conveyor)
Добавляем конвейер
Добавляем датчик ( conveyor sensor)
Добавляем статичную деталь для движения по конвейеру делаем snap to конвейер и attach to конвейер
Добавляем python скрипт, чтобы деталь ехала по конвейеру
Выбираем конвейер, вкалдка моделинг, Behaviours
В коде скрипта для 4.8 добавить:
def OnRun():
comp = getComponent()
path = comp.findBehaviour("One-WayPath__HIDE__") # Проверьте имя!
part = app.findComponent("Part0")
if not path:
print("Ошибка: путь 'One-WayPath__HIDE__' не найден!")
if not part:
print("Ошибка: объект 'Part0' не найден!")
if path and part:
path.grab(part) # Или другой метод перемещения
Управление кастомными servo
from vcScript import *
comp = getComponent()
servo = comp.findBehaviour("Servo Controller")
def OnSignal( signal ):
pass
def OnRun():
servo.setJointTarget(0,-342.0)
servo.setJointTarget(1,-10.0)
servo.setJointTarget(2,400.0)
servo.setJointTarget(3,-512.0)
servo.setJointTarget(4,-172.0)
servo.setJointTarget(5,122)
servo.setMotionTime(1.0)
print servo.calcMotionTime()
servo.move()