2016-10-05 7 views
1

Как мы знаем в обычной линейной интерполяции, конечный пункт назначения фиксирован. Я хочу использовать камеру, чтобы поймать движущиеся объекты, и координата может быть конечным пунктом назначения. Кто-нибудь может помочь мне закончить этот алгоритм в C-коде?Линейная интерполяция в реальном времени о трехмерном серводвигателе

+0

Нет, это слишком широкий вопрос для Stackoverflow. – kaylum

+0

«топоры деревьев» или «три оси»? Можно использовать [Stihl] (https://en.wikipedia.org/wiki/Stihl#Product_gallery) для первой задачи вместо топора. – chux

+0

Thx много. Я первый раз задаю вопрос в Stackoverflow. – Rafael

ответ

0

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

1) Выясните декартовы (XYZ) координаты начальной и конечной точек.

2) Вычислить последовательность линейных интерполяций между начальной и конечной точками в декартовом пространстве. Это последовательность точек в декартовом пространстве, которые оценивают траекторию объекта.

3) Преобразование последовательности декартовых точек из декартовой системы координат в Spherical coordinate system.

4) Сферические координаты Theta и Phi - это углы, которые ваша камера должна двигаться во времени.

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

+0

К сожалению, я хочу достичь этой темы в SCM, я хочу использовать камеру как kinect, а затем использовать мотор для управления воронкой, чтобы поймать падающий шар. Возможно, мне следует использовать цифровую инкрементную линейную интерполяцию в сочетании с сигналом с камеры. Ты так думаешь? – Rafael

+0

Наверное, нет. У Kinect и других подобных платформ есть способ точно оценить глубину. Вы не сможете это сделать, если не возникнут дополнительные ограничения для вашей проблемы. – David

+0

Да, Kinect имеет способ точно оценить глубину, я хочу использовать этот способ для вычисления координаты шара, а затем пусть координата станет конечным пунктом назначения алгоритма. Но я не знаю, как объединить базовую линейную интерполяцию и выборку в реальном времени. – Rafael

 Смежные вопросы

  • Нет связанных вопросов^_^