Module Motion capture

Jakopter peut s’interfacer avec Vicon Tracker pour obtenir les coordonnées du drone dans une salle de motion capture.

Pré-Requis

  • Avoir le SDK Vicon présent: Client.h et ViconDataStreamSDK_CPP.so
  • Avoir Vicon Tracker 2.2.0 ou plus actif sur une autre machine reliée au routeur de la salle

Utilisation

Il faut tout d’abord lancer le programme

jakopter-vicon [numero]

situé dans le répertoire build/DEBUG généré à la compilation pour communiquer avec Vicon Tracker. L’objet qui identifie le drone doit s’appeler dans Vicon Tracker « ardrone2_[numero] » où [numero] est l’identifiant que vous lui avez attribué.

Dans le script lua, on peut récupérer pour le com_channel numéro 5  (unités: mm et rad):

  • En 0, la coordonnée flottante x dans le repère global de la salle
  • En 4, la coordonnée flottante y dans le repère global de la salle
  • En 8, la coordonnée flottante z dans le repère global de la salle avec z vers le haut
  • En 12, la coordonnée flottante eulerienne(Rxyz) en x dans le repère global de la salle
  • En 16, la coordonnée flottante eulerienne(Rxyz) en y dans le repère global de la salle
  • En 20, la coordonnée flottante eulerienne(Rxyz) en z dans le repère global de la salle
  • En 24, la coordonnée flottante w du quaternion dans le repère global de la salle
  • En 28, la coordonnée flottante x du quaternion dans le repère global de la salle
  • En 32, la coordonnée flottante y du quaternion dans le repère global de la salle
  • En 36, la coordonnée flottante z du quaternion dans le repère global de la salle

avec ces commandes:

d.cc_read_float(5, 0)

d.cc_read_float(5, 4)

d.cc_read_float(5, 8)
d.cc_read_float(5, 12)
d.cc_read_float(5, 16)
d.cc_read_float(5, 20)