Object Tracking - first tips

For the purpose of tracking the board that will be used for this project, I propose to use Visual Servoing Platform (ViSP). This means that the node /object_tracker (see this) will be mainly composed by ViSP modules and classes.

ViSP has a wide range of modules with different purposes. 

Since the object of interest for the IKEA use case is a standard board, I chose to use the VisP Markerless 3D Model-Based Tracker module. This 3D model-based tracker allows simultaneously the tracking of a markerless object using the knowledge of its CAD model while providing its 3D localization (i.e., the object pose expressed in the camera frame) when a calibrated camera is used. It is recommended that the considered objects should be modeled by lines, circles or cylinders, as it is this considered board.

You can see more documentation about this module here and here.

For using this ViSP module, the following files are required:

  • camera_config_file.xml
  • object_3d_model.wrl
  • tracking_initialization.init
camera_config_file.xml
The first file is composed by the camera parameters (width, height, px, py, u0, v0, kd) and the moving edge settings (mask, range, contrast, sample). For this, it is mandatory to firstly calibrate the camera, and to manually define the best options for a correct object detection.
 
object_3d_model.wrl
This second file is the CAD model of tablehe object. It could have a .wrl , a .vrml or a .cao extension. Its mainly composed by the appearance, geometry, and vertices coordinates of the object. An example of the object 3D model:

 
 There are some tutorials that can be helpful for creating the .cao of a new object:

 An example of all these files can be found here.
 
ViSP has 3 trackers available:
  • vpMbEdgeTracker: uses moving edges. useful for texture less objects
  • vpMbKltTracker: uses KLT keypoints detected on each visible face. useful for textured objects with edges that can be hidden
  • vpMbEdgeKltTracker: uses both moving edges and KLT keypoints. useful for textured objects with visible edges.
Since version 3.1.0, ViSP created a more generic tracker that can replaced the 3 trackers mentioned before: vpMbGenericTracker. This tracker is allows to:
  • to track an object observed by a single, a stereo camera or more cameras, a RGB-D camera
  • to consider moving-edges, keypoints or depth as visual features or a combination of these visual features

Comments

Popular posts from this blog

Remote Control of UR10e via MoveIt (ROS)

Installing External Control URCap on robot Teach Pendant

UR10e control architecture