Как создать реальные роботы?

Привет , Вы открыли DJI Assistant 2? Вы можете подключить свой дрон к ПК ,, затем открыть симулятор DJI Assistant 2. В симуляторе вы можете установить широту и долготу. После запуска симуляции GPS сигнал будет высоким всегда. enter image description here

22
задан jdphenix 5 April 2015 в 04:47
поделиться

13 ответов

В большинстве современных роботов у Вас была бы модель Inverse Kinematic механизма, в этом случае рука, которая преобразовывает пространственные координаты в положения для соединений руки. Эти соединения обычно перемещаются сервоприводами. Для гладкого перемещения руки Вам нужна серия промежуточных совместных положений, определяющих путь, за которым Вы хотите, чтобы рука следовала. Также необходимо волноваться о скоростях соединений, которые вместе контролируют скорость "руки" в конце руки.

, В то время как рука перемещает Вашу сервосистему, будет получать обратную связь о ее фактическом положении. Простые сервосистемы могут использовать основную обратную связь PID для корректировки двигателей. Более сложные системы будут включать параметры канала вперед, которые компенсируют инерцию, силу тяжести, трение, и так далее. Они могут стать очень сложными.

реальная забава запускается, когда необходимо допускать препятствия в пространстве вокруг робота. Необходимо обнаружить препятствие и выяснить, как избежать его и все еще достигнуть места назначения.

5
ответ дан Felixyz 29 November 2019 в 04:20
поделиться

В конце что-то должно сломать команды высокого уровня в очень низкоуровневые команды. Что-то должно перевести, "Берут чашку" к тому, как переместить руку (что удит рыбу, соединения должны быть в) к аппаратным командам, которые на самом деле поворачивают двигатели.

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

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

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

17
ответ дан jasedit 29 November 2019 в 04:20
поделиться

Необходимо проверить Microsoft Robotics Studio (MRS). У них есть многие видео/скринкасты , и записанные учебные руководства . Кроме того, Channel9 имеет много видео , интервью, и т.д., на предмете robitics. Включая демонстрации и интервью с разработчиками MRS.

8
ответ дан Sampson 29 November 2019 в 04:20
поделиться

Роботы будут работать путем взаимодействия с аппаратными средствами. Мост из Вашего кода часто делается через другой тип портов I/O. Это мог просто быть кабель RS232, например (Вы знаете те старые порты COM1). Аппаратные части будут составлены двигателями (такой как сервоприводы ) и датчики (такие как ультразвук для чувства препятствий, лазеры для получения расстояния или переключателей).

Вы не должны использовать ассемблер, чтобы сделать это, существует много языков (если не большинство), который может сделать это, но это требует знания о том, как взаимодействовать с аппаратными средствами. Как запись драйвера. Это требует, по крайней мере, базовой электроники также, если Вы хотите создать робот сами.

, Если Вам интересно, я предлагаю, чтобы Вы взглянули на эта книга , которая является хорошей краткой информацией.

кроме того, Вы могли испытать программирование a Основной штамп , это довольно легко следующий за учебными руководствами, и это даст Вам хорошее начало о том, как создать роботы. Это не слишком дорого, и Вы будете взаимодействовать с аппаратными средствами в мгновение ока.

Удача и развлекайтесь!

3
ответ дан lpfavreau 29 November 2019 в 04:20
поделиться

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

3
ответ дан dicroce 29 November 2019 в 04:20
поделиться

Вероятно, легче заставить больше высокоуровневого языка описывать поведения робота, и аналитика и позволять низкоуровневому языку к действиям (переместите руку, обход, остановитесь). Существует большое исследование в том, что называют архитектурой BDI для интеллектуальных агентов, Google для нее.

можно найти больше о в этом сайт , это - DSL для описания поведения агента, сделанного в Java. Это назвало интерпретатор Jason, и языком является AgentSpeak (L).

2
ответ дан Edwin Jarvis 29 November 2019 в 04:20
поделиться

Найдите локальное ПЕРВЫМ команда робототехники и добровольно предложите быть наставником. СНАЧАЛА соревнование по робототехнике за детей средней и средней школы. Цель состоит в том, что дети делают всю работу для создания, программируют, тестируют и выполняют робот, но у Вас все еще будет много возможностей закопать и действительно изучить программное обеспечение. Они используют , LabView Национальными Инструментами, и, с 8 февраля, только что начал региональную конкуренцию в течение этого года. LabView является графической средой программирования, которая взаимодействует через интерфейс с аппаратными средствами NI для разрешения Вам двигатели программы, приводы и датчики. Материал NI является довольно гладким и является довольно простым в использовании, плюс он обеспечил свободный каждой команде, таким образом, Вы не должны покупать аппаратное и программное обеспечение сами (по крайней мере, для начала работы.) Плюс, Вы получаете добавленную премию помощи новому поколению инженеров получить их запуск.

2
ответ дан Scottie T 29 November 2019 в 04:20
поделиться

У Вас должен был бы быть драйвер, который взаимодействовал через интерфейс с аппаратными средствами (скорее всего, ШТАМП или FPGA с двигателями и т.д....). Вы затем вызвали бы функцию me.moveLeftArm (x, y); и драйвер знал бы, что moveLeftArm () означает перемещать привод в течение X секунд/миллисекунд/градусов.

я уверен, что Вы могли найти набор, который делает программирование робота.

1
ответ дан Suroot 29 November 2019 в 04:20
поделиться

Если Вы хотите альтернативу Java, я могу рекомендовать книге Робототехнику Linux . Это имеет большую хорошую информацию о том, где получить наборы, части и датчики, а также завершить листинги исходного кода в Java.

