Программа блокировки робототехники FTC (цикл VuForia запускается один раз, если операторы перестают работать?) - PullRequest
0 голосов
/ 10 января 2019

Я работаю в команде FTC Robotics, и мы используем блоки FTC для программирования нашего робота. Я использовал пример проекта для VuForia, чтобы увидеть изображения на стенах поля. Я пытаюсь заставить робота двигаться вперед, пока он не увидит, что позиция Y больше 50 (она поднимается по мере приближения к стене)

То, что происходит, это когда вы, кажется, пробегаете операторы if один раз, включаете моторы, затем никогда не проверяете, ближе ли он к 50, чтобы он никогда не отключался. Я попытался поместить его в несколько циклов, в свою собственную отдельную функцию и т. Д. Необычная часть этого заключается в том, что он запускает все остальное в цикле для обновления позиций и телеметрии, поэтому он также должен запускать блоки if.

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

~ Stone

Complete Blocks Program

(оператор if, на который я ссылаюсь, находится в средней функции (Process), он ниже, если TargetName равен RedWall.)

1 Ответ

0 голосов
/ 12 января 2019

Итак, после трех дней, пока я бился головой о стену, я наконец-то понял свою проблему. Я смотрел на значения для моих текущих координат и велел роботу двигаться вперед, пока он не достигнет 50. Значения, которые возвращали телефоны, однако были отрицательными и увеличивались, когда я уходил все дальше. Это означает, что для достижения 50 робот должен был бы уйти дальше, а не ближе, чтобы оператор if мог остановить его движение.

...