manuel dans README.md

This commit is contained in:
Louis-Guillaume DUBOIS 2015-06-08 16:33:07 +02:00
parent fcaa41dca5
commit 9cacce540b
4 changed files with 42 additions and 100 deletions

View file

@ -1,8 +1,4 @@
# Contrôle par geste d'un drone #
**Extrait de la présentation du projet**
« On s'intéresse dans ce projet à contrôler un drone à l'aide la main. On utilisera pour ce faire une kinect, placée à l'horizontal, au dessus de laquelle on placera la main du contrôleur. La kinect fournit des informations sur la profondeur des objets placés en face d'elle. On peut alors régresser un plan sur les échantillons et utiliser deux inclinaisons et la distance pour contrôler le roulis, le tangage et l'altitude d'un drone. »
# Installation #
## Installation des dépendances ##
```
@ -14,7 +10,7 @@ sudo apt-get install ros-indigo-desktop-full ros-indigo-freenect-stack ros-indig
```
## Utilisation du dépôt ##
Après avoir créé un espace de travail catkin :
### Création dun espace de travail catkin ###
```
#!sh
source /opt/ros/indigo/setup.bash
@ -22,7 +18,9 @@ mkdir -p ~/hand_control_ws/src
cd ~/hand_control_ws/src
catkin_init_workspace
```
vous devez cloner le dépôt de telle sorte que le dossier «hand_control» se situe dans le dossier «~/hand_control_ws/src/», par exemple :
### Clonage du dépôt ###
Clonage de telle sorte que le dossier `hand_control` se situe dans le dossier `~/hand_control_ws/src/`, par exemple :
```
#!sh
@ -30,7 +28,11 @@ cd ~/hand_control_ws/src
git clone git@bitbucket.org:_Luc_/hand_control.git
# ou bien : git clone https://username@bitbucket.org/_Luc_/hand_control.git # (changer username)
```
Le contenu du dépôt se trouve alors dans «~/hand_control_ws/src». Il est ensuite possible de compiler :
Le contenu du dépôt se trouve alors dans `~/hand_control_ws/src`.
## Compilation ##
Il est ensuite possible de compiler :
```
#!sh
@ -38,21 +40,46 @@ cd ~/hand_control_ws
catkin_make
```
Puis pour faciliter le développement :
Puis pour pouvoir utiliser les commoandes ROS :
```
#!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 ###
# Utilisation #
Avant de coder, regarder :
## Branchement de la Kinect et paramétrage ##
- [les conventions décriture du code du projet ROS](http://wiki.ros.org/CppStyleGuide)
- [le guide du développeur](http://wiki.ros.org/DevelopersGuide)
1. Brancher la Kinect (sous tension) à lordinateur par USB ;
2. Lancer le "launchfile" `kinect_commander.launch`: `roslaunch hand_control kinect_commander.launch` ;
3. Vérifier les paramètres du filtre :
- lancer rviz : `rosrun rqt_rviz rqt_rviz`;
- visualiser la sortie du filtrage (topic : `/filter/output` ; frame : `/camera_depth_optical_frame`) et repérer la main ;
- lancer `rqt_reconfigure` : `rosrun rqt_reconfigure rqt_reconfigure` pour :
- modifier les paramètres du filtre jusquà ne voir que les points de la main/gant/pancarte sur rviz (voir ci-dessous).
- modifier le paramètre `neutral_alt` du nœud `commander` à la hauteur souhaitée (en mètres). Cest la hauteur de la main qui correspondra à limmobilité de laltitude.
Cf. le [Wiki](https://bitbucket.org/_Luc_/handcontrol/wiki/Home) pour le reste de la documentation et le résultat des recherches.
### Paramètres du filtre ###
Les paramètres du filtre (modifiables avec `dynamic_reconfigure` et en particulier `rqt_reconfigure` sont :
* `z_max` : en mètres, altitude maximale de la main, doit être inférieure à la hauteur du plafond.
* pour un gant ou un carton *coloré* (vert, bleu etc.), on a généralement :
- `hue` : par exemple 220 (bleu ciel) ou 150 (vert) ou 0 (rose/rouge) ;
- `delta_hue` : 10-20 ;
- `sat/val_min` : 0.0 ;
- `sat/val_max` : 1.0 ;
* pour un gant *noir* :
- `hue` : 0 ;
- `delta_hue` : 180 ;
- `sat_min` : 0.0 ;
- `sat_max` : 1.0 ;
- `val_min` : 0.0 ;
- `val_max` : 0.3 (à modifier à votre convenance);
## Connexion au drone et pilotage ##

View file

@ -1,37 +0,0 @@
!!python/object/new:dynamic_reconfigure.encoding.Config
dictitems:
angle_vel: 0.01
groups: !!python/object/new:dynamic_reconfigure.encoding.Config
dictitems:
angle_vel: 0.01
groups: !!python/object/new:dynamic_reconfigure.encoding.Config
state: []
id: 0
max_curvature: 0.5
min_points_number: 1000
name: Default
neutral_alt: 0.8
parameters: !!python/object/new:dynamic_reconfigure.encoding.Config
state: []
parent: 0
plan_vel: 0.5
state: true
theta_minimal_deviation: 10.0
type: ''
up_fact: 1.5
x_minimal_deviation: 0.2
y_minimal_deviation: 0.2
z_minimal_deviation: 0.05
z_vel: 2.0
state: []
max_curvature: 0.5
min_points_number: 1000
neutral_alt: 0.8
plan_vel: 0.5
theta_minimal_deviation: 10.0
up_fact: 1.5
x_minimal_deviation: 0.2
y_minimal_deviation: 0.2
z_minimal_deviation: 0.05
z_vel: 2.0
state: []

View file

@ -1,19 +0,0 @@
!!python/object/new:dynamic_reconfigure.encoding.Config
dictitems:
groups: !!python/object/new:dynamic_reconfigure.encoding.Config
dictitems:
groups: !!python/object/new:dynamic_reconfigure.encoding.Config
state: []
id: 0
name: Default
parameters: !!python/object/new:dynamic_reconfigure.encoding.Config
state: []
parent: 0
reverse: false
reverse_angle: true
state: true
type: ''
state: []
reverse: false
reverse_angle: true
state: []

View file

@ -1,29 +0,0 @@
!!python/object/new:dynamic_reconfigure.encoding.Config
dictitems:
delta_hue: 10.0
groups: !!python/object/new:dynamic_reconfigure.encoding.Config
dictitems:
delta_hue: 10.0
groups: !!python/object/new:dynamic_reconfigure.encoding.Config
state: []
hue: 0.0
id: 0
name: Default
parameters: !!python/object/new:dynamic_reconfigure.encoding.Config
state: []
parent: 0
sat_max: 1.0
sat_min: 0.13
state: true
type: ''
val_max: 1.0
val_min: 0.31
z_max: 2.0
state: []
hue: 0.0
sat_max: 1.0
sat_min: 0.13
val_max: 1.0
val_min: 0.31
z_max: 2.0
state: []