2016-10-05 4 views
1

Comme nous le savons en interpolation linéaire ordinaire, la destination finale est fixe. Je veux utiliser une caméra pour attraper les objets en mouvement et la coordonnée peut être la destination finale. Quelqu'un pourrait m'aider à terminer cet algorithme en code C?Interpolation linéaire en temps réel sur le servomoteur 3-D

+0

Non, c'est une question trop large pour Stackoverflow. – kaylum

+0

"axes d'arbres" ou "trois axes"? Pourrait utiliser un [Stihl] (https://en.wikipedia.org/wiki/Stihl#Product_gallery) pour la première tâche au lieu d'une hache. – chux

+0

Merci beaucoup. C'est la première fois que je pose une question dans Stackoverflow. – Rafael

Répondre

0

En supposant que vous essayez de suivre un objet en mouvement avec une caméra à la cardan, le problème est la discordance entre l'hypothèse de vitesse linéaire et constante et le mouvement de la caméra. Même si votre objet se déplace à une vitesse constante, la caméra devra tourner à une vitesse non constante pour garder une trace de l'objet. Par exemple, la caméra devra tourner rapidement lorsque l'objet est proche de la caméra, mais tournera très lentement lorsque l'objet est éloigné.

1) Représenter les coordonnées cartésiennes (XYZ) des points de départ et d'arrivée.

2) Calculer une séquence d'interpolations linéaires entre le début et la fin dans l'espace cartésien. C'est une séquence de points dans l'espace cartésien qui estime la trajectoire de l'objet.

3) Convertir la séquence de points cartésiens du système de coordonnées cartésiennes au Spherical coordinate system.

4) Les coordonnées sphériques Theta et Phi sont les angles que votre caméra doit parcourir dans le temps.

Tous les calculs décrits ci-dessus sont simples et de forme fermée. Vous ne devriez pas avoir besoin d'appliquer des techniques de programmation «en temps réel» mises à part des concepts de base comme aucune allocation dynamique et aucune langue interprétée ou récupérée. Si la fiabilité est très importante, vous voudrez utiliser un système d'exploitation en temps réel adapté. Linux a un bon correctif en temps réel qui fournit de très bonnes performances en temps réel.

+0

Oups Je veux atteindre ce sujet dans SCM, je veux utiliser la caméra comme kinect et ensuite utiliser le moteur pour contrôler un entonnoir pour attraper la balle qui tombe. Peut-être que je devrais utiliser l'interpolation linéaire incrémentale numérique combinée avec le signal de la caméra. Le pensez-vous? – Rafael

+0

Probablement pas. Le Kinect et d'autres plates-formes similaires ont tous un moyen d'estimer avec précision la profondeur. Vous ne serez pas en mesure de le faire à moins qu'il n'y ait des contraintes supplémentaires à votre problème. – David

+0

Oui, le Kinect a le moyen d'estimer avec précision la profondeur, je veux utiliser cette méthode pour calculer la coordonnée de la boule et ensuite laisser la coordonnée pour être la destination finale de l'algorithme. Mais je ne sais pas comment combiner l'interpolation linéaire de base et l'échantillonnage en temps réel. – Rafael