roboforum.ru

Технический форум по робототехнике.
Текущее время: 23 ноя 2024, 07:23

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 31 ]  На страницу Пред.  1, 2, 3  След.
Автор Сообщение
 Заголовок сообщения: Re: OR Hexapod Control (Qt + C + SSC32)
СообщениеДобавлено: 29 мар 2011, 22:17 
Не в сети
Аватара пользователя

Зарегистрирован: 15 сен 2007, 13:03
Сообщения: 6338
Откуда: Красноярск
прог. языки: ASM(МК), C(PC)
ФИО: Гагарский Андрей Александрович
имхается мне что только добавляя сравнение мин-а и макс-а в условие...

_________________
«Как сердцу выразить себя? … Мысль изреченная есть ложь!»
В этом мире меня подводит доброта и порядочность...
"двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: OR Hexapod Control (Qt + C + SSC32)
СообщениеДобавлено: 29 мар 2011, 22:22 
Не в сети
Site Admin
Аватара пользователя

Зарегистрирован: 04 окт 2004, 12:58
Сообщения: 10989
Откуда: St.Petersburg
Skype: taranenko.sergey
ФИО: Сергей Тараненко
думаю должна быть функция возвращающая сначала максимум из пары (массива может быть), затем минимум из пары


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: OR Hexapod Control (Qt + C + SSC32)
СообщениеДобавлено: 29 мар 2011, 22:25 
Не в сети
Аватара пользователя

Зарегистрирован: 15 сен 2007, 13:03
Сообщения: 6338
Откуда: Красноярск
прог. языки: ASM(МК), C(PC)
ФИО: Гагарский Андрей Александрович
что то подсказывает что это 100% дольше по выполнению.. чем иф(задание больше мин и мин больше макс или задание больше макс и макс больше мин)

_________________
«Как сердцу выразить себя? … Мысль изреченная есть ложь!»
В этом мире меня подводит доброта и порядочность...
"двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: OR Hexapod Control (Qt + C + SSC32)
СообщениеДобавлено: 29 мар 2011, 22:42 
Не в сети
Site Admin
Аватара пользователя

Зарегистрирован: 04 окт 2004, 12:58
Сообщения: 10989
Откуда: St.Petersburg
Skype: taranenko.sergey
ФИО: Сергей Тараненко
ок, пока сделаю так,
если будут еще идеи - пишите.
спасибо :)

Добавлено спустя 11 минут 31 секунду:
похоже ?
Код:
if (servo_max_pwm[i]>servo_min_pwm[i]) {
   if (servo_pwm[i]>servo_max_pwm[i]) servo_pwm[i]=servo_max_pwm[i];
   if (servo_pwm[i]<servo_min_pwm[i]) servo_pwm[i]=servo_min_pwm[i];
} else {
   if (servo_pwm[i]>servo_min_pwm[i]) servo_pwm[i]=servo_min_pwm[i];
   if (servo_pwm[i]<servo_max_pwm[i]) servo_pwm[i]=servo_max_pwm[i];
}


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: OR Hexapod Control (Qt + C + SSC32)
СообщениеДобавлено: 29 мар 2011, 23:09 
Не в сети
Аватара пользователя

Зарегистрирован: 15 сен 2007, 13:03
Сообщения: 6338
Откуда: Красноярск
прог. языки: ASM(МК), C(PC)
ФИО: Гагарский Андрей Александрович
ну да, только я правда предлагал прям в условие.. но наверно если компилятор умный - то все равно.. а если туповат, то так быстрее )

_________________
«Как сердцу выразить себя? … Мысль изреченная есть ложь!»
В этом мире меня подводит доброта и порядочность...
"двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: OR Hexapod Control (Qt + C + SSC32)
СообщениеДобавлено: 31 мар 2011, 00:53 
Не в сети
Site Admin
Аватара пользователя

Зарегистрирован: 04 окт 2004, 12:58
Сообщения: 10989
Откуда: St.Petersburg
Skype: taranenko.sergey
ФИО: Сергей Тараненко
добавил контроль горизонта тела (пока ручной)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: OR Hexapod Control (Qt + C + SSC32)
СообщениеДобавлено: 01 апр 2011, 12:18 
Не в сети
Аватара пользователя

Зарегистрирован: 08 окт 2004, 16:43
Сообщения: 2114
Откуда: St. Petersburg
Skype: quark-bot
ФИО: Клебан Виталий
Код:
servo_pwm[i] = Math.Min(servo_pwm[i], servo_max_pwm[i]);
servo_pwm[i] = Math.Max(servo_pwm[i], servo_min_pwm[i]);