1
ответ дан Bill the Lizard 29 November 2019 в 04:20
поделиться

Я совместно использую тот же зуд.. Я собираюсь купить свое первое плата Гончей и некоторые датчики / сервомоторы, которые могут использовать шина I2C. Я собираюсь быть использованием управляемого событиями дизайна и сырой реализации волокон (волоконца, если Вы будете), которые являются потоками пространства пользователя.

В основном мой дизайн призывает к одному процессу, который запускает один поток на группу сервомоторов. Каждый поток менеджера группы запустит x # волоконец, 2 на сервомотор (вероятно). Одно волоконце используется для управления сервомотором, другое волоконце обрабатывает события от того сервомотора (т.е. объект просто слишком тяжел для взятия, объект был отброшен, и т.д.).

основной процесс имеет задачу прислушивания к событиям от всего остального и проверки, что 'правая рука знает то, что левая рука делает' при продвижении и согласовании препятствий.

Его попытка взять меня лучшая часть двух лет для получения чего-то работа до такой степени, что я горжусь им.. но я ожидаю много приятных вечеров, получая его к той точке.

я буду очень вероятно использовать Микроядро, не Linux.

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

1
ответ дан Tim Post 29 November 2019 в 04:20
поделиться

Начните с Phidets , если вы знакомы с .Net. Вы можете оформить заказ на TrossenRobotics.com для получения деталей.

Интерфейсный комплект Phidgets - хорошее место для начала. Оттуда вы можете получить сервоконтроллер и начать создавать движущиеся объекты.

Форумы Trossen также являются хорошим местом для обзора чужих проектов. У них также есть новый центр обработки данных с примерами кода / проекта. Я не работаю на них ... просто довольный покупатель.

1
ответ дан 29 November 2019 в 04:20
поделиться

Также необходимо очистить ссылку.

while(tabControlToClear.Controls.Count > 0)
{ 
    var tabPage = tabControlToClear.Controls[0];
    tabControlToClear.Controls.RemoveAt(0);
    tabPage.Dispose(); 

    // Clear out events.

    foreach (EventHandler subscriber in tabPage.Click.GetInvocationList())
    {
        tabPage.Click -= subscriber;
    }
}
-121--3950630-

Сначала убедитесь, что класс Dog реализует метод public Последовательности toString () , затем используйте

System.out.println(list.get(index))

, где index - позиция внутри списка. Конечно, так как вы предоставляете свою реализацию вы можете решить, как собака печатает себя.

-121--2797436-

Мне просто нужно добавить к этому что-то о Arduino проектах , потому что я не вижу его упомянутого выше.

Существует очень низкая планка для входа в проекты робототехники на базе Arduino. «Эскизные» программы, которые вы пишете для оборудования, очень легко подобрать и похожи на синтаксис Си. Если вы не знаете ваши транзисторы от резисторов, эти платы по-прежнему позволяют вам делать многое с помощью подключаемого оборудования и дополнительных «щитов» , которые расширяют плату базового компьютера.

Это очень весело, очень гибко и что-то, чтобы ваш код взаимодействовал с реальным миром. Плюс его «Open Hardware» очень похоже на программное обеспечение с открытым исходным кодом.

4
ответ дан 29 November 2019 в 04:20
поделиться

Ваш код требует, чтобы класс Dog переопределял метод toString () , чтобы он знал, как распечатать сам себя. В противном случае код выглядит правильно.

-121--2797438-

Что я делаю, так это то, что мой контроллер просмотра настраивает вид прокрутки:

[scrollView setCanCancelContentTouches:NO];
[scrollView setDelaysContentTouches:NO];

И в моем дочернем представлении у меня есть таймер, потому что двухпальцевые касания обычно начинаются как один палец, за которым быстро следуют два пальца.:

- (void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
    // Hand tool or two or more touches means a pan or zoom gesture.
    if ((selectedTool == kHandToolIndex) || (event.allTouches.count > 1)) {
        [[self parentScrollView] setCanCancelContentTouches:YES];
        [firstTouchTimer invalidate];
        firstTouchTimer = nil;
        return;
    }

    // Use a timer to delay first touch because two-finger touches usually start with one touch followed by a second touch.
    [[self parentScrollView] setCanCancelContentTouches:NO];
    anchorPoint = [[touches anyObject] locationInView:self];
    firstTouchTimer = [NSTimer scheduledTimerWithTimeInterval:kFirstTouchTimeInterval target:self selector:@selector(firstTouchTimerFired:) userInfo:nil repeats:NO];
    firstTouchTimeStamp = event.timestamp;
}

Если второй касание начинается: событие приходит с более чем одним пальцем, ракурсу прокрутки разрешается отменять касания. Таким образом, если пользователь выполняет панорамирование с использованием двух пальцев, в этом представлении появится сообщение touchesCanced: .

-121--1151870-

здесь много хороших ответов. Ваш фэнтезийный код находится недалеко от языка более высокого уровня, такого как C # over MS Robotics Studio. Просто имейте в виду, что даже простые вещи (например, «переместить руку налево») очень загружены «информационным уклоном».

вплоть до металла, роботизированная рука представляет собой набор ссылок и [возможно] моторизованных соединений. Поэтому «переместить руку влево» (или любую точку в координате) - это уже очень сложная задача для вычисления (ищите таблицу D & H, прямую и обратную кинематику для манипуляторов).

Существует также концепция, что перемещение руки влево предполагает, что в этом пространстве нет ничего, и столкновения не произойдет. Если среда не ограничена, то нужно реализовать систему обнаружения столкновений, часто основанную на каких-то алгоритмах датчика (камеры) и машинного зрения.

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

0
ответ дан 29 November 2019 в 04:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: