This microsservice uses the detections of the ArUco Detection to estimate the 3D poses of the Markers. To estimate the marker's pose, this microservice uses detections from all cameras that are viewing it.
is-broker-events: Used to check which camera is available.
is-aruco-detector: Used to get detections from each camera.
To change the calibration correctly in the deployment file, the following steps must be followed:
-
Create a repository similar to this link, where the calibration files for each camera must follow the name pattern
camera{camera_id}.json
-
In repository, put the link of the repository that contains the calibration
gitRepo:
repository: "https://repository-with-calibration"
- Change the directory to the location where the calibration is.
command: ["python"]
args: ["service.py", "../etc/config/options.json", "../etc/calibration/hd/path-where-is-the-calibration"]
Make sure you have kubectl installed and the right ~/.kube/config
file to be able to interact with the cluster.
Deploy the stream application:
kubectl apply -f etc/k8s/deployment.yaml
The .yaml
file describes two things:
- a deployment;
- a configmap;
A deployment is a way to run our application and guarantee that an N number of replicas will be running. The configmap allows load the options you desires when deploying into the kubernetes platform. See more about deployment and confimap.
Name | ⇒ Input | Output ⇒ | Description |
---|---|---|---|
reconstruction.ArUco | 📨 topic: ArUco.{camera_ids}.Detection 💎 schema: ObjectAnnotations |
📨 topic: reconstruction.{ArUco_id}.ArUco 💎 schema: Pose |
Uses ArUco detector detections to estimate ArUco marker pose. |
In exemples/consume/consume.py is a simple consume to display the AruCo pose.