2016-04-14 1 views
-1

Я отслеживаю мяч с камерой в моем телефоне Android и отправляю x, y позицию, радиус шара (x, y - пиксель на экране телефона Android) на мою плату stm32f через bluetooth. Я собираю свой телефон и комплект stm32f1 в мобильном роботе. Теперь я хочу, чтобы мой робот переместился на шарик с фиксированным расстоянием.как робот отслеживания мяч с фиксированным расстоянием?

Пример: Я установил расстояние 10 см. Когда я двигаться мяч вперед, мой робот вперед к мячу и всегда держать 10см от робота к шарику

ответ

1

Вот некоторые псевдо-код, чтобы вы начали:

while (TRUE) do 
    get x, y position of ball 
    get x, y position of self 
    calculate distance between self and ball (hint: use Pythagoras) 
    if (distance < 10 cm) 
     move away from ball 
    else if (distance < 10 cm) 
     move towards ball 
end 

Теперь все, что вам нужно сделать, это код это вверх в C.

+0

Я могу получить x, y положение шара с камерой, но как я могу получить x, y позицию self (self - мой робот, не так ли?) – Bruce

+0

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

+0

У вас есть другой способ, которым я могу отслеживать мяч с фиксированным расстоянием. Извините, я использую свою камеру (камеру Android-телефона) и собираюсь у своего робота. Таким образом, он выглядит как глаз робота, он просто видит мяч и получает положение x, y и радиус мяча. Поэтому я не знаю, как я могу получить позицию x, y моего робота. Вы имеете в виду, что мне нужна другая камера, чтобы увидеть робота и получить x, y позицию робота ??? – Bruce

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