Podcast
Questions and Answers
Quel est l'objectif principal de la méthode Image-Based Visual Servoing (IBVS) dans le projet ?
Quel est l'objectif principal de la méthode Image-Based Visual Servoing (IBVS) dans le projet ?
- Aligner le drone avec un objet cible en utilisant des retours visuels. (correct)
- Contrôler le mouvement d'un drone sans retour visuel.
- Programmer une trajectoire fixe pour le drone.
- Gérer les communicateurs de ROS sans traitement d'image.
Quel langage de programmation est utilisé pour le scripting dans ce projet ?
Quel langage de programmation est utilisé pour le scripting dans ce projet ?
- Python (correct)
- C++
- Java
- JavaScript
Quel message est utilisé pour emballer les vitesses calculées du drone ?
Quel message est utilisé pour emballer les vitesses calculées du drone ?
- Int32MultiArray
- Float32Array
- Float64MultiArray (correct)
- StringArray
Quel système d'exploitation est recommandé pour exécuter ROS 1 ?
Quel système d'exploitation est recommandé pour exécuter ROS 1 ?
Quelle méthode est utilisée pour traiter les coordonnées cibles provenant de la caméra ?
Quelle méthode est utilisée pour traiter les coordonnées cibles provenant de la caméra ?
Quelle commande est utilisée pour initialiser un nœud dans ROS ?
Quelle commande est utilisée pour initialiser un nœud dans ROS ?
Quel rôle jouent les dépôts dans ce projet ?
Quel rôle jouent les dépôts dans ce projet ?
Quel type de contrôle est intégré dans le système de servo visuel ?
Quel type de contrôle est intégré dans le système de servo visuel ?
Quelle est la fonction de la matrice de transformation homogène dans le cadre de la vision par ordinateur ?
Quelle est la fonction de la matrice de transformation homogène dans le cadre de la vision par ordinateur ?
Que représente le vecteur de translation $t_B$ dans la matrice de transformation homogène ?
Que représente le vecteur de translation $t_B$ dans la matrice de transformation homogène ?
Quel est le rôle de la matrice essentielle $ ext{E}$ dans le cadre de la géométrie épipolaire ?
Quel est le rôle de la matrice essentielle $ ext{E}$ dans le cadre de la géométrie épipolaire ?
Quel type d'information est encodé dans les valeurs propres et vecteurs propres de la matrice de rotation $R$ ?
Quel type d'information est encodé dans les valeurs propres et vecteurs propres de la matrice de rotation $R$ ?
Qu'est-ce qui résulte de l'application de la matrice fondamentale $ ext{F}$ à des points d'image conjugués $ar{p}^1$ et $ar{p}^2$ ?
Qu'est-ce qui résulte de l'application de la matrice fondamentale $ ext{F}$ à des points d'image conjugués $ar{p}^1$ et $ar{p}^2$ ?
Quelle équation représente la transformation inverse de la matrice homogène ${}^BT_A$ ?
Quelle équation représente la transformation inverse de la matrice homogène ${}^BT_A$ ?
Dans le contexte de la vision par ordinateur, que signifie que le champ de vision est limité quand $Z=0$ ?
Dans le contexte de la vision par ordinateur, que signifie que le champ de vision est limité quand $Z=0$ ?
Quel est l'objectif principal de l'utilisation des outils $rvctools$ et des scripts comme $startup_rvc.m$ ?
Quel est l'objectif principal de l'utilisation des outils $rvctools$ et des scripts comme $startup_rvc.m$ ?
Quel est le résultat de la multiplication de la matrice de rotation $R$ sur le vecteur $v$ ?
Quel est le résultat de la multiplication de la matrice de rotation $R$ sur le vecteur $v$ ?
Quel est le but de la parameterization (ρ, θ) dans la recherche de lignes dans une image ?
Quel est le but de la parameterization (ρ, θ) dans la recherche de lignes dans une image ?
Flashcards
Servocontrôle visuel basé sur l'image (IBVS)
Servocontrôle visuel basé sur l'image (IBVS)
Un système de servocontrôle visuel qui utilise des images d'une caméra pour contrôler le mouvement d'un drone, permettant ainsi au drone de s'aligner sur un objet cible ou de maintenir des paramètres visuels spécifiques.
ROS (Robot Operating System)
ROS (Robot Operating System)
Un système logiciel open-source qui permet de développer des applications robotiques. Il offre des outils de communication, de contrôle et de planification.
Contrôle PID
Contrôle PID
Une méthode de contrôle utilisée dans le servocontrôle visuel pour déterminer la vitesse souhaitée du drone. Elle utilise des informations sur l'erreur de la cible et des algorithmes de contrôle proportionnel, intégral et dérivé (PID).
Apt
Apt
Signup and view all the flashcards
Référentiels logiciels
Référentiels logiciels
Signup and view all the flashcards
Ubuntu
Ubuntu
Signup and view all the flashcards
Script principal
Script principal
Signup and view all the flashcards
ROS (Robot Operating System)
ROS (Robot Operating System)
Signup and view all the flashcards
Matrice de transformation homogène
Matrice de transformation homogène
Signup and view all the flashcards
Matrice de rotation
Matrice de rotation
Signup and view all the flashcards
Matrice de calibration
Matrice de calibration
Signup and view all the flashcards
Optiques réfléchissantes
Optiques réfléchissantes
Signup and view all the flashcards
Géométrie épipolaire
Géométrie épipolaire
Signup and view all the flashcards
Matrice fondamentale
Matrice fondamentale
Signup and view all the flashcards
Épipôle
Épipôle
Signup and view all the flashcards
Matrice essentielle
Matrice essentielle
Signup and view all the flashcards
Relation vitesse-vitesse
Relation vitesse-vitesse
Signup and view all the flashcards
Paramétrisation (ρ, θ)
Paramétrisation (ρ, θ)
Signup and view all the flashcards
Study Notes
Image-Based Visual Servoing for Drone Control
-
Objective: Control a drone's movement using visual feedback (IBVS) from a camera. Align the drone with a target object or maintain defined visual parameters.
-
Methods:
- ROS (Robot Operating System): Used for communication and control.
- Python: Used for scripting.
- Libraries: Include PID control and geometric transformation libraries.
-
Real-time Processing: The system processes camera streams to compute the desired drone motion in real time.
-
Callback Method: Processes incoming target coordinates from the camera, extracting center, width, height, detection state, and bounding box area.
-
Control Loop: Calculates the desired drone velocities (vx, vy, yaw_rate) based on errors and PID control.
-
MAVROS Framework: Used for drone interaction.
-
Node Initialization: Initializes a ROS node using
rospy.init_node()
. -
Failsafe Mechanism: When the script terminates, the drone stops motion by publishing zero velocities.
-
ROS Installation on Windows:
-
Run WSL2 (Windows Subsystem for Linux).
-
Use Ubuntu 20.04 and ROS Noetic.
-
Install ROS Noetic using apt package management.
Homogeneous Transformations and Coordinate Frames
- Homogeneous Transformation Matrices: Used to represent transformations between coordinate frames.
- Relative Pose: A point's coordinates in one frame can be expressed in another frame using a homogeneous transformation matrix.
- Composition: Transformations can be composed to express a point in one frame relative to a third frame through an intermediate frame.
- Inverse Transformation: The inverse transformation can be calculated.
- Rotation about an Arbitrary Vector: The rotation matrix can be expressed using the Rodrigues' equation. The rotation matrix is encoded in the eigenvalues and eigenvectors.
Camera Calibration and Perspective Projection
- Calibration Matrix (𝐾): Also known as the camera parameter matrix.
- Perspective Projection: Has limitations, particularly a limited field of view. A major constraint is that Z = 0 is not allowed in this model.
- Alternative to Refractive Optics: Reflective surfaces like mirrors for image formation are explored.
Stereo Vision and Epipolar Geometry
- Stereo System: Two cameras with associated coordinate frames {1} and {2} and their image planes are considered.
- Fundamental Matrix (𝐹): A 3x3 matrix that relates corresponding points in the two images.
- Epipolar Geometry: The relationship between the corresponding points in the two images.
- Epipoles: Calculated from the null-space of the fundamental matrix (expressed in homogeneous and euclidean coordinates).
- Essential Matrix (𝐸): A function of the relative pose of camera {1} with respect to camera {2}.
Image Coordinates and Parameterizations
- Image Coordinates (𝑥, 𝑦): Image coordinates (in meters).
- (ρ, θ) Parameterization: A way to represent points in an image using radial distance and angle from the origin. The relation between image coordinates and (ρ, θ) needs to be clarified with the figure and a web search.
- Position-Based Visual Servoing: Explained visually in the provided figure.
Important Equations
- Equations for homogeneous transformations, rotations, fundamental matrix, and essential matrices.
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.
Description
Ce quiz explore les méthodes de contrôle de drone utilisant le Servoing Visuel Basé sur l'Image (IBVS). Les participants apprendront à utiliser ROS et Python pour aligner un drone sur un objet cible en traitant des flux caméra en temps réel. Le quiz aborde également des concepts comme le contrôle PID et les mécanismes de sécurité.