Не могу понять как сделать движение двух серв (одна движется в плоскости XoY а другая YOZ)чтобы движение было по диагонали

timur2008
Offline
Зарегистрирован: 06.03.2013

Здравствуйте , подскажите пожалуйста как сделать движение по диагонали с помощью двух серв? Не доходит никак в чем косяк :( Пытаюсь сделать так 

void letterW(void)
{
	int currPositionRot = 0;
	int currPosition = - 400;
	int countCurrPos = 0;
	while(currPosition > -800)
	{
		currPosition--;//поднимает вверх
		countCurrPos++;
		if (countCurrPos == 8)
			{
				countCurrPos = 0;
				currPositionRot ++;// поворачивает вбок
				s_Move(6,currPositionRot,4);
			}
	}
	s_Move(3,currPosition,4); //метод в котором первый аргумент номер сервы, второй
                             //текущая позиция и третий скорость сервы
}	

 

uscr
Offline
Зарегистрирован: 17.08.2012

Видимо, нужно менять координаты по уравнению прямой: kx+b

timur2008
Offline
Зарегистрирован: 06.03.2013

там до меня не доходит если честно как там применять математический аппарат , хоть я и пытался :( 

maksim
Offline
Зарегистрирован: 12.02.2012

Вы нарисуйте или ссылочку дайте что от серв хотите.

uscr
Offline
Зарегистрирован: 17.08.2012

Непонятно, как у вас сервы соединены. Если так, как у меня в голове (не буду даже описывать, это не важно), то "насколько поднял, настолько удлиннил". То есть, если первая серва подняла плечо на 1 см, то вторая опустила (подняла) плечо так, что бы краяняя точка плеча ушла на 1 см от первоначального положения. Полагаю, нужно озадачится переводом градусов поворота сервы в сантиметры (дюймы, футы...), а затем составить простую пропорцию и понять, насколько быстрее нужно крутить одну относительно дургой, что бы получилась прямая. Вам ведь это нужно, судя по всем?

timur2008
Offline
Зарегистрирован: 06.03.2013

я все это уже подбираю методом научного тыка. Но там просто мненепонятно почему не работает одновременно две сервы. Точнее КАК заставить их одновременно работать, по сути вопрос именно в этом даже а не в самой конструкции робота.

Michal
Michal аватар
Offline
Зарегистрирован: 26.04.2013

зачем изобретать велосипед, если есть готовые программы для управления ШД с компа

а вообще смотрите в инете линейная или круговая интерполяция для станков ЧПУ

timur2008
Offline
Зарегистрирован: 06.03.2013

Michal пишет:

зачем изобретать велосипед, если есть готовые программы для управления ШД с компа

а вообще смотрите в инете линейная или круговая интерполяция для станков ЧПУ

я знаю что есть я ими даже пользуюсь но мне нужно писать буквы, вертикальные  и горизонтальные линии проблем не вызывают а вот диагональные это да ... :(( 

timur2008
Offline
Зарегистрирован: 06.03.2013

аа блин вот я тупарь, забыл предыдущий метод закоментить )) поэтому глючило ща все ок )) 

Vovaself
Offline
Зарегистрирован: 05.08.2019

Добрый день
У меня таже проблема. Вы могли бы написать конечный скетч, который получился  ?

Спасибо

vvadim
Offline
Зарегистрирован: 23.05.2012

Vovaself пишет:

Добрый день
У меня таже проблема. Вы могли бы написать конечный скетч, который получился  ?

Спасибо

 

уже 6 лет прошло....

Vovaself
Offline
Зарегистрирован: 05.08.2019

А скетч не сохранился ?
Спасибо