Автоматизация робота

Простейшие вопросы в области инженерной разработки

Re: Автоматизация робота

Postby Sergey on 22 Sep 2017, 09:55

Огромное спасибо!
Очень Вам благодарен!
Sergey
beginner
beginner
 
Posts: 44
Joined: 02 Nov 2009, 12:40
LabVIEW Version: Labview2010
Karma: 0

Re: Автоматизация робота

Postby Sergey on 22 Sep 2017, 12:37

Вы меня извините, но обратно проблема.
Пытаюсь разбить заданный отрезок между двумя точками на отрезки с минимальным шагом для более точного позиционирования.
Attachments
Test_forum.vi
(49.89 KiB) Downloaded 14 times
Sergey
beginner
beginner
 
Posts: 44
Joined: 02 Nov 2009, 12:40
LabVIEW Version: Labview2010
Karma: 0

Re: Автоматизация робота

Postby IvanLis on 22 Sep 2017, 14:40

Увертюра была многообещающая:
Sergey wrote:Решил продолжить улучшать алгоритм робота.

Почему бы мне не податься в хирурги или стоматологи :dntknw: , пусть меня научат :help: .

Sergey wrote:Пытаюсь разбить заданный отрезок между двумя точками на отрезки с минимальным шагом для более точного позиционирования.

Вы не координаты точки вычисляете а расстояние между точками, тем более у Вас изначально 3D, а формула используется для 2D, координату z куда дели?
Вам же нужно вычислить координаты промежуточных точек, были предложения использовать аппарат интерполяции.
Если это сложно, то начните с вычисления средней точки, в результате вы отрезок разобьете пополам.
Получившиеся отрезки можно разбить еще раз, получится 3 промежуточных точки. И т.д. и т.п. ......

А по хорошему Вам нужно вычислить направляющий вектор, задать шаг и двигаться от точки-1 в направлении точки-2, до ее достижения. Но это уже самостоятельно можете разобраться, конечно если Вам захочется.
User avatar
IvanLis
professor
professor
 
Posts: 4445
Joined: 02 Dec 2009, 17:44
Location: СССР
Medals: 7
Activity (2) Professionalism (1) Tutorials (1) Gold (1) Man of the year 2012 (1)
Автор (1)
LabVIEW Version: 2010
Karma: 688
hardware VIP bloggers teachers

Re: Автоматизация робота

Postby Sergey on 22 Sep 2017, 15:08

Спасибо за подсказки!
Попробую разобраться. :think:
Я вот только подумал по поводу замечаний. Да фигура 3D, но пока что я пытаюсь реализовать хотя бы XY, поэтому координату Z делаю константой.
По поводу предложенных расчетов.
Сначала я нахожу общее расстояние между точками X1 и Х2, Y1 и Y2 (по формуле сумма квадратов расстояний между точками под корнем).
Потом зная какой минимальный шаг (К) робот хорошо отрабатывает (например, 1мм), делением общего расстояния на этот коэффициент получаю количество точек необходимых на эту длину.
Затем, на примере координаты Х, определяю какое будет расстояние между точками (Х2-Х1)/К=L.
Далее к координате Х1 прибавляю L и таким образом набираю нужную длину.
Это я попытался реализовать в предложенном примере, но почему то конечное решение не совпадает с нужной длинной отрезка.
Sergey
beginner
beginner
 
Posts: 44
Joined: 02 Nov 2009, 12:40
LabVIEW Version: Labview2010
Karma: 0

Re: Автоматизация робота

Postby IvanLis on 22 Sep 2017, 17:01

Sergey wrote:Сначала я нахожу общее расстояние между точками X1 и Х2, Y1 и Y2 (по формуле сумма квадратов расстояний между точками под корнем).
Потом зная какой минимальный шаг (К) робот хорошо отрабатывает (например, 1мм), делением общего расстояния на этот коэффициент получаю количество точек необходимых на эту длину.
Затем, на примере координаты Х, определяю какое будет расстояние между точками (Х2-Х1)/К=L.
Далее к координате Х1 прибавляю L и таким образом набираю нужную длину.
Это я попытался реализовать в предложенном примере, но почему то конечное решение не совпадает с нужной длинной отрезка.


