Подглава 11.3.2 Тестирование следования за объектом с помощью имитируемого робота

Поскольку последователь объекта требует информации о глубине, скрипт будет работать только с глубинной камерой, такой как Kinect или Xtion Pro. Поэтому начните с подключения камеры к компьютеру и запуска соответствующего драйвера:

Для Microsoft Kinect:

$ roslaunch freenect_launch freenect-registered-xyzrgb.launch

Для камер Asus Xtion, Xtion Pro или Primesense 1.08/1.09:

$ roslaunch openni2_launch openni2.launch depth_registration:=true

Далее запустите эмуляцию TurtleBit и RViz:

$ roslaunch rbx1_bringup fake_turtlebot.launch

$ rosrun rviz rviz -d `rospack find rbx1_nav`/sim.rviz

Вы должны увидеть эмуляцию TurtleBot в RViz.

Теперь запустите узел face_tracker 2, который мы разработали ранее:

$ roslaunch rbx1_vision face_tracker2.launch

Расположите камеру так, чтобы она могла обнаружить ваше лицо. Помните, что вы можете нажать клавишу " c " над окном видео, чтобы очистить отслеживаемые точки и заставить узел повторно обнаружить ваше лицо.

Теперь запустите узел object_follower:

$ roslaunch rbx1_apps object_follower.launch

Убедитесь, что окно RViz видно так, чтобы вы могли видеть эмуляцию TurtleBot. Если вы теперь двигаете головой перед камерой, TurtleBot должен двигаться, чтобы отслеживать ваше движение. Расстояние до цели, заданное в object_follower.launch составляет 0,7 метра, поэтому, если вы переместите свою голову на такое расстояние от камеры, робот будет двигаться назад. Если вы отойдете дальше, чем на 0,7 метра, робот двинется вперед. Вы можете попробовать тот же эксперимент, используя узел CamShift для отслеживания цветного объекта. Просто завершите запуск файла face tracker и запустите вместо него файл запуска camshift:

$ roslaunch rbx1_vision camshift.launch

Выберите объект, который вы хотите отслеживать с помощью мыши, и наблюдайте за эмуляцией Turtlebot в RViz, когда вы перемещаете объект перед камерой.

Last updated