nao_ros_ork_from_mistermojo
Info importante :-) IP de misterMojo est: 10.0.132.192.
Etape 1: On va copier les packages ros compilés pour mon robot et les mettre sur le votre. Ces packages se trouvent dans deux répertoires: /home/nao/old_nao_ros_ws et /home/nao/worktree. Il vous faut copier ces deux répertoires avec tous les contenus dedans.
Etape 2: On va copier les libraries requis pour ros, y compris:
rosversion: scp nao@10.0.254.224:/usr/bin/rosversion nao@<ip de votre robot>:/usr/lib/
rospkg : scp nao@10.0.254.224:/home/nao/.local/lib/python2.7/site-packages/* nao@<ip de votre robot>:/home/nao/.local/lib/python2.7/site-package/ (si le repertoire désigné n'existe pas sur votre robot, merci de le creer avant copier :-) )
lz4, tinyxml, log4cxx, apr*: ces libraries se trouvent dans /usr/lib/ de mon NAO, il faut les copier et les mettre sur votre robot, dans le répertoire /home/nao/old_nao_ros_ws/lib/.
Etape 3: Copier le fichier de configuration pour la détection 3D: il vous faut copier le fichier /home/nao/detection.nao.object.ros.ork et le mettre sur votre robot.
Pour faire marcher la détection de cannette, il faut préparer le database, et exécuter les programmes :-)
Configurer le database: Pour faire simple, je propose qu'on utilise le database sur mon ordi pour l'instant. Pour que la détection marche, il faut que mon ordi soit allumé.
If you have a Linux machine and you have time to spare, you can setup the database following the instructions in this link and this link to add the mesh of the coke (Go directly to section 3 on that page).
-- Et corriger le fichier old_nao_ros_ws/install_isolated/lib/nao_camera/ork2nao.py pour pointer aux bons IPs de votre robot.
Exécuter les programmes:
1. Publier les images de la camera nao: dans un terminal ssh avec votre robot, executez 4 commande suivantes:
export ROS_MASTER_URI=http://<ip de votre robot>:11311
export ROS_IP=<ip de votre robot>
source /home/nao/old_nao_ros_ws/install_isolated/setup.bash
roslaunch nao_camera python.launch
2. Executer la détection de cannette: dans un autre terminal ssh avec votre robot, executez 4 commandes suivantes:
export ROS_MASTER_URI=http://<ip de votre robot>:11311
export ROS_IP=<ip de votre robot>
source /home/nao/worktree/install_isolated/setup.bash
rosrun object_recognition_core detection -c <chemin au fichier de configuration que vous avez copié à l'Etape 3 précédemment>
3. Publier le resultat de détection à ALMemory: dans un autre terminal ssh à votre robot, executez les commandes suivantes:
export ROS_MASTER_URI=http://<ip de votre robot>:11311
export ROS_IP=<ip de votre robot>
source old_nao_ros_ws/install_isolated/setup.bash
rosrun nao_camera ork2nao.py
4. Launch Choregraphe, connect your robot and launch PointAt3DPoint project
Note important:
Au premier lancement de ros sur nao, vous auriez peut-etre des erreurs disant il manque tel ou tel libraries. Ne paniquez pas, il suffit juste de les récuppérer sur mon robot et de les mettre sur votre robot dans les répertoires correspondants. Cela peut arriver car je suffre de trou de mémoire donc je ne souviens pas exactement toutes les librairies que j'ai copié sur mon robot à l'étape 2.
Normalement, après rosrun nao_camera ork2nao.py, le détecteur fera des RaiseEvent à ALMemory à chaque fois il trouve une(des) cannette(s) sur le nom de "ObjectDetected". On peut écouter cet évènement et lancer les comportements du robot comme on veut ;-)