Je travaille avec le robot Baxter et j'essaie de trouver la position d'un objet en utilisant des marqueurs de réalité augmentée et de déplacer la main dans cette position pour la saisir.Transformation de trame ROS (caméra à base)
J'utilise le paquet ar_tools
pour obtenir la position/l'orientation de l'objet, mais cela par rapport au head_camera
que j'utilise. Les deux derniers jours, j'ai expérimenté avec la façon de changer ce cadre de référence (head_camera
) à l'image de base que ce cadre est utilisé par moveit
pour faire les plans. J'ai essayé de régler le frame_id
de l'en-tête du message que je reçois de la ar_tools
manuellement 'base'
:
pose_target.header.frame_id = 'base'
mais la position et l'orientation que je reçois sont toujours le WRT head_camera
. J'ai aussi essayé de le faire:
self.tl.lookupTransform("/base", "/head_camera", self.t)
où self.t = self.tl.getLatestCommonTime("/head_camera", "/base")
, mais je recevais une erreur d'extrapolation. Il était quelque chose comme
la transformation nécessite d'extrapoler dans le passé
(je ne me souviens pas maintenant et je ne suis pas dans le laboratoire.) Je pensais que je pourrais avoir besoin de courir le lookupTransform
du head_cam
au head
, du head
au torso
et du torso
au base
de Baxter.
Quelqu'un pourrait me guider sur la façon de changer le cadre du marqueur de ar_tools
de head_camera
à base
?
De même, pour l'erreur d'extrapolation, existe-t-il un moyen de le faire de manière statique?
bonjour, merci et désolé pour la réponse tardive! J'ai essayé ceci et cela aurait fonctionné parfaitement mais il y a un léger problème. J'ai juste compris que le message que je reçois de l'ar_pose n'a pas de cachet! voici les messages: (http://docs.ros.org/hydro/api/ar_pose/html/msg/ARMarker.html). Existe-t-il un moyen de le faire sans avoir l'horodatage? Est-il possible d'ajouter un horodatage au message? Merci encore pour votre réponse rapide et aide! – ekptwtos
EDIT: désolé je pensais que le message n'avait pas d'horodatage mais quand je l'ai imprimé il est retourné 'stamp: secs: 1429124219' donc je suppose que cela signifie qu'il en a un! – ekptwtos
ce genre de choses vous arrive quand vous essayez de demander quelque chose et vous n'êtes pas dans le laboratoire! Désolé aruisdante l'extrapolation était dans le ** futur ** et pas dans le ** passé ** et je suppose que cela change beaucoup .. – ekptwtos