Смотрите, например Вам нужно перейти из т. A(2,1,3) в т. B(5,8,7).
Для этого необходимо сместиться B-A: dx=3, dy=7, dz=4, можно это записать как вектор AB(3, 7, 4).
Допустим, что система нормально работает при значении шага по каждой из координат ds<=0.2.
Получаем количество шагов: Step=max(3, 7, 4)/0.2 = 7/0.2 = 35
Вычисляем вектор сдвига за один шаг: dAB = AB(3, 7, 4)/Step = (0.0857, 0.2, 0.1143)
Получается, что стартуя из точки A(2,1,3), сдвигаясь каждый раз на dAB(0.0857, 0.2, 0.1143) за количество шагов Step=35 мы придем в точку B(5,8,7).
это с учетом округлений, по хорошему последний шаг нужно делать переход именно в точку B(5,8,7) по абсолютным координатам, а не относительным.

------------
Вот и вся петрушка.

Почитайте еще: http://www.cleverstudents.ru/line_and_p ... _line.html
User avatar
IvanLis
professor
professor
 
Posts: 4445
Joined: 02 Dec 2009, 17:44
Location: СССР
Medals: 7
Activity (2) Professionalism (1) Tutorials (1) Gold (1) Man of the year 2012 (1)
Автор (1)
LabVIEW Version: 2010
Karma: 688
hardware VIP bloggers teachers

Re: Автоматизация робота

Postby Sergey on 23 Sep 2017, 13:20

Спасибо за очень понятное разъяснение!
Я с этим разобрался и все понятно.
В примере, который сбрасывал, я так и пытался сделать, только не векторно, а отдельно с каждой координатой.
Пока я не разобрался как это сделать в лабвью.
Ну ничего буду пробовать разобраться.
Надо немного времени.
Если я разберусь, то постараюсь выложить результат.
Sergey
beginner
beginner
 
Posts: 44
Joined: 02 Nov 2009, 12:40
LabVIEW Version: Labview2010
Karma: 0

Re: Автоматизация робота

Postby Sergey on 24 Sep 2017, 23:33

Вобщем доделал!
Выкладываю, то что получилось, хотя конечно кривовато можно было бы и лучше, но работает.
Завтра постараюсь проверить в железе.
Планирую приступать к выборке информации с файла txt.
Вернее оно уже немного написано, но кое-что не получается.
Обратно надеюсь на Вашу помощь!
Attachments
Test_forum.vi
(72.68 KiB) Downloaded 11 times
Sergey
beginner
beginner
 
Posts: 44
Joined: 02 Nov 2009, 12:40
LabVIEW Version: Labview2010
Karma: 0

Re: Автоматизация робота

Postby Sergey on 07 Oct 2017, 00:05

Здравствуйте уважаемые Знатоки!
Вот возник еще один вопрос.
Доставил в проект передачу данных и проблема.
VISA: (Hex 0xBFFF000E) The given session or object reference is invalid.
Пытался поставить visa close за циклом while но при соединении пишет ошибку. Потому, что когда я вывожу соединения с цикла for оно превращается в 1D array и не соединяется с visa close.
А без visa close выдает ошибку, которую я написал выше.
Как это решить уже не знаю. Пытался много раз, чтобы на форуме не тревожить никого, но другого выхода нету как спросить совета.
Attachments
Test_forum_2.vi
(77.84 KiB) Downloaded 9 times
Sergey
beginner
beginner
 
Posts: 44
Joined: 02 Nov 2009, 12:40
LabVIEW Version: Labview2010
Karma: 0

Re: Автоматизация робота

Postby dadreamer on 07 Oct 2017, 08:15

Sergey wrote:Пытался поставить visa close за циклом while но при соединении пишет ошибку. Потому, что когда я вывожу соединения с цикла for оно превращается в 1D array и не соединяется с visa close.
А без visa close выдает ошибку, которую я написал выше.

Ну, вы как будто только вчера :labview: открыли. :D
Attachments
2017-10-07_10-13-41.jpg
User avatar
dadreamer
doctor
doctor
 
Posts: 2844
Joined: 17 Feb 2013, 16:33
Medals: 4
Activity (1) Professionalism (1) Автор (2)
LabVIEW Version: 2.5 — 2017
Karma: 701
I/O VIP vision internet

Re: Автоматизация робота

Postby Sergey on 09 Oct 2017, 11:41

Добрый день!
Огромное Спасибо!
Sergey
beginner
beginner
 
Posts: 44
Joined: 02 Nov 2009, 12:40
LabVIEW Version: Labview2010
Karma: 0

Previous

Return to Для чайников

Who is online

Users browsing this forum: No registered users and 17 guests

cron