УСТРОЙСТВО ДЛЯ ИСПРАВЛЕНИЯ ОШИБОК ДЛЯ СТАНКОВ С ЧПУ
ERROR CORRECTION DEVICE FOR CNC MACHINES

Настоящее изобретение относится к способу и устройству для определения ошибки позиционирования станка с числовым программным управлением (ЧПУ), в частности, к способу и устройству для определения ошибки позиционирования держателя инструмента станка с ЧПУ и/или стола станка с ЧПУ.
Европейский патент 1549459 раскрывает способ и устройство для определения ошибки позиционирования держателя инструмента станка с ЧПУ или стола станка с ЧПУ, в которых станина оборудована датчиками расстояния для определения декартовых координат измерительного инструмента, снабженного шаром. Для того чтобы определить ошибку позиционирования указанного держателя инструмента, датчики расстояния измеряют относительные расстояния до указанного шара. Затем держатель инструмента или стол выполняет угловое перемещение, при этом в то же самое время станок выполняет круговое или спиральное возвратное перемещение так, что указанный шар измерительного инструмента остается в своем положении. Затем датчики расстояния снова измеряют относительные расстояния до указанного шара. Эти расстояния могут различаться вследствие ошибки позиционирования держателя инструмента. Затем инициируют выполнение станком линейного перемещения относительно декартовых координатных осей так, что датчики расстояния снова измеряют указанные исходные расстояния, а при этом в то же самое время угловое положение держателя или стола остается фиксированным. На основании такого компенсирующего перемещения может быть определена ошибка позиционирования держателя или стола, как линейное перемещение, которое было необходимо для компенсирования указанной ошибки держателя инструмента или стола.
Недостаток устройства по патенту 1549459 состоит в том, что система управления станка с ЧПУ должна быть выполнена с возможностью считывания и обработки данных от указанных датчиков. Это может являться недостатком в тех случаях, когда не существует общего устройства сопряжения между датчиками и станком с ЧПУ, например, вследствие того, что устройства были изготовлены различными производителями.
С учетом известного уровня техники существует потребность в способе и устройстве для определения ошибки позиционирования станка с ЧПУ, в частности держателя инструмента и/или стола станка с ЧПУ, который работает независимо от системы управления станка с ЧПУ и, в частности, не требует общего устройства сопряжения с системой управления станка с ЧПУ.
Следовательно, объектом настоящего изобретения является устранение вышеуказанных недостатков, известных в уровне техники.
Настоящее изобретение обеспечивает способ определения ошибки позиционирования станка с ЧПУ, причем указанный станок с ЧПУ оборудован калибровочным элементом, который находится в первом положении, согласно которому:
считывают первые данные датчика по меньшей мере от одного датчика, тогда как указанный калибровочный элемент находится в первом положении,
причем данные соответствуют расстоянию между точкой на поверхности калибровочного элемента и указанного по меньшей мере одного датчика, или
контактный элемент указанного по меньшей мере одного датчика отклонен калибровочным элементом, а данные датчика соответствуют расстоянию, на которое отклонен указанный контактный элемент,
управляют станком с ЧПУ для выполнения калибровочного перемещения, которое в идеальном случае оставляет указанный калибровочный элемент в первом положении,
считывают вторые данные датчика от указанного по меньшей мере одного датчика, тогда как калибровочный элемент находится во втором положении, причем второе положение означает фактическое положение калибровочного элемента после того, как было выполнено указанное калибровочное перемещение,
инициируют перемещение указанного по меньшей мере одного датчика так, что разность между первыми и вторыми данными датчика уменьшается до тех пор, пока указанная разность не станет меньше заранее определенной пороговой величины, или равной ей, и
определяют ошибку позиционирования станка с ЧПУ на основании перемещения указанного по меньшей мере одного датчика.
Станок с числовым программным управлением (ЧПУ) может являться любым станком с ЧПУ, известным из уровня техники, в частности, механическим станком и/или роботом. Станок с ЧПУ может быть выполнен с возможностью управления им в режиме поворота по центральной точке инструмента (RTCP, Rotations along Tool Center Point). Станок с ЧПУ может содержать держатель инструмента, в частности, поворачивающийся держатель, подобный фрезерной головке поворота в двух плоскостях. Станок с ЧПУ может содержать стол станка, в частности, перемещаемый стол станка, подобный поворотному столу и/или поворотному наклоняемому столу. Держатель инструмента и/или стол станка может быть оборудован калибровочным элементом.
Держатель инструмента может выступать в качестве устройства сопряжения между станком с ЧПУ и инструментом, в частности инструментом для придания формы, таким как для фрезеровки, сверления или резки. Также возможны другие инструменты, подобные измерительным или тестирующим инструментам. Для выполнения вышеописанного метода предпочтительно заменить сменный инструмент указанным калибровочным элементом. Однако в качестве калибровочного элемента также возможно использовать сам инструмент, что является предпочтительным, если указанный инструмент является несъемным или трудным для удаления.
Стол станка может держать и/или перемещать, в частности поворачивать, заготовку. Для выполнения вышеописанного способа предпочтительно заменить заготовку калибровочным элементом. Калибровочный элемент может быть помещен на стол станка и/или прикреплен к нему.
Калибровочный элемент может содержать цельный или полый шар, в частности, шар, сделанный из твердого материала, подобного металлу. Указанный шар может иметь сферическую форму, причем форма может быть высокой геометрической точности, но не обязательно геометрически совершенной. Шар может быть соединен с держателем инструмента посредством цилиндра. Возможны другие формы калибровочного элемента. В частности, калибровочный элемент может содержать эллипсоид и/или цилиндр.
Указанный по меньшей мере один датчик может представлять собой один датчик, два датчика, три датчика или более, чем три датчика, которые могут быть смонтированы на общей станине.
Один или более из указанных датчиков может представлять собой датчик расстояния, который выводит данные датчика, соответствующие расстоянию между точкой на поверхности калибровочного элемента и датчиком. Датчик расстояния может, в частности, представлять собой датчик, который не находится в физическом контакте с калибровочным элементом. Например, один или более из указанных датчиков может представлять собой оптический датчик, в частности, лазерный датчик, акустический датчик, в частности, ультразвуковой датчик, емкостной датчик и/или индуктивный датчик.
По меньшей мере один из указанных датчиков может представлять собой датчик с контактной точкой и/или индикатор с круговой шкалой, который содержит отклоняемую часть и неотклоняемую часть. Отклоняемая часть может содержать контактный элемент, который находится в контакте с указанным калибровочным элементом, в частности, с точкой на его поверхности. Указанный по меньшей мере один датчик с контактной точкой выводит данные датчика, которые соответствуют расстоянию, на которое указанная отклоняемая часть, в частности, ее контактный элемент, отклоняется указанным калибровочным элементом, в частности, точкой на его поверхности. Датчик с контактной точкой, в частности, может содержать геометрическую ось датчика, вдоль которой может быть отклонен указанный контактный элемент. Затем контактный элемент отклоняется указанной точкой на поверхности калибровочного элемента, который находится на геометрической оси датчика.
На одном этапе способа указанный по меньшей мере один датчик выводит первые данные датчика, тогда как калибровочный элемент находится в первом положении. То есть, первые данные датчика представляют первое положение калибровочного элемента, в частности, центра его шара. Это первое положение может быть известно системе управления ЧПУ, но неизвестно указанному по меньшей мере одному датчику. Однако это не является необходимым для произведения расчета первого положения калибровочного элемента из первых данных датчика. В частности, не является важным, какая точка на поверхности калибровочного элемента взята для представления первого положения. Это имеет преимущество в более большой свободе позиционирования указанного по меньшей мере одного датчика. В частности, нет необходимости в перпендикулярном расположении указанных датчиков. Фактически, нет необходимости в их очень точном расположении.
На другом этапе способа станком с ЧПУ управляют для выполнения одного перемещения или последовательности перемещений, которые согласно системе управления ЧПУ не должны перемещать калибровочный элемент, в частности, центр его шара, из его первого положения. Станком с ЧПУ могут управлять так, чтобы инициировать выполнение держателем инструмента и/или столом станка одного перемещения или последовательности перемещений, которые согласно системе управления ЧПУ не должны перемещать калибровочный элемент, в частности, центр его шара, из его первого положения. При выполнении указанного перемещения или последовательности перемещений станком с ЧПУ могут управлять в режиме поворота по центральной точке инструмента. Такие перемещения могут содержать поворот вокруг различных осей. В частности, когда калибровочный элемент содержит шар, первое положение может быть представлено центром шара при помощи системы управления ЧПУ. Следовательно, перемещение, которое не перемещает калибровочный элемент из его первого положения, означает, что центр шара не перемещается. Если указанный шар соединен со станком с ЧПУ, в частности, с его держателем инструмента или столом станка, при помощи элемента, подобного цилиндру, то сам указанный элемент может быть перемещен во время указанного перемещения.
Хотя в идеальном случае, то есть в соответствии с системой управления ЧПУ, калибровочный элемент, в частности центр его шара, не был перемещен во время указанного перемещения, в реальности он может быть перемещен из-за ошибки позиционирования, вызванной геометрической механической ошибкой станка с ЧПУ, в частности, его держателя инструмента или стола станка. То есть, фактическое положение калибровочного элемента, в частности центра его шара, в этой точке неизвестно как системе управления ЧПУ, так и указанному по меньшей мере одному датчику. Фактически, система управления ЧПУ предполагает, что первое и второе положения калибровочного элемента являются одним и тем же.
На другом этапе способа указанный по меньшей мере один датчик выводит вторые данные датчика, тогда как указанный калибровочный элемент, в частности центр его шара, находится в положении после указанного перемещения. Точка на поверхности калибровочного элемента может являться различной точкой или той же самой точкой, что и точка, соответствующая первым данным датчика. Вторые данные датчика представляют второе положение калибровочного элемента, в частности, центра его шара.
На другом этапе способа инициируют перемещение указанного по меньшей мере одного датчика так, что разность, в частности, абсолютная разность, между первыми и вторыми данными датчика уменьшается, тем самым частично или полностью компенсируя ошибку позиционирования посредством перемещения датчика. Это перемещение может отслеживаться в тактовом режиме или режиме реального времени и регулироваться по обратной связи. Альтернативно, это перемещение может быть предварительно вычислено частично или полностью на основании первых и вторых данных датчика, данные, указывающие на перемещение датчиков, могут быть сохранены для дальнейшей обработки.
Указанный по меньшей мере один датчик может содержать перемещающий элемент для перемещения указанного по меньшей мере одного датчика или быть прикреплен к указанному перемещающему элементу.
Указанный по меньшей мере один датчик также может быть прикреплен к станине, которая содержит перемещающий элемент для перемещения этой станины, или быть прикреплен к указанному перемещающему элементу. В частности, по меньшей мере два датчика, предпочтительно по меньшей мере три датчика, могут быть прикреплены к общей станине, которая оборудована перемещающим элементом для перемещения этой станины и, следовательно, одновременного перемещения указанных датчиков.
Когда разность, в частности, абсолютная разность, между первыми и вторыми данными датчика становится меньше порогового значения, или равна ему, текущие данные датчика являются равными первым данным датчика в пределах диапазона приемлемых значений. Пороговое значение может представлять собой цену деления и/или точность указанного по меньшей мере одного датчика и/или системы управления станка с ЧПУ. Пороговое значение может представлять собой долю, выраженную в процентах, от первых данных датчика, в частности 1% или 0,1% от них, или соответствовать фиксированному значению, в частности, 10 мкм, предпочтительно 5 мкм или более предпочтительно 3 мкм. Чем меньше указанное значение, тем более точным является результат.
На другом этапе способа ошибка позиционирования держателя инструмента, в частности, центра его шара, по отношению к указанному перемещению держателя инструмента, в частности центра его шара, определяется на основании перемещения указанного по меньшей мере одного датчика. Перемещение указанного по меньшей мере одного датчика может являться суперпозицией всех перемещений, которые были выполнены так, что текущие данные датчика становятся равны первым данным датчика в пределах вышеописанного диапазона. Более конкретно, указанная ошибка может быть определена на основании данных, указывающих на перемещение указанного по меньшей мере одного датчика. Это имеет преимущество в том, что для определения ошибки позиционирования нет необходимости в общем устройстве сопряжения между указанным по меньшей мере одним датчиком и системой управления станка с ЧПУ.
Способ может дополнительно включать этап определения первого компенсационного направления на основании первых и вторых данных датчика, в частности, на основании их разности, таким образом, что перемещение указанного по меньшей мере одного датчика в первом компенсационном направлении уменьшит разность между первыми и вторыми значениями датчика, и этап инициирования перемещения указанного по меньшей мере одного датчика в первом компенсационном направлении.
Посредством сравнения первых и вторых данных датчика, в частности, исходя из разности между первыми и вторыми данными датчика, может быть определено направление, в котором первое и второе положения калибровочного элемента различаются. Другими словами, исходя из разности между первыми и вторыми данными датчика, может быть определено направление, в котором переместился калибровочный элемент во время указанного перемещения. Это направление не обязательно должно быть точным направлением вектора фактического смещения калибровочного элемента по отношению к указанному перемещению. Это имеет преимущество в том, что измерение не должно быть точным. Значит, первое компенсационное Направление может являться направлением, противоположным указанному направлению, так что перемещение указанного по меньшей мере одного датчика в первом компенсационном направлении будет частично или полностью компенсировать вектор смещения и, следовательно, уменьшать разность, в частности, абсолютную разность, между первыми и вторыми данными датчика.
Этап определения первого компенсационного направления может включать определение вектора скорости таким образом, что соответствующее перемещение будет перемещать указанный по меньшей мере один датчик в первом компенсационном направлении.
Этап определения первого компенсационного направления может дополнительно включать определение первого компенсационного значения, которое может указывать расстояние в первом компенсационном направлении, причем указанное расстояние может соответствовать необходимому расстоянию для полной или частичной компенсации вектора смещения при помощи перемещений указанного по меньшей мере одного датчика в первом компенсационном направлении.
Может быть инициировано перемещение указанного по меньшей мере одного датчика в первом компенсационном направлении для того, чтобы полностью или частично компенсировать разность между первыми и вторыми данными датчика, причем перемещение указанного по меньшей мере одного датчика в указанном направлении может быть инициировано в заданное время. Это заданное время может быть тактовым временем. То есть, будет инициировано перемещение в первом компенсационном направлении, и оно будет поддерживаться до тех пор, пока не будет определено различное компенсационное направление на основании последовательного чтения данных датчика.
Альтернативно может быть инициировано перемещение указанного по меньшей мере одного датчика в указанном направлении на заданное или вычисленное расстояние. Заданное расстояние может представлять собой постоянное приращение, которое может быть одинаковым для всех перемещений датчиков, и, в частности, может быть независимым от первого компенсационного направления. Вычисленное расстояние может представлять собой первое компенсационное значение или быть вычислено на основании первого компенсационного значения.
Способ, в частности, указанный этап инициирования, может дополнительно содержать выполнение замкнутого цикла, включающего этап считывания текущих данных датчика от по меньшей мере одного датчика, этап определения текущего компенсационного направления на основании первых и вторых данных датчика, в частности на основании их разности, таким образом, что перемещение указанного по меньшей мере одного датчика в текущем компенсационном направлении уменьшит разность между первыми и вторыми данными датчика, и этап инициирования перемещения по меньшей мере одного датчика в текущем компенсационном направлении.
Этап считывания текущих данных датчика может быть осуществлен, как первый этап указанного цикла или как последний этап указанного цикла. В частности, в первом выполнении указанного цикла текущие данные датчика могут представлять собой вторые данные датчика.
Данные указанного по меньшей мере одного датчика могут непрерывно отслеживаться таким образом, что непрерывно считываются текущие данные датчика. Текущие данные датчика могут также считываться в определенные временные интервалы. Эти временные интервалы могут быть тактовым временем, или его долей, или кратным ему. Исходя из разности между первыми и вторыми данными датчика может быть определено текущее компенсационное направление. Текущее компенсационное направление может быть противоположным направлению, определенному при помощи разности между первыми и вторыми данными датчика. То есть, текущее компенсационное направление является направлением, перемещение в котором указанного по меньшей мере одного датчика приведет к уменьшению разности, в частности, абсолютной разности, между текущими и первыми данными датчика.
Этап определения текущего компенсационного направления может дополнительно включать определение текущего компенсационного значения, которое может указывать расстояние, необходимое для того, чтобы полностью или частично компенсировать указанный вектор смещения посредством перемещения указанного по меньшей мере одного датчика в текущем компенсационном направлении.
Может быть инициировано перемещение указанного по меньшей мере одного датчика в текущем компенсационном направлении в заданное время. Это заданное время может быть тактовым временем. То есть, будет инициировано указанное перемещение в текущем компенсационном направлении, и оно будет поддерживаться до тех пор, пока в последующем цикле не будет определено различное компенсационное направление.
Альтернативно, указанный по меньшей мере один датчик может быть перемещен на заданное или вычисленное расстояние. Заданное расстояние может представлять собой постоянное приращение, которое может быть одинаковым для всех перемещений датчиков, и, в частности, может быть независимым от текущего компенсационного направления. Вычисленное расстояние может представлять собой текущее компенсационное значение или быть вычислено на основании текущего компенсационного значения.
Во время указанного перемещения и/или после него, могут быть снова считаны текущие данные датчика, и указанный цикл может быть повторно запущен с новыми текущими данными датчика. В конце указанного цикла может быть определено, снижается ли ниже порогового значения разность, в частности, абсолютная разность, между текущими и первыми данными датчика. Если это так, то указанный цикл может заканчиваться.
Способ, в частности, указанный этап определения первого и/или текущего компенсационного направления, может включать преобразование данных датчика в компоненты относительно заранее определенной системы координат, в частности, ортогональной системы координат.
Указанный по меньшей мере один датчик может содержать геометрическую ось датчика, а данные датчика могут соответствовать расстоянию по этой геометрической оси датчика. В частности, указанная ось датчика может быть неподвижна. Вектор смещения, соответствующий расстоянию по указанной оси датчика, может быть выражен в терминах заранее определенной системы координат. Эта система координат может представлять собой ортогональную, предпочтительно, ортонормальную систему координат, такую как декартова система координат. Вектор смещения может быть дополнительно разложен на компоненты относительно указанной координатной системы.
x
y
z
1
2
1,x
1,y
1,z
2,x
2,y
2,z
В частности, при использовании декартовой системы координат с координатами x, y и z, данные датчика могут быть выражены посредством трех компонент S, S, S, так что расстояние S по геометрической оси датчика удовлетворяет равенству . Аналогично, при использовании по меньшей мере двух датчиков, соответствующие расстояния S, S, и т.д. по соответствующим геометрическим осям датчиков могут быть выражены соответствующими координатами S, S, S, S, S, S, и т.п.
Считывание первых, вторых и/или текущих данных датчика может включать считывание первых, вторых и/или текущих данных датчика по меньшей мере от двух датчиков, причем определение первого и/или текущего компенсационного направления может включать определение компонентов вектора скорости по отношению к заранее определенной системе координат, в частности, ортогональной системе координат, так что соответствующее перемещение указанного по меньшей мере одного датчика уменьшит абсолютную разность между первыми и текущими данными датчика.
В частности, определение вектора скорости может включать взвешивание компонентов вектора скорости относительно соответствующей разности между компонентами первых и текущих данных датчика.
Альтернативно, определение первого и/или текущего компенсационного направления может включать усреднение соответствующих компонентов указанных по меньшей мере двух датчиков, или принятие соответствующего компонента, имеющего самое большое абсолютное значение, или принятие соответствующего компонента, имеющего самое маленькое абсолютное значение.
В частности, считывание первых, вторых и/или текущих данных датчика может включать считывание первых, вторых и/или текущих данных датчика по меньшей мере от трех датчиков, причем определение первого и/или текущего компенсационного направления может включать определение компонентов вектора скорости по отношению к заранее определенной системе координат, в частности, ортогональной системе координат, так что соответствующее перемещение указанного по меньшей мере одного датчика уменьшит абсолютную разность между первыми и текущими данными датчика, причем определение вектора скорости может включать взвешивание компонентов вектора скорости относительно соответствующей разности между компонентами первых и текущих данных указанных датчиков.
Пороговое значение может быть выражено в терминах системы координат, в частности, пороговое значение может быть выражено в терминах компонентов по отношению к системе координат, или быть выражено в терминах данных датчика. Другими словами, пороговое значение может быть выражено прямо в терминах данных датчика, или в терминах заранее определенной системы координат.
x
y
z
x
x
y
y
z
z
1
1
2
2
1
2
В частности, при использовании декартовой системы координат пороговое значение T может быть выражено в компонентах T, T, T относительно декартовых координат x, y и z. Затем пороговое условие может быть выражено как S≤T, S≤T и S≤T. Пороговое значение Г может быть одинаковым или различным для каждого датчика. То есть, например, для двух датчиков мы можем иметь следующие условия: S≤T и S≤T, причем T и T могут быть одинаковыми или различными.
Может быть инициировано перемещение указанного по меньшей мере одного датчика посредством смещения по меньшей мере вдоль одной координатной оси системы координат. В частности, при использовании декартовой системы координат может быть инициировано смещение указанного по меньшей мере одного датчика вдоль осей x, y и z. Указанный по меньшей мере один датчик может содержать перемещающий элемент или может быть прикреплен к перемещающему элементу, причем перемещающий элемент содержит по меньшей мере один двигатель, например электродвигатель, а указанный по меньшей мере один двигатель выполнен с возможностью смещения указанного по меньшей мере одного датчика вдоль оси x, оси y или оси z. Перемещающий элемент может содержать по меньшей мере три двигателя, например, электродвигателя, причем по меньшей мере один из по меньшей мере трех двигателей выполнен с обеспечением возможности смещения указанного по меньшей мере одного датчика вдоль оси x, оси y и оси z соответственно.
Может быть инициировано перемещение указанного по меньшей мере одного датчика вдоль каждой из координатных осей системы координат отдельно. Другими словами, указанный по меньшей мере один двигатель может управляться отдельно.
Может быть инициировано совместное перемещение указанных по меньшей мере двух датчиков, в частности, в котором указанные по меньшей мере два датчика могут быть закреплены на общей станине. Указанные по меньшей мере два датчика могут быть смонтированы на станине, причем указанные по меньшей мере два датчика могут быть закреплены на этой станине непосредственно или посредством по меньшей мере одного элемента, например, цоколя или соединительной муфты. Цоколь или соединительная муфта может содержать по меньшей мере один цилиндр. Станина может содержать перемещающий элемент для перемещения указанной станины и тем самым также указанных по меньшей мере двух датчиков.
Указанные по меньшей мере два датчика могут быть размещены так, что некоторые оси датчиков не являются параллельными. В частности, указанные по меньшей мере два датчика, в частности, указанные по меньшей мере три датчика, могут быть размещены так, что по меньшей мере два датчика из них, в частности, по меньшей мере три датчика, имеют взаимно непараллельные оси датчиков. Указанные по меньшей мере три датчика могут быть размещены так, что все оси датчиков являются взаимно непараллельными.
Три датчика могут быть закреплены на ребрах воображаемого треугольника, образованного параллельно поверхности станины, причем каждый из указанных датчиков направлен к центру треугольника и наклонен к поверхности станины. Здесь термин «воображаемый» означает, что нет необходимости в реальном треугольнике, обозначенном на поверхности или над ней. В частности, указанные три датчика могут быть закреплены на ребрах воображаемого равностороннего треугольника, причем калибровочный элемент в своем первом положении может быть расположен над центром указанного треугольника. Указанные три датчика могут быть наклонены к поверхности под углом наклона, причем этот угол может находиться в диапазоне от 40° до 80°, предпочтительно от 50° до 70° или от 55° до 65°, или по существу 60°, где термин «по существу» означает, что угол наклона может отличаться от 60° на значение, допустимое в области техники. Углы наклона указанных трех датчиков могут быть одинаковыми или различными. В частности, по меньшей мере один из указанных трех датчиков, предпочтительно, по меньшей мере два или все из указанных трех датчиков могут быть направлены к центру шара калибровочного элемента. Указанные три датчика могут быть направлены так, что оси указанных трех датчиков образуют взаимный угол по меньшей мере в 90°. При использовании декартовой системы координат две координатные оси могут быть параллельны поверхности станины, а одна координатная ось может быть перпендикулярна поверхности станины, например, ось z может представлять высоту, тогда как координатные оси, параллельные поверхности, например оси х и у, могут представлять горизонтальные размеры.
Способ может дополнительно включать вывод данных, указывающих на ошибку позиционирования держателя инструмента, в частности, при этом вывод данных содержит любое действие из следующих: отображение, печать, передача и/или сохранение указанных данных. В частности, выявленная ошибка позиционирования может быть преобразована в данные, читаемые с помощью компьютерной системы, в частности, при помощи операционной системы станка с ЧПУ.
Настоящее изобретение дополнительно обеспечивает способ улучшения точности станка с ЧПУ, который включает определение ошибки позиционирования станка с ЧПУ, в частности, его держателя инструмента и/или стола станка, посредством выполнения любого из способов, описанных выше в настоящем документе, и компенсацию указанной ошибки позиционирования станка с ЧПУ. Компенсация ошибки позиционирования станка с ЧПУ, в частности его держателя инструмента и/или стола станка, может включать настройку программы станка с ЧПУ на основании указанной ошибки позиционирования и/или ввод данных, указывающих на указанную ошибку позиционирования держателя инструмента, в систему управления станка с ЧПУ.
Настоящее изобретение дополнительно обеспечивает устройство для определения ошибки позиционирования станка с ЧПУ, в котором станок с ЧПУ оборудован калибровочным элементом, указанное устройство содержит:
по меньшей мере один датчик, при этом по меньшей мере один датчик выполнен с возможностью вывода данных датчика, которые соответствуют расстоянию между точкой на поверхности калибровочного элемента и указанного по меньшей мере одного датчика, или при этом контактный элемент указанного по меньшей мере одного датчика отклоняется калибровочным элементом, а данные датчика соответствуют расстоянию, на которое отклонен указанный контактный элемент.
перемещающий элемент для перемещения указанного по меньшей мере одного датчика, и
управляющий блок для обработки данных датчика, принятых от указанного по меньшей мере одного датчика, и для управления перемещающим элементом, причем управляющий блок выполнен с возможностью приема первых и вторых данных датчика, возможностью вывода на перемещающий элемент управляющих данных, которые инициируют перемещение перемещающим элементом указанного по меньшей мере одного датчика так, что разность между первыми и вторыми данными датчика уменьшается до тех пор, пока указанная разность не станет меньше, чем пороговое значение, или равной ему, и с возможностью определения ошибки позиционирования держателя инструмента на основании перемещения указанного по меньшей мере одного датчика.
Станок с ЧПУ может представлять собой любой станок с ЧПУ, известный и используемый в области техники, в частности, механический станок и/или робот. Станок с ЧПУ может быть управляемым в режиме поворота по центральной точке инструмента (RTCP, Rotations along Tool Center Point). Станок с ЧПУ может содержать держатель инструмента, в частности, поворачивающийся держатель, подобный фрезерной головке поворота в двух плоскостях. Станок с ЧПУ может содержать стол станка, в частности, перемещаемый стол станка, подобный поворотному столу и/или поворотному наклоняемому столу. Держатель инструмента и/или стол станка может быть оборудован калибровочным элементом.
Держатель инструмента может выступать в качестве устройства сопряжения между станком с ЧПУ и инструментом, в частности, инструментом для формования, такого как фрезеровка, сверление или резка. Также возможны другие инструменты, подобные измерительным или тестирующим инструментам. Стол станка может держать и/или перемещать, в частности, поворачивать, заготовку. Станок с ЧПУ, в частности, его держатель инструмента и/или стол станка, оборудован калибровочным элементом, причем калибровочный элемент может являться элементом, используемым только для целей калибровки станка с ЧПУ и/или определения ошибки позиционирования станка с ЧПУ, в частности, его держателя инструмента и/или стола станка. Калибровочный элемент также может представлять собой сам инструмент.
По меньшей мере один датчик может представлять собой один датчик, два датчика, три датчика или более, чем три датчика, которые могут быть смонтированы на общей станине.
Один или более из указанных датчиков может представлять собой датчик расстояния, который выводит данные датчика, соответствующие расстоянию между точкой на поверхности калибровочного элемента и датчиком, причем датчик расстояния может, в частности, представлять собой датчик, который не находится в физическом контакте с калибровочным элементом. Например, один или более из указанных датчиков может представлять собой оптический датчик, акустический датчик, емкостной датчик и/или индуктивный датчик.
По меньшей мере один из указанных датчиков может представлять собой датчик с контактной точкой и/или индикатор с круговой шкалой, который содержит отклоняемую часть и неотклоняемую часть. Отклоняемая часть может содержать контактный элемент, который находится в контакте с указанным калибровочным элементом, в частности, с точкой на его поверхности. Указанный по меньшей мере один датчик с контактной точкой выводит данные датчика, которые соответствуют расстоянию, на которое указанная отклоняемая часть, в частности, ее контактный элемент, отклоняется указанным калибровочным элементом, в частности, точкой на его поверхности. Датчик с контактной точкой, в частности, может содержать геометрическую ось датчика, вдоль которой может быть отклонен указанный контактный элемент. Затем контактный элемент отклоняется указанной точкой на поверхности калибровочного элемента, который находится на геометрической оси датчика.
Перемещающий элемент может быть прикреплен к указанному по меньшей мере одному датчику, или прикреплен к станине, причем указанный по меньшей мере один датчик может быть смонтирован на этой станине.
Управляющий блок может содержать обрабатывающие средства для обработки данных датчиков и/или других данных. Управляющий блок может дополнительно содержать накопительные средства для кэширования данных и/или постоянного хранения данных. Управляющий блок может дополнительно содержать входное устройство сопряжения для приема данных датчика от указанного по меньшей мере одного датчика, причем указанный по меньшей мере один датчик может осуществлять связь с управляющим блоком по проводному соединению и/или беспроводному соединению, и для приема других данных и/или инструкций. Управляющий блок может дополнительно содержать выходное устройство сопряжения для вывода данных на перемещающий элемент, причем перемещающий элемент может осуществлять связь с управляющим блоком по проводному соединению и/или беспроводному соединению, и на выводящий блок и/или другие блоки.
Управляющий блок может принимать первые и вторые данные датчика, в то время как калибровочный элемент находится в первом и втором положении калибровочного элемента соответственно, причем первое положение может относится к начальному положению, то есть, положению до перемещения калибровочного элемента. Второе положение калибровочного элемента может относится к последующему положению после перемещения калибровочного элемента, в частности, перемещения, которое в идеальном случае, то есть, в соответствии с системой управления ЧПУ, оставляет калибровочный элемент в неподвижном положении. Первые и вторые данные датчика могут быть приняты через входное устройство сопряжения.
Управляющий блок может просчитывать на основании первых и вторых данных датчика, в частности, на основании их разности, направление, в котором может быть перемещен указанный по меньшей мере один датчик так, чтобы разность, в частности, абсолютная разность, между первыми и вторыми данными датчика уменьшалась, и выводить соответствующие перемещающие данные на перемещающий элемент. Такой вывод перемещающих данных может быть выполнен через выходное устройство сопряжения.
Управляющий блок может быть выполнен с возможностью выполнения любого из способов, описанных выше в настоящем документе.
В частности, управляющий блок может быть выполнен с возможностью выполнения этапа определения на основании первых и вторых данных датчика, в частности, на основании их разности, первого компенсационного направления, причем перемещение указанного по меньшей мере одного датчика в первом компенсационном направлении уменьшит разность, в частности, абсолютную разность, между первыми и вторыми значениями датчика, и этапа инициирования перемещения указанного по меньшей мере одного датчика в первом компенсационном направлении.
Управляющий блок может быть выполнен с возможностью выполнения замкнутого цикла, включающего этап определения на текущего компенсационного направления основании первых и вторых данных датчика, в частности, на основании их разности, причем перемещение указанного по меньшей мере одного датчика в текущем компенсационном направлении уменьшит разность, в частности, абсолютную разность, между первыми и вторыми значениями датчика, этап инициирования перемещения указанного по меньшей мере одного датчика в первом компенсационном направлении и этап считывания текущих данных датчика по меньшей мере от одного датчика.
Управляющий блок может быть выполнен с возможностью преобразования данных датчика в компоненты относительно заранее определенной системы координат, в частности, ортогональной системы координат.
Управляющий блок может быть выполнен с возможностью считывания первых, вторых и/или текущих данных датчика по меньшей мере от двух датчиков, в частности, по меньшей мере от трех датчиков, причем определение первого и/или текущего компенсационного направления может включать определение компонентов вектора скорости по отношению к заранее определенной системе координат, в частности, ортогональной системе координат, так что соответствующее перемещение указанного по меньшей мере одного датчика уменьшит абсолютную разность между первыми и текущими данными датчика.
Управляющий блок может быть выполнен с возможностью выражения порогового значения в терминах координатной системы, в частности, пороговое значение может быть выражено в терминах компонентов относительно системы координат, или быть выражено в терминах данных датчика.
Кроме того, управляющий блок может быть выполнен с возможностью вывода перемещающих данных, инициирующих перемещение указанного по меньшей мере одного датчика перемещающим элементом посредством смещения по меньшей мере вдоль одной координатной оси системы координат.
Указанное устройство может дополнительно содержать выводящий блок, выполненный с возможностью вывода данных ошибки, соответствующих ошибке позиционирования держателя инструмента, причем вывод данных содержит любое действие из следующих: отображение, печать, передача и/или сохранение указанных данных ошибки.
Выводящий блок может представлять собой отображающее устройство, передающее устройство и/или устройство для хранения, и/или может быть соединен с отображающим устройством, печатающим устройством, передающим устройством и/или устройством для хранения. Выводящий блок также может быть соединен со станком с ЧПУ.
По меньшей мере один датчик может представлять собой датчик с контактной точкой, индикатор с круговой шкалой, светочувствительный датчик, лазерный датчик, ультразвуковой датчик, емкостной датчик и/или индуктивный датчик.
Перемещающий элемент может содержать по меньшей мере один двигатель, в частности, по меньшей мере один электродвигатель. Перемещающий элемент, в частности, двигатель перемещающего элемента, может перемещать указанный по меньшей мере один датчик посредством смещения по меньшей мере вдоль одной координатной оси системы координат, в частности, ортогональной системы координат. В частности, указанный по меньшей мере один датчик может быть смонтирован на станине, а указанный по меньшей мере один двигатель может перемещать станину и тем самым указанный по меньшей мере один датчик посредством смещения по меньшей мере вдоль одной координатной ости системы координат, в частности, ортогональной системы координат.
Перемещающий элемент может содержать по меньшей мере два двигателя, причем указанные по меньшей мере два двигателя могут управляться отдельно, в частности, при этом перемещающий элемент может перемещать указанный по меньшей мере один датчик и/или станину посредством смещения по меньшей мере вдоль двух координатных осей отдельно. Двигатели могут быть выполнены с возможностью перемещения указанного по меньшей мере одного датчика и/или станины непосредственно или посредством передаточных механизмов. Двигатели могут быть расположены на расстоянии от указанного по меньшей мере одного датчика и/или станины и содержать передаточные валы, которые соединены с указанным по меньшей мере одним датчиком и/или станиной.
Перемещающий элемент может быть выполнен с возможностью совместного перемещения по меньшей мере двух датчиков, в частности, при этом указанные по меньшей мере два датчика закреплены на общей станине. Перемещающий элемент может также быть выполнен с возможностью перемещения станины и, тем самым, указанных по меньшей мере двух датчиков.
Указанные по меньшей мере два датчика могут быть расположены так, что некоторые оси датчиков не параллельны. В частности, указанные по меньшей мере два датчика, в частности, указанные по меньшей мере три датчика, могут быть расположены так, что по меньшей мере два датчика из них, в частности, по меньшей мере три датчика, имеют взаимно непараллельные оси датчиков. Указанные по меньшей мере два датчика могут дополнительно быть расположены так, что все оси датчиков являются взаимно непараллельными.
Три датчика могут быть закреплены на ребрах воображаемого треугольника, образованного параллельно поверхности станины, причем каждый из указанных датчиков направлен к центру треугольника и наклонен к поверхности станины. Здесь термин «воображаемый» означает, что нет необходимости в реальном треугольнике, обозначенном на поверхности или над ней. В частности, указанные три датчика могут быть закреплены на ребрах воображаемого равностороннего треугольника, причем калибровочный элемент в своем первом положении может быть расположен над центром указанного треугольника. Указанные три датчика могут быть наклонены к поверхности под углом наклона, причем этот угол может находиться в диапазоне от 40° до 80°, предпочтительно от 50° до 70° или от 55° до 65°, или по существу 60°, где термин «по существу» означает, что угол наклона может отличаться от 60° на значение, допустимое в области техники. Углы наклона указанных трех датчиков могут быть одинаковыми или различными. В частности, по меньшей мере один из указанных трех датчиков, предпочтительно, по меньшей мере два или все из указанных трех датчиков могут быть направлены к центру шара калибровочного элемента. Указанные три датчика могут быть направлены так, что оси указанных трех датчиков образуют взаимный угол по меньшей мере в 90°. При использовании декартовой системы координат две координатные оси могут быть параллельны поверхности станины, а одна координатная ось может быть перпендикулярна поверхности станины, например, ось z может представлять высоту, тогда как координатные оси, параллельные поверхности, например оси x и y, могут представлять горизонтальные размеры.
Калибровочный элемент может содержать шар. Шар может быть соединен с держателем инструмента через элемент, в частности, цилиндр. Шар может быть образован из твердого материала, например, металла.
Настоящее изобретение будет описано при помощи некоторых предпочтительных вариантов его осуществления, предоставленных в качестве неограничительных примеров, со ссылкой на прилагаемые чертежи, на которых:
- фиг. 1 изображает схематически вид устройства для определения ошибки позиционирования держателя инструмента станка с ЧПУ;
- фиг. 2A изображает блок-схему способа определения ошибки позиционирования держателя инструмента станка с ЧПУ;
- фиг. 2B изображает ошибку позиционирования калибровочного элемента и соответствующие отклонения датчика в двумерном декартовом примере;
- фиг. 2C изображает компоненты разности между первыми и вторыми данными датчика в двумерном декартовом примере;
- фиг. 2D изображает пример алгоритма в двумерном декартовом примере.
Со ссылкой на фиг. 1, устройство для определения ошибки позиционирования станка с ЧПУ, точнее говоря, его держателя 101 инструмента, оснащенное калибровочным элементом 102, содержит по меньшей мере один датчик 103, управляющий блок 105 и перемещающий элемент 106. Указанное устройство может дополнительно содержать станину 104 и/или выводящий блок 107. Альтернативно, станок с ЧПУ может содержать стол станка, оснащенный калибровочным элементом 102.
Держатель 101 инструмента представляет собой устройство сопряжения между станком с ЧПУ и инструментом, причем указанный инструмент может быть заменяемым Инструмент может представлять собой инструмент для придания формы, подобному фрезеровке, сверлению, резке или измерительный и/или тестирующий инструмент. Калибровочный элемент 102 может являться элементом, специально используемым для определения ошибки позиционирования и/или калибровки иным образом держателя инструмента станка с ЧПУ, или калибровочный элемент 102 может являться самим инструментом. Первый вариант из названных является предпочтительным, потому что форма инструмента может сделать трудным определение достоверной ошибки позиционирования держателя 101 инструмента. Второй вариант из названных может быть преимущественным, если инструмент является несъемным, или его извлечение из держателя 101 инструмента затруднено. В настоящем примере калибровочный элемент 102 имеет форму шара, который соединен с держателем инструмента через цилиндрический элемент. Этот шар 102 предпочтительно образован из твердого материала, подобного металлу. Шар 102 может быть твердым или полым.
Количество датчиков 103 может быть один, два, три или более чем три. В настоящем примере использованы три датчика 103-1, 103-2 и 103-3. Датчики 103 могут быть смонтированы на станине 104, причем они могут быть закреплены в углах воображаемого треугольника, в частности, равностороннего треугольника на поверхности станины 104, или параллельно этой поверхности. Датчики 103 могут также быть расположены в соединительных муфтах, цоколях или тому подобных элементах, которые могут быть закреплены на поверхности станины 104. Датчики 103 могут иметь цилиндрическую часть вдоль геометрической оси датчика. В частности, они могут содержать неподвижную, в частности, неотклоняемую, часть, чье положение вдоль геометрической оси датчика постоянно. Датчики могут дополнительно содержать часть, являющуюся перемещаемой, в частности, отклоняемой, вдоль оси датчика, такую как головка датчика. Датчики 103 могут, в частности, представлять собой датчики с контактной точкой, где головка датчика содержит контактный элемент, который находится в контакте с точкой на поверхности шара 102. Точнее говоря, контактный элемент находится в контакте с точкой на поверхности шара 102 и на оси датчика, ближайшей к неподвижной части датчика 103. Датчики 103 могут быть наклонены к поверхности станины 104 под углом наклона. Угол наклона для каждого датчика 103 может быть одинаковым или различным. Угол наклона может находится в диапазоне от 40° до 80°, предпочтительно от 50° до 70°, более предпочтительно от 55° до 65°. При более большом угле наклона шар 102 может быть более доступным для датчиков 103. В частности, это допускает простое позиционирование шара 102 и исключающее столкновения перемещение держателя 101 инструмента. Углы наклона датчиков 103 могут быть выбраны так, что взаимные углы между осями датчиков 103 являются по меньшей мере 90°. Датчики 103 могут быть расположены в общей точке в центре шара 102. Три оси датчиков 103 могут образовывать взаимный угол, равный по меньшей мере 90°. Станина 104 может содержать цилиндрическую часть. Кроме того, станина 104 может содержать соединительные муфты, цоколи и тому подобные для монтажа датчиков 103. Станина 104 может также содержать регулирующие средства для регулировки высоты и/или горизонтального положения датчиков 103 и/или фиксирующие средства для фиксации высоты и/или горизонтального положения датчиков 103.
Управляющий блок 105 может содержать обрабатывающие средства для обработки данных, принятых от датчиков 103 и/или данных, принятых иным образом. Управляющий блок 105 может дополнительно содержать накопительные средства для кэширования данных или хранения данных. Накопительные средства могут содержать энергозависимое запоминающее устройство и/или постоянное запоминающее устройство. Информация, представляющая геометрическое расположение датчиков 103, например, пространственная ориентация их осей, может быть сохранена в запоминающем устройстве. Управляющий блок 105 может содержать входное устройство сопряжения для приема данных, в частности данных датчиков от датчиков 103. Входное устройство сопряжения может содержать несколько входов. В частности, датчики 103 могут быть соединены с входным устройством сопряжения по отдельности. Датчики 103 могут быть соединены с входным устройством сопряжения при помощи проводного соединения и/или беспроводного соединения. Входное устройство сопряжения может также служить для ввода инструкций в управляющий блок 105 и/или обновления управляющего блока 105. Управляющий блок 105 может дополнительно содержать выходное устройство сопряжения для вывода данных. Выходной интерфейс может быть соединен с перемещающим элементом 106. Это соединение может являться проводным соединением и/или беспроводным соединением. Выходное устройство сопряжения может быть дополнительно соединено с выводящим блоком 107. Это соединение также может являться проводным соединением и/или беспроводным соединением.
Перемещающий элемент 106 может содержать один, два, три или более чем три двигателя, предпочтительно, электродвигателя. В частности, перемещающий элемент 106 может содержать три двигателя, которые выполнены с возможностью смещения станины 104 вдоль каждой из трех координатных осей x, y, и z декартовой системы координат. Указанные три различных смещения могут управляться посредством обращения к указанным трем двигателям по отдельности. Три двигателя могут быть отдельно или совместно соединены с управляющим блоком 105, в частности, с его выходным устройством сопряжения. Перемещающий элемент 106 может быть прикреплен непосредственно к датчикам 103 и/или станине 104.
Выводящий блок 107 может содержать отображающее устройство, печатающее устройство, передатчик и/или накопительное устройство и/или может быть соединен с отображающим устройством, печатающим устройством, передатчиком и/или накопительным устройством. Выводящий блок 107 также может быть выполнен с возможностью соединения с системой управления станка с ЧПУ. Выводящее устройство 107 может быть соединено с управляющим блоком 105, в частности, с его выходным устройством сопряжения.
В процессе эксплуатации указанного устройства по меньшей мере один из датчиков 103, предпочтительно, каждый из датчиков 103, выводит данные датчика, в то время как шар 102 находится в заданном положении. То есть, данные датчика представляют текущее положение шара 102 без необходимости определения фактического положения шара 102. Затем данные датчика передаются на управляющий блок 105, в частности, на его входное устройство сопряжения.
Управляющий блок 105 принимает данные датчика от датчиков 103, в частности, через входное устройство сопряжения. Управляющий блок 105, в частности, его обрабатывающие средства, определяют, удовлетворяют ли данные датчика определенным условиям. В частности, управляющий блок 105 может проверять, находится ли разность, в частности, абсолютная разность, между данными датчика, взятыми в два различных момента времени, ниже порогового значения. Управляющий блок 105, в частности, его обрабатывающие средства, может на основании данных датчика определять данные перемещения. Данные перемещения и/или данные датчика могут кэшироваться и/или сохраняться в управляющем блоке 105, в частности, в его накопительных средствах. Данные перемещения могут содержать три отдельных команды для трех двигателей перемещающего элемента 106. Управляющий блок 105 может передавать данные перемещения на перемещающий элемент 106, в частности, через выходное устройство сопряжения.
Перемещающий элемент 106 принимает данные перемещения от управляющего блока 105, в частности, через его выходное устройство сопряжения. Данные перемещения могут содержать команды по меньшей мере для одного из двигателей. В частности, данные перемещения могут содержать команды для трех двигателей, которые выполнены с возможностью смещения датчиков 106 и/или станины 104 вдоль декартовых осей. Команды для двигателя могут содержать инструкции для смещения датчиков 103 и/или станины 104 вдоль соответствующей оси в прямом направлении, в обратном направлении, изменить направление смещения на обратное и/или остановить смещение. Команды для двигателя могут дополнительно содержать инструкции для смещения датчиков 103 и/или станины 104 с определенной скоростью и/или на определенное расстояние.
После того, как перемещающий элемент переместит датчики 103 и/или станину 104 согласно данным перемещения, выведенным управляющим блоком 105, датчики 103 выводят новые данные датчика. Управляющий блок 105, в частности его входное устройство сопряжения, принимает новые данные датчика от датчиков 103 и сравнивает с пороговым значением разность, в частности, абсолютную разность, между новыми данным датчика и предыдущими данным датчика, в частности, данными датчика, представляющими начальное положение шара 102. Если пороговое значение не достигнуто, то определяются и выводятся на перемещающий элемент 106 новые данные перемещения. Если пороговое значение достигнуто, то управляющий блок 105, в частности, его обрабатывающие средства, определяют ошибку позиционирования держателя инструмента на основании кэшированных и/или сохраненных данных перемещения. В декартовой системе координат ошибка позиционирования (Dx, Dy, Dz) может представлять собой сумму данных перемещения, соответствующих тем перемещениям, на которые было необходимо переместить датчики 103 и/или станину 104 для того, чтобы достичь порогового значения.
Управляющий блок 105 может выводить ошибку позиционирования на выводящий блок 107. Выводящий блок 107 может отображать, печатать, передавать и/или сохранять указанную ошибку позиционирования. Выводящий блок 107 также может вводить ошибку позиционирования в систему управления станка с ЧПУ.
Датчики 103, станина 104, управляющий блок 105, перемещающий элемент 106 и/или выводящий блок 107 могут отдельные блоки и/или элементы, или могут представлять собой часть одного и того же блока и/или элемента указанного устройства.
Со ссылкой на фиг. 2A, способ определения ошибки позиционирования держателя инструмента станка с ЧПУ включает следующие этапы: считывание 210 первых данных датчика, перемещение 220 держателя инструмента, считывание 230 текущих данных датчика, определение 240 разности между первыми и текущими данными датчика, проверку 250, достигнуто ли пороговое значение, и в ответ на проверку 250 определение 260 компенсационного направления и перемещение 270 датчика в компенсационном направлении, или определение 280 ошибки позиционирования.
0
0
0
1
0
2
0
3
0
1
0
2
0
3
0
1
0
1,x
0
1,y
0
1,z
0
2
0
3
0
2,x
0
2,y
0
2,z
0
3,x
0
3,y
0
3,z
0
На этапе 210 считываются первые данные S(t) датчика, то есть, данные датчика в момент времени t. Первые данные датчика представляют первое положение калибровочного элемента 102, который соединен с держателем 101 инструмента. Первое положение соответствует начальному положению калибровочного элемента 102, то есть, до того, как держатель 101 инструмента перемещается для того, чтобы определить его ошибку позиционирования. Первое положение известно системе управления станка с ЧПУ, но неизвестно управляющему блоку 105. Система управления ЧПУ может работать в декартовой системе координат и установить первое положение в положение (0, 0, 0), причем первое положение может соответствовать контрольной точке на калибровочном элементе 102, или в нем, в частности, центру шара. То есть, однако, управляющему блоку 105 нет необходимости определять первое положение. В случае трех датчиков 103-1 - 103-3, первые данные S(t) датчика содержат первые данные S(t), S(t) и S(t) датчиков 103-1, 103-2 и 103-3 соответственно. Каждые из данных S(t), S(t) и S(t) датчика могут иметь компоненты относительно заранее определенной системы координат. При использовании декартовой системы координат первые данные S(t) датчика 103-1 могут иметь компоненты S(t), S(t) и S(t) относительно декартовых осей x, y и z. Аналогично, данные S(t) и S(t) могут иметь компоненты S(t), S(t), S(t), S(t), S(t) и S(t). Указанные декартовы компоненты первых данных датчика могут быть определены на основании известного направления датчиков, то есть, направления их геометрических осей, при помощи тригонометрических вычислений, известных из области техники. Однако в некоторых вариантах осуществления настоящего изобретения определение декартовых компонентов первых данных датчика может быть излишним.
На этапе 220 станок с ЧПУ управляется для перемещения держателя 101 инструмента так, что калибровочный элемент 102 остается в теоретически неподвижном положении. То есть, в соответствии с системой управления ЧПУ это калибровочное перемещение не изменяет положение контрольной точки калибровочного элемента 102. Однако сам калибровочный элемент 102 может перемещаться. В частности, если калибровочный элемент 102 содержит шар, чей центр является контрольной точкой, калибровочное перемещение оставляет центр шара в неподвижном положении, тогда как шар по-прежнему может поворачиваться около любой оси, проходящей через его центр. Другими словами, станок с ЧПУ предполагает, что после калибровочного перемещения контрольная точка по-прежнему находится в первом положении, например, в положении (0, 0, 0). Однако, вследствие ошибки позиционирования станка с ЧПУ, в частности, его держателя инструмента, калибровочный элемент может находиться во втором положении, которое отличается от первого положения. Если используются декартовы координаты x, y и z, то второе положение может быть выражено, как положение (Dx, Dy, Dz). Это второе положение неизвестно ни системе управления станка с ЧПУ, которая по-прежнему предполагает положение (0, 0, 0) вместо положения (Dx, Dy, Dz), ни управляющему блоку 105. Определение Dx, Dy, и Dz и является объектом настоящего способа.
i
i
0
i
1
0
1
i
1
i
2
i
3
i
1
i
2
i
3
i
1
i
1,x
i
1,y
i
1,z
i
2
i
3
i
2,x
i
2,y
i
2,z
i
3,x
i
3,y
i
3,z
i
На этапе 230 считываются текущие данные S(t) датчика, то есть, данные датчика в момент времени t>t. Если время t соответствует времени t>t до того, как указанный датчик был перемещен, текущие данные S(t) датчика представляют собой вторые данные датчика, представляющие второе положение калибровочного элемента 102, то есть, положение калибровочного элемента 102 после калибровочного перемещения. Второе положение калибровочного элемента 102 соответствует ошибке позиционирования (Dx, Dy, Dz) держателя инструмента и является неизвестным. В случае трех датчиков 103-1 - 103-3, текущие данные S(t) датчика содержат текущие данные S(t), S(t) и S(t) датчиков 103-1, 103-2 и 103-3, соответственно. Каждые данные датчика из данных S(t), S(t) и S(t) могут иметь компоненты относительно заранее определенной системы координат. При использовании декартовой системы первые данные S(t) датчика 103-1 может иметь компоненты S(t), S(t) и S(t) относительно декартовых координатных осей x, y и z. Аналогично, данные S(t) и S(t) могут иметь компоненты S(t), S(t), S(t), S(t), S(t) и S(t). Декартовы компоненты текущих данных датчика могут быть определены на основании известного направления датчиков, то есть, направления их геометрических осей, при помощи тригонометрических вычислений, известных из области техники. Однако в некоторых вариантах осуществления настоящего изобретения определение декартовых компонентов текущих данных датчика может быть излишним.
i
0
i
i
1
i
1
0
1
i
2
i
2
0
2
i
3
i
3
0
3
i
i
1,x
i
1,y
i
1,z
i
2,x
i
2,y
i
2,z
i
3,x
i
3,y
i
3,z
i
1,x
i
1,x
0
1,x
i
i
i
1
i
2
i
3
i
1
i
2
i
3
i
i
0
На этапе 204 определяется текущая разность D(t)=S(t)-S(t) между первыми и текущими данными датчика. В случае трех датчиков 103-1 - 103-3 текущая разность D(t) может содержать три разности D(t)=S(t)-S(t), D(t)=S(t)-S(t) и D(t)=S(t)-S(t). В частности, разность D(t) может иметь декартовы компоненты D(t), D(t), D(t), D(t), D(t), D(t), D(t), D(t), D(t), причем D(t)=S(t)-S(t) и так далее. Декартовы компоненты D(t) могут быть определены прямо из декартовых компонентов S(t), или альтернативно, при помощи преобразования разностей D(t), D(t) и D(t) в векторы смещения вдоль геометрических осей датчиков 103-1, 103-2 и 103-3 соответственно, и последующего определения декартовых компонентов соответствующих векторов смещения из известных направлений датчиков, то есть, направлений их геометрических осей, при помощи тригонометрических вычислений, известных из области техники. Однако в некоторых вариантах осуществления настоящего изобретения определение декартовых компонентов текущих данных разницы может быть излишним. Знаки разностей D(t), D(t) и D(t) определяют, больше или меньше отклоняется соответствующий датчик в момент времени t, чем в момент времени t.
i
i
i
i
i
i
x
y
z
1,x
i
x
1,
2
3
1,x
i
1,x
i
1
i
2
i
3
i
1,x
i
2,x
i
3,x
i
x
x
i
y
i
z
i
1,x
i
1,y
i
1,z
i
1
1,x
i
1,y
i
1,z
i
2,x
i
2,y
i
2,z
i
3,x
i
3,y
i
3,z
i
На этапе 250 считываются текущие данные датчика, а разность D(t), в частности, абсолютная разность |D(t)|, между текущими данными датчика и первыми данными датчика сравнивается с пороговым значением T. Если пороговое значение T достигнуто, то есть, если разность D(t), в частности, абсолютная разность |D(t)|, меньше, чем пороговое значение T, или равна ему, то на этапе 280 определена ошибка позиционирования. Если пороговое значение T не достигнуто, то есть, если разность D(t), в частности, абсолютная разность |D(t)|, больше, чем пороговое значение T, то способ переходит к этапу 260. В частности, пороговое значение T может иметь декартовы компоненты T, T и T. Затем пороговое условие может содержать условия, подобные |D(t)|≤T, и аналогичные для других компонентов. Также возможно требовать для трех датчиков 103-1, 103-2 и 103-3 различные пороговые значения T T и T. В этом случае пороговое условие может содержать условия, подобные |D(t)|≤T, и аналогичные для других компонентов. Альтернативно, пороговое условие может быть проверено для суммы некоторых компонентов разности D(t). Например, пороговое условие может оцениваться как сумма разностей D(t), D(t), D(t) датчиков 103-1, 103-2, 103-3 относительно каждого декартового компонента отдельно. В этом случае, пороговое условие может содержать условия, подобные D(t)|+|D(t)|+|D(t)|≤T, и аналогичные для других компонентов. В другом примере, пороговое условие может оцениваться как сумма декартовых компонентов D(t), D(t), D(t) разности относительно каждого из датчиков 103-1, 103-2, 103-3 отдельно. В этом случае, пороговое условие может содержать условия, подобные |D(t)|+|D(t)|+|D(t)|≤T, и аналогичные для других датчиков. Также возможны комбинации вышеописанных примеров. В частности, пороговое условие может содержать условие |D(t)|+D(t)|+|D(t)|+|D(t)|+|D(t)|+|D(t)|+|D(t)|+|D(t)|+|D(t)|≤T.
1
i
2
i
3
i
1,x
i
1,y
i
1,z
i
2,x
i
2,y
i
2,z
i
3,x
i
3,y
i
3,z
i
i
x
i
y
i
z
i
x
i
y
i
z
i
x
i
y
i
z
i
x
i
y
i
z
i
1
i
2
i
3
i
На этапе 260 определяется компенсационное направление. Это определение может основываться на разностях D(t), D(t), D(t) или их декартовых компонентах D(t), D(t), D(t), D(t), D(t), D(t), D(t), D(t) и D(t). Компенсационное направление может быть представлено посредством вектора скорости V(t)=(V(t), V(t), V(t)), причем компоненты V(t), V(t) и V(t) представляют собой скорости вдоль оси x, оси y и оси z соответственно, с которыми будут перемещаться указанные датчики на этапе 270. Здесь знаки V(t), V(t) и V(t) определяют направление перемещения вдоль соответствующей оси, то есть прямое или обратное смещение, поскольку их абсолютное значение определяет скорость смещения вдоль соответствующей оси. Компоненты скорости V(t), V(t), V(t) могут быть определены на основании разностей D(t), D(t), D(t) следующим образом:
x
i
1,x
1
i
2,x
2
i
3,x
3
i
V(t)=K·D(t)+K·D(t)+K·D(t),
y
i
1,y
1
i
2,y
2
i
3,y
3
i
V(t)=K·D(t)+K·D(t)+K·D(t),
z
i
1,z
1
i
2,z
2
i
3,z
3
i
V(t)=K·D(t)+K·D(t)+K·D(t),
причем кинематические коэффициенты K являются отношением между компенсационным направлением и перемещением датчика. Коэффициенты K могут являться постоянной величиной. В частности, коэффициент K датчика является постоянной величиной, когда пространственная ориентация его оси датчика является постоянной. Кроме того, коэффициенты K могут быть известны или могут быть определены следующим образом:
1,x
1,x
i
1
i
1,y
1,y
i
1
i
1,z
1,z
i
1
i
K=A·D(t)/D(t); K=A·D(t)/D(t); K=A·D(t)/D(t);
2,x
2,x
i
2
i
2,y
2,y
i
2
i
2,z
2,z
i
2
i
K=B·D(t)/D(t); K=B·D(t)/D(t); K=B·D(t)/D(t);
3,x
3,x
i
3
i
3,y
3,y
i
3
i
3,z
3,z
i
3
i
K=C·D(t)/D(t); K=C·D(t)/D(t); K=C·D(t)/D(t);
1
1,x
i
1
i
1,y
i
1
i
1,z
i
1
i
1,x
i
1,y
i
1,z
i
1
i
i
0
i
i
1,x
1,x
0
1
0
i
i
Причем A, B и C являются коэффициентами масштабирования, относящимся к конструктивному решению кинематической системы, которая перемещает датчики 103. В частности, A, B и C могут представлять коэффициенты масштабирования, которые управляющий блок 105 применяет при вычислении данных перемещения. Это может являться преимуществом, если датчики 103-1, 103-2, 103-3 имеют различные приращения. Коэффициенты масштабирования A, B и C могут быть одинаковыми или различными. Кинематические коэффициенты, например, K, могут содержать весовые коэффициенты D(t)/D(t), D(t)/D(t) и D(t)/D(t), представляющие относительный вклад различных компонентов D(t), D(t) и D(t) в общую разность D(t) датчика 103-1, и аналогичные для других датчиков. Это обеспечивает то, что компенсационное направление V(t), как было описано выше, указывает на направление, соответствующее относительной самой высокой полной разности датчика, и тем самым ближайшей к фактическому смещению шара 102 вследствие ошибки позиционирования держателя 101 инструмента. Если коэффициенты К известны, можно пренебречь определением декартовых компонентов данных S(t), S(t) и/или D(t) датчика. Альтернативно, коэффициенты K могут быть получены посредством проведения эталонного измерения, например, коэффициенты K могут быть получены на основании первых данных датчика, т.е. K=A·S(t)/S(t) и т.п. Затем можно пренебречь определением декартовых компонентов S(t) и/или D(t).
i
x
i
y
i
z
i
x
i
y
i
z
i
i
x
i
y
i
z
i
На этапе 270 датчики 103-1, 103-2, 103-3 и/или станина 104 для датчиков перемещаются в соответствии с вектором скорости V(t)=(V(t), V(t), V(t)). То есть, датчики 103-1, 103-2, 103-3 и/или станина 104 для датчиков смещаются вдоль оси x со скоростью V(t), вдоль оси y со скоростью V(t) и вдоль оси z со скоростью V(t). Это приводит к перемещению в компенсационном направлении, которое было определено на этапе 260 и, тем самым, частично или полностью компенсирует разность D(t). В этом случае, когда перемещающий элемент 106 содержит три двигателя, которые выполнены с возможностью смещения датчиков 103-1, 103-2, 103-3 и/или станины 104 для датчиков вдоль трех декартовых осей соответственно, компоненты скорости V(t), V(t) и V(t) могут быть преобразованы в соответствующие управляющие данные, указывающие на прямое/обратное смещение с соответствующей скоростью, и могут непосредственно вводиться в соответствующие двигатели.
i+1
i
i+1
i+1
0
i+1
i
i+1
i
i+1
i
i+1
i+1
i+1
i+1
i
Затем способ возвращается к этапу 230, где в момент времени t>t, считываются новые данные S(t) датчика, и определяется новая разность D(t)=S(t)-S(t) на этапе 240. Вследствие того факта, что кинематические коэффициенты K в компенсационном направлении V(t) содержат весовые коэффициенты, как описано на этапе 260, новая разность D(t) будет меньше, чем предыдущая разность D(t), то есть, |D(t)|<|D(t)|. Следовательно, процесс сходится в каждом цикле. На этапе 250 проверяется, достигает ли разность D(t) порогового значения T. Если пороговое значение достигнуто, способ переходит к этапу 280. Если пороговое значение не достигнуто, компенсационное направление V(t) определяется на основании разности D(t) на этапе 260, а датчики 103 и станина 104 соответственно перемещаются. Разность Δt=t-t называется тактовым временем и может, например, быть 1 мс. Тактовое время Δt предпочтительно является постоянной величиной, в частности, заранее установленной постоянной величиной. Однако, также возможно, чтобы тактовое время Δt являлось переменной величиной.
n
На этапе 280 определяется ошибка позиционирования на основании перемещений датчиков 103, которые были необходимы, чтобы удовлетворить пороговому условию на этапе 250. Ошибка позиционирования может быть определена при помощи суперпозиции всех перемещающих данных, начиная с перемещения датчиков после считывания вторых данных датчика. Декартовы компоненты (Dx, Dy, Dz) ошибки позиционирования могут быть получены при помощи сложения всех компонентов перемещающих данных. В качестве примера, если для достижения порогового значения были необходимы n этапов, то есть удовлетворяется условие D(t)|≤T, то ошибка позиционирования может быть определена следующим образом:
x
1
x
n-1
Dx=(V(t)+…+V(t))·Δt,
y
1
y
n-1
Dy=(V(t)+…+V(t))·Δt,
z
1
z
n-1
Dz=(V(t)+…+V(t))·Δt.
i
x
i
y
i
z
i
i
y
i
z
i
Альтернативно, величина C(t)=(C(t), C(t), C(t))=(Vx(t)·Δt, V(t)·Δt, V(t)·Δt), указывающая на компенсационное перемещение, может быть рассчитана и сохранена в каждом цикле, например, на этапе 260. Тогда, для вышеупомянутого примера, ошибка позиционирования может быть определена следующим образом:
x
1
x
n-1
y
1
y
n-1
z
1
z
n-1
Dx=C(t)+…+C(t), Dy=C(t)+…+C(t), Dz=C(t)+…+C(t).
i
i
i-1
i
Альтернативно, величина C(t), указывающая на компенсационное перемещение, может быть определена рекуррентно, то есть C(t)=C(t)+V(t)·Δt, в каждом цикле, например, на этапе 260. Тогда, для вышеупомянутого примера, ошибка позиционирования может быть определена следующим образом:
x
n-1
y
n-1
z
n-1
Dx=C(t), Dy=C(t), Dz=C(t).
1
2
3
i+1
i
i
Поскольку ошибка позиционирования определяется на основании данных, соответствующих всем перемещениям датчиков 103-1, 103-2, 103-3, которые были необходимы для удовлетворения порогового условия, значения S, S, and S датчиков не должны быть особенно точными. Фактически, способ будет работать до тех пор, пока по меньшей мере в некоторый момент времени t, разности будут сходиться, то есть будет поддерживаться условие |D(t)|<|D(t)| для всех моментов времени t>t, до тех пор, пока удовлетворяется пороговое условие. Таким образом, даже вредные воздействия, подобные толчкам или вибрациям, которые могут временно нарушить указанную сходимость, не будут влиять на результат способа.
Фиг. 2 В иллюстрирует положение калибровочного элемента 102 и отклонение датчиков 103 в случае двух датчиков 103-1 и 103-2 в двух измерениях. Обобщение для случая трех или более датчиков является очевидным. Обобщение для случая двух датчиков в трех измерениях также является очевидным.
На этапе 210 калибровочный элемент 102 находится в своем первом положении, скажем, положении (0, 0), а датчики 103-1 и 103-2 обеспечивают первые данные датчика, соответствующие первому положению калибровочного элемента 102.
На этапе 220 калибровочный элемент перемещается в соответствии с описанием выше. В частности, согласно системе управления ЧПУ калибровочный элемент 102 находится в том же самом положении, что и на этапе 210, то есть, в положении (0, 0). Вследствие ошибки позиционирования станка с ЧПУ, однако, калибровочный элемент теперь находится в точке (Dx, Dy).
1
2
1
2
1,x
1,y
2,x
2,y
1
2
1,x
1,y
2,x
2,y
На этапе 230 вторые данные датчика считывают от датчиков 103-1 и 103-2, а на этапе 240 определяют разности D и D между первыми и вторыми данными датчиков 103-1 и 103-2 соответственно. Разности D и D представляют собой вектора смещения контактных элементов датчиков 103-1, 103-2 соответственно. Декартовы компоненты D, D, D и D для D и D изображены на фиг. 2C. Однако, определением D, D, D и D можно пренебречь, если пространственная ориентация осей датчиков является постоянной, то есть, если направления, в которых точки датчиков не должны изменяться в течение процедуры.
1
0
2
0
1
i
2
i
1
i
2
i
1
i
2
i
1,x
2,x
i
x
i
1,x
1
i
2,x
2
i
1
i
2
i
1,y
2,y
i
y
i
1,y
1
i
2,y
2
i
x
i
y
i
x
i
y
i
x
i
y
i
Фиг. 2D иллюстрирует пример алгоритма, например, с двумя датчиками 103-1 и 103-2. На основании сохраненных первых значений S(t), S(t) датчика и текущих значений S(t), S(t) датчика для датчиков 103-1 и 103-2 вычисляются разности D(t) и D(t) соответственно, как было описано в настоящем документе выше. Затем, на основании разностей D(t) и D(t) и известных коэффициентов K, K определяется x-компонент вектора скорости V(t), как V(t)=K·D(t)+K·D(t), и аналогично, на основании разностей D(t), D(t) и коэффициентов K, K определяется y - компонент вектора скорости V(t), как V(t)=K·D(t)+K·D(t). Затем, в этом цикле, то есть в течение тактового времени Δt, первый двигатель, выполненный с возможностью смещения станины 104 вдоль оси x будет управляться для смещения станины 104 вдоль оси x со скоростью V(t), а второй двигатель, выполненный с возможностью смещения станины 104 вдоль оси y будет управляться для смещения станины 104 вдоль оси y со скоростью V(t), причем знаки V(t) и V(t) определяют прямое или обратное смещение вдоль соответствующей оси, а абсолютные величины V(t) и V(t) определяют скорость соответствующего прямого/обратного смещения.