форум робототехников

Форум робототехников. Программирование в ROBOTC

Наш форум существует для Вас - юные робототехники и для Вас - корифеи роботостроения! Высказывайте своё мнение о статьях, оставляйте комментарии на тему искусственного интеллекта, LEGO конструирования. Давайте также порассуждаем о развитие наук в промышленном роботостроении России, Японии и других стран! Задавайте любые вопросы, ставьте задачи. Давайте вместе будем их решать! Обсуждайте, творите, создавайте роботов! Делитесь своими знаниями!

робот лего и другие
Главная сайта   Главная форума   ПоискПоиск  
Сегодня: 11.12.2016 - 05:07:57
Страницы:  1  
Форум робототехников » Роботы LEGO » Программирование в ROBOTC
Объявление участникам робототехнического форума

Уважаемые гости и участники робототехнического форума. Помогайте друг другу, отвечайте на интересующие Вас вопросы.
Доступ для отправки сообщений и создания тем открыт всем посетителям без регистрации.

АвторСообщение

Ejik

новичок в роботах




Статистика:
Тем создано: 0
Сообщений: 0
Репутация: 0 ±
Нарушения: 0
Добрый день!
Задача в ROBOTC написать простенькое ПО движения робота вперед-назад. Для контроля перемещения необходимо использовать датчик оборотов.
Перед началом движения обнуляем датчик оборотов, синхронизуем моторы B и С и устанавливаем одинаковую мощность.
Голову сломал, почему же после окончания движения по первому циклу while, прога дальше не выполняется. Спасибо
Вот код:
task main()

{

nMotorEncoder[motorB]=0;
nMotorEncoder[motorC]=0;
nSyncedMotors=synchBC;
nSyncedTurnRatio = 100;
motor[motorB] = 30;
while(nMotorEncoder[motorB] < 200)
{
motor[motorB] = 30;
}

motor[motorB]=-100;
nMotorEncoder[motorB]=0;
nMotorEncoder[motorC]=0;
while(nMotorEncoder[motorB] < 200)
motor[motorB] = -30;

}
Сообщение # 1 26.08.13 - 13:00:49

Nick



робо гость
Здравствуйте, доброго времяни суток! Недавно начал заниматься программированием роботов на RobotC и сталкнулся с некоторой проблемой. У меня есть таймер, который должен при определенных условиях останавливаться, при иных продолжать счет с момента остановки (условие проверяется бесконечно).
Вот код.
#pragma config(Sensor, S1, sonarSensor, sensorSONAR)

task main()
{
long cm, sec;

for(;;)
{
sec = time1[T1];

if(SensorValue[sonarSensor] <= 20)
{
motor[motorA] = -50;
motor[motorB] = 60;
motor[motorC] = 60;
}
else
{
motor[motorA] = 0;
motor[motorB] = 0;
motor[motorC] = 0;
}
sec = sec/1000;
cm = sec * 10;
nxtDisplayBigStringAt(0, 31, "%d", cm);
}


}
Сообщение # 2 06.01.14 - 21:17:31

Nick



робо гость

    Цитата:
    Ejik 26.08.13 в 13:00 пишет:
    Добрый день!
    Задача в ROBOTC написать простенькое ПО движения робота вперед-назад. Для контроля перемещения необходимо использовать датчик оборотов.
    Перед началом движения обнуляем датчик оборотов, синхронизуем моторы B и С и устанавливаем одинаковую мощность.
    Голову сломал, почему же после окончания движения по первому циклу while, прога дальше не выполняется. Спасибо
    Вот код:
    task main()

    {

    nMotorEncoder[motorB]=0;
    nMotorEncoder[motorC]=0;
    nSyncedMotors=synchBC;
    nSyncedTurnRatio = 100;
    motor[motorB] = 30;
    while(nMotorEncoder[motorB] < 200)
    {
    motor[motorB] = 30;
    }

    motor[motorB]=-100;
    nMotorEncoder[motorB]=0;
    nMotorEncoder[motorC]=0;
    while(nMotorEncoder[motorB] < 200)
    motor[motorB] = -30;

    }


Потому что первый while действует бессконечно, т.к. у тебя нет инкрементирования мощности мотора или вообще ее изменений в цикле.
Сообщение # 3 06.01.14 - 21:34:51

Educube

новичок в роботах




Статистика:
Тем создано: 0
Сообщений: 4
Репутация: 4 ±
Нарушения: 0
Nick, оберните последнюю команду (motor[motorB] = -30;) фигурными скобками и смените условие в while на nMotorEncoder[motorB] > -200, у вас же отрицательные значения энкодера будут.
Сообщение # 4 16.01.14 - 18:59:39

pavel



робо гость
Как запрограммировать манипулятор на 3 серводвигателях в ROBOTC?
Сообщение # 5 16.03.14 - 17:21:38
Форум робототехников » Роботы LEGO » Программирование в ROBOTC
lego mindstorms nxt 2.0 программирование робота :Предыдущая темаСледующая тема: моделирование робота для сбора инородных объектов для дальне
Страницы:  1  

Сообщение
Имя E-mail
Сообщение

Нажмите на точку возле имени, чтобы вставить обращение к участнику в сообщение

Смайлы:
Ещё смайлы

* При вставке видео с Ютубе нужно указывать только 'хвостик', например: BoUUbs3CvHs
           
Защитный код: (введите цифры, которые на синем фоне)
Ответ на вопрос: (Собачка робот от SONY? может быть aibo?)
   
Powered by WR-Forum Professional © 2.0.6.2016