Тогда servo_pwm[i] будет в диапазоне servo_min_pwm[i]..servo_max_pwm[i].

Но лучше просто сразу функцию определить:
Код:
int Bound(int v, int min, int max)
{
   return Math.Max(Math.Min(v, max), min);
}


Как-то так...

_________________
Все новости о моих проектах http://savethebest.ru


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: OR Hexapod Control (Qt + C + SSC32)
СообщениеДобавлено: 01 апр 2011, 12:19 
Не в сети
Site Admin
Аватара пользователя

Зарегистрирован: 04 окт 2004, 12:58
Сообщения: 10989
Откуда: St.Petersburg
Skype: taranenko.sergey
ФИО: Сергей Тараненко
красиво, так и сделаю.
спасибо


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: OR Hexapod Control (Qt + C + SSC32)
СообщениеДобавлено: 01 апр 2011, 13:03 
Не в сети

Зарегистрирован: 27 авг 2008, 10:45
Сообщения: 1981
Откуда: Харьков
прог. языки: С/С++
Стоп, а разве это работает в ситуации когда max<min?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: OR Hexapod Control (Qt + C + SSC32)
СообщениеДобавлено: 01 апр 2011, 14:46 
Не в сети
Аватара пользователя

Зарегистрирован: 08 окт 2004, 16:43
Сообщения: 2114
Откуда: St. Petersburg
Skype: quark-bot
ФИО: Клебан Виталий
Не работает, но это идеологически неверная ситуация...
Можно вот так...
Код:
int Bound(int v, int a, int b)
{
   return Math.Max(Math.Min(v, Math.Max(a, b)), Math.Min(a, b));
}

_________________
Все новости о моих проектах http://savethebest.ru


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: OR Hexapod Control (Qt + C + SSC32)
СообщениеДобавлено: 01 апр 2011, 14:55 
Не в сети
Site Admin
Аватара пользователя

Зарегистрирован: 04 окт 2004, 12:58
Сообщения: 10989
Откуда: St.Petersburg
Skype: taranenko.sergey
ФИО: Сергей Тараненко
это идеологически нужно, min и max это углы, они могут быть достигнуты при большом PWM или маленьком PWM


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: OR Hexapod Control (Qt + C + SSC32)
СообщениеДобавлено: 01 апр 2011, 15:17 
Не в сети
Аватара пользователя

Зарегистрирован: 28 авг 2006, 17:09
Сообщения: 664
Откуда: Всеволожск (СПб)
прог. языки: С, C++, Python, Lua, VHDL, Verilog, Forth
ФИО: Олег Белоусов
Виталий писал(а):
Код:
int Bound(int v, int a, int b)
{
   return Math.Max(Math.Min(v, Math.Max(a, b)), Math.Min(a, b));
}


Жэсть... может все-ж при установке min и max один раз проверять на min < max, чем делать это при каждом шевелении суставом?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: OR Hexapod Control (Qt + C + SSC32)
СообщениеДобавлено: 01 апр 2011, 16:31 
Не в сети
Аватара пользователя

Зарегистрирован: 08 окт 2004, 16:43
Сообщения: 2114
Откуда: St. Petersburg
Skype: quark-bot
ФИО: Клебан Виталий
Да, жесть. Потому что min всегда меньше max.

Цитата:
это идеологически нужно, min и max это углы, они могут быть достигнуты при большом PWM или маленьком PWM

Ну так проверяй угол, а не ШИМ...

_________________
Все новости о моих проектах http://savethebest.ru


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: OR Hexapod Control (Qt + C + SSC32)
СообщениеДобавлено: 01 апр 2011, 16:36 
Не в сети
Site Admin
Аватара пользователя

Зарегистрирован: 04 окт 2004, 12:58
Сообщения: 10989
Откуда: St.Petersburg
Skype: taranenko.sergey
ФИО: Сергей Тараненко
вариант в принципе...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: OR Hexapod Control (Qt + C + SSC32)
СообщениеДобавлено: 12 апр 2011, 06:01 
Не в сети

Зарегистрирован: 05 ноя 2010, 13:15
Сообщения: 4
Откуда: Surgut
Здравствуйте! Программер из меня никакой но я нашёл в инете вот ето http://www.lynxmotion.net/viewtopic.php?t=4397 может кто разберётся?


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 31 ]  На страницу Пред.  1, 2, 3  След.

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO