Лабораторка RobotStudio (960767), страница 2
Текст из файла (страница 2)
31).Рис. 31. Окно Create MechanismПод окошком Poses нажимаем кнопку «Add». В появившемся окошке вводим данные, как на рис. 32.Нажимаем «ОК».Рис. 32. Создание позиции механизмаДобавим еще одно положение (рис. 33).Рис. 33. Создание позиции механизмаНажмем «ОК».Нажимаем «Set Transmission Time» (рис. 34).Рис. 34.
Кнопка Set Transmission TimeВводим данные в появившемся окошке, как на рис. 35.Рис. 35. Окно Set Transmission TimeНажимаем «ОК».В окне Create Mechanism жмем «Close». В появившемся окошке жмем «Да» (рис. 36).Рис. 36. Close Mechanism ModelerВидим, что в меню Layout появился узел My_Gripper.Прикрепляем схват к роботу. Выбираем этот узел, в контекстном меню выбираем Attach to, воткрывшемся списке жмем «IRB660_250_314…» (рис. 37).Рис. 37. Опция Attach toПоявляется окошко (рис.
38).Рис. 38. Сохранение прежнего положенияЖмем «Нет». В графическом окне видим, что схват переместился на фланец манипулятора.2.6. Создание траекторий движения2.6.1. Создание системы координат WorkObjectСначала создадим специальные системы координат, относительно которых будут заданы целевыеточки. В RobotStudio такая система координат называется WorkObject.Для этого на вкладке Home нажимаем кнопку «WorkObject» (рис. 39).Рис. 39. Кнопка WorkObjectВ появившемся окошке в поле Name вводим Wobj_box (рис. 40).Рис. 40. Окно Create WorkobjectПовернем станцию в графическом окне так, чтобы ее конвейер был ориентирован также как на рис.41.Рис. 41. Вид станции для задания WorkobjectВключаем привязку к конечным точкам. Для этого нажимаем кнопку «Snap End» в верхней частиграфического окна (рис. 42).Рис. 42.
Кнопка Snap EndДалее в разделе User Frame в окне Create Workobject выбираем пункт Frame by points и нажимаем настрелку справа от него. Появится окошко ввода координат (рис. 43).Рис. 43. Окно ввода координат точек для WorkobjectВыбираем опцию Three-point. Затем щелкаем в поле ввода координат первой точки, с помощьюпривязки наводим курсор на точку 1 рис. 41 и щелкаем по ней. В полях, соответствующих первой точке,появляются значения координат. Аналогично вводим координаты для второй и третьей точек.Нажимаем «Assept». В окне Create WorkObject нажимаем «Create».Аналогично создаем WorkObject с названием Wobj_pallet на основе точек, показанных на рис. 44.Рис.
44. Вид станции для задания Workobject2.6.2. Создание целевых точекТеперь займемся созданием целевых точек траектории. Точки будем задавать путем введения ихкоординат, а также обучением.Нажмем кнопку «Target» вкладки Home, выберем пункт Create Target… (рис. 45).Рис. 45. Кнопка Create TargetПоявляется окно ввода данных (рис. 46). Заполняем графы Position и Orientation, выбираемWorkObject Wobj_box.
Нажимаем кнопку «Add», а затем «Create».Рис. 46-47. Окно Create TargetСоздадим еще одну целевую точку с данными, как на рис. 47.Теперь закроем окно Create Target. Откроем меню Paths&Targets (рис. 48).Рис. 48. Меню Paths&TargetsТочку, принадлежащую Wobj_box, переименуем в take_box, а точку, принадлежащую Wobj_pallet – вput_box.Выберем точку put_box в меню Paths&Targets. В контекстном меню щелкнем «Jump To Target».Появится окно, как на рис. 49. Выбираем Cfg 1 (0,0,0,0) и нажимаем «Apply». В графическом окневидим, что манипулятор переместился в точку put_box.
Повторяем все то же самое для точки take_box.Рис. 49. Окно Select Robot ConfigurationТеперь создадим пару точек со смещением вверх относительно take_box и put_box. Для этогоскопируем точку take_box, выделим узел Wobj_box_of и в контекстном меню выберем пункт Paste.Появится новая точка с названием take_box_2. Переименуем ее в take_box_offset. Выделим точкуtake_box_offset и в контекстном меню выберем пункт Modify Target -> Set Position. В появившемсяокошке введем данные, как на рис.
50.Рис. 50. Окно Set PositionНажимаем «Apply».Аналогично создадим put_box_offset.Теперь добавим промежуточную точку между позициями put_box_offset и take_box_offset с темрасчетом, чтобы манипулятор не сталкивался с конвейером. В этой же точке манипулятор будетостанавливаться в конце траектории.На вкладке Home в разделе Settings поменяем систему координат Workobject на wobj0 (рис. 51).Рис. 51. Смена системы координатВыведем манипулятор в нужную точку вручную, как описано в пункте 3.
Затем нажмем кнопку«Target» и выберем пункт Teach Target (рис. 52).Рис. 52. Кнопка Teach TargetПереименуем точку в Home_position.2.6.3. Создание траекторииНажимаем кнопку «Empty Path» (рис. 53).Рис. 53. Кнопка Empty PathПри этом в меню Paths&Targets в разделе Path появляется пустая траектория Path_10. Добавим втраекторию Path_10 целевые точки. Для этого выделяем в меню Paths&Targets целевую точкуHome_position. В контекстном меню нажимаем Add to path -> Path_10 -> <First> (рис. 54).Рис. 54. Добавление точки в траекториюТочка добавляется в траекторию.Добавляем в траекторию другие точки в последовательности, как на рис.
55.Рис. 55. Полученная траектория2.6.4. Редактирование траектории в Rapid Editor и моделирование движенияВыделяем Path_10, в контекстном меню нажимаем Synchronize to VC… Появляется окошко (рис.56). Жмем «ОК».Рис. 56. Окно Synchronize to Virtual ControllerПри этом может появиться сообщение следующего вида (глюк):«Unknown Error: Synchronize to Virtual Controller22.01.2011 22:12:10 General »Если это произошло, нужно на вкладке Offline нажать кнопку «Restsart» и выбрать пункт Warmstart (рис.57).Рис.
57. Перезапуск контроллераВиртуальный контроллер перезагрузится, после этого нужно повторить попытку синхронизации.Чтобы открыть автоматически созданную программу, нужно выбрать вкладку Offline, в окне Offlineвыделить узел Module1 (рис. 58) и нажать кнопку «Rapid Editor» (рис. 59).Рис. 58.
Окно Offline.Рис. 59. Кнопка Rapid EditorПроизведем следующие изменения. Для первой и последней точек траектории заменим команду MoveL на MoveJ. Это означает, чтоманипулятор будет перемещаться в эти точки не по прямой, а так, чтобы движение всех егозвеньев было минимальным. В точках take_box и put_box заменим z100 на fine. Это значит, что манипулятор должен прийти вэти точки точно.Нажмем кнопку «Apply Changes», которая расположена на панели над текстом программы (рис.
60).Рис. 60. Кнопка Apply ChangesВ окне Output должно появиться сообщение об отсутствии ошибок.Закроем пока Rapid Editor. Выбираем вкладку Simulation, нажимаем кнопку «Simulation Setup» (рис.61).Рис. 61. Кнопка Simulation Setup.Появляется окно (рис. 62). В списке Available Procedures выделяем траекторию Path_10 и нажимаем настрелку. После этого жмем «ОК».Рис. 62. Окно Setup SimulationТеперь программа, управляющая движением манипулятора вдоль заданной траектории, создана.Промоделируем движение. Для этого в графическом окне нажмем кнопку «Play» (рис. 63).Рис. 63.
Кнопка PlayВ графическом окне видим, как манипулятор перемещается вдоль траектории.2.7. Управление входными/выходными цифровыми сигналамиС помощью цифровых сигналов в данной лабораторной работе мы будем управлять состояниемзахватного устройства.Создадим 2 сигнала. Когда импульс будет приходить на один из сигналов, схват будет открываться,когда на другой – закрываться.Откроем вкладку Offline, в меню Offline выделим узел контроллера (рис. 64).Рис.
64. Узел контроллераНажмем кнопку «Configuration Editor» (рис. 65).Рис. 65. Кнопка Configuration EditorВыберем пункт I/O. Появляется окошко (рис. 66), в нем в колонке Type name выбираем Signal. Затемщелкаем правой кнопкой мыши в правой части окна, в контекстном меню выбираем Add Signal.Рис. 66. СигналыПоявляется окно Edit Signal (рис. 67).Рис. 67. Окно Edit SignalЗаполняем таблицу следующим образом:NameType of SignalAccess LeveldoOpenGripperDigital OutputAllНажимаем «ОК».
Аналогично создаем сигнал doCloseGripper.Перезапускаем контроллер (Restart -> Warmstart).Связываем сигнал с событием (открытие или закрытие схвата). Открываем вкладку Simulation,нажимаем кнопку «Event Manager» (рис. 68).Рис. 68. Кнопка Event ManagerВ появившемся окошке нажимаем кнопку «Add». Появляется окно Choose Trig Type and Activation(рис. 69).
Ничего в нем не меняем, нажимаем «Next».Рис. 69. Окно Choose Trig Type and ActivationВ левой части окна I/O Signal Trigger (рис. 70) выбираем сигнал doOpenGripper, проверяем, что вправой части окна точка стоит напротив пункта Signal is true (‘1’). Нажимаем “Next».Рис. 70. Окно I/O Signal TriggerВ окне Choose Action Type (рис.
71) выбираем пункт Move Mechanism to Pose. Нажимаем «Next».Рис. 71. Окно Choose Action TypeВ окне Move Mechanism to Pose (рис.72) выбираем:MechanismPoseMy_GripperHomePoseРис. 72. Окно Mechanism to PoseНажимаем «Finish».Повторяем то же для сигнала doCloseGripper с единственным отличием: в последнем окне выбираемне Home Pose, а Pose Closed.Выбираем вкладку Simulation, нажимаем кнопку «I/O Simulator» (рис. 73).Рис. 73. Кнопка I/O SimulatorПоявляется окно, как на рис.
74.Рис. 74. Симулятор сигналовПроверим работу сигналов: при изменении doCloseGripper с «0» на «1» захватное устройствозакрывается, при изменении сигнала doOpenGripper с «0» на «1» захватное устройство открывается.2.8. Визуализация транспортировкиТеперь необходимо создать визуализацию захвата груза схватом для их совместного перемещения потраектории. Для этого задаем два управляющих сигнала:Attach (для прикрепления груза от схвата) и Detach (для отделения груза от схвата).Сигналы создадим в меню Configuration Editor аналогично тому, как были созданы сигналыdoCloseGripper и doOpenGripper (рис.66-67).Заполняем таблицу следующим образом:NameType of SignalAccess LevelAttachDigital OutputAllNameType of SignalAccess LevelDetachDigital OutputAllНеобходимо создать объект, который будет находиться на схвате и контактировать с грузом(физическая интерпретация: полоска из резины для увеличения коэффициента трения между схватом игрузом).На вкладке Modeling в меню Surface выбираем объект Surface Rectangle.Габаритные размеры и ориентацию объекта вводим как показано на рис.