From 0f541a5217e1f82dcf0776de6ea36bb52d0233d5 Mon Sep 17 00:00:00 2001 From: Louis-Guillaume Dubois Date: Tue, 21 Apr 2015 16:49:49 +0000 Subject: [PATCH 1/5] README.md edited online with Bitbucket --- README.md | 56 ------------------------------------------------------- 1 file changed, 56 deletions(-) diff --git a/README.md b/README.md index ebc780b..2599c38 100644 --- a/README.md +++ b/README.md @@ -39,59 +39,3 @@ echo "source ~/hand_control_ws/devel/setup.bash" >> ~/.bashrc ``` Cf. le Wiki pour l’installation de ROS, PCL et des pilotes pour la Kinect et le drone. - -## Recherche documentaire ## -Consulter le dossier /rechercheDoc - -Un etherpad est disponible à l'url suivante : [http://etherpad.rezometz.org/p/handcontrol](http://etherpad.rezometz.org/p/handcontrol) - -### Conclusion de la recherche ### - -Bibliothèques à regarder : - - -- [PCL (PointCloud)](http://www.pointclouds.org/) : beaucoup, beaucoup de choses... - * [les tutoriels](http://www.pointclouds.org/documentation/tutorials/) - * [pcl::NormalEstimation](http://docs.pointclouds.org/trunk/classpcl_1_1_normal_estimation.html) & [pcl::NormalEstimationOMP](http://docs.pointclouds.org/trunk/classpcl_1_1_normal_estimation_o_m_p.html) pour régresser un plan - - en particulier [computePointNormal](http://docs.pointclouds.org/trunk/classpcl_1_1_normal_estimation.html#afa0dd0bf400977f40eb91f08750bfa17) qui sert l’équation du plan sur un plateau - - explication [ici](http://www.pointclouds.org/documentation/tutorials/normal_estimation.php#normal-estimation) - * [pcl::ConditionalRemoval](http://docs.pointclouds.org/trunk/classpcl_1_1_conditional_removal.html) pour filtrer les points (critère de profondeur (plus simple a priori) ou couleur) -- AR Drone : - * [ardrone_autonomy](https://github.com/AutonomyLab/ardrone_autonomy/tree/master#sending-commands-to-ar-drone) - -Pour l’interface Kinect on a le choix entre : - -- l’interface fournie par PCL, qui récupère directement un PointCloud utilisable par PCL à partir de la Kinect : - * [openni_wrapper::DeviceKinect](http://docs.pointclouds.org/trunk/classopenni__wrapper_1_1_device_kinect.html) & [openni_wrapper::OpenNIDevice](http://docs.pointclouds.org/trunk/classopenni__wrapper_1_1_open_n_i_device.html) pour parler à la Kinect - * openni_grabber : [tuto](http://www.pointclouds.org/documentation/tutorials/openni_grabber.php#openni-grabber), [doc](http://docs.pointclouds.org/trunk/classpcl_1_1_open_n_i_grabber.html) -- l’interface fournie par les packages ROS : - * [OpenKinect / libfreenect](https://github.com/OpenKinect) avec [freenect_stack](http://wiki.ros.org/freenect_stack) qui publie des sensor_msgs::Image - * puis conversion des sensor_msgs::Image en pcl::PCLPointCloud2 avec [pcl_conversions::moveToPCL](http://docs.ros.org/indigo/api/pcl_conversions/html/namespacepcl__conversions.html#a40366a910d7ce4ae63b121150381098d) du package [perception_pcl](http://wiki.ros.org/perception_pcl?distro=indigo), cf. [pcl_ros](http://wiki.ros.org/pcl_ros?distro=indigo) - * puis utilisation avec [pcl_ros](http://wiki.ros.org/pcl_ros?distro=indigo) (conversion automatique std_msgs/PointCloud2 => PointCloud), sinon conversion manuelle avec [pcl::fromPCLPointCloud2](http://docs.pointclouds.org/trunk/namespacepcl.html#a89aca82e188e18a7c9a71324e9610ec9) ou [pcl::fromROSMsg](http://docs.pointclouds.org/trunk/namespacepcl.html#a22b3a98851964a79fafa7b9e543b3c75) - -Publication & Souscription à des topics de PointCloud avec [pcl_ros](http://wiki.ros.org/pcl_ros?distro=indigo) - -### Important ### -Avant de coder, regarder : - -- [les conventions d’écriture du code du projet ROS](http://wiki.ros.org/CppStyleGuide) -- [le guide du développeur](http://wiki.ros.org/DevelopersGuide) - -## Mail du responsable de projet (extrait) ## - -Donc sur le principe du projet : - -- on place une kinect pointant vers le haut de laquelle on va extraire un nuage de points (PointCloud) correspondant à une main placée au dessus. D'ailleurs, je pense qu'on prendre un gant de couleur unie bien criarde pour facilement filtrer les points d'intérêt et ne s'intéresse qu'à ceux de la main. -- on régresse un plan sur le point cloud -- on utilise les paramètres du plan pour définir le roll, pitch, altitude d'un drone; - -Il vous faut donc dans un premier temps : - -- faire les tutoriels de ROS (jusqu'au tutoriel sur les publisher et subscribers en C++/Python); Pour installer ROS sur votre machine, c'est beaucoup plus simple à ma connaissance d'installer ubuntu (http://wiki.ros.org/) -- regarder comment on définit/utilise des launch files sous ROS, ce qui facilite grandement le lancement de plusieurs noeuds (http://wiki.ros.org/roslaunch) -- regarder et utiliser la kinect sous ROS en utilisant freenect; Notamment regarder les nœuds et ce qu'ils publient sur leurs topics (http://wiki.ros.org/freenect_camera), il y a notamment une image de profondeur et une image RGB; -- regarder et utiliser le drone sous ROS : (par exemple : http://wiki.ros.org/ardrone_driver) - -J'ai sorti une kinect, elle est posée sur un des bureaux de la smartroom. - -Pour rappel, à la fin du projet, je vous demanderais de me remettre un rapport et de faire une soutenance. \ No newline at end of file From 07bdb622c0fecf805d608e7684ea884d4ed6b123 Mon Sep 17 00:00:00 2001 From: Louis-Guillaume Dubois Date: Tue, 21 Apr 2015 17:24:59 +0000 Subject: [PATCH 2/5] README.md edited online with Bitbucket --- README.md | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 2599c38..82f6da6 100644 --- a/README.md +++ b/README.md @@ -38,4 +38,11 @@ source ~/hand_control_ws/devel/setup.bash echo "source ~/hand_control_ws/devel/setup.bash" >> ~/.bashrc ``` -Cf. le Wiki pour l’installation de ROS, PCL et des pilotes pour la Kinect et le drone. +### Important ### + +Avant de coder, regarder : + +- [les conventions d’écriture du code du projet ROS](http://wiki.ros.org/CppStyleGuide) +- [le guide du développeur](http://wiki.ros.org/DevelopersGuide) + +Cf. le [Wiki](https://bitbucket.org/_Luc_/handcontrol/wiki/Home) pour le reste de la documentation et le résultat des recherches. \ No newline at end of file From fd2381874d2e49f4ad2d31b03367cf566565b36a Mon Sep 17 00:00:00 2001 From: Louis-Guillaume Dubois Date: Tue, 21 Apr 2015 18:04:48 +0000 Subject: [PATCH 3/5] README.md edited online with Bitbucket --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index 82f6da6..d30acbf 100644 --- a/README.md +++ b/README.md @@ -12,6 +12,7 @@ Après avoir créé un espace de travail catkin : #!sh mkdir -p ~/hand_control_ws/src cd ~/hand_control_ws/src +source /opt/ros/indigo/setup.bash catkin_init_workspace ``` @@ -34,8 +35,11 @@ catkin_make Puis pour faciliter le développement : ``` #!sh +source /opt/ros/indigo/setup.bash source ~/hand_control_ws/devel/setup.bash +echo "source /opt/ros/indigo/setup.bash" >> ~/.bashrc echo "source ~/hand_control_ws/devel/setup.bash" >> ~/.bashrc + ``` ### Important ### From 60f3f7d6226961d33f4588b47a28e7bb9228d039 Mon Sep 17 00:00:00 2001 From: Louis-Guillaume Dubois Date: Tue, 21 Apr 2015 18:08:10 +0000 Subject: [PATCH 4/5] README.md edited online with Bitbucket --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index d30acbf..1a1c88b 100644 --- a/README.md +++ b/README.md @@ -21,6 +21,8 @@ vous devez cloner le dépôt de telle sorte que le dossier «hand_control» se s ``` #!sh git clone git@bitbucket.org:_Luc_/handcontrol.git +# ou bien : git clone https://Username@bitbucket.org/_Luc_/handcontrol.git +# (changer Username) mv -t ~/hand_control_ws/src handcontrol/* handcontrol/.git rmdir handcontrol ``` From bae959e00748063cc0f1e0b5b5ad6405bbd25b03 Mon Sep 17 00:00:00 2001 From: Louis-Guillaume DUBOIS Date: Wed, 22 Apr 2015 13:00:50 +0200 Subject: [PATCH 5/5] ajout launchfiles kinect --- hand_control/launch/all.launch | 5 +++++ .../launch/freenect-registered-xyzrgb.launch | 17 +++++++++++++++++ 2 files changed, 22 insertions(+) create mode 100644 hand_control/launch/all.launch create mode 100644 hand_control/launch/freenect-registered-xyzrgb.launch diff --git a/hand_control/launch/all.launch b/hand_control/launch/all.launch new file mode 100644 index 0000000..95e4e9b --- /dev/null +++ b/hand_control/launch/all.launch @@ -0,0 +1,5 @@ + + + + + diff --git a/hand_control/launch/freenect-registered-xyzrgb.launch b/hand_control/launch/freenect-registered-xyzrgb.launch new file mode 100644 index 0000000..b92bfdc --- /dev/null +++ b/hand_control/launch/freenect-registered-xyzrgb.launch @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + +