Show EOL distros: 

Package Summary

This package provides a tool which tracks the motion of the Flock of Birds data glove and moves the PTU to follow it. With this tool, the data glove is always in the middle of the camera view and the manipulations of objects can be tracked easily.

Package Summary

This package controls a motorized robot head (a sensor setup equipped with a PTU) in order to ensure that the hand of a human user remains inside its field of view. The human hand is tracked with the help of an Ascension - Flock of Birds system. The purpose of this package is to enable continuous localization of objects during their manipulation through the tracked hand.

Package Summary

This package controls a motorized robot head (a sensor setup equipped with a PTU) in order to ensure that the hand of a human user remains inside its field of view. The human hand is tracked with the help of an Ascension - Flock of Birds system. The purpose of this package is to enable continuous localization of objects during their manipulation through the tracked hand.

Logo-white-medium.jpg

Description

This package controls a motorized robot head (a sensor setup equipped with a PTU) in order to ensure that the hand of a human user remains inside its field of view. The human hand is tracked with the help of an Ascension - Flock of Birds system. The purpose of this package is to enable continuous localization of objects during their manipulation through the tracked hand.

Functionality

To track the current position of the sensor, this tool subscribes to the Flock ob Birds objects (Topic: /fob_objects) and the current PTU (Topic: /put_state) joint Angles. The current PTU state is only needed for direct PTU controlling and not for autonomous tracking. We assume that the PTU is the center of a sphere because the PTU has only two joints. Whit this assumption no complex inverse kinematic have to be solved and only azimuth and altitude have to be calculated like a simple "look at" function. Azimuth is set as panning (yaw-angle) and altitude for tilting (pitch-angle) and simply published to the PTU. The following picture illustrates this as an open loop solution of the problem:

index.png index2.png

First of all, the position of magnet tracker (p) is transformed into the PTU's coordinate frame. Azimuth (a_xy) and altitude (a_yz) are calculated with the arccos of dot-Product divided by euclidiean distance. The following equations shows this: index3.png

index4.png

Finally, the concrete panning and tiltig angles are transformed to degree and directly set as the target pan and tilt on the PTU.

index5.png

Usage

To successfully run this tool the whole kinematic chain of the PbD -Dome has to be started (PTU and Flock of Birds) first and the correct topic- and framenames have to set in "tracker_settings.yaml". With keys "R" or "L" the PTU can look at the right or left tracker (autonomous tracking). In addition the PTU can be moved with the arrwokeys (direct PTU controlling).

Needed packages

  • asr_flir_ptu_driver: PTU data and controlling
  • asr_flock_of_birds: FoB data
  • asr_msgs: FoB -Messages

Needed software

  • Boost: Threading

Needed hardware

Start system

To start tracking first set up all sensors and then use

roslaunch asr_flock_of_birds_tracking tracker.launch

ROS Nodes

Subscribed Topics

  • /fob_objects: current pose of FoB -Tracker

  • /ptu_state: current joint angles

Published Topics

  • /ptu_cmd: new PTU command

Source

Pictures and Equations from "Reactive Object Search for Scene Recognition in Programming by Demonstration" - Valerij Wittenbeck

Wiki: asr_flock_of_birds_tracking (last edited 2020-02-17 14:23:42 by PascalMeißner)