Changes between Version 16 and Version 17 of setup_target/bebop2
- Timestamp:
- Mar 20, 2020, 4:55:59 PM (5 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
setup_target/bebop2
v16 v17 47 47 48 48 == rootfs == 49 A la fin de la procédure parrot le drone est prêt à voler avec les lois de commande de parrot. Pour remplacer ces lois de commande et utiliser les nôtres, nous pourrions installer notre programme dans le système de fichier de parrot et le lancer à la place de celui de parrot ("dragon-prog"). Mais cela a 2 inconvénients50 * le système de fichier original est modifié. Si on fait des erreurs, on risque de ne plus pouvoir démarrer!51 * nous ne sommes pas certains que le programme original de parrot ne termine pas la configuration du drone. Si c'est le cas nous pourrions avoir des problèmes pour utiliser certains capteurs par exemple49 At the end of the boot sequence, the drone is ready to fly with Parrot's flight laws. To replace these laws with our owns, we could install our program in the original parrot file system, and start it instead of the original dragon-prog executable. But this has 2 drawbacks 50 * the original filesystem is modified. If we make mistakes, we could brick the drone! 51 * we are not certain that the original Parrot program isn't necessary to complete the drone setup. If it's indeed the case we could have problems using some devices, sensors for example. 52 52 53 En conséquence nous préférons démarrer nos programmes dans un "chroot", c'est à dire un système de fichier à part. L'idée est de lancer un serveur ssh (dropbear) dans un système de fichier créé avec robomap3. C'est dans ce système de fichier que nous trouverons nos programmes de vol.53 As a consequence, we prefer to start our programs in a "chrooted" environment, meaning in a separate file system. The idea is to start à ssh server (dropbear) in a file system created with robomap3. It's in this file system that we'll put our flight control programs. 54 54 55 Attention, il faut éviter que nos lois de commande et celles de parrot entrent en conflit (par exemple l'une veut accélérer un moteur alors que l'autre veut le ralentir). Pour cela il faut commencer par faire "kk" 💩. C'est un script fournit par parrot qui termine le processus dragon-prog. Notons que c'est un kk dur car le script utilise le signal SIGKILL... 55 Caution: our command laws must not intefere with Parrot"s ones (for example one could require a motor to accelerate, while the other one would require it to brake). First thing to do is to call the "kk" script (💩). It's a script provided by Parrot that kills the dragon-prog process. It's a hard "kk", since it uses SIGKILL signal :) 56 56 57 57 === chroot script ===