SoftBank Robotics documentation What's new in NAOqi 2.5?

ALLandMarkDetection API

NAOqi Vision - Overview | API | Tutorials


Namespace : AL

#include <alproxies/allandmarkdetectionproxy.h>

Method list

class ALLandMarkDetectionProxy

Events

Event: "LandmarkDetected"
callback(std::string eventName, AL::ALValue value, std::string subscriberIdentifier)

Raised when one or several landmarks are currently being detected.

Parameters:
  • eventName (std::string) – “LandmarkDetected”
  • value – Informations related to the detected landmarks. Further details below.
  • subscriberIdentifier (std::string) –

LandMarkDetected Value Structure

The output ALValue is organized as follows:

ALLandMarkDetection

ALLandMarkDetection {
  TimeStamp,
  MarkInfo[N],
  CameraPoseInFrameTorso,
  CameraPoseInFrameRobot,
  CurrentCameraName
}

with as many mark_info tags as marks currently detected.

TimeStamp

This field is the time stamp of the image that was used to perform the detection.

TimeStamp {
  TimeStamp_Seconds,
  Timestamp_Microseconds
}

MarkInfo

For each detected mark, we have one MarkInfo field:

MarkInfo {
  ShapeInfo,
  MarkID
}

ShapeInfo

ShapeInfo {
  1,
  alpha,
  beta,
  sizeX,
  sizeY,
  heading
}
  • alpha and beta represent the location of the NaoMark’s center in terms of camera angles in radian.
  • sizeX and sizeY are the mark’s size in camera angles.
  • the heading angle describes how the Naomark is oriented about the vertical axis with regards to the robot’s head.

MarkID

is the number written on the Naomark and which corresponds to its pattern.

CameraPoseInFrameTorso

Position6D of the camera at the time the image was taken, in FRAME_TORSO.

CameraPoseInFrameRobot

Position6D of the camera at the time the image was taken, in FRAME_ROBOT.

CurrentCameraName

Name of the camera that was used to take the image (“CameraTop”, or “CameraBottom”).