<?xml 
version="1.0" encoding="utf-8"?><?xml-stylesheet title="XSL formatting" type="text/xsl" href="http://poivron-robotique.fr/spip.php?page=backend.xslt" ?>
<rss version="2.0" 
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:atom="http://www.w3.org/2005/Atom"
>

<channel xml:lang="fr">
	<title>Poivron Robotique</title>
	<link>https://poivron-robotique.fr/</link>
	<description></description>
	<language>fr</language>
	<generator>SPIP - www.spip.net</generator>
	<atom:link href="http://poivron-robotique.fr/spip.php?page=backend" rel="self" type="application/rss+xml" />

	<image>
		<title>Poivron Robotique</title>
		<url>http://poivron-robotique.fr/local/cache-vignettes/L32xH32/siteon0-b9b71.png?1688506244</url>
		<link>https://poivron-robotique.fr/</link>
		<height>32</height>
		<width>32</width>
	</image>



<item xml:lang="fr">
		<title>Raspberry Pi Pico - Le debug </title>
		<link>http://poivron-robotique.fr/Raspberry-Pi-Pico-Le-debug.html</link>
		<guid isPermaLink="true">http://poivron-robotique.fr/Raspberry-Pi-Pico-Le-debug.html</guid>
		<dc:date>2025-09-24T20:20:35Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Keuronde</dc:creator>



		<description>
&lt;p&gt;Raspberry Pi Pico - Le d&#233;bogage &lt;br class='autobr' /&gt;
Le d&#233;bogage d'un RP2040, le microcontr&#244;leur du Raspberry Pi Pico, n'est pas trivial. Le guide de d&#233;marrage rapide donne quelques pistes et l'architecture n&#233;cessaire : Un Raspberry Pi Pico avec son programme (compiler en mode d&#233;bug, de pr&#233;f&#233;rence) Une sonde de d&#233;bogage OpenOCD qui s'interface avec la sonde de d&#233;bogage gdb (https://www.sourceware.org/gdb/) Un IDE qui s'interface avec gdb &lt;br class='autobr' /&gt;
La sonde de d&#233;bogage &lt;br class='autobr' /&gt;
La fondation Raspberry Pi vend une sonde de (&#8230;)&lt;/p&gt;


-
&lt;a href="http://poivron-robotique.fr/-Raspberry-Pi-.html" rel="directory"&gt;Raspberry Pi&lt;/a&gt;


		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;h2 class=&#034;spip&#034; id=&#034;raspberry_pi_pico_le_debogage&#034;&gt;&lt;a title=&#034;Sommaire&#034; href='http://poivron-robotique.fr/spip.php?page=backend#outil_sommaire' class=&#034;sommaire_ancre&#034;&gt; &lt;/a&gt;Raspberry Pi Pico - Le d&#233;bogage&lt;/h2&gt;
&lt;p&gt;Le d&#233;bogage d'un RP2040, le microcontr&#244;leur du Raspberry Pi Pico, n'est pas trivial. Le guide de d&#233;marrage rapide donne quelques pistes et l'architecture n&#233;cessaire :&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Un Raspberry Pi Pico avec son programme (compiler en mode d&#233;bug, de pr&#233;f&#233;rence)&lt;/li&gt;&lt;li&gt; Une sonde de d&#233;bogage&lt;/li&gt;&lt;li&gt; OpenOCD qui s'interface avec la sonde de d&#233;bogage&lt;/li&gt;&lt;li&gt; gdb (&lt;a href=&#034;https://www.sourceware.org/gdb/&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://www.sourceware.org/gdb/&lt;/a&gt;)&lt;/li&gt;&lt;li&gt; Un IDE qui s'interface avec gdb&lt;/li&gt;&lt;/ul&gt;&lt;div class='image' &gt;
&lt;a href='http://poivron-robotique.fr/IMG/png/deboggage.png' title='Architecture pour le d&#233;bogage du Raspberry Pi Pico' type=&#034;image/png&#034; data-lfg=&#034;my_gallery&#034; data-lfg-desc=&#034;Architecture pour le d&#233;bogage du Raspberry Pi Pico&#034;&gt;&lt;img src='http://poivron-robotique.fr/local/cache-vignettes/L137xH187/deboggage-5e052-bb080.png?1758870889' width='137' height='187' /&gt;&lt;/a&gt;
&lt;br&gt;&lt;span class=&#034;legende&#034; style='width:350px;'&gt;Architecture pour le d&#233;bogage du Raspberry Pi Pico&lt;/span&gt;
&lt;/div&gt;&lt;h3 class=&#034;spip&#034; id=&#034;la_sonde_de_debogage&#034;&gt;&lt;a title=&#034;Sommaire&#034; href='http://poivron-robotique.fr/spip.php?page=backend#outil_sommaire' class=&#034;sommaire_ancre&#034;&gt; &lt;/a&gt;La sonde de d&#233;bogage&lt;/h3&gt;
&lt;p&gt;La fondation Raspberry Pi vend une sonde de d&#233;bogage, nomm&#233;e Raspbery Pi Debug Probe. Mais si vous avec des Raspberry Pico sous la main et un fer &#224; souder, vous serez plut&#244;t int&#233;ress&#233;s par la possibilit&#233; de r&#233;aliser vous-m&#234;me la sonde.&lt;/p&gt;
&lt;p&gt;Le d&#233;p&#244;t contenant le code se trouve ici : &lt;a href=&#034;https://github.com/raspberrypi/debugprobe.git&#034; class=&#034;spip_url spip_out auto&#034; rel=&#034;nofollow external&#034;&gt;https://github.com/raspberrypi/debugprobe.git&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Le Reademe d&#233;taille bien la compilation du code. D'abord r&#233;cup&#233;rer le code :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;mkdir debugprobe cd debugprobe git clone https://github.com/raspberrypi/debugprobe . git submodule update --init --recursive&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Puis le compiler, presque comme un projet standard. Il faut cependant pr&#233;ciser sur on compile pour Raspberry Pi Pico ou pour la Raspberry Pi Debug Probe. Pour le Pico :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt; mkdir build cd build cmake -DDEBUG_ON_PICO=ON .. make&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Et injection du code avec Pico Tool, dans le r&#233;pertoire build&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;sudo picotool load build/debugprobe_on_pico.uf2&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 class=&#034;spip&#034; id=&#034;openocd&#034;&gt;&lt;a title=&#034;Sommaire&#034; href='http://poivron-robotique.fr/spip.php?page=backend#outil_sommaire' class=&#034;sommaire_ancre&#034;&gt; &lt;/a&gt;OpenOCD&lt;/h3&gt;
&lt;p&gt;Open On-Chip Debugger, le d&#233;boguer de puce libre. C'est le logiciel qui s'interface avec la sonde de d&#233;bogage. La sonde de d&#233;bogage que nous utilisons est support&#233;e &#224; partir de la version 12. Si vous &#234;tre dans Debian 13 (Trixie), une installation classique devrait faire l'affaire :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;sudo apt install openocd&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Sinon, prenez la version de la fondation Raspberry Pi. Dans le r&#233;pertoire de votre choix&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;mkdir openocd cd openocd git clone https://github.com/raspberrypi/openocd.git . git submodule sync git submodule init --recursive&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Pour compiler openocd, il vous faudra jimtcl, qui est dans un r&#233;pertoire de openocd&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;cd jimtcl ./configure make sudo make install cd ..&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Vous pouvez compiler openocd :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;./configure make sudo make install&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Testez pour vous assurer que l'installation s'est bien pass&#233;e, si vous avez le r&#233;sultat suivant, vous &#234;tes bon !&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;$ sudo openocd -f interface/cmsis-dap.cfg -f target/rp2040.cfg -c &#034;adapter speed 5000&#034; Open On-Chip Debugger 0.12.0+dev-00002-gcd4873400 (2025-09-21-13:58) Licensed under GNU GPL v2 For bug reports, read http://openocd.org/doc/doxygen/bugs.html Info : [rp2040.core0] Hardware thread awareness created Info : [rp2040.core1] Hardware thread awareness created adapter speed: 5000 kHz Info : Listening on port 6666 for tcl connections Info : Listening on port 4444 for telnet connections Error: unable to find a matching CMSIS-DAP device&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Nous nous servirons d'openocd avec les droits d'administrateur, ajoutez-le &#224; la liste des programmes 'root' utilisables sans mots de passe. Trouvez o&#249; est install&#233; openocd :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;$ whereis openocd openocd: /usr/local/bin/openocd&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Lancez visudo :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;sudo visudo&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Et ajoutez la ligne ci-dessous&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;%dialout ALL=(ALL) NOPASSWD: /usr/local/bin/openocd&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Assurez-vous d'&#234;tre dans le groupe &lt;i&gt;dialout&lt;/i&gt; avec la commande &lt;i&gt;groups&lt;/i&gt; :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;$ groups dialout cdrom floppy sudo audio dip video plugdev netdev bluetooth lpadmin scanner&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Dans le cas contraire, ajouter votre utilisateur au groupe &lt;i&gt;dialout&lt;/i&gt;, un red&#233;marrage peut-&#234;tre n&#233;cessaire pour que la commande prenne effet :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;$ sudo adduser $USER dialout&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 class=&#034;spip&#034; id=&#034;install_gdb_multiarch&#034;&gt;&lt;a title=&#034;Sommaire&#034; href='http://poivron-robotique.fr/spip.php?page=backend#outil_sommaire' class=&#034;sommaire_ancre&#034;&gt; &lt;/a&gt;Install gdb-multiarch&lt;/h3&gt;
&lt;p&gt;La version dans les d&#233;p&#244;ts fait tr&#232;s bien l'affaire !&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;sudo apt install gdb-multiarch&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 class=&#034;spip&#034; id=&#034;test_de_programmation&#034;&gt;&lt;a title=&#034;Sommaire&#034; href='http://poivron-robotique.fr/spip.php?page=backend#outil_sommaire' class=&#034;sommaire_ancre&#034;&gt; &lt;/a&gt;Test de programmation&lt;/h3&gt;
&lt;p&gt;Le Pico cible doit &#234;tre aliment&#233;, la sonde est aliment&#233;e par l'USB. Vous pouvez alimenter la cible par l'USB aussi.&lt;/p&gt;
&lt;p&gt;Attention mon_programme.elf doit correspondre avec votre fichier. Notez que Picotool n&#233;cessite un fichier .uf2 tandis que openocd prend un fichier .elf.&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;sudo openocd -f interface/cmsis-dap.cfg -f target/rp2040.cfg -c &#034;adapter speed 5000&#034; -c &#034;program mon_programme.elf verify reset exit&#034;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 class=&#034;spip&#034; id=&#034;compilation_avec_symboles_de_debogage&#034;&gt;&lt;a title=&#034;Sommaire&#034; href='http://poivron-robotique.fr/spip.php?page=backend#outil_sommaire' class=&#034;sommaire_ancre&#034;&gt; &lt;/a&gt;Compilation avec symboles de d&#233;bogage&lt;/h3&gt;
&lt;p&gt;Videz votre r&#233;pertoire 'build' de vote projet, relancez cmake avec l'option de Debug.&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;cmake -DCMAKE_BUILD_TYPE=Debug .. make &lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Flasher votre programme sur la cible.&lt;/p&gt;
&lt;h3 class=&#034;spip&#034; id=&#034;premier_debogage&#034;&gt;&lt;a title=&#034;Sommaire&#034; href='http://poivron-robotique.fr/spip.php?page=backend#outil_sommaire' class=&#034;sommaire_ancre&#034;&gt; &lt;/a&gt;Premier debogage&lt;/h3&gt;
&lt;p&gt;Lancer openOCD&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;sudo openocd -f interface/cmsis-dap.cfg -f target/rp2040.cfg -c &#034;adapter speed 5000&#034;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Vous devrez relancer cette commande &#224; chaque fois que vous d&#233;branchez votre sonde (debugprobe).&lt;/p&gt;
&lt;p&gt;Ex&#233;cutez gdb en lui donnant en argument le nom de votre programme. Entrez les commandes suivantes pour vous connecter &#224; la cible &#224; travers OpenOCD.&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;gdb mon_programme.elf &gt; target remote localhost:3333 &gt; monitor reset init &gt; continue&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 class=&#034;spip&#034; id=&#034;configuration_de_vs_code&#034;&gt;&lt;a title=&#034;Sommaire&#034; href='http://poivron-robotique.fr/spip.php?page=backend#outil_sommaire' class=&#034;sommaire_ancre&#034;&gt; &lt;/a&gt;Configuration de VS Code&lt;/h3&gt;
&lt;p&gt;Tout d'abord, cr&#233;ons une t&#226;che pour compiler en mode debug. Ajouter dans le fichier task.json la t&#226;che suivante :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt; , { &#034;type&#034;: &#034;shell&#034;, &#034;command&#034;: &#034;cd debug; cmake -DCMAKE_BUILD_TYPE=Debug ../; make Flash&#034;, &#034;label&#034;: &#034;Flash Debug&#034;, &#034;problemMatcher&#034;: [], &#034;group&#034;: { &#034;kind&#034;: &#034;build&#034;, &#034;isDefault&#034;: false } }&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Cr&#233;ez le r&#233;pertoire debug dans votre projet avant de lancer la t&#226;che.&lt;/p&gt;
&lt;p&gt;Dans le dossier .vscode de votre projet, cr&#233;ez le fichier launch.json suivant :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;{ &#034;version&#034;: &#034;0.2.0&#034;, &#034;configurations&#034;: [ { &#034;name&#034;: &#034;Pico Debug (Cortex-Debug with external OpenOCD)&#034;, &#034;cwd&#034;: &#034;${workspaceRoot}&#034;, &#034;executable&#034;: &#034;debug/mon_programme.elf&#034;, &#034;request&#034;: &#034;launch&#034;, &#034;type&#034;: &#034;cortex-debug&#034;, &#034;servertype&#034;: &#034;external&#034;, &#034;gdbTarget&#034;: &#034;localhost:3333&#034;, &#034;gdbPath&#034;: &#034;gdb-multiarch&#034;, &#034;device&#034;: &#034;RP2040&#034;, &#034;svdFile&#034;: &#034;${env:PICO_SDK_PATH}/src/rp2040/hardware_regs/RP2040.svd&#034;, &#034;runToEntryPoint&#034;: &#034;main&#034;, // Fix for no_flash binaries, where monitor reset halt doesn't do what is expected // Also works fine for flash binaries &#034;overrideLaunchCommands&#034;: [ &#034;monitor reset init&#034;, &#034;load debug/mon_programme.elf&#034; ] }, ] }&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Adaptez le chemin de &#034;debug/mon_programme.elf&#034; pour le faire correspondre au v&#244;tre.&lt;/p&gt;
&lt;p&gt;Si tout c'est bien pass&#233;, vous pouvez vous connecter &#224; votre cible en USB, et la flasher avec le programme compil&#233; en debug. Puis brancher votre sonde, lancer le serveur openOCD :&lt;/p&gt;
&lt;div class=&#034;precode&#034;&gt;&lt;pre class='spip_code spip_code_block' dir='ltr' style='text-align:left;'&gt;&lt;code&gt;sudo openocd -f interface/cmsis-dap.cfg -f target/rp2040.cfg -c &#034;adapter speed 5000&#034;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Enfin, dans VS Code, appuyez sur F5 (ou allez dans Run -&gt; Start Debugging) et vous d&#233;bogguer votre cible !&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>Triangulation</title>
		<link>http://poivron-robotique.fr/Triangulation.html</link>
		<guid isPermaLink="true">http://poivron-robotique.fr/Triangulation.html</guid>
		<dc:date>2023-10-29T14:36:55Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Keuronde</dc:creator>



		<description>
&lt;p&gt;Voici l'&#233;tude d'une localisation en se basant sur les angles que mesure un robot par rapport &#224; des points connus (balises). &lt;br class='autobr' /&gt;
Les principes &lt;br class='autobr' /&gt;
La logique se base sur deux principes math&#233;matiques : La somme des angles d'un triangle vaut 180&#176; L'&#233;quation d'une droite dans le plan &lt;br class='autobr' /&gt;
Convention pour les angles &lt;br class='autobr' /&gt;
Nous utiliserons le sens conventionnel pour les angles, comme indiqu&#233; dans l'image ci-dessous &lt;br class='autobr' /&gt;
La somme des angles d'un triangle &lt;br class='autobr' /&gt;
L'&#233;quation d'une droite Un point $M$ de coordonn&#233;es (&#8230;)&lt;/p&gt;


-
&lt;a href="http://poivron-robotique.fr/-Nos-Articles-.html" rel="directory"&gt;Nos Articles&lt;/a&gt;


		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;p&gt;Voici l'&#233;tude d'une localisation en se basant sur les angles que mesure un robot par rapport &#224; des points connus (balises).&lt;/p&gt;
&lt;h2 class=&#034;spip&#034; id=&#034;les_principes&#034;&gt;&lt;a title=&#034;Sommaire&#034; href='http://poivron-robotique.fr/spip.php?page=backend#outil_sommaire' class=&#034;sommaire_ancre&#034;&gt; &lt;/a&gt;Les principes&lt;/h2&gt;
&lt;p&gt;La logique se base sur deux principes math&#233;matiques :&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; La somme des angles d'un triangle vaut 180&#176;&lt;/li&gt;&lt;li&gt; L'&#233;quation d'une droite dans le plan&lt;/li&gt;&lt;/ul&gt;&lt;h3 class=&#034;spip&#034; id=&#034;convention_pour_les_angles&#034;&gt;&lt;a title=&#034;Sommaire&#034; href='http://poivron-robotique.fr/spip.php?page=backend#outil_sommaire' class=&#034;sommaire_ancre&#034;&gt; &lt;/a&gt;Convention pour les angles&lt;/h3&gt;
&lt;p&gt;Nous utiliserons le sens conventionnel pour les angles, comme indiqu&#233; dans l'image ci-dessous&lt;/p&gt;
&lt;div class='image' &gt;
&lt;a href='http://poivron-robotique.fr/IMG/png/signeangles.png' title='Signe des angles' type=&#034;image/png&#034; data-lfg=&#034;my_gallery&#034; data-lfg-desc=&#034;Signe des angles&#034;&gt;&lt;img src='http://poivron-robotique.fr/local/cache-vignettes/L250xH98/signeangles-0282c-1e9ed.png?1698706795' width='250' height='98' /&gt;&lt;/a&gt;
&lt;br&gt;&lt;span class=&#034;legende&#034; style='width:350px;'&gt;Signe des angles&lt;/span&gt;
&lt;/div&gt;&lt;h3 class=&#034;spip&#034; id=&#034;la_somme_des_angles_d_un_triangle&#034;&gt;&lt;a title=&#034;Sommaire&#034; href='http://poivron-robotique.fr/spip.php?page=backend#outil_sommaire' class=&#034;sommaire_ancre&#034;&gt; &lt;/a&gt;La somme des angles d'un triangle&lt;/h3&gt;&lt;h3 class=&#034;spip&#034; id=&#034;l_equation_d_une_droite&#034;&gt;&lt;a title=&#034;Sommaire&#034; href='http://poivron-robotique.fr/spip.php?page=backend#outil_sommaire' class=&#034;sommaire_ancre&#034;&gt; &lt;/a&gt;L'&#233;quation d'une droite&lt;/h3&gt;
&lt;p&gt;Un point &lt;span class=&#034;spip-math&#034;&gt;$M$&lt;/span&gt; de coordonn&#233;es &lt;span class=&#034;spip-math&#034;&gt;$(x, y)$&lt;/span&gt; d&#233;crit une droite s'il r&#233;pond &#224; certaines &#233;quations.&lt;/p&gt;
&lt;p&gt;La premi&#232;re &#233;quation qui vient &#224; l'esprit est g&#233;n&#233;ralement :&lt;br class='autobr' /&gt; &lt;p class=&#034;spip spip-math&#034;&gt;$$ y = ax+b$$&lt;/p&gt;
&lt;/p&gt;
&lt;p&gt;Cette &#233;quation est imparfaite dans la mesure o&#249; elle ne permet pas de repr&#233;senter une droite verticale. Nous lui pr&#233;f&#233;rons g&#233;n&#233;ralement cette forme :&lt;/p&gt;
&lt;p&gt;
&lt;p class=&#034;spip spip-math&#034;&gt;$$ ax + by + c = 0 $$&lt;/p&gt;
&lt;/p&gt;
&lt;p&gt;Mais dans notre cas, nous allons vouloir repr&#233;senter des droites qui ont un certain angle &lt;span class=&#034;spip-math&#034;&gt;$\alpha$&lt;/span&gt; et qui passent par un point connu (notre balise - de coordonn&#233;es &lt;span class=&#034;spip-math&#034;&gt;$(P_x, P_y)$&lt;/span&gt;).&lt;/p&gt;
&lt;div class='image' &gt;
&lt;a href='http://poivron-robotique.fr/IMG/png/equationdroite.png' title='&#201;quation d'une droite' type=&#034;image/png&#034; data-lfg=&#034;my_gallery&#034; data-lfg-desc=&#034;&#201;quation d'une droite&#034;&gt;&lt;img src='http://poivron-robotique.fr/local/cache-vignettes/L250xH170/equationdroite-2418f-37be5.png?1698706795' width='250' height='170' /&gt;&lt;/a&gt;
&lt;br&gt;&lt;span class=&#034;legende&#034; style='width:350px;'&gt;&#201;quation d'une droite&lt;/span&gt;
&lt;/div&gt;
&lt;p&gt;Travailler avec l'&#233;quation ci-dessus devrait simplifier la d&#233;marche :&lt;/p&gt;
&lt;p&gt;
&lt;p class=&#034;spip spip-math&#034;&gt;$$ \left\{ \begin{array}{c} x = P_x + cos(\alpha) \times t\\ y = P_y + sin(\alpha) \times t\\ \end{array} \right. $$&lt;/p&gt;
&lt;/p&gt;
&lt;h2 class=&#034;spip&#034; id=&#034;la_logique&#034;&gt;&lt;a title=&#034;Sommaire&#034; href='http://poivron-robotique.fr/spip.php?page=backend#outil_sommaire' class=&#034;sommaire_ancre&#034;&gt; &lt;/a&gt;La logique&lt;/h2&gt;&lt;h3 class=&#034;spip&#034; id=&#034;intersections_de_droites&#034;&gt;&lt;a title=&#034;Sommaire&#034; href='http://poivron-robotique.fr/spip.php?page=backend#outil_sommaire' class=&#034;sommaire_ancre&#034;&gt; &lt;/a&gt;Intersections de droites&lt;/h3&gt;
&lt;p&gt;Notre point est &#224; l'intersection de 3 droites, passant chacune par une balises et par le robot.&lt;/p&gt;
&lt;p&gt;Notons &lt;span class=&#034;spip-math&#034;&gt;$\alpha$&lt;/span&gt;, l'angle de la droite qui passe par la balise &lt;span class=&#034;spip-math&#034;&gt;$A$&lt;/span&gt; et notre robot. Puis &lt;span class=&#034;spip-math&#034;&gt;$\beta$&lt;/span&gt; et &lt;span class=&#034;spip-math&#034;&gt;$\gamma$&lt;/span&gt;, les angles des droites qui passent respectivement par la balise &lt;span class=&#034;spip-math&#034;&gt;$B$&lt;/span&gt; et le robot et la balise &lt;span class=&#034;spip-math&#034;&gt;$C$&lt;/span&gt; et le robot.&lt;/p&gt;
&lt;div class='image' &gt;
&lt;a href='http://poivron-robotique.fr/IMG/png/anglesrecherches.png' title='Angles recherch&#233;s' type=&#034;image/png&#034; data-lfg=&#034;my_gallery&#034; data-lfg-desc=&#034;Angles recherch&#233;s&#034;&gt;&lt;img src='http://poivron-robotique.fr/local/cache-vignettes/L250xH183/anglesrecherches-49863-99947.png?1698706795' width='250' height='183' /&gt;&lt;/a&gt;
&lt;br&gt;&lt;span class=&#034;legende&#034; style='width:350px;'&gt;Angles recherch&#233;s&lt;/span&gt;
&lt;/div&gt;
&lt;p&gt;Notre robot est le point qui appartient &#224; ces trois droites, il faut donc r&#233;soudre les &#233;quations :&lt;/p&gt;
&lt;p&gt;
&lt;p class=&#034;spip spip-math&#034;&gt;$$ \left\{ \begin{array}{c} x = A_x + cos(\alpha) \times t_a\\ y = A_y + sin(\alpha) \times t_a\\ \\ x = B_x + cos(\beta) \times t_b\\ y = B_y + sin(\beta) \times t_b\\ \\ x = C_x + cos(\gamma) \times t_c\\ y = C_y + sin(\gamma) \times t_c\\ \end{array} \right. $$&lt;/p&gt;
&lt;/p&gt;
&lt;p&gt;Ce qui nous fait un total de 8 inconnues : &lt;span class=&#034;spip-math&#034;&gt;$x$&lt;/span&gt;, &lt;span class=&#034;spip-math&#034;&gt;$y$&lt;/span&gt;, &lt;span class=&#034;spip-math&#034;&gt;$\alpha$&lt;/span&gt;, &lt;span class=&#034;spip-math&#034;&gt;$\beta$&lt;/span&gt;, &lt;span class=&#034;spip-math&#034;&gt;$\gamma$&lt;/span&gt;, &lt;span class=&#034;spip-math&#034;&gt;$t_a$&lt;/span&gt;, &lt;span class=&#034;spip-math&#034;&gt;$t_b$&lt;/span&gt;, &lt;span class=&#034;spip-math&#034;&gt;$t_c$&lt;/span&gt;, pour 6 &#233;quations ind&#233;pendantes. Pour trouver les deux &#233;quations restantes, nous allons travailler sur les angles&lt;/p&gt;
&lt;h3 class=&#034;spip&#034; id=&#034;reduction_des_inconnues_par_les_angles&#034;&gt;&lt;a title=&#034;Sommaire&#034; href='http://poivron-robotique.fr/spip.php?page=backend#outil_sommaire' class=&#034;sommaire_ancre&#034;&gt; &lt;/a&gt;R&#233;duction des inconnues par les angles&lt;/h3&gt;
&lt;p&gt;Notre robot mesure l'angle entre les balises &lt;span class=&#034;spip-math&#034;&gt;$A$&lt;/span&gt; et &lt;span class=&#034;spip-math&#034;&gt;$B$&lt;/span&gt; et les balises &lt;span class=&#034;spip-math&#034;&gt;$A$&lt;/span&gt; et &lt;span class=&#034;spip-math&#034;&gt;$C$&lt;/span&gt;. Notons les &lt;span class=&#034;spip-math&#034;&gt;$\theta_1$&lt;/span&gt; et &lt;span class=&#034;spip-math&#034;&gt;$\theta_2$&lt;/span&gt;.&lt;/p&gt;
&lt;div class='image' &gt;
&lt;a href='http://poivron-robotique.fr/IMG/png/anglesmesures.png' title='Angles mesur&#233;s' type=&#034;image/png&#034; data-lfg=&#034;my_gallery&#034; data-lfg-desc=&#034;Angles mesur&#233;s&#034;&gt;&lt;img src='http://poivron-robotique.fr/local/cache-vignettes/L250xH183/anglesmesures-c6e78-43677.png?1698706795' width='250' height='183' /&gt;&lt;/a&gt;
&lt;br&gt;&lt;span class=&#034;legende&#034; style='width:350px;'&gt;Angles mesur&#233;s&lt;/span&gt;
&lt;/div&gt;
&lt;p&gt;Sachant que la somme des angles d'un triangle vaut 180&#176;, nous pouvons exprimer &lt;span class=&#034;spip-math&#034;&gt;$\beta$&lt;/span&gt; et &lt;span class=&#034;spip-math&#034;&gt;$\gamma$&lt;/span&gt; en fonction d'&lt;span class=&#034;spip-math&#034;&gt;$\alpha$&lt;/span&gt; et de donn&#233;es connues.&lt;/p&gt;
&lt;p&gt;Exprimons les angles &lt;span class=&#034;spip-math&#034;&gt;$\alpha$&lt;/span&gt;, &lt;span class=&#034;spip-math&#034;&gt;$\beta$&lt;/span&gt; et &lt;span class=&#034;spip-math&#034;&gt;$\gamma$&lt;/span&gt; en fonction d'angles connus :&lt;/p&gt;
&lt;p&gt;
&lt;p class=&#034;spip spip-math&#034;&gt;$$ \left\{ \begin{array}{c} \alpha = \widehat{A_1} - \widehat{RAB} \\ \beta = \widehat{B} + \widehat{RBA} \\ \gamma = \widehat{C} - \widehat{ACR} \\ \end{array} \right. $$&lt;/p&gt;
&lt;/p&gt;
&lt;div class='image' &gt;
&lt;a href='http://poivron-robotique.fr/IMG/png/angles_simplification_1.png' title='R&#233;ductions des inconnues (1)' type=&#034;image/png&#034; data-lfg=&#034;my_gallery&#034; data-lfg-desc=&#034;R&#233;ductions des inconnues (1)&#034;&gt;&lt;img src='http://poivron-robotique.fr/local/cache-vignettes/L250xH183/angles_simplification_1-d2df3-931b4.png?1698706795' width='250' height='183' /&gt;&lt;/a&gt;
&lt;br&gt;&lt;span class=&#034;legende&#034; style='width:350px;'&gt;R&#233;ductions des inconnues (1)&lt;/span&gt;
&lt;/div&gt;
&lt;p&gt;On peut exprimer tous ces angles en fonction d'un seul angle inconnu, choisissons &lt;span class=&#034;spip-math&#034;&gt;$\widehat{RAB}$&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;Consid&#233;rons le triangle ABR, pour exprimer &lt;span class=&#034;spip-math&#034;&gt;$\beta$&lt;/span&gt; en fonction de &lt;span class=&#034;spip-math&#034;&gt;$\widehat{RAB}$&lt;/span&gt; et des angles connus :&lt;/p&gt;
&lt;div class='image' &gt;
&lt;a href='http://poivron-robotique.fr/IMG/png/angles_triangle_b.png' title='Triangle ABR' type=&#034;image/png&#034; data-lfg=&#034;my_gallery&#034; data-lfg-desc=&#034;Triangle ABR&#034;&gt;&lt;img src='http://poivron-robotique.fr/local/cache-vignettes/L250xH183/angles_triangle_b-9be85-a1f60.png?1698706795' width='250' height='183' /&gt;&lt;/a&gt;
&lt;br&gt;&lt;span class=&#034;legende&#034; style='width:350px;'&gt;Triangle ABR&lt;/span&gt;
&lt;/div&gt;
&lt;p&gt;
&lt;p class=&#034;spip spip-math&#034;&gt;$$\beta = \widehat{B} + (180 - \theta_1 - \widehat{RAB}) $$&lt;/p&gt;
&lt;/p&gt;
&lt;p&gt;Consid&#233;rons le triangle ACR, pour exprimer &lt;span class=&#034;spip-math&#034;&gt;$\gamma$&lt;/span&gt; en fonction de &lt;span class=&#034;spip-math&#034;&gt;$\widehat{RAB}$&lt;/span&gt; et des angles connus :&lt;/p&gt;
&lt;div class='image' &gt;
&lt;a href='http://poivron-robotique.fr/IMG/png/angles_triangle_c.png' title='Triangle ACR' type=&#034;image/png&#034; data-lfg=&#034;my_gallery&#034; data-lfg-desc=&#034;Triangle ACR&#034;&gt;&lt;img src='http://poivron-robotique.fr/local/cache-vignettes/L250xH183/angles_triangle_c-3407a-6e3be.png?1698706795' width='250' height='183' /&gt;&lt;/a&gt;
&lt;br&gt;&lt;span class=&#034;legende&#034; style='width:350px;'&gt;Triangle ACR&lt;/span&gt;
&lt;/div&gt;
&lt;p&gt;
&lt;p class=&#034;spip spip-math&#034;&gt;$$ \begin{array}{l} \gamma = \widehat{C} - (180 - \theta_2 - \widehat{CAR}) \\ \gamma = \widehat{C} - (180 - \theta_2 - (\widehat{A_1} - \widehat{A_2} - \widehat{RAB}))\\ \gamma = \widehat{C} - 180 + \theta_2 + \widehat{A_1} - \widehat{A_2} - \widehat{RAB} \end{array} $$&lt;/p&gt;
&lt;/p&gt;
&lt;p&gt;Nous obtenons alors les &#233;quations suivantes :&lt;/p&gt;
&lt;p&gt;
&lt;p class=&#034;spip spip-math&#034;&gt;$$ \left\{ \begin{array}{lc} x = A_x + cos(\widehat{A_1} - \widehat{RAB}) \times t_a &amp; (1)\\ y = A_y + sin(\widehat{A_1} - \widehat{RAB}) \times t_a &amp; (2)\\ \\ x = B_x + cos(\widehat{B} + (180 - \theta_1 - \widehat{RAB})) \times t_b &amp; (3)\\ y = B_y + sin(\widehat{B} + (180 - \theta_1 - \widehat{RAB})) \times t_b &amp; (4)\\ \\ x = C_x + cos(\widehat{C} - 180 + \theta_2 + \widehat{A_1} - \widehat{A_2} - \widehat{RAB}) \times t_c &amp; (5)\\ y = C_y + sin(\widehat{C} - 180 + \theta_2 + \widehat{A_1} - \widehat{A_2} - \widehat{RAB}) \times t_c &amp; (6)\\ \end{array} \right. $$&lt;/p&gt;
&lt;/p&gt;
&lt;p&gt;Ce qui nous fait 6 inconnues &lt;span class=&#034;spip-math&#034;&gt;$x$&lt;/span&gt;, &lt;span class=&#034;spip-math&#034;&gt;$y$&lt;/span&gt;, &lt;span class=&#034;spip-math&#034;&gt;$\widehat{RAB}$&lt;/span&gt;, &lt;span class=&#034;spip-math&#034;&gt;$t_a$&lt;/span&gt;, &lt;span class=&#034;spip-math&#034;&gt;$t_b$&lt;/span&gt;, &lt;span class=&#034;spip-math&#034;&gt;$t_c$&lt;/span&gt; pour 6 &#233;quation ind&#233;pendantes. Le tour parait jou&#233;, &#034;y'a plus qu'&#224;&#034; r&#233;soudre le syst&#232;me, et pourquoi pas avec une m&#233;thode de &lt;a href=&#034;https://fr.wikipedia.org/wiki/R%C3%A8gle_de_Cramer&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;Cramer&lt;/a&gt; ?&lt;/p&gt;
&lt;p&gt;La r&#232;gle de Cramer ne s'applique qu'aux &#233;quations lin&#233;aires ! Or ici, nous avons des inconnues dans les fonctions sinus et cosinus.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034; id=&#034;resolution&#034;&gt;&lt;a title=&#034;Sommaire&#034; href='http://poivron-robotique.fr/spip.php?page=backend#outil_sommaire' class=&#034;sommaire_ancre&#034;&gt; &lt;/a&gt;R&#233;solution&lt;/h2&gt;
&lt;p&gt;La r&#233;solution analytique ne semble pas bien partie, mais essayons quand m&#234;me de r&#233;soudre ce syst&#232;me d'&#233;quation au maximum, pour d&#233;pendre d'un minimum d'inconnues.&lt;/p&gt;
&lt;p&gt;Exprimons &lt;span class=&#034;spip-math&#034;&gt;$t_b$&lt;/span&gt; et &lt;span class=&#034;spip-math&#034;&gt;$t_c$&lt;/span&gt; en fonction de &lt;span class=&#034;spip-math&#034;&gt;$t_a$&lt;/span&gt; &#224; l'aide des &#233;quations (1) et (3) puis (1) et (5).&lt;/p&gt;
&lt;p&gt;
&lt;p class=&#034;spip spip-math&#034;&gt;$$ t_b = \frac{A_x - B_x + \cos(\widehat{A_1} - \widehat{RAB}) \times t_a}{ \cos(\widehat{B} + 180 - \theta_1 - \widehat{RAB})} $$&lt;/p&gt;
&lt;br class='autobr' /&gt; &lt;p class=&#034;spip spip-math&#034;&gt;$$ t_c = \frac{A_x - C_x + \cos(\widehat{A_1} - \widehat{RAB}) \times t_a}{cos(\widehat{C} - 180 + \theta_2 + \widehat{A_1} - \widehat{A_2} - \widehat{RAB})} $$&lt;/p&gt;
&lt;/p&gt;
&lt;p&gt;Maintenant, utilisons ces expressions de &lt;span class=&#034;spip-math&#034;&gt;$t_b$&lt;/span&gt; et &lt;span class=&#034;spip-math&#034;&gt;$t_c$&lt;/span&gt; dans les &#233;quations en y, (4) et (6)&lt;/p&gt;
&lt;p&gt;
&lt;p class=&#034;spip spip-math&#034;&gt;$$ \left\{ \begin{array}{lc} y = B_y + sin(\widehat{B} + (180 - \theta_1 - \widehat{RAB})) \times \frac{A_x - B_x + \cos(\widehat{A_1} - \widehat{RAB}) \times t_a}{ \cos(\widehat{B} + (180 - \theta_1 - \widehat{RAB})} \\ y = C_y + sin(\widehat{C} - 180 + \theta_2 + \widehat{A_1} - \widehat{A_2} - \widehat{RAB}) \times \frac{A_x - C_x + \cos(\widehat{A_1} - \widehat{RAB}) \times t_a}{cos(\widehat{C} - 180 + \theta_2 + \widehat{A_1} - \widehat{A_2} - \widehat{RAB})} \\ \end{array} \right. $$&lt;/p&gt;
&lt;/p&gt;
&lt;p&gt;Sachant que &lt;span class=&#034;spip-math&#034;&gt;$\tan(x) = \frac{\sin(x)}{\cos(x)}$&lt;/span&gt; et que &lt;span class=&#034;spip-math&#034;&gt;$\tan(x+180) = \tan(x-180) = \tan(x)$&lt;/span&gt;, nous pouvons simplifier l&#233;g&#232;rement l'&#233;criture.&lt;/p&gt;
&lt;p&gt;
&lt;p class=&#034;spip spip-math&#034;&gt;$$ \left\{ \begin{array}{lc} y = B_y + \tan(\widehat{B} -\theta_1 - \widehat{RAB}) \times [A_x - B_x + \cos(\widehat{A_1} - \widehat{RAB}) \times t_a] \\ y = C_y + \tan(\widehat{C} + \theta_2 + \widehat{A_1} - \widehat{A_2} - \widehat{RAB}) \times [A_x - C_x + \cos(\widehat{A_1} - \widehat{RAB}) \times t_a] \\ \end{array} \right. $$&lt;/p&gt;
&lt;/p&gt;
&lt;p&gt;&#192; partir de l&#224;, comme &lt;span class=&#034;spip-math&#034;&gt;$y=y$&lt;/span&gt; nous pouvons exprimer &lt;span class=&#034;spip-math&#034;&gt;$t_a$&lt;/span&gt; en fonction de &lt;span class=&#034;spip-math&#034;&gt;$\widehat{RAB}$&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;
&lt;p class=&#034;spip spip-math&#034;&gt;$$ \begin{array}{rl} C_y - B_y = &amp; \tan(\widehat{B} -\theta_1 - \widehat{RAB}) \times [A_x - B_x]\\ &amp; - \tan(\widehat{C} + \theta_2 + \widehat{A_1} - \widehat{A_2} - \widehat{RAB}) \times [A_x - C_x] \\ &amp; + \tan(\widehat{B} -\theta_1 - \widehat{RAB}) \times \cos(\widehat{A_1} - \widehat{RAB}) \times t_a \\ &amp; - \tan(\widehat{C} + \theta_2 + \widehat{A_1} - \widehat{A_2} - \widehat{RAB}) \times \cos(\widehat{A_1} - \widehat{RAB}) \times t_a \end{array} $$&lt;/p&gt;
&lt;/p&gt;
&lt;p&gt;En isolant les termes contenant &lt;span class=&#034;spip-math&#034;&gt;$t_a$&lt;/span&gt; :&lt;/p&gt;
&lt;p&gt;
&lt;p class=&#034;spip spip-math&#034;&gt;$$ \begin{array}{rcl} C_y - B_y - \tan(\widehat{B} -\theta_1 - \widehat{RAB}) \times [A_x - B_x] \\ + \tan(\widehat{C} + \theta_2 + \widehat{A_1} - \widehat{A_2} - \widehat{RAB}) \times [A_x - C_x] &amp; = &amp; [\tan(\widehat{B} -\theta_1 - \widehat{RAB}) - \tan(\widehat{C} + \theta_2 + \widehat{A_1} - \widehat{A_2} - \widehat{RAB})] \\ &amp; &amp; \times \cos(\widehat{A_1} - \widehat{RAB}) \times t_a \end{array} $$&lt;/p&gt;
&lt;/p&gt;
&lt;p&gt;Soit :&lt;br class='autobr' /&gt; &lt;p class=&#034;spip spip-math&#034;&gt;$$ t_a = \frac{C_y - B_y - \tan(\widehat{B} -\theta_1 - \widehat{RAB}) \times [A_x - B_x] + \tan(\widehat{C} + \theta_2 + \widehat{A_1} - \widehat{A_2} - \widehat{RAB}) \times [A_x - C_x] }{ [\tan(\widehat{B} -\theta_1 - \widehat{RAB}) - \tan(\widehat{C} + \theta_2 + \widehat{A_1} - \widehat{A_2} - \widehat{RAB})] \times \cos(\widehat{A_1} - \widehat{RAB})} $$&lt;/p&gt;
&lt;/p&gt;
&lt;h3 class=&#034;spip&#034; id=&#034;solveur&#034;&gt;&lt;a title=&#034;Sommaire&#034; href='http://poivron-robotique.fr/spip.php?page=backend#outil_sommaire' class=&#034;sommaire_ancre&#034;&gt; &lt;/a&gt;Solveur&lt;/h3&gt;
&lt;p&gt;Maintenant, nous avons toutes les &#233;quations, mais en fonction de l'angle &lt;span class=&#034;spip-math&#034;&gt;$\widehat{RAB}$&lt;/span&gt; choisi, nous trouvons plusieurs positions pour le robot en fonction des &#233;quations utilis&#233;es. La &#034;bonne&#034; valeur de &lt;span class=&#034;spip-math&#034;&gt;$\widehat{RAB}$&lt;/span&gt; est celle qui donne le m&#234;me point qu'il soit calcul&#233; avec les &#233;quations &lt;i&gt;(1) et (2)&lt;/i&gt; ou &lt;i&gt;(3) et (4)&lt;/i&gt;. Il faut maintenant travailler sur une r&#233;solution rapide de ce probl&#232;me.&lt;/p&gt;
&lt;p&gt;Voici un tableur, &lt;a href='http://poivron-robotique.fr/IMG/ods/calcul_triangulation.ods' class=&#034;spip_in&#034; type='application/vnd.oasis.opendocument.spreadsheet'&gt;Calculs de triangulation&lt;/a&gt;, pour visualiser les calculs et les r&#233;sultats.&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		
		<enclosure url="http://poivron-robotique.fr/IMG/ods/calcul_triangulation.ods" length="22852" type="application/vnd.oasis.opendocument.spreadsheet" />
		

	</item>
<item xml:lang="fr">
		<title>Capsicum - le robot qui garde le cap !</title>
		<link>http://poivron-robotique.fr/Capsicum-le-robot-qui-garde-le-cap.html</link>
		<guid isPermaLink="true">http://poivron-robotique.fr/Capsicum-le-robot-qui-garde-le-cap.html</guid>
		<dc:date>2023-08-15T20:42:49Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Elfline, Keuronde</dc:creator>



		<description>
&lt;p&gt;Ce robot est bas&#233; sur l'architecture de 2014, m&#234;me moteurs, m&#234;me gyroscope, m&#234;me base m&#233;canique, m&#234;me carte &#233;lectronique. &lt;br class='autobr' /&gt;
Le but &#233;tait de reprendre la comp&#233;tition en douceur en visant uniquement les actions simples mais en &#233;tant capable de les r&#233;aliser de mani&#232;re r&#233;p&#233;table. &lt;br class='autobr' /&gt;
Nous construisons donc Capsicum actionneur apr&#232;s actionneur. Ce qui en r&#233;sultera sera un tas de baguettes de bois actionn&#233;s par des servomoteurs. Un seul actionneur n&#233;cessite 2 servomoteurs. Tous nos autres (&#8230;)&lt;/p&gt;


-
&lt;a href="http://poivron-robotique.fr/-Nos-Robots-.html" rel="directory"&gt;Nos Robots&lt;/a&gt;


		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;p&gt;&lt;span class='spip_document_408 spip_documents spip_documents_center'&gt;&lt;img src='http://poivron-robotique.fr/local/cache-vignettes/L500xH670/photopresentation-503bc.jpg?1692600946' style='max-height:100vh;max-width:100%;' title=&#034;Capsicum&#034; alt=&#034;Capsicum&#034; width='500' height='670' /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Ce robot est bas&#233; sur l'architecture de 2014, m&#234;me moteurs, m&#234;me gyroscope, m&#234;me base m&#233;canique, m&#234;me carte &#233;lectronique.&lt;/p&gt;
&lt;p&gt;Le but &#233;tait de reprendre la comp&#233;tition en douceur en visant uniquement les actions simples mais en &#233;tant capable de les r&#233;aliser de mani&#232;re r&#233;p&#233;table.&lt;/p&gt;
&lt;p&gt;Nous construisons donc Capsicum actionneur apr&#232;s actionneur. Ce qui en r&#233;sultera sera un tas de baguettes de bois actionn&#233;s par des servomoteurs. Un seul actionneur n&#233;cessite 2 servomoteurs. Tous nos autres actionneurs utilisent un unique servomoteur. Robustesse, simplicit&#233;.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034; id=&#034;les_resultats&#034;&gt;&lt;a title=&#034;Sommaire&#034; href='http://poivron-robotique.fr/spip.php?page=backend#outil_sommaire' class=&#034;sommaire_ancre&#034;&gt; &lt;/a&gt;Les r&#233;sultats&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Capsicum se hisse &#224; la 10e place au classement g&#233;n&#233;ral&lt;/strong&gt; et nous obtenons le prix de l'&#233;co-conception de la part du Jury. Le choix du jury est principalement motiv&#233; par :&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; la m&#233;canique en bois ;&lt;/li&gt;&lt;li&gt; la carte &#233;lectronique utilisant des microcontr&#244;leurs peu puissants ;&lt;/li&gt;&lt;li&gt; la simplicit&#233; de nos actionneurs.&lt;/li&gt;&lt;/ul&gt;&lt;h2 class=&#034;spip&#034; id=&#034;strategie&#034;&gt;&lt;a title=&#034;Sommaire&#034; href='http://poivron-robotique.fr/spip.php?page=backend#outil_sommaire' class=&#034;sommaire_ancre&#034;&gt; &lt;/a&gt;Strat&#233;gie&lt;/h2&gt;&lt;ol class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Le robot sort de sa zone de d&#233;part avec sa r&#233;plique et attrape la statuette.&lt;/li&gt;&lt;li&gt; Le robot fait tomber les &#233;chantillons, les pousse sous l'abri de chantier puis d&#233;pose la r&#233;plique&lt;/li&gt;&lt;li&gt; Le robot tente de lire et pousse les carr&#233;s de fouille. Il tente encore et encore tant que le temps imparti n'est pas &#233;coul&#233; ou qu'il n'a pas r&#233;ussi &#224; identifier tous les carr&#233;s de fouille.&lt;/li&gt;&lt;li&gt; Le robot va &#224; la vitrine et d&#233;pose la statuette.&lt;/li&gt;&lt;li&gt; La vitrine s'active et rentre int&#233;gralement la statuette dans son enveloppe.&lt;/li&gt;&lt;li&gt; Le robot rentre &#224; sa zone de d&#233;part.&lt;/li&gt;&lt;/ol&gt;&lt;div class='image' &gt;
&lt;a href='http://poivron-robotique.fr/IMG/png/eurobot2022_explication_strategie.png' title='Description de la strat&#233;gie 2022' type=&#034;image/png&#034; data-lfg=&#034;my_gallery&#034; data-lfg-desc=&#034;Description de la strat&#233;gie 2022&#034;&gt;&lt;img src='http://poivron-robotique.fr/local/cache-vignettes/L250xH178/eurobot2022_explication_strategie-8d019-7a160.png?1692600946' width='250' height='178' /&gt;&lt;/a&gt;
&lt;br&gt;&lt;span class=&#034;legende&#034; style='width:350px;'&gt;Description de la strat&#233;gie 2022&lt;/span&gt;
&lt;/div&gt;
&lt;p&gt;Voici la vid&#233;o du second match qui illustre assez bien toutes ces actions.&lt;/p&gt;
&lt;p&gt; &lt;video width=&#034;512&#034; height=&#034;288&#034; controls=&#034;controls&#034;&gt; &lt;source src=&#034;Video/2022_Match2_480p.mp4&#034; type=&#034;video/mp4&#034; /&gt; &lt;a href='http://poivron-robotique.fr/Video/2022_Match2_480p.mp4'&gt;Match 2 - Coupe de France 2022&lt;/a&gt;&lt;/video&gt; &lt;br class='autobr' /&gt;
La vid&#233;o est disponible en &lt;a href='http://poivron-robotique.fr/Video/2022_Match2_720p.mp4'&gt;720p ici (mp4 - 25 Mo)&lt;/a&gt;.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034; id=&#034;electronique&#034;&gt;&lt;a title=&#034;Sommaire&#034; href='http://poivron-robotique.fr/spip.php?page=backend#outil_sommaire' class=&#034;sommaire_ancre&#034;&gt; &lt;/a&gt;&#201;lectronique&lt;/h2&gt;
&lt;p&gt;Le robot utilise la carte &#233;lectronique con&#231;ue en 2013 pour le robot 2014. C'est &#224; dire :&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Moteurs MFA 919D11:1&lt;/li&gt;&lt;li&gt; Codeurs HEDR-5420-ES21&lt;/li&gt;&lt;li&gt; Gyroscope ADXRS453&lt;/li&gt;&lt;li&gt; Roues Qfix 50 mm&lt;/li&gt;&lt;li&gt; Ch&#226;ssis Contre-plaqu&#233; 30x30 cm en 5 mm&lt;/li&gt;&lt;li&gt; Capteurs soniques SRF05&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Le tout coordonn&#233; par notre carte &#233;lectronique maison :&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Deux microcontr&#244;leurs : dsPIC33FJ128MC802 et un 18F4550&lt;/li&gt;&lt;li&gt; Deux ponts en H, A4950&lt;/li&gt;&lt;li&gt; 4 pont en H r&#233;partis dans deux L298 (non utilis&#233;s)&lt;/li&gt;&lt;li&gt; 8 sortie pour servomoteurs&lt;/li&gt;&lt;li&gt; Quelques entr&#233;es capteurs&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Composants auxquels nous rajoutons un &#233;cran e-Ink pilot&#233; par un Raspberry Pi Zero.&lt;/p&gt;
&lt;div class='image' &gt;
&lt;a href='http://poivron-robotique.fr/IMG/jpg/carte2014.jpg' title='Carte &#233;lectronique 2014' type=&#034;image/jpeg&#034; data-lfg=&#034;my_gallery&#034; data-lfg-desc=&#034;Carte &#233;lectronique 2014&#034;&gt;&lt;img src='http://poivron-robotique.fr/local/cache-vignettes/L250xH134/carte2014-52212-e4154.jpg?1692600946' width='250' height='134' /&gt;&lt;/a&gt;
&lt;br&gt;&lt;span class=&#034;legende&#034; style='width:350px;'&gt;Carte &#233;lectronique 2014&lt;/span&gt;
&lt;/div&gt;
&lt;p&gt;La gestion du d&#233;placement a &#233;t&#233; am&#233;lior&#233;e tandis que la strat&#233;gie a &#233;t&#233; totalement adapt&#233;e. Nous avons rajout&#233; un Raspberry Pi Z&#233;ro pour g&#233;rer un affichage et gagner en confort de programmation (objectif &#224; demi atteint).&lt;/p&gt;
&lt;div class='image' &gt;
&lt;a href='http://poivron-robotique.fr/IMG/png/schemaelectronique_2022.png' type=&#034;image/png&#034; data-lfg=&#034;my_gallery&#034; &gt;&lt;img src='http://poivron-robotique.fr/local/cache-vignettes/L250xH161/schemaelectronique_2022-349eb-b00e4.png?1692600946' width='250' height='161' /&gt;&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;Voici notre &#034;documentation&#034; pour la carte...&lt;/p&gt; &lt;link rel=&#034;stylesheet&#034; href='http://poivron-robotique.fr/Upload/pinion/pinion.css'&gt; &lt;script src='http://poivron-robotique.fr/Upload/pinion/pinion.js'&gt;&lt;/script&gt; &lt;noscript&gt;You need to enable JavaScript to run this app.&lt;/noscript&gt; &lt;div id=&#034;pinion-robot2014&#034;&gt;&lt;/div&gt; &lt;script&gt; pinion.setup(document.getElementById(&#034;pinion-robot2014&#034;), { source: &#034;Upload/pinion&#034; }); &lt;/script&gt; &lt;h2 class=&#034;spip&#034; id=&#034;asservissement&#034;&gt;&lt;a title=&#034;Sommaire&#034; href='http://poivron-robotique.fr/spip.php?page=backend#outil_sommaire' class=&#034;sommaire_ancre&#034;&gt; &lt;/a&gt;Asservissement&lt;/h2&gt;
&lt;p&gt;Le robot comporte deux niveaux d'asservissement :&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Le premier se situe au niveau des roues et des codeurs. La boucle d'asservissement re&#231;oit en entr&#233;e une consigne de vitesse pour la roue. L'asservissement compare la vitesse actuelle, obtenue gr&#226;ce au codeur avec la vitesse consigne. Ce qui d&#233;termine l'erreur envoy&#233;e &#224; un correcteur PI (proportionnel et int&#233;gral).&lt;/li&gt;&lt;/ul&gt;&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Le deuxi&#232;me se situe au niveau de la position. C'est un asservissement polaire, relativement classique pour la Coupe de France de robotique, mais assez peu document&#233; ailleurs. Le principe est le suivant :
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; La distance calcul&#233;e entre la position r&#233;elle et la position souhait&#233;e est appel&#233;e erreur de position&lt;/li&gt;&lt;li&gt; L'angle calcul&#233; entre l'orientation actuelle du robot et l'orientation n&#233;cessaire pour aller au point consigne en ligne droite est appel&#233; erreur d'orientation.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Ces deux erreurs sont envoy&#233;es dans des correcteurs ind&#233;pendants l'un de l'autre.&lt;/p&gt;
&lt;p&gt;Les consignes de vitesse pour les deux moteurs sont obtenues ainsi :&lt;/p&gt;
&lt;p&gt;Moteur droit = Commande en distance + commande en orientation&lt;br class='autobr' /&gt;
Moteur gauche = Commande en distance - commande en orientation&lt;/p&gt;
&lt;p&gt;C'est relativement simple et efficace.&lt;/p&gt;
&lt;p&gt;Pour plus de d&#233;tail, nous recommandons &lt;a href=&#034;https://www.rcva.fr/cours-asservissement/&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;le cours de RCVA&lt;/a&gt;.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034; id=&#034;deplacement&#034;&gt;&lt;a title=&#034;Sommaire&#034; href='http://poivron-robotique.fr/spip.php?page=backend#outil_sommaire' class=&#034;sommaire_ancre&#034;&gt; &lt;/a&gt;D&#233;placement&lt;/h2&gt;
&lt;p&gt;Construit sur la m&#234;me base que les robots de 2014 (Rustique) et 2015 (Gousse et petit pois), le robot conna&#238;t sa position gr&#226;ce &#224; un gyroscope et aux roues codeuses mont&#233;es sur les moteurs. Alors que les robots pr&#233;c&#233;dents se d&#233;pla&#231;aient avec un syst&#232;me de point de passage, Capsicum est asservi sur une trajectoire continue. &#192; chaque instant, le robot calcule la nouvelle position consigne et l'envoie aux boucles d'asservissement.&lt;/p&gt;
&lt;p&gt;Cette ann&#233;e, le principal int&#233;r&#234;t est de pouvoir r&#233;aliser des courbes plus fluides.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034; id=&#034;detection_de_l_adversaire&#034;&gt;&lt;a title=&#034;Sommaire&#034; href='http://poivron-robotique.fr/spip.php?page=backend#outil_sommaire' class=&#034;sommaire_ancre&#034;&gt; &lt;/a&gt;D&#233;tection de l'adversaire&lt;/h2&gt;
&lt;p&gt;Nous savons que nous devons d&#233;tecter devant et derri&#232;re nous. Nous savons &#233;galement qu'un seul capteur par c&#244;t&#233; n'est pas suffisant. Le robot pr&#233;c&#233;dent disposait d'un capteur avant motoris&#233; qui scrutait successivement &#224; droite, devant et &#224; gauche, et d'un capteur fixe &#224; l'arri&#232;re. La d&#233;tection arri&#232;re avait trop d'angles morts. &lt;br class='autobr' /&gt;
Pour am&#233;liorer le syst&#232;me, nous installons les deux capteurs ultrason c&#244;te &#224; c&#244;te.&lt;/p&gt;
&lt;div class='image' &gt;
&lt;a href='http://poivron-robotique.fr/IMG/jpg/capteur_sonique.jpg' type=&#034;image/jpeg&#034; data-lfg=&#034;my_gallery&#034; &gt;&lt;img src='http://poivron-robotique.fr/local/cache-vignettes/L250xH185/capteur_sonique-dd52a-c1117.jpg?1688513889' width='250' height='185' /&gt;&lt;/a&gt;
&lt;/div&gt;&lt;div class='image' &gt;
&lt;a href='http://poivron-robotique.fr/IMG/jpg/berceau_capteur_sonique.jpg' type=&#034;image/jpeg&#034; data-lfg=&#034;my_gallery&#034; &gt;&lt;img src='http://poivron-robotique.fr/local/cache-vignettes/L250xH168/berceau_capteur_sonique-d3882-8cf0e.jpg?1688513889' width='250' height='168' /&gt;&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;Mais nous souhaitons continuer &#224; n'utiliser que deux capteurs : le code g&#233;rait d&#233;j&#224; deux capteurs et le nombre d'entr&#233;es-sorties disponibles sur la carte &#233;lectronique du robot se r&#233;duisait. Nous fixons les deux capteurs sur un axe qui pivote, les orientant vers l'avant ou l'arri&#232;re en fonction du besoin.&lt;/p&gt;
&lt;div class='image' &gt;
&lt;a href='http://poivron-robotique.fr/IMG/jpg/module_de_detection.jpg' type=&#034;image/jpeg&#034; data-lfg=&#034;my_gallery&#034; &gt;&lt;img src='http://poivron-robotique.fr/local/cache-vignettes/L250xH123/module_de_detection-439b8-afe21.jpg?1688513889' width='250' height='123' /&gt;&lt;/a&gt;
&lt;/div&gt;
&lt;p&gt;Ce syst&#232;me se r&#233;v&#233;lera particuli&#232;rement satisfaisant. Tout d'abord la couverture de d&#233;tection passe de m&#233;diocre &#224; bonne. Ensuite le sens d'avancement du robot est donn&#233; par l'orientation des capteurs ce qui permet facilement de comprendre si l'obstacle qui le bloque se trouve devant lui, derri&#232;re lui ou les deux &#224; la fois.&lt;/p&gt;
&lt;p&gt; &lt;video width=&#034;512&#034; height=&#034;288&#034; controls=&#034;controls&#034;&gt; &lt;source src=&#034;Video/2022_SystemeDetection.mp4&#034; type=&#034;video/mp4&#034; /&gt; &lt;source src=&#034;Video/2022_SystemeDetection.ogg&#034; type=&#034;video/mp4&#034; /&gt; &lt;a href='http://poivron-robotique.fr/Video/2022_SystemeDetection.ogg'&gt;La d&#233;tection&lt;/a&gt;&lt;/video&gt; &lt;br class='autobr' /&gt;
La vid&#233;o est disponible en &lt;a href='http://poivron-robotique.fr/&lt;source src=&#034;Video/2022_SystemeDetection.ogg&#034; type=&#034;video/ogg&#034; /&gt;'&gt;720p ici (Ogg - 5 Mo)&lt;/a&gt;.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034; id=&#034;affichage_du_score&#034;&gt;&lt;a title=&#034;Sommaire&#034; href='http://poivron-robotique.fr/spip.php?page=backend#outil_sommaire' class=&#034;sommaire_ancre&#034;&gt; &lt;/a&gt;Affichage du score&lt;/h2&gt;
&lt;p&gt;Depuis notre derni&#232;re participation en 2015, c'est notre premi&#232;re ann&#233;e o&#249; nous devons estimer le score du robot. Nous souhaitons faire &#231;a bien et avec &#233;l&#233;gance.&lt;/p&gt;
&lt;div class='image' &gt;
&lt;a href='http://poivron-robotique.fr/IMG/jpg/ecran_logo.jpg' title='Affichage du logo' type=&#034;image/jpeg&#034; data-lfg=&#034;my_gallery&#034; data-lfg-desc=&#034;Affichage du logo&#034;&gt;&lt;img src='http://poivron-robotique.fr/local/cache-vignettes/L250xH167/ecran_logo-22009-bd2ce.jpg?1688513888' width='250' height='167' /&gt;&lt;/a&gt;
&lt;br&gt;&lt;span class=&#034;legende&#034; style='width:350px;'&gt;Affichage du logo&lt;/span&gt;
&lt;/div&gt;
&lt;p&gt;Notre choix porte sur un &#233;cran e-ink.&lt;/p&gt;
&lt;div class='image' &gt;
&lt;a href='http://poivron-robotique.fr/IMG/jpg/ecran_statu.jpg' title='Affichage &#233;tat du robot' type=&#034;image/jpeg&#034; data-lfg=&#034;my_gallery&#034; data-lfg-desc=&#034;Affichage &#233;tat du robot&#034;&gt;&lt;img src='http://poivron-robotique.fr/local/cache-vignettes/L250xH167/ecran_statu-7f3af-ce947.jpg?1688513888' width='250' height='167' /&gt;&lt;/a&gt;
&lt;br&gt;&lt;span class=&#034;legende&#034; style='width:350px;'&gt;Affichage &#233;tat du robot&lt;/span&gt;
&lt;/div&gt;
&lt;p&gt;Le seul point qui nous chagrine : le temps nous manque, alors nous le pilotons avec un Raspberry Pi Zero en utilisant les scripts pythons fournis par le fabriquant. Mettre un ordinateur juste pour piloter un &#233;cran via une liaison SPI, nous avons vu plus efficace. Mais cela nous permet d'avoir un syst&#232;me fonctionnel avec une jolie police d'affichage.&lt;/p&gt;
&lt;div class='image' &gt;
&lt;a href='http://poivron-robotique.fr/IMG/jpg/ecran_score.jpg' title='Affichage du score' type=&#034;image/jpeg&#034; data-lfg=&#034;my_gallery&#034; data-lfg-desc=&#034;Affichage du score&#034;&gt;&lt;img src='http://poivron-robotique.fr/local/cache-vignettes/L250xH167/ecran_score-d6209-0c783.jpg?1688513888' width='250' height='167' /&gt;&lt;/a&gt;
&lt;br&gt;&lt;span class=&#034;legende&#034; style='width:350px;'&gt;Affichage du score&lt;/span&gt;
&lt;/div&gt;&lt;h2 class=&#034;spip&#034; id=&#034;actionneurs&#034;&gt;&lt;a title=&#034;Sommaire&#034; href='http://poivron-robotique.fr/spip.php?page=backend#outil_sommaire' class=&#034;sommaire_ancre&#034;&gt; &lt;/a&gt;Actionneurs&lt;/h2&gt;&lt;h3 class=&#034;spip&#034; id=&#034;depose_de_la_replique_a_l_arriere_du_robot&#034;&gt;&lt;a title=&#034;Sommaire&#034; href='http://poivron-robotique.fr/spip.php?page=backend#outil_sommaire' class=&#034;sommaire_ancre&#034;&gt; &lt;/a&gt;D&#233;pose de la r&#233;plique &#224; l'arri&#232;re du robot&lt;/h3&gt;
&lt;p&gt;Un simple servomoteur maintient la r&#233;plique (un cube de 58 mm de c&#244;t&#233;) dans le robot, puis la pousse lorsque le robot est en position.&lt;/p&gt;
&lt;div class='image' &gt;
&lt;a href='http://poivron-robotique.fr/IMG/jpg/deposereplique_tient.jpg' title='Actionneur de la r&#233;plique - position de maintien' type=&#034;image/jpeg&#034; data-lfg=&#034;my_gallery&#034; data-lfg-desc=&#034;Actionneur de la r&#233;plique - position de maintien&#034;&gt;&lt;img src='http://poivron-robotique.fr/local/cache-vignettes/L140xH187/deposereplique_tient-9d92c-77711.jpg?1692600946' width='140' height='187' /&gt;&lt;/a&gt;
&lt;br&gt;&lt;span class=&#034;legende&#034; style='width:350px;'&gt;Actionneur de la r&#233;plique - position de maintien&lt;/span&gt;
&lt;/div&gt;&lt;div class='image' &gt;
&lt;a href='http://poivron-robotique.fr/IMG/jpg/deposereplique_pousse.jpg' title='Actionneur de la r&#233;plique - position de d&#233;pose' type=&#034;image/jpeg&#034; data-lfg=&#034;my_gallery&#034; data-lfg-desc=&#034;Actionneur de la r&#233;plique - position de d&#233;pose&#034;&gt;&lt;img src='http://poivron-robotique.fr/local/cache-vignettes/L140xH187/deposereplique_pousse-bc8c3-680ce.jpg?1692600946' width='140' height='187' /&gt;&lt;/a&gt;
&lt;br&gt;&lt;span class=&#034;legende&#034; style='width:350px;'&gt;Actionneur de la r&#233;plique - position de d&#233;pose&lt;/span&gt;
&lt;/div&gt;&lt;h3 class=&#034;spip&#034; id=&#034;prise_et_pose_de_la_statuette&#034;&gt;&lt;a title=&#034;Sommaire&#034; href='http://poivron-robotique.fr/spip.php?page=backend#outil_sommaire' class=&#034;sommaire_ancre&#034;&gt; &lt;/a&gt;Prise et pose de la statuette&lt;/h3&gt;
&lt;p&gt;La prise et la pose de la statuette se font avec un seul servomoteur. L'astuce r&#233;sidant plus dans la forme de la statuette que dans l'actionneur en lui-m&#234;me. La statuette contient un crochet qui permet de la manipuler&lt;/p&gt;
&lt;video controls=&#034;controls&#034; class=&#034;spip&#034;&gt; &lt;source type=&#034;video/mp4&#034; src=&#034;IMG/mp4/attrapestatuette.mp4&#034; /&gt;
&lt;/video&gt; &lt;figcaption class='spip_doc_legende'&gt; &lt;div class='spip_doc_titre '&gt;&lt;strong&gt;Capsicum attrape la statuette
&lt;/strong&gt;&lt;/div&gt; &lt;/figcaption&gt;&lt;h3 class=&#034;spip&#034; id=&#034;pousse_des_carres_de_fouille&#034;&gt;&lt;a title=&#034;Sommaire&#034; href='http://poivron-robotique.fr/spip.php?page=backend#outil_sommaire' class=&#034;sommaire_ancre&#034;&gt; &lt;/a&gt;Pousse des carr&#233;s de fouille&lt;/h3&gt;
&lt;p&gt;Un autre servomoteur pousse un doigt qui lui pousse le carr&#233; de fouille.&lt;/p&gt;
&lt;div class='image' &gt;
&lt;a href='http://poivron-robotique.fr/IMG/jpg/tire.jpg' title='Poussoir rentr&#233;' type=&#034;image/jpeg&#034; data-lfg=&#034;my_gallery&#034; data-lfg-desc=&#034;Poussoir rentr&#233;&#034;&gt;&lt;img src='http://poivron-robotique.fr/local/cache-vignettes/L250xH167/tire-fbb03-bd1be.jpg?1688554219' width='250' height='167' /&gt;&lt;/a&gt;
&lt;br&gt;&lt;span class=&#034;legende&#034; style='width:350px;'&gt;Poussoir rentr&#233;&lt;/span&gt;
&lt;/div&gt;&lt;div class='image' &gt;
&lt;a href='http://poivron-robotique.fr/IMG/jpg/pousse.jpg' title='Poussoir sorti' type=&#034;image/jpeg&#034; data-lfg=&#034;my_gallery&#034; data-lfg-desc=&#034;Poussoir sorti&#034;&gt;&lt;img src='http://poivron-robotique.fr/local/cache-vignettes/L250xH167/pousse-7b192-b780c.jpg?1688554219' width='250' height='167' /&gt;&lt;/a&gt;
&lt;br&gt;&lt;span class=&#034;legende&#034; style='width:350px;'&gt;Poussoir sorti&lt;/span&gt;
&lt;/div&gt;
&lt;p&gt;L&#224; o&#249; le syst&#232;me se complexifie, c'est que nous avions besoin de longer les murs avec pr&#233;cision. Pour cela, nous avons mont&#233; des capteurs infrarouges au-dessus des capteurs pour se recaler &#224; chaque carr&#233; de fouille.&lt;/p&gt;
&lt;div class='image' &gt;
&lt;a href='http://poivron-robotique.fr/IMG/jpg/dsc04473_resized.jpg' title='Moteur et capteur infra-rouge' type=&#034;image/jpeg&#034; data-lfg=&#034;my_gallery&#034; data-lfg-desc=&#034;Moteur et capteur infra-rouge&#034;&gt;&lt;img src='http://poivron-robotique.fr/local/cache-vignettes/L250xH167/dsc04473_resized-36e40-f2ae5.jpg?1692600946' width='250' height='167' /&gt;&lt;/a&gt;
&lt;br&gt;&lt;span class=&#034;legende&#034; style='width:350px;'&gt;Moteur et capteur infra-rouge&lt;/span&gt;
&lt;/div&gt;&lt;h3 class=&#034;spip&#034; id=&#034;lecture_des_carres_de_fouilles&#034;&gt;&lt;a title=&#034;Sommaire&#034; href='http://poivron-robotique.fr/spip.php?page=backend#outil_sommaire' class=&#034;sommaire_ancre&#034;&gt; &lt;/a&gt;Lecture des carr&#233;s de fouilles&lt;/h3&gt;
&lt;p&gt;Notre seul actionneur absolument pas fiable. Soyons honn&#234;tes, nos tests unitaires semblaient prometteurs, mais l'alignement du robot avec la r&#233;sistance n'a pas &#233;t&#233; assez bon en match pour arriver &#224; la lire...&lt;/p&gt;
&lt;h2 class=&#034;spip&#034; id=&#034;journal_de_developpement&#034;&gt;&lt;a title=&#034;Sommaire&#034; href='http://poivron-robotique.fr/spip.php?page=backend#outil_sommaire' class=&#034;sommaire_ancre&#034;&gt; &lt;/a&gt;Journal de d&#233;veloppement&lt;/h2&gt;&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;a href='http://poivron-robotique.fr/+Avancement-mi-novembre-2021+.html' class=&#034;spip_in&#034;&gt;Avancement mi-novembre 2021&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href='http://poivron-robotique.fr/+Les-travaux-de-cet-ete-2021-1-2-La-supervision+.html' class=&#034;spip_in&#034;&gt;Les travaux de cet &#233;t&#233; 2021 (1/2) - La supervision&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href='http://poivron-robotique.fr/+Premiers-points+.html' class=&#034;spip_in&#034;&gt;Premiers points !&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href='http://poivron-robotique.fr/+Avancement-debut-decembre-2021+.html' class=&#034;spip_in&#034;&gt;Avancement d&#233;but d&#233;cembre 2021&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href='http://poivron-robotique.fr/+Le-poussoir+.html' class=&#034;spip_in&#034;&gt;Le poussoir !&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href='http://poivron-robotique.fr/+Statuette-et-echantillons+.html' class=&#034;spip_in&#034;&gt;Statuette et &#233;chantillons&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href='http://poivron-robotique.fr/+Petite-reparation-de-la-carte-electronique+.html' class=&#034;spip_in&#034;&gt;Petite r&#233;paration de la carte &#233;lectronique&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href='http://poivron-robotique.fr/+Programmer-son-PIC18F4550-en-Wifi+.html' class=&#034;spip_in&#034;&gt;Programmer son PIC18F4550 en Wifi !&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href='http://poivron-robotique.fr/+Avancement-mi-Avril-2022+.html' class=&#034;spip_in&#034;&gt;Avancement mi-Avril 2022&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href='http://poivron-robotique.fr/+Pre-coupe-CARAR-et-poster+.html' class=&#034;spip_in&#034;&gt;Pr&#233;-coupe CARAR et poster&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href='http://poivron-robotique.fr/+Affichage-des-points-et-mat-balise+.html' class=&#034;spip_in&#034;&gt;Affichage des points et m&#226;t balise&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href='http://poivron-robotique.fr/+Mesure-des-resistances-et-avancement-general+.html' class=&#034;spip_in&#034;&gt;Mesure des r&#233;sistances et avancement g&#233;n&#233;ral&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href='http://poivron-robotique.fr/+Derniere-ligne-droite-pour-Eurobot-2022-France+.html' class=&#034;spip_in&#034;&gt;Derni&#232;re ligne droite pour Eurobot 2022 (France)&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href='http://poivron-robotique.fr/+Coupe-de-France-2022+.html' class=&#034;spip_in&#034;&gt;Coupe de France 2022&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href='http://poivron-robotique.fr/+Arrivee-et-homologation-Coupe-de-France-2022+.html' class=&#034;spip_in&#034;&gt;Arriv&#233;e et homologation - Coupe de France 2022&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href='http://poivron-robotique.fr/+Match-1-Coupe-de-France-2022+.html' class=&#034;spip_in&#034;&gt;Match 1 - Coupe de France 2022&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href='http://poivron-robotique.fr/+Match-2-Coupe-de-France-2022+.html' class=&#034;spip_in&#034;&gt;Match 2 - Coupe de France 2022&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href='http://poivron-robotique.fr/+Match-3-Coupe-de-France-2022+.html' class=&#034;spip_in&#034;&gt;Match 3 - Coupe de France 2022&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href='http://poivron-robotique.fr/+Match-4-Coupe-de-France-2022+.html' class=&#034;spip_in&#034;&gt;Match 4 - Coupe de France 2022&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href='http://poivron-robotique.fr/+Match-5-Coupe-de-France-2022+.html' class=&#034;spip_in&#034;&gt;Match 5 - Coupe de France 2022&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href='http://poivron-robotique.fr/+Prix-de-l-eco-conception+.html' class=&#034;spip_in&#034;&gt;Prix de l'&#233;co-conception&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;
		
		</content:encoded>


		
		<enclosure url="http://poivron-robotique.fr/IMG/mp4/attrapestatuette.mp4" length="1537105" type="video/mp4" />
		

	</item>
<item xml:lang="fr">
		<title>HEXA - Une exp&#233;rience holonome</title>
		<link>http://poivron-robotique.fr/HEXA-Une-experience-holonome.html</link>
		<guid isPermaLink="true">http://poivron-robotique.fr/HEXA-Une-experience-holonome.html</guid>
		<dc:date>2023-07-23T20:45:00Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Elfline, Keuronde</dc:creator>



		<description>
&lt;p&gt;HEXA, pour Holonome Experience Xylo Asservi. &lt;br class='autobr' /&gt;
Contexte &lt;br class='autobr' /&gt;
A l'origine, ce robot est une sorte de d&#233;fi. Pour se remettre dans le contexte, nous avions de nombreuses participations &#224; la coupe de France de robotique derri&#232;re nous. L'ann&#233;e pr&#233;c&#233;dente, apr&#232;s 6 ans sans participation, nous partions sur un robot simple, grandement repris des ann&#233;es pr&#233;c&#233;dentes, visant les actions faciles. &lt;br class='autobr' /&gt;
A notre grande surprise, nous atteignions la 10e place. &lt;br class='autobr' /&gt;
Nos particularit&#233;s : un robot int&#233;gralement (&#8230;)&lt;/p&gt;


-
&lt;a href="http://poivron-robotique.fr/-Nos-Robots-.html" rel="directory"&gt;Nos Robots&lt;/a&gt;


		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;p&gt;HEXA, pour Holonome Experience Xylo Asservi.&lt;/p&gt;
&lt;p&gt;&lt;span class='spip_document_402 spip_documents spip_documents_center'&gt;&lt;img src='http://poivron-robotique.fr/local/cache-vignettes/L500xH918/vue_aspi_500px-b2be8.jpg?1690188778' style='max-height:100vh;max-width:100%;' title=&#034;Holonome Experience Xylo Asservi (HEXA)&#034; alt=&#034;Holonome Experience Xylo Asservi (HEXA)&#034; width='500' height='918' /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h2 class=&#034;spip&#034; id=&#034;contexte&#034;&gt;&lt;a title=&#034;Sommaire&#034; href='http://poivron-robotique.fr/spip.php?page=backend#outil_sommaire' class=&#034;sommaire_ancre&#034;&gt; &lt;/a&gt;Contexte&lt;/h2&gt;
&lt;p&gt;A l'origine, ce robot est une sorte de d&#233;fi. Pour se remettre dans le contexte, nous avions de nombreuses participations &#224; la coupe de France de robotique derri&#232;re nous. L'ann&#233;e pr&#233;c&#233;dente, apr&#232;s 6 ans sans participation, nous partions sur un robot simple, grandement repris des ann&#233;es pr&#233;c&#233;dentes, visant les actions faciles.&lt;/p&gt;
&lt;p&gt;A notre grande surprise, nous atteignions la 10e place.&lt;/p&gt;
&lt;p&gt;Nos particularit&#233;s : un robot int&#233;gralement construit avec des baguettes de bois carr&#233;es, une carte &#233;lectronique qui avait d&#233;j&#224; servi sur des anciens robots participants &#224; la Coupe et une base roulante avec 2 roues motrices et une bille folle.&lt;/p&gt;
&lt;p&gt;Cette ann&#233;e, nous voulions changer plusieurs choses. Tout d'abord, nous voulions un robot holonome, &#224; trois roues. 3 roues, 3 moteurs, 3 codeurs, nous devions alors remplacer notre carte &#233;lectronique, non adapt&#233;e, et les microcontr&#244;leurs PICs nous avaient montr&#233;s ce qu'ils avaient dans le ventre. Monter en gamme dans la m&#234;me marque ne nous tentait pas, et le Raspberry Pi Pico, le microcontr&#244;leur de la fondation Raspberry Pi nous faisait de l'&#339;il. Nous voici partis sur une nouvelle architecture &#233;lectronique.&lt;/p&gt;
&lt;p&gt;L'an dernier, un peu avant la comp&#233;tition, nous avons fait l'acquisition d'une scie &#224; chantourner. Celle-ci nous permettra une plus grande libert&#233; dans la conception m&#233;canique de notre robot, les baguettes en bois ayant, parfois, quelques limites.&lt;/p&gt;
&lt;p&gt;Au niveau des actions, nous voulions un minimum de spectacle. Nous choisissons d'aspirer les petites balles en mousse qui se trouvent sur le bord du terrain et de les lancer, id&#233;alement, tout &#231;a avec une seule turbine !&lt;/p&gt;
&lt;p&gt;Pouvons-nous dire que nous sommes partis de z&#233;ro pour concevoir ce robot ? Non, voici ce que nous gardons :&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; la localisation avec roues codeurs mont&#233;es sur les moteurs et un gyroscope,&lt;/li&gt;&lt;li&gt; l'utilisation exclusive de microcontr&#244;leurs,&lt;/li&gt;&lt;li&gt; la communication I2C entre nos microcontr&#244;leurs.&lt;/li&gt;&lt;/ul&gt;&lt;h2 class=&#034;spip&#034; id=&#034;les_resultats&#034;&gt;&lt;a title=&#034;Sommaire&#034; href='http://poivron-robotique.fr/spip.php?page=backend#outil_sommaire' class=&#034;sommaire_ancre&#034;&gt; &lt;/a&gt;Les r&#233;sultats&lt;/h2&gt;
&lt;p&gt;Sommes-nous satisfaits des r&#233;sultats obtenus ? Jamais, ou rarement en tout cas. Pour H.E.X.A. un manque de fiabilit&#233;, malgr&#233; nos nombreux tests, nous rendra frileux et nous forcera &#224; adopter des strat&#233;gies tr&#232;s prudentes. Surtout, nous travaillerons sur la r&#233;solution de ce souci plut&#244;t que de tenter des strat&#233;gies plus ambitieuses.&lt;/p&gt;
&lt;p&gt;Cela n'emp&#234;chera pas H.E.X.A de se hisser &#224; la 8e place du classement g&#233;n&#233;ral.&lt;/p&gt;
&lt;p&gt;Si ce classement est au-del&#224; de nos esp&#233;rances, le spectacle offert par notre robot nous a un peu d&#233;&#231;us...&lt;/p&gt;
&lt;p&gt;Par contre, nous sommes satisfaits de la r&#233;alisation technique, en un an, d'&#233;tudier un robot holonome, de le r&#233;aliser et de l'asservir honn&#234;tement et proprement. Voici en d&#233;tail les principales &#233;tapes qui nous ont permis de le r&#233;aliser. Mais avant, le voici &#224; l'&#339;uvre !&lt;/p&gt;
&lt;h2 class=&#034;spip&#034; id=&#034;en_match&#034;&gt;&lt;a title=&#034;Sommaire&#034; href='http://poivron-robotique.fr/spip.php?page=backend#outil_sommaire' class=&#034;sommaire_ancre&#034;&gt; &lt;/a&gt;En match&lt;/h2&gt;
&lt;p&gt;Notre meilleur match est sans aucun doute celui de la 5&#7497; s&#233;rie, le voici :&lt;/p&gt;
&lt;p&gt; &lt;video controls=&#034;controls&#034;&gt; &lt;source src=&#034;Video/2023_Match5_480p_1M.mp4&#034; type=&#034;video/mp4&#034; /&gt; &lt;/video&gt; &lt;br class='autobr' /&gt;
Match 5 (&lt;a href='http://poivron-robotique.fr/Video/2023_Match5_480p_1M.mp4'&gt;480p - 14 Mo&lt;/a&gt; | &lt;a href='http://poivron-robotique.fr/Video/2023_Match5_720p_2M.mp4'&gt;720p - 30 Mo&lt;/a&gt;).&lt;/p&gt;
&lt;h2 class=&#034;spip&#034; id=&#034;la_localisation_theorie&#034;&gt;&lt;a title=&#034;Sommaire&#034; href='http://poivron-robotique.fr/spip.php?page=backend#outil_sommaire' class=&#034;sommaire_ancre&#034;&gt; &lt;/a&gt;La localisation - th&#233;orie&lt;/h2&gt;
&lt;p&gt;Fin ao&#251;t, nous prenons une feuille et un crayon pour comprendre comment le robot peut, &#224; partir des informations des codeurs mont&#233;s sur les roues, conna&#238;tre sa position. Dans cette partie, nous ne tenons pas compte du gyroscope (ce qui aurait grandement simplifi&#233; le probl&#232;me).&lt;/p&gt;
&lt;p&gt;Il nous faut deux semaines pour comprendre que l'outil ad&#233;quat est le &lt;i&gt;tenseur cin&#233;matique&lt;/i&gt; associ&#233; avec &lt;i&gt;la loi du transport des moments&lt;/i&gt;. Nous sortons des &#233;quations assez indigestes qui se simplifient &#233;norm&#233;ment une fois pris en compte que :&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Les trois roues sont &#224; &#233;gale distance du centre du robot&lt;/li&gt;&lt;li&gt; Les angles entre les roues sont de 120&#176;&lt;/li&gt;&lt;/ul&gt;&lt;div class='image' &gt;
&lt;a href='http://poivron-robotique.fr/IMG/png/nommage_angles.png' title='Nommage des angles' type=&#034;image/png&#034; data-lfg=&#034;my_gallery&#034; data-lfg-desc=&#034;Nommage des angles&#034;&gt;&lt;img src='http://poivron-robotique.fr/local/cache-vignettes/L221xH187/nommage_angles-fbced-ddfcd.png?1688537563' width='221' height='187' /&gt;&lt;/a&gt;
&lt;br&gt;&lt;span class=&#034;legende&#034; style='width:350px;'&gt;Nommage des angles&lt;/span&gt;
&lt;/div&gt;
&lt;p&gt;Nous publions nos r&#233;sultats sur le site, localisation d'un robot holonome (&lt;a href='http://poivron-robotique.fr/Robot-holonome-localisation-partie-1.html' class=&#034;spip_in&#034;&gt;partie 1&lt;/a&gt; et &lt;a href='http://poivron-robotique.fr/Robot-holonome-localisation-partie-2-les-equations.html' class=&#034;spip_in&#034;&gt;partie 2&lt;/a&gt;).&lt;/p&gt;
&lt;h2 class=&#034;spip&#034; id=&#034;la_strategie&#034;&gt;&lt;a title=&#034;Sommaire&#034; href='http://poivron-robotique.fr/spip.php?page=backend#outil_sommaire' class=&#034;sommaire_ancre&#034;&gt; &lt;/a&gt;La strat&#233;gie&lt;/h2&gt;
&lt;p&gt;Mi-septembre, le brouillon du r&#232;glement est publi&#233;. Nous d&#233;voilons &lt;a href='http://poivron-robotique.fr/+Reglement-2023-et-notre-programme+.html' class=&#034;spip_in&#034;&gt;notre strat&#233;gie &#224; deux robots&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Le robot des g&#226;teaux sera imagin&#233; et r&#233;-imagin&#233;, en fonction du temps qu'il nous restait pour ne rester qu'une chim&#232;re.&lt;/p&gt;
&lt;p&gt;Par contre, toutes les t&#226;ches du robot des cerises seront r&#233;alis&#233;es (et m&#234;me plus !).&lt;/p&gt;
&lt;p&gt;Gr&#226;ce &#224; cette strat&#233;gie, nous identifions nos principaux capteurs et actionneurs et pouvons commencer &#224; travailler sur notre carte &#233;lectronique&lt;/p&gt;
&lt;h2 class=&#034;spip&#034; id=&#034;la_base_roulante&#034;&gt;&lt;a title=&#034;Sommaire&#034; href='http://poivron-robotique.fr/spip.php?page=backend#outil_sommaire' class=&#034;sommaire_ancre&#034;&gt; &lt;/a&gt;La base roulante&lt;/h2&gt;
&lt;p&gt;Nous voulons une base roulante t&#244;t dans l'ann&#233;e, car c'est la cl&#233; pour avoir un robot qui fait du spectacle.&lt;/p&gt;
&lt;p&gt;Mi-octobre, nous avons d'un c&#244;t&#233; la carte pr&#234;te &#224; &#234;tre soud&#233;e, de l'autre, les moteurs mont&#233;s avec les roues sur le ch&#226;ssis provisoire du robot.&lt;/p&gt;
&lt;div class='image' &gt;
&lt;a href='http://poivron-robotique.fr/IMG/jpg/baseholonome1_resized.jpg' title='Base roulante holonome' type=&#034;image/jpeg&#034; data-lfg=&#034;my_gallery&#034; data-lfg-desc=&#034;Base roulante holonome&#034;&gt;&lt;img src='http://poivron-robotique.fr/local/cache-vignettes/L249xH187/baseholonome1_resized-7af25-e0156.jpg?1688513309' width='249' height='187' /&gt;&lt;/a&gt;
&lt;br&gt;&lt;span class=&#034;legende&#034; style='width:350px;'&gt;Base roulante holonome&lt;/span&gt;
&lt;/div&gt;
&lt;div class='image' &gt;
&lt;a href='http://poivron-robotique.fr/IMG/jpg/dsc03580_resized.jpg' title='Carte Holonome 2023 nue' type=&#034;image/jpeg&#034; data-lfg=&#034;my_gallery&#034; data-lfg-desc=&#034;Carte Holonome 2023 nue&#034;&gt;&lt;img src='http://poivron-robotique.fr/local/cache-vignettes/L250xH167/dsc03580_resized-034f3-05bbd.jpg?1688513309' width='250' height='167' /&gt;&lt;/a&gt;
&lt;br&gt;&lt;span class=&#034;legende&#034; style='width:350px;'&gt;Carte Holonome 2023 nue&lt;/span&gt;
&lt;/div&gt;
&lt;p&gt;Malgr&#233; cela, il faudra attendre mi-novembre pour faire tourner une roue.&lt;/p&gt;
&lt;p&gt;Et une roue qui tourne, ce n'est pas un robot qui se dirige. Codeurs, qui permettent de mesurer pr&#233;cis&#233;ment les mouvements des moteurs ne seront mont&#233;s que fin novembre.&lt;/p&gt;
&lt;p&gt;Nous en profitons pour r&#233;aliser la premi&#232;re boucle d'asservissement : le contr&#244;le en vitesse des moteurs. Cet asservissement marche vraiment bien et permet de faire des trajectoires relativement pr&#233;cises, telles que se d&#233;placer suivant un rectangle :&lt;/p&gt;
&lt;p&gt; &lt;video width=&#034;512&#034; height=&#034;288&#034; controls=&#034;controls&#034;&gt; &lt;source src=&#034;Video/2022_holonome_rectangle.mp4&#034; type=&#034;video/mp4&#034; /&gt; &lt;a href='http://poivron-robotique.fr/Video/2022_holonome_rectangle.mp4'&gt;Tests en boucle ouvertes&lt;/a&gt;&lt;/video&gt; &lt;/p&gt;
&lt;p&gt;Le code pour arriver &#224; ce r&#233;sultat est de l'ordre de 400 lignes. C'est peu !&lt;/p&gt;
&lt;div class='image' &gt;
&lt;a href='http://poivron-robotique.fr/IMG/png/asservissementrectangle.png' title='Asservissement des moteurs' type=&#034;image/png&#034; data-lfg=&#034;my_gallery&#034; data-lfg-desc=&#034;Asservissement des moteurs&#034;&gt;&lt;img src='http://poivron-robotique.fr/local/cache-vignettes/L250xH73/asservissementrectangle-fb69e-1f919.png?1690188778' width='250' height='73' /&gt;&lt;/a&gt;
&lt;br&gt;&lt;span class=&#034;legende&#034; style='width:350px;'&gt;Asservissement des moteurs&lt;/span&gt;
&lt;/div&gt;
&lt;p&gt;Une fois les codeurs mont&#233;s, il s'agit de coder, tester, coder, tester et recommencer.&lt;/p&gt;
&lt;p&gt;Nous int&#233;grons ensuite les donn&#233;es du gyroscope dans la localisation du robot. Puis nous commen&#231;ons &#224; travailler sur le concept de trajectoire et de trajet.&lt;/p&gt;
&lt;p&gt;Pour nous, une trajectoire est l'ensemble des positions que le centre du robot va occuper au cours du temps. Il s'agit de droites, d'arcs de cercle ou de courbes de B&#233;zier.&lt;/p&gt;
&lt;p&gt;Un trajet est le parcours d'une trajectoire en tenant compte de la vitesse que doit avoir le robot. Le trajet tient compte de :&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; la distance avant la fin de la trajectoire (pour freiner le robot)&lt;/li&gt;&lt;li&gt; la vitesse actuelle du robot (pour le faire freiner ou d&#233;c&#233;l&#233;rer en douceur)&lt;/li&gt;&lt;li&gt; l'acc&#233;l&#233;ration maximale du robot pour le trajet&lt;/li&gt;&lt;li&gt; la vitesse maximale du robot pour le trajet&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;D&#233;couper ces deux concepts nous ont permis de vraiment faire des mouvements sympathiques en gardant un code clair.&lt;/p&gt;
&lt;div class='image' &gt;
&lt;a href='http://poivron-robotique.fr/IMG/png/programmeholonome2023.png' title='Architecture logicielle des d&#233;placements' type=&#034;image/png&#034; data-lfg=&#034;my_gallery&#034; data-lfg-desc=&#034;Architecture logicielle des d&#233;placements&#034;&gt;&lt;img src='http://poivron-robotique.fr/local/cache-vignettes/L250xH73/programmeholonome2023-3aa2c-df397.png?1688528235' width='250' height='73' /&gt;&lt;/a&gt;
&lt;br&gt;&lt;span class=&#034;legende&#034; style='width:350px;'&gt;Architecture logicielle des d&#233;placements&lt;/span&gt;
&lt;/div&gt;
&lt;p&gt;Voici un exemple d'une translation circulaire avec acc&#233;l&#233;ration et d&#233;c&#233;l&#233;ration&lt;/p&gt;
&lt;p&gt; &lt;video width=&#034;512&#034; height=&#034;288&#034; controls=&#034;controls&#034;&gt; &lt;source src=&#034;Video/2023_TranslationCirculaire_480p.mp4&#034; type=&#034;video/mp4&#034; /&gt; &lt;/video&gt; &lt;br class='autobr' /&gt;
&lt;a href='http://poivron-robotique.fr/Video/2023_TranslationCirculaire_480p.mp4'&gt;Trajectroire circulaire avec acc&#233;l&#233;ration contr&#244;l&#233;e (720p - 3,3 Mo)&lt;/a&gt;.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034; id=&#034;la_detection_de_l_adversaire&#034;&gt;&lt;a title=&#034;Sommaire&#034; href='http://poivron-robotique.fr/spip.php?page=backend#outil_sommaire' class=&#034;sommaire_ancre&#034;&gt; &lt;/a&gt;La d&#233;tection de l'adversaire&lt;/h2&gt;
&lt;p&gt;Maintenant que le robot bouge, il faut qu'il s'arr&#234;te avant de rentrer dans le robot adverse.&lt;/p&gt;
&lt;p&gt;La d&#233;tection de l'adversaire est un sujet difficile pour deux raisons :&lt;/p&gt;
&lt;ol class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; L'adversaire n'a pas forc&#233;ment la forme qu'on s'imagine&lt;/li&gt;&lt;li&gt; Une partie des capteurs sont perturb&#233;s par l'environnement de la comp&#233;tition&lt;/li&gt;&lt;/ol&gt;
&lt;p&gt;Sur les robots pr&#233;c&#233;dents, nous utilisions des capteurs &#224; ultrason. Nous avions &#233;prouv&#233; cette solution et connaissions ses limites. Le temps de lecture d'un capteur est relativement long et nous avions cru comprendre que plusieurs capteurs pouvaient se perturber mutuellement. Ce n'est pas g&#234;nant avec deux capteurs qui mesurent alternativement. Mais avec le robot holonome, nous avions besoin de d&#233;tecter tout autour du robot.&lt;/p&gt;
&lt;p&gt;C'est donc en nous servant des retours et des conseils des autres &#233;quipes que nous partons sur les capteurs VL53L1X de STMicroelectronics pour d&#233;tecter soit une balise que nous poserions sur l'adversaire, soit l'adversaire lui-m&#234;me.&lt;/p&gt;
&lt;p&gt;Sachant &#224; quel point il peut &#234;tre compliqu&#233; de diff&#233;rencier un probl&#232;me de logique d'un probl&#232;me de d&#233;tection, nous associons &#224; chaque capteur une DEL multicolore qui indique la distance vue par le capteur. Ainsi, un simple coup d'&#339;il nous dit quel capteur d&#233;tecte un obstacle.&lt;/p&gt;
&lt;p&gt;&#201;videmment, qui dit DEL multicolore, dit arc-en-ciel !&lt;/p&gt;
&lt;p&gt;&lt;video controls=&#034;controls&#034; class=&#034;spip&#034;&gt; &lt;source type=&#034;video/mp4&#034; src=&#034;IMG/mp4/neopix_720p.mp4&#034; /&gt;
&lt;/video&gt;&lt;/p&gt;
&lt;p&gt;Les capteurs ne nous ont pas d&#233;&#231;us ! Nous les avons trouv&#233;s pr&#233;cis et fiables. Leur seul point noir est qu'ils partagent tous la m&#234;me adresse I2C au d&#233;marrage et qu'ils sont amn&#233;siques : d&#232;s qu'ils sont d&#233;sactiv&#233;s, ils perdent leur configuration...&lt;/p&gt;
&lt;h2 class=&#034;spip&#034; id=&#034;l_evitement&#034;&gt;&lt;a title=&#034;Sommaire&#034; href='http://poivron-robotique.fr/spip.php?page=backend#outil_sommaire' class=&#034;sommaire_ancre&#034;&gt; &lt;/a&gt;L'&#233;vitement&lt;/h2&gt;
&lt;p&gt;C'est vraiment la partie sur laquelle nous n'avons pas pu travailler s&#233;rieusement cette ann&#233;e. Pour &#234;tre pr&#233;cis, la partie que nous n'avons pas pu int&#233;grer. Car nous avions commenc&#233; &#224; travailler l'&#233;vitement que sur le mois de la Coupe.&lt;/p&gt;
&lt;p&gt;Nous envisagions plusieurs niveaux d'&#233;vitement :&lt;/p&gt;
&lt;ol class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Le robot s'arr&#234;te, s'il d&#233;tecte un obstacle, repart si l'obstacle dispara&#238;t.&lt;/li&gt;&lt;li&gt; Le robot s'arr&#234;te et repart en sens inverse sur la m&#234;me trajectoire.&lt;/li&gt;&lt;li&gt; Le robot s'arr&#234;te et repart vers une autre cible&lt;/li&gt;&lt;li&gt; Le robot contourne l'obstacle&lt;/li&gt;&lt;/ol&gt;
&lt;p&gt;Les trois premiers niveaux d&#233;crits ci-dessus &#233;taient fonctionnels. Nous avions une id&#233;e assez pr&#233;cise de comment nous y prendre pour contourner l'obstacle mais faute de temps, nous ne l'avons pas impl&#233;ment&#233;.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034; id=&#034;la_programmation&#034;&gt;&lt;a title=&#034;Sommaire&#034; href='http://poivron-robotique.fr/spip.php?page=backend#outil_sommaire' class=&#034;sommaire_ancre&#034;&gt; &lt;/a&gt;La programmation&lt;/h2&gt;
&lt;p&gt;La programmation de ce robot sera pour nous l'occasion de d&#233;couvrir le microcontr&#244;leur Rapsberry Pi Pico. Nous publions 4 articles, qui sont nos aide-m&#233;moires, sur le d&#233;veloppement pour ce microcontr&#244;leur :&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;a href='http://poivron-robotique.fr/Raspberry-Pi-Pico-La-documentation.html' class=&#034;spip_in&#034;&gt;Raspberry Pi Pico - La documentation&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href='http://poivron-robotique.fr/Rpi-Pico-Installer-l-environnement-de-developpement-sur-Debian-11.html' class=&#034;spip_in&#034;&gt;Raspberry Pi Pico - Installer l'environnement de d&#233;veloppement C/C++ sur Debian 11&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href='http://poivron-robotique.fr/Rpi-Pico-Creer-son-projet-Raspberry-Pi-Pico.html' class=&#034;spip_in&#034;&gt;Raspberry Pi Pico - Cr&#233;er son projet C/C++&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href='http://poivron-robotique.fr/Raspberry-Pi-Pico-S-installer-avec-VS-Code.html' class=&#034;spip_in&#034;&gt;Raspberry Pi Pico - S'installer avec VS Code&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Nous publions &#233;galement un fichier &lt;i&gt;Readme&lt;/i&gt; avec &lt;a href=&#034;https://git.poivron-robotique.fr/Keuronde/RPiPico-Holonome2023&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;notre d&#233;p&#244;t de code&lt;/a&gt; qui d&#233;taille la structure du code.&lt;/p&gt;
&lt;p&gt;Enfin, nous avons un article d&#233;di&#233; au calcul de la consigne de vitesse du robot : &lt;a href='http://poivron-robotique.fr/Consigne-de-vitesse.html' class=&#034;spip_in&#034;&gt;Consigne de vitesse&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Globalement, la programmation a bien repr&#233;sent&#233; 75% du travail sur ce robot...&lt;/p&gt;
&lt;h2 class=&#034;spip&#034; id=&#034;les_capteurs_et_actionneurs&#034;&gt;&lt;a title=&#034;Sommaire&#034; href='http://poivron-robotique.fr/spip.php?page=backend#outil_sommaire' class=&#034;sommaire_ancre&#034;&gt; &lt;/a&gt;Les capteurs et actionneurs&lt;/h2&gt;&lt;h3 class=&#034;spip&#034; id=&#034;l_aspiration&#034;&gt;&lt;a title=&#034;Sommaire&#034; href='http://poivron-robotique.fr/spip.php?page=backend#outil_sommaire' class=&#034;sommaire_ancre&#034;&gt; &lt;/a&gt;L'aspiration&lt;/h3&gt;
&lt;p&gt;Pour marquer des points, nous avions d&#233;cid&#233; d'aspirer et de lancer les balles (appel&#233;es cerises dans le r&#232;glement). Pendant plusieurs mois, nous avons cherch&#233; une conception de trompe qui permettrait d'aspirer les balles et les faire sortir du flux d'air sans arr&#234;ter la turbine. Apr&#232;s de nombreux &#233;checs, nous nous sommes rabattus sur une trompe reli&#233;e &#224; une chambre mise en d&#233;pression par une turbine.&lt;/p&gt;
&lt;div class='image' &gt;
&lt;a href='http://poivron-robotique.fr/IMG/jpg/systemeaspiration.jpg' title='Syst&#232;me d'aspiration des cerises' type=&#034;image/jpeg&#034; data-lfg=&#034;my_gallery&#034; data-lfg-desc=&#034;Syst&#232;me d'aspiration des cerises&#034;&gt;&lt;img src='http://poivron-robotique.fr/local/cache-vignettes/L102xH187/systemeaspiration-355bb-33f2e.jpg?1690188778' width='102' height='187' /&gt;&lt;/a&gt;
&lt;br&gt;&lt;span class=&#034;legende&#034; style='width:350px;'&gt;Syst&#232;me d'aspiration des cerises&lt;/span&gt;
&lt;/div&gt;&lt;div class='image' &gt;
&lt;a href='http://poivron-robotique.fr/IMG/jpg/dsc03764_resized.jpg' title='Aspiration cerises : d&#233;mont&#233;e' type=&#034;image/jpeg&#034; data-lfg=&#034;my_gallery&#034; data-lfg-desc=&#034;Aspiration cerises : d&#233;mont&#233;e&#034;&gt;&lt;img src='http://poivron-robotique.fr/local/cache-vignettes/L250xH167/dsc03764_resized-b801e-23662.jpg?1688505485' width='250' height='167' /&gt;&lt;/a&gt;
&lt;br&gt;&lt;span class=&#034;legende&#034; style='width:350px;'&gt;Aspiration cerises : d&#233;mont&#233;e&lt;/span&gt;
&lt;/div&gt;
&lt;p&gt;La chambre de stockage est faite en medium et la trompe avec un tube de carton et une buse en papier m&#226;ch&#233;.&lt;/p&gt;
&lt;video controls=&#034;controls&#034; class=&#034;spip&#034;&gt; &lt;source type=&#034;video/mp4&#034; src=&#034;IMG/mp4/2023_apsirationproto_4.mp4&#034; /&gt;
&lt;/video&gt; &lt;figcaption class='spip_doc_legende'&gt; &lt;div class='spip_doc_titre '&gt;&lt;strong&gt;Prototype pour l'aspiration
&lt;/strong&gt;&lt;/div&gt; &lt;/figcaption&gt;
&lt;p&gt;La chambre, en aval, est ferm&#233;e par une porte. Cette porte permet aussi au robot de &#034;doser&#034; les balles qui sortent.&lt;/p&gt;
&lt;h3 class=&#034;spip&#034; id=&#034;la_rampe&#034;&gt;&lt;a title=&#034;Sommaire&#034; href='http://poivron-robotique.fr/spip.php?page=backend#outil_sommaire' class=&#034;sommaire_ancre&#034;&gt; &lt;/a&gt;La rampe&lt;/h3&gt;
&lt;p&gt;En sortie de cette chambre, les balles sont guid&#233;es par une rampe faite en fil de fer soud&#233; &#224; l'&#233;tain. La r&#233;alisation a &#233;t&#233; non-conventionnelle mais pas particuli&#232;rement longue. Nous avons d'abord fix&#233; deux grands morceaux de fil de fer sur le robot &#224; l'aide de p&#226;te-&#224;-fixe ; qui a permis d'ajuster leur position. Ensuite, &#224; l'aide de la troisi&#232;me main, nous soudons les renforts.&lt;/p&gt;
&lt;div class='image' &gt;
&lt;a href='http://poivron-robotique.fr/IMG/jpg/rampe.jpg' title='Rampe pour les balles' type=&#034;image/jpeg&#034; data-lfg=&#034;my_gallery&#034; data-lfg-desc=&#034;Rampe pour les balles&#034;&gt;&lt;img src='http://poivron-robotique.fr/local/cache-vignettes/L134xH187/rampe-7cab7-bf309.jpg?1690188778' width='134' height='187' /&gt;&lt;/a&gt;
&lt;br&gt;&lt;span class=&#034;legende&#034; style='width:350px;'&gt;Rampe pour les balles&lt;/span&gt;
&lt;/div&gt;&lt;div class='image' &gt;
&lt;a href='http://poivron-robotique.fr/IMG/jpg/rampe_montee.jpg' title='Rampe mont&#233;e' type=&#034;image/jpeg&#034; data-lfg=&#034;my_gallery&#034; data-lfg-desc=&#034;Rampe mont&#233;e&#034;&gt;&lt;img src='http://poivron-robotique.fr/local/cache-vignettes/L214xH187/rampe_montee-fa47d-6127c.jpg?1690188778' width='214' height='187' /&gt;&lt;/a&gt;
&lt;br&gt;&lt;span class=&#034;legende&#034; style='width:350px;'&gt;Rampe mont&#233;e&lt;/span&gt;
&lt;/div&gt;&lt;video controls=&#034;controls&#034; class=&#034;spip&#034;&gt; &lt;source type=&#034;video/mp4&#034; src=&#034;IMG/mp4/cerises_sur_trompe_720p.mp4&#034; /&gt;
&lt;/video&gt; &lt;figcaption class='spip_doc_legende'&gt; &lt;div class='spip_doc_titre '&gt;&lt;strong&gt;Cerises sur la rampe
&lt;/strong&gt;&lt;/div&gt; &lt;/figcaption&gt;&lt;h3 class=&#034;spip&#034; id=&#034;le_propulseur&#034;&gt;&lt;a title=&#034;Sommaire&#034; href='http://poivron-robotique.fr/spip.php?page=backend#outil_sommaire' class=&#034;sommaire_ancre&#034;&gt; &lt;/a&gt;Le propulseur&lt;/h3&gt;
&lt;p&gt;Enfin, les balles sont &#233;ject&#233;es par le propulseur : un ensemble de deux moteurs avec des petites roues et un guide imprim&#233; en 3D. Th&#233;oriquement c'est beau ! Mais en pratique, les moteurs du propulseur ne sont pas tr&#232;s puissants et perdent beaucoup d'inertie &#224; chaque envoi de balle. C'est pour cela que nous avions travaill&#233; sur la porte doseuse. L'ensemble a bien fonctionn&#233; avec un taux de r&#233;ussite d'envoi des balles en match de 100% ! Son inconv&#233;nient, c'est qu'avec le dosage des balles, il fallait pr&#232;s d'une seconde par balle, soit 26 secondes juste pour l'envoi des balles lors de notre 5&#7497; match (et nous avions l'ambition d'envoyer bien plus de balles...).&lt;/p&gt;
&lt;div class='image' &gt;
&lt;a href='http://poivron-robotique.fr/IMG/jpg/propulseur_moteurs.jpg' title='Moteurs du propulseur' type=&#034;image/jpeg&#034; data-lfg=&#034;my_gallery&#034; data-lfg-desc=&#034;Moteurs du propulseur&#034;&gt;&lt;img src='http://poivron-robotique.fr/local/cache-vignettes/L249xH187/propulseur_moteurs-0d22e-40e9f.jpg?1688505484' width='249' height='187' /&gt;&lt;/a&gt;
&lt;br&gt;&lt;span class=&#034;legende&#034; style='width:350px;'&gt;Moteurs du propulseur&lt;/span&gt;
&lt;/div&gt;
&lt;p&gt;Et la mod&#233;lisation 3D du guide qui exp&#233;die les balles avec le bon angle :&lt;/p&gt;
&lt;div class='image' &gt;
&lt;a href='http://poivron-robotique.fr/IMG/png/propulseurs.png' title='Mod&#233;lisation propulseur' type=&#034;image/png&#034; data-lfg=&#034;my_gallery&#034; data-lfg-desc=&#034;Mod&#233;lisation propulseur&#034;&gt;&lt;img src='http://poivron-robotique.fr/local/cache-vignettes/L236xH187/propulseurs-1af24-279e2.png?1690188778' width='236' height='187' /&gt;&lt;/a&gt;
&lt;br&gt;&lt;span class=&#034;legende&#034; style='width:350px;'&gt;Mod&#233;lisation propulseur&lt;/span&gt;
&lt;/div&gt;&lt;div class='image' &gt;
&lt;a href='http://poivron-robotique.fr/IMG/jpg/propulseurmonte.jpg' title='Propulseur mont&#233;' type=&#034;image/jpeg&#034; data-lfg=&#034;my_gallery&#034; data-lfg-desc=&#034;Propulseur mont&#233;&#034;&gt;&lt;img src='http://poivron-robotique.fr/local/cache-vignettes/L250xH167/propulseurmonte-a52b8-49b48.jpg?1690188778' width='250' height='167' /&gt;&lt;/a&gt;
&lt;br&gt;&lt;span class=&#034;legende&#034; style='width:350px;'&gt;Propulseur mont&#233;&lt;/span&gt;
&lt;/div&gt;&lt;h3 class=&#034;spip&#034; id=&#034;le_bras&#034;&gt;&lt;a title=&#034;Sommaire&#034; href='http://poivron-robotique.fr/spip.php?page=backend#outil_sommaire' class=&#034;sommaire_ancre&#034;&gt; &lt;/a&gt;Le bras&lt;/h3&gt;
&lt;p&gt;Bricol&#233; pendant la derni&#232;re nuit de la coupe de France de robotique, nous installons un bras qui nous permet de pousser 2 &#034;g&#226;teaux&#034; sur une de nos assiettes. Ce petit accessoire, compos&#233; d'un servomoteur et d'une baguette de bois, nous rapportera 6 points lors du dernier match.&lt;/p&gt;
&lt;h3 class=&#034;spip&#034; id=&#034;les_contacteurs&#034;&gt;&lt;a title=&#034;Sommaire&#034; href='http://poivron-robotique.fr/spip.php?page=backend#outil_sommaire' class=&#034;sommaire_ancre&#034;&gt; &lt;/a&gt;Les contacteurs&lt;/h3&gt;
&lt;p&gt;Pour faire fonctionner tout &#231;a, quasiment aucun capteur. Les seuls pr&#233;sents sont les contacteurs qui permettent au robot de d&#233;tecter ou de longer une bordure ou de recaler la position du robot.&lt;/p&gt;
&lt;div class='image' &gt;
&lt;a href='http://poivron-robotique.fr/IMG/jpg/dsc03805_resized.jpg' title='Contacteurs pour longer les murs' type=&#034;image/jpeg&#034; data-lfg=&#034;my_gallery&#034; data-lfg-desc=&#034;Contacteurs pour longer les murs&#034;&gt;&lt;img src='http://poivron-robotique.fr/local/cache-vignettes/L250xH167/dsc03805_resized-7a432-9cea9.jpg?1688505485' width='250' height='167' /&gt;&lt;/a&gt;
&lt;br&gt;&lt;span class=&#034;legende&#034; style='width:350px;'&gt;Contacteurs pour longer les murs&lt;/span&gt;
&lt;/div&gt;&lt;video controls=&#034;controls&#034; class=&#034;spip&#034;&gt; &lt;source type=&#034;video/mp4&#034; src=&#034;IMG/mp4/recalage_720p.mp4&#034; /&gt;
&lt;/video&gt; &lt;figcaption class='spip_doc_legende'&gt; &lt;div class='spip_doc_titre '&gt;&lt;strong&gt;Recalage du robot
&lt;/strong&gt;&lt;/div&gt; &lt;/figcaption&gt;&lt;h2 class=&#034;spip&#034; id=&#034;l_affichage_du_score&#034;&gt;&lt;a title=&#034;Sommaire&#034; href='http://poivron-robotique.fr/spip.php?page=backend#outil_sommaire' class=&#034;sommaire_ancre&#034;&gt; &lt;/a&gt;L'affichage du score&lt;/h2&gt;
&lt;p&gt;Pour l'affichage du score, nous repartons comme l'an dernier sur un &#233;cran e-ink (ou &#233;cran &#224; encre &#233;lectronique).&lt;/p&gt;
&lt;p&gt;Cette technologie pr&#233;sente deux avantages :&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; L'&#233;cran est tr&#232;s lisible&lt;/li&gt;&lt;li&gt; L'&#233;cran affiche une image m&#234;me non-aliment&#233;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;L'an dernier, nous nous servions d'un ordinateur pour piloter cet &#233;cran &#224; l'aide des scripts d'exemple en Python. Mais cette ann&#233;e, nous voulons nous passer de l'ordinateur. Nous essayons les codes de d&#233;mo avec succ&#232;s. L&#224; o&#249; les choses se corsent, c'est qu'il n'y a pas de fonction de d&#233;mo fournie pour charger une image partielle. Or nos beaux caract&#232;res d'affichage du score sont justement des images.&lt;/p&gt;
&lt;p&gt;Il faut alors d&#233;velopper en parall&#232;le :&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; la fonction pour charger une image&lt;/li&gt;&lt;li&gt; un syst&#232;me pour convertir une image bitmap en donn&#233;es binaires&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Et quand le r&#233;sultat n'est pas celui attendu, difficile de savoir d'o&#249; vient le probl&#232;me.&lt;/p&gt;
&lt;p&gt;Nous nous arr&#234;tons d&#232;s que nous arrivons &#224; afficher une image en noir et blanc. L'&#233;cran supporte 2 nuances de gris suppl&#233;mentaires que nous ne prendrons pas en charge.&lt;/p&gt;
&lt;div class='image' &gt;
&lt;a href='http://poivron-robotique.fr/IMG/jpg/aff_22.jpg' title='Affichage de 22 points !' type=&#034;image/jpeg&#034; data-lfg=&#034;my_gallery&#034; data-lfg-desc=&#034;Affichage de 22 points !&#034;&gt;&lt;img src='http://poivron-robotique.fr/local/cache-vignettes/L111xH187/aff_22-ea9e0-d97c1.jpg?1688505358' width='111' height='187' /&gt;&lt;/a&gt;
&lt;br&gt;&lt;span class=&#034;legende&#034; style='width:350px;'&gt;Affichage de 22 points !&lt;/span&gt;
&lt;/div&gt;&lt;h2 class=&#034;spip&#034; id=&#034;le_deguisement&#034;&gt;&lt;a title=&#034;Sommaire&#034; href='http://poivron-robotique.fr/spip.php?page=backend#outil_sommaire' class=&#034;sommaire_ancre&#034;&gt; &lt;/a&gt;Le d&#233;guisement&lt;/h2&gt;
&lt;p&gt;Le d&#233;guisement n'est venu compl&#233;ter le robot que dans les derni&#232;res semaines avant la coupe. Le but &#233;tait de transformer notre robot en aubergine (cf le nom de notre &#233;quipe).&lt;/p&gt;
&lt;p&gt;Un syst&#232;me de fils reli&#233; &#224; un servomoteur pour faire d&#233;rouler les tissus.&lt;/p&gt;
&lt;div class='image' &gt;
&lt;a href='http://poivron-robotique.fr/IMG/jpg/dsc04011_resized.jpg' title='Actionneur du d&#233;guisement' type=&#034;image/jpeg&#034; data-lfg=&#034;my_gallery&#034; data-lfg-desc=&#034;Actionneur du d&#233;guisement&#034;&gt;&lt;img src='http://poivron-robotique.fr/local/cache-vignettes/L250xH167/dsc04011_resized-380b3-2d3fc.jpg?1688505358' width='250' height='167' /&gt;&lt;/a&gt;
&lt;br&gt;&lt;span class=&#034;legende&#034; style='width:350px;'&gt;Actionneur du d&#233;guisement&lt;/span&gt;
&lt;/div&gt;&lt;div class='image' &gt;
&lt;a href='http://poivron-robotique.fr/IMG/jpg/deguisement_deplie.jpg' title='D&#233;guisement d&#233;pli&#233;' type=&#034;image/jpeg&#034; data-lfg=&#034;my_gallery&#034; data-lfg-desc=&#034;D&#233;guisement d&#233;pli&#233;&#034;&gt;&lt;img src='http://poivron-robotique.fr/local/cache-vignettes/L140xH187/deguisement_deplie-229ac-7eb59.jpg?1688505358' width='140' height='187' /&gt;&lt;/a&gt;
&lt;br&gt;&lt;span class=&#034;legende&#034; style='width:350px;'&gt;D&#233;guisement d&#233;pli&#233;&lt;/span&gt;
&lt;/div&gt;
&lt;p&gt; &lt;video width=&#034;512&#034; height=&#034;288&#034; controls=&#034;controls&#034;&gt; &lt;source src=&#034;Video/2023_deguisement.MP4&#034; type=&#034;video/mp4&#034; /&gt; &lt;/video&gt; &lt;br class='autobr' /&gt;
&lt;a href='http://poivron-robotique.fr/Video/2023_deguisement.MP4'&gt;Prototype d&#233;guisement (1080p - 2 Mo)&lt;/a&gt;.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034; id=&#034;journal_de_developpement&#034;&gt;&lt;a title=&#034;Sommaire&#034; href='http://poivron-robotique.fr/spip.php?page=backend#outil_sommaire' class=&#034;sommaire_ancre&#034;&gt; &lt;/a&gt;Journal de d&#233;veloppement&lt;/h2&gt;&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;a href='http://poivron-robotique.fr/+Les-activites-de-l-ete-2022+.html' class=&#034;spip_in&#034;&gt;Les activit&#233;s de l'&#233;t&#233; 2022&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href='http://poivron-robotique.fr/+Pour-la-rentree-2022+.html' class=&#034;spip_in&#034;&gt;Pour la rentr&#233;e 2022...&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href='http://poivron-robotique.fr/+Robot-holonome+.html' class=&#034;spip_in&#034;&gt;Robot holonome&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href='http://poivron-robotique.fr/+Analyse-cinematique-d-un-robot-holonome+.html' class=&#034;spip_in&#034;&gt;Analyse cinematique d'un robot holonome&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href='http://poivron-robotique.fr/+Reglement-2023-et-notre-programme+.html' class=&#034;spip_in&#034;&gt;R&#232;glement 2023 et notre programme&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href='http://poivron-robotique.fr/+Journal-16-octobre-2022+.html' class=&#034;spip_in&#034;&gt;Journal - 16 octobre 2022&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href='http://poivron-robotique.fr/+Journal-3-novembre-2022-Aspiration-et-Gyroscope+.html' class=&#034;spip_in&#034;&gt;Journal - 3 novembre 2022 - Aspiration et Gyroscope&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href='http://poivron-robotique.fr/+Carte-Holonome-2023-La-doc+.html' class=&#034;spip_in&#034;&gt;Carte Holonome 2023 - La doc !&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href='http://poivron-robotique.fr/+Codeurs-et-asservissement-des-moteurs+.html' class=&#034;spip_in&#034;&gt;Codeurs et asservissement des moteurs&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href='http://poivron-robotique.fr/+Carte-Holonome-2023-Enfin-soudee+.html' class=&#034;spip_in&#034;&gt;Carte Holonome 2023 - Enfin soud&#233;e !&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href='http://poivron-robotique.fr/+Avancees-logicielles-Le-deplacement-avance+.html' class=&#034;spip_in&#034;&gt;Avanc&#233;es logicielles - Le d&#233;placement avance !&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href='http://poivron-robotique.fr/+Raspberry-Pi-Pico-de-la-documentation+.html' class=&#034;spip_in&#034;&gt;Raspberry Pi Pico : de la documentation !&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href='http://poivron-robotique.fr/+Le-robot-se-strucutre-detection-de-l-adversaire+.html' class=&#034;spip_in&#034;&gt;Le robot se structure + d&#233;tection de l'adversaire&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href='http://poivron-robotique.fr/+Essais-dynamiques+.html' class=&#034;spip_in&#034;&gt;Essais dynamiques&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href='http://poivron-robotique.fr/+Carte-de-detection-2023+.html' class=&#034;spip_in&#034;&gt;Carte de d&#233;tection 2023&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href='http://poivron-robotique.fr/+Contacteurs-et-detection-de-l-adversaire+.html' class=&#034;spip_in&#034;&gt;Contacteurs et d&#233;tection de l'adversaire&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href='http://poivron-robotique.fr/+Ceci-n-est-pas-un-probleme-d-asservissement+.html' class=&#034;spip_in&#034;&gt;Ceci n'est pas un probl&#232;me d'asservissement.&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href='http://poivron-robotique.fr/+CARAR-Junior-2023-vers-un-robot-fonctionnel+.html' class=&#034;spip_in&#034;&gt;CARAR Junior 2023 - vers un robot fonctionnel&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href='http://poivron-robotique.fr/+Rampe-pour-les-balles+.html' class=&#034;spip_in&#034;&gt;Rampe pour les balles&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href='http://poivron-robotique.fr/+CARAR-2023-INSA-Homologuable+.html' class=&#034;spip_in&#034;&gt;CARAR 2023 (INSA) - Homologuable !&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href='http://poivron-robotique.fr/+Detection-de-l-adversaire-et-affichage-du-score+.html' class=&#034;spip_in&#034;&gt;D&#233;tection de l'adversaire et affichage du score&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href='http://poivron-robotique.fr/+Deguisement+.html' class=&#034;spip_in&#034;&gt;D&#233;guisement&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href='http://poivron-robotique.fr/+Poster-2023-et-un-petit-point-d-avancement+.html' class=&#034;spip_in&#034;&gt;Poster 2023 (et un petit point d'avancement)&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href='http://poivron-robotique.fr/+Coupe-de-France-2023-Homologation+.html' class=&#034;spip_in&#034;&gt;Coupe de France 2023 - Homologation&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href='http://poivron-robotique.fr/+Coupe-de-France-2023-Match-1+.html' class=&#034;spip_in&#034;&gt;Coupe de France 2023 - Match 1&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href='http://poivron-robotique.fr/+Coupe-de-France-2023-Match-2+.html' class=&#034;spip_in&#034;&gt;Coupe de France 2023 - Match 2&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href='http://poivron-robotique.fr/+Coupe-de-France-2023-Match-3+.html' class=&#034;spip_in&#034;&gt;Coupe de France 2023 - Match 3&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href='http://poivron-robotique.fr/+Coupe-de-France-2023-Match-4+.html' class=&#034;spip_in&#034;&gt;Coupe de France 2023 - Match 4&lt;/a&gt;&lt;/li&gt;&lt;li&gt; &lt;a href='http://poivron-robotique.fr/+Coupe-de-France-2023-Match-5-le-bilan+.html' class=&#034;spip_in&#034;&gt;Coupe de France 2023 - Match 5 &amp; le bilan&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;
		
		</content:encoded>


		
		<enclosure url="http://poivron-robotique.fr/IMG/mp4/recalage_720p.mp4" length="515034" type="video/mp4" />
		
		<enclosure url="http://poivron-robotique.fr/IMG/mp4/neopix_720p.mp4" length="1641380" type="video/mp4" />
		
		<enclosure url="http://poivron-robotique.fr/IMG/mp4/cerises_sur_trompe_720p.mp4" length="2094316" type="video/mp4" />
		
		<enclosure url="http://poivron-robotique.fr/IMG/mp4/2023_apsirationproto_4.mp4" length="1013979" type="video/mp4" />
		

	</item>
<item xml:lang="fr">
		<title>Raspberry Pi Pico - S'installer avec VS Code</title>
		<link>http://poivron-robotique.fr/Raspberry-Pi-Pico-S-installer-avec-VS-Code.html</link>
		<guid isPermaLink="true">http://poivron-robotique.fr/Raspberry-Pi-Pico-S-installer-avec-VS-Code.html</guid>
		<dc:date>2023-01-15T21:05:54Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Keuronde</dc:creator>



		<description>
&lt;p&gt;Vous avez votre &#233;diteur de texte d'un c&#244;t&#233;, votre terminal de l'autre, vous arrivez &#224; compiler et programmer votre Raspberry Pi Pico. Maintenant, vous aimeriez avoir un projet plus cons&#233;quent avec plusieurs fichiers, un moyen simple de naviguer d'une fonction &#224; l'autre, b&#233;n&#233;ficier de l'autocompl&#233;tion et peut-&#234;tre m&#234;me d'un raccourci clavier pour compiler votre code. &lt;br class='autobr' /&gt;
Bref, vous souhaitez un environnement de d&#233;veloppement int&#233;gr&#233;. Le script d'installation de la fondation Raspberry Pi (&#8230;)&lt;/p&gt;


-
&lt;a href="http://poivron-robotique.fr/-Raspberry-Pi-.html" rel="directory"&gt;Raspberry Pi&lt;/a&gt;


		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;p&gt;Vous avez votre &#233;diteur de texte d'un c&#244;t&#233;, votre terminal de l'autre, vous arrivez &#224; compiler et programmer votre Raspberry Pi Pico. Maintenant, vous aimeriez avoir un projet plus cons&#233;quent avec plusieurs fichiers, un moyen simple de naviguer d'une fonction &#224; l'autre, b&#233;n&#233;ficier de l'autocompl&#233;tion et peut-&#234;tre m&#234;me d'un raccourci clavier pour compiler votre code.&lt;/p&gt;
&lt;p&gt;Bref, vous souhaitez un environnement de d&#233;veloppement int&#233;gr&#233;. Le script d'installation de la fondation Raspberry Pi installe VS Code, alors essayons avec celui-l&#224; !&lt;/p&gt;
&lt;h2 class=&#034;spip&#034; id=&#034;installation&#034;&gt;&lt;a title=&#034;Sommaire&#034; href='http://poivron-robotique.fr/spip.php?page=backend#outil_sommaire' class=&#034;sommaire_ancre&#034;&gt; &lt;/a&gt;Installation&lt;/h2&gt;
&lt;p&gt;Nous n'allons pas grandement d&#233;tailler l'installation de VS Code, prenez-le &#224; partir de vos d&#233;p&#244;ts ou &#224; partir de &lt;a href=&#034;https://code.visualstudio.com/&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;leur site&lt;/a&gt; ou m&#234;me &lt;a href=&#034;https://github.com/VSCodium/vscodium&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;Codium&lt;/a&gt; (recommand&#233; mais non test&#233;).&lt;/p&gt;
&lt;p&gt;Une fois install&#233;, lancez-le, et utiliser le menu &#034;Fichier&#034; pour &#034;ouvrir le dossier&#034;, celui de votre projet.&lt;/p&gt;
&lt;p&gt;Ouvrez le gestionnaire d'extension et ajoutez les trois extensions recommand&#233;es par la Fondation RPi :&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; marus25.cortex-debug&lt;/li&gt;&lt;li&gt; ms-vscode.cmake-tools&lt;/li&gt;&lt;li&gt; ms-vscode.cpptools&lt;/li&gt;&lt;/ul&gt;&lt;h2 class=&#034;spip&#034; id=&#034;compilation&#034;&gt;&lt;a title=&#034;Sommaire&#034; href='http://poivron-robotique.fr/spip.php?page=backend#outil_sommaire' class=&#034;sommaire_ancre&#034;&gt; &lt;/a&gt;Compilation&lt;/h2&gt;
&lt;p&gt;La premi&#232;re difficult&#233; est de compiler votre projet. VS Code est hautement configurable et contient un grand nombre de t&#226;ches pr&#233;-configur&#233;es. Cependant, nous n'avons pas trouv&#233; de configuration par d&#233;faut qui s'adapte &#224; notre projet.&lt;/p&gt;
&lt;p&gt;Nous cr&#233;ons donc le fichier &lt;i&gt;tasks.json&lt;/i&gt; dans le r&#233;pertoire &lt;i&gt;.vscode&lt;/i&gt; que VS Code aura probablement cr&#233;&#233; dans votre r&#233;pertoire de travail. Sinon, cr&#233;ez-le. Nous cr&#233;ons deux t&#226;ches pour l'exemple, &lt;i&gt;make&lt;/i&gt; et &lt;i&gt;make Flash&lt;/i&gt; :&lt;/p&gt;
&lt;p&gt; &lt;titre_code&gt;.vscode/tasks.json&lt;/titre_code&gt; &lt;code&gt; { &#034;tasks&#034;: [ { &#034;type&#034;: &#034;shell&#034;, &#034;command&#034;: &#034;cd build; cmake ../; make&#034;, &#034;label&#034;: &#034;CMake in build/&#034;, &#034;problemMatcher&#034;: [], &#034;group&#034;: { &#034;kind&#034;: &#034;build&#034;, &#034;isDefault&#034;: false } }, { &#034;type&#034;: &#034;shell&#034;, &#034;command&#034;: &#034;cd build; cmake ../; make Flash&#034;, &#034;label&#034;: &#034;CMake &amp; Flash&#034;, &#034;problemMatcher&#034;: [], &#034;group&#034;: { &#034;kind&#034;: &#034;build&#034;, &#034;isDefault&#034;: true } } ], &#034;version&#034;: &#034;2.0.0&#034; } &lt;/code&gt; &lt;/p&gt;
&lt;p&gt;En tr&#232;s bref :&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;i&gt;command&lt;/i&gt; : la commande shell &#224; lancer&lt;/li&gt;&lt;li&gt; &lt;i&gt;label&lt;/i&gt; : le nom qui appara&#238;t dans VS Code&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Pour en profiter, utilisez le raccourci &lt;i&gt;MAJ+F9&lt;/i&gt; pour faire appara&#238;tre le menu des t&#226;ches, vous devriez trouver les v&#244;tres rapidement. Rapidement, la t&#226;che se trouve en premier de la liste, et un simple appui sur &lt;i&gt;Entr&#233;e&lt;/i&gt; vous permet de compiler et Flasher votre Raspberry Pi Pico.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034; id=&#034;problemes_d_analyse_et_auto_completion&#034;&gt;&lt;a title=&#034;Sommaire&#034; href='http://poivron-robotique.fr/spip.php?page=backend#outil_sommaire' class=&#034;sommaire_ancre&#034;&gt; &lt;/a&gt;Probl&#232;mes d'analyse et auto-compl&#233;tion&lt;/h2&gt;
&lt;p&gt;L'auto-compl&#233;tion, cette fonction qui permet de compl&#233;ter un mot que vous avez commenc&#233; &#224; &#233;crire, s'enclenche avec &lt;i&gt;CTRL+Espace&lt;/i&gt; lorsque vous &#233;crivez votre code. Si vous essayez, vous remarquerez rapidement que les fonctions du SDK ne sont pas reconnues.&lt;/p&gt;
&lt;p&gt;Pire, l'analyse du code vous remonte plein de probl&#232;mes qui n'en sont pas. Prenez par exemple cette capture d'&#233;cran.&lt;/p&gt;
&lt;div class='image' &gt;
&lt;a href='http://poivron-robotique.fr/IMG/png/capture_d_ecran_de_2023-01-09_22-57-16.png' title='Erreurs d'analyse dans VS Code' type=&#034;image/png&#034; data-lfg=&#034;my_gallery&#034; data-lfg-desc=&#034;Erreurs d'analyse dans VS Code&#034;&gt;&lt;img src='http://poivron-robotique.fr/local/cache-vignettes/L218xH187/capture_d_ecran_de_2023-01-09_22-57-16-a9897-dc290.png?1688537563' width='218' height='187' /&gt;&lt;/a&gt;
&lt;br&gt;&lt;span class=&#034;legende&#034; style='width:350px;'&gt;Erreurs d'analyse dans VS Code&lt;/span&gt;
&lt;span class='spip_doc_descriptif' style='width:350px;'&gt;Exemple d'erreurs remont&#233;es par VS Code lors de la programmation pour Raspberry Pi Pico
&lt;/span&gt;
&lt;/div&gt;
&lt;p&gt;Si vous avez lu notre article sur la &lt;a href='http://poivron-robotique.fr/Rpi-Pico-Creer-son-projet-Raspberry-Pi-Pico.html' class=&#034;spip_in&#034;&gt;cr&#233;ation d'un projet Raspberry Pi Pico&lt;/a&gt;, notamment notre &lt;i&gt;mot sur les biblioth&#232;ques du SDK&lt;/i&gt;, vous savez que les fichiers &lt;i&gt;include&lt;/i&gt; sont &#233;parpill&#233;s dans le SDK. Pour indiquer &#224; VS Code o&#249; trouver les fichiers &lt;i&gt;include&lt;/i&gt;, nous utilisons ce long fichier &lt;i&gt;c_cpp_properties.json&lt;/i&gt;&lt;/p&gt;
&lt;p&gt; &lt;titre_code&gt;c_cpp_properties.json&lt;/titre_code&gt; &lt;code&gt; { &#034;env&#034;: { &#034;myDefaultIncludePath&#034;: [ &#034;${workspaceFolder}&#034;, &#034;${workspaceFolder}/build&#034;, &#034;${env:PICO_SDK_PATH}/src/**/include&#034;, &#034;${env:PICO_SDK_PATH}/build/generated/pico_base&#034; ], &#034;myCompilerPath&#034;: &#034;/usr/bin/arm-none-eabi-gcc&#034; }, &#034;configurations&#034;: [ { &#034;name&#034;: &#034;Linux&#034;, &#034;intelliSenseMode&#034;: &#034;linux-gcc-arm&#034;, &#034;includePath&#034;: [ &#034;${myDefaultIncludePath}&#034;, &#034;${workspaceFolder}/build/&#034; ], &#034;compilerPath&#034;: &#034;/usr/bin/arm-none-eabi-gcc&#034;, &#034;cStandard&#034;: &#034;c11&#034;, &#034;cppStandard&#034;: &#034;c++17&#034;, &#034;browse&#034;: { &#034;path&#034;: [ &#034;${workspaceFolder}&#034; ], &#034;limitSymbolsToIncludedHeaders&#034;: true, &#034;databaseFilename&#034;: &#034;&#034; }, &#034;configurationProvider&#034;: &#034;ms-vscode.cmake-tools&#034; } ], &#034;version&#034;: 4 } &lt;/code&gt; &lt;/p&gt;
&lt;h2 class=&#034;spip&#034; id=&#034;graphs&#034;&gt;&lt;a title=&#034;Sommaire&#034; href='http://poivron-robotique.fr/spip.php?page=backend#outil_sommaire' class=&#034;sommaire_ancre&#034;&gt; &lt;/a&gt;Graphs&lt;/h2&gt;
&lt;p&gt;Le pluging Teleplot de VS Code est particuli&#232;rement adapt&#233; &#224; afficher des graphiques ou afficher clairement des &#233;tats renvoy&#233;s par la carte. Nous recommandons fortement la lecture de &lt;a href=&#034;https://github.com/nesnes/teleplot/blob/main/README.md#telemetry-format&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;la courte documentation sur les trames &#224; envoyer&lt;/a&gt;.&lt;/p&gt;
&lt;div class='image' &gt;
&lt;a href='http://poivron-robotique.fr/IMG/png/capture_d_ecran_de_2023-01-15_21-43-43.png' title='VS Code avec Teleplot' type=&#034;image/png&#034; data-lfg=&#034;my_gallery&#034; data-lfg-desc=&#034;VS Code avec Teleplot&#034;&gt;&lt;img src='http://poivron-robotique.fr/local/cache-vignettes/L250xH175/capture_d_ecran_de_2023-01-15_21-43-43-dd8f1-02657.png?1688537563' width='250' height='175' /&gt;&lt;/a&gt;
&lt;br&gt;&lt;span class=&#034;legende&#034; style='width:350px;'&gt;VS Code avec Teleplot&lt;/span&gt;
&lt;/div&gt;
&lt;p&gt;Le pluging offre aussi un terminal s&#233;rie rudimentaire, ce qui permet d'envoyer des commandes et de visualiser les r&#233;sultats sans jongler entre les fen&#234;tres !&lt;/p&gt;
&lt;h2 class=&#034;spip&#034; id=&#034;git&#034;&gt;&lt;a title=&#034;Sommaire&#034; href='http://poivron-robotique.fr/spip.php?page=backend#outil_sommaire' class=&#034;sommaire_ancre&#034;&gt; &lt;/a&gt;Git&lt;/h2&gt;
&lt;p&gt;Nous supposons que vous utilisez &lt;i&gt;git&lt;/i&gt; pour vos projets et, si ce n'est pas le cas, nous vous le recommandons fortement. VS Code g&#232;re &lt;i&gt;git&lt;/i&gt;, mais sans le fichier &lt;i&gt;.gitignore&lt;/i&gt; qui va bien, tous vos fichiers de &lt;i&gt;build&lt;/i&gt; apparaissent comme modifi&#233;s, comme dans l'image ci-dessous.&lt;/p&gt;
&lt;div class='image' &gt;
&lt;a href='http://poivron-robotique.fr/IMG/png/capture_d_ecran_de_2023-01-15_21-51-00.png' title='Trop de fichiers modifi&#233;s !' type=&#034;image/png&#034; data-lfg=&#034;my_gallery&#034; data-lfg-desc=&#034;Trop de fichiers modifi&#233;s !&#034;&gt;&lt;img src='http://poivron-robotique.fr/local/cache-vignettes/L250xH175/capture_d_ecran_de_2023-01-15_21-51-00-19586-77b39.png?1688537563' width='250' height='175' /&gt;&lt;/a&gt;
&lt;br&gt;&lt;span class=&#034;legende&#034; style='width:350px;'&gt;Trop de fichiers modifi&#233;s !&lt;/span&gt;
&lt;/div&gt;
&lt;p&gt;Nous conseillons donc la cr&#233;ation d'un fichier &lt;i&gt;.gitignore&lt;/i&gt; qui exclue le repertoire &lt;i&gt;build&lt;/i&gt; de git, comme ceci :&lt;br class='autobr' /&gt; &lt;titre_code&gt;.gitignore&lt;/titre_code&gt; &lt;code&gt; build/ &lt;/code&gt; &lt;/p&gt;
&lt;p&gt;Enregistrez et admirez votre vue &#034;contr&#244;le de code source&#034; se simplifier grandement !&lt;/p&gt;
&lt;p&gt;Voil&#224; ! Avec ceci vous &#234;tes confortablement install&#233;s avec VS Code pour programmer sur votre Raspberry Pi Pico !&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>Raspberry Pi Pico - Installer l'environnement de d&#233;veloppement C/C++ sur Debian 11</title>
		<link>http://poivron-robotique.fr/Rpi-Pico-Installer-l-environnement-de-developpement-sur-Debian-11.html</link>
		<guid isPermaLink="true">http://poivron-robotique.fr/Rpi-Pico-Installer-l-environnement-de-developpement-sur-Debian-11.html</guid>
		<dc:date>2022-12-26T16:16:23Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Keuronde</dc:creator>



		<description>
&lt;p&gt;La fondation Raspberry Pi fournit un script pour installer l'environnement de d&#233;veloppement du Raspberry Pi Pico sur un Raspberry Pi. Ce script est livr&#233; sans garantie pour les autres plateformes. L'id&#233;e est d'analyser le script pour r&#233;cup&#233;rer les morceaux essentiels pour un d&#233;veloppement sur Debian 11 Bullseye. &lt;br class='autobr' /&gt;
En pr&#233;-requis, l'utilisateur courant doit avoir acc&#232;s &#224; sudo. L'utilisateur doit &#234;tre dans le groupe dialout pour acc&#233;der &#224; \dev\ttyAMA0 - mais ceci ne sera pas utile pour cette (&#8230;)&lt;/p&gt;


-
&lt;a href="http://poivron-robotique.fr/-Raspberry-Pi-.html" rel="directory"&gt;Raspberry Pi&lt;/a&gt;


		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;p&gt;La fondation Raspberry Pi fournit un &lt;a href=&#034;https://raw.githubusercontent.com/raspberrypi/pico-setup/master/pico_setup.sh&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;script pour installer&lt;/a&gt; l'environnement de d&#233;veloppement du Raspberry Pi Pico sur un Raspberry Pi. Ce script est livr&#233; sans garantie pour les autres plateformes. L'id&#233;e est d'analyser le script pour r&#233;cup&#233;rer les morceaux essentiels pour un d&#233;veloppement sur Debian 11 Bullseye.&lt;/p&gt;
&lt;p&gt;En pr&#233;-requis, l'utilisateur courant doit avoir acc&#232;s &#224; sudo. L'utilisateur doit &#234;tre dans le groupe &lt;i&gt;dialout&lt;/i&gt; pour acc&#233;der &#224; &lt;i&gt;\dev\ttyAMA0&lt;/i&gt; - mais ceci ne sera pas utile pour cette &#233;tape.&lt;/p&gt;
&lt;p&gt;Ceci en trois &#233;tapes :&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; L'installation du compilateur.&lt;/li&gt;&lt;li&gt; L'installation du SDK pour le d&#233;veloppement en C/C++.&lt;/li&gt;&lt;li&gt; L'installation du Picotool qui permet de programmer le Rpi Pico.&lt;/li&gt;&lt;/ul&gt;&lt;h2 class=&#034;spip&#034; id=&#034;installation_du_compilateur&#034;&gt;&lt;a title=&#034;Sommaire&#034; href='http://poivron-robotique.fr/spip.php?page=backend#outil_sommaire' class=&#034;sommaire_ancre&#034;&gt; &lt;/a&gt;Installation du compilateur&lt;/h2&gt;
&lt;p&gt;Les paquets requis pour la compilation sont :&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; cmake&lt;/li&gt;&lt;li&gt; gcc-arm-none-eabi&lt;/li&gt;&lt;li&gt; gcc&lt;/li&gt;&lt;li&gt; g++&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Mais nous installons &#224; cette &#233;tape :&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; git : n&#233;cessaire pour obtenir le SDK, le Picotool et recommand&#233; pour le d&#233;veloppement&lt;/li&gt;&lt;li&gt; libusb-1.0-0-dev : n&#233;cessaire pour la compilation de Picotool&lt;/li&gt;&lt;li&gt; cutecom : notre gestionnaire de liaison s&#233;rie pr&#233;f&#233;r&#233;.&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;La commande compl&#232;te est :&lt;/p&gt;
&lt;p&gt;&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;sudo apt install git cmake gcc-arm-none-eabi gcc g++ cutecom libusb-1.0-0-dev&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Attention&lt;/strong&gt; : La commande t&#233;l&#233;charge et installe 2,2 Go de programmes. Elle prend un peu de temps...&lt;/p&gt;
&lt;h2 class=&#034;spip&#034; id=&#034;installation_du_sdk&#034;&gt;&lt;a title=&#034;Sommaire&#034; href='http://poivron-robotique.fr/spip.php?page=backend#outil_sommaire' class=&#034;sommaire_ancre&#034;&gt; &lt;/a&gt;Installation du SDK&lt;/h2&gt;
&lt;p&gt;Cr&#233;ez un dossier pour le SDK, pico-sdk par exemple, et faites-en votre r&#233;pertoire de travail. &#192; partir de l&#224;, t&#233;l&#233;chargez le projet et ses d&#233;pendances avec git :&lt;/p&gt;
&lt;p&gt; &lt;titre_code&gt;T&#233;l&#233;chargement du SDK&lt;/titre_code&gt; &lt;code&gt; git clone -b master --depth 1 https://github.com/raspberrypi/pico-sdk.git --shallow-submodules . git submodule update --init &lt;/code&gt; &lt;/p&gt;
&lt;p&gt;Les options &#8212;depth 1 et &#8212;shallow-submodules &#233;vitent de t&#233;l&#233;charger l'historique du projet. Mais nous avons t&#233;l&#233;charg&#233; 2,2 Go &#224; l'&#233;tape pr&#233;c&#233;dente...&lt;/p&gt;
&lt;p&gt;Il faut encore initialiser la variable d'environnement qui va bien :&lt;/p&gt;
&lt;p&gt; &lt;titre_code&gt;Variable d'environnement&lt;/titre_code&gt; &lt;code&gt; echo &#034;export PICO_SDK_PATH=$(pwd)&#034; &gt;&gt; ~/.bashrc source ~/.bashrc &lt;/code&gt; &lt;/p&gt;
&lt;h2 class=&#034;spip&#034; id=&#034;compilation_et_installation_du_picotool&#034;&gt;&lt;a title=&#034;Sommaire&#034; href='http://poivron-robotique.fr/spip.php?page=backend#outil_sommaire' class=&#034;sommaire_ancre&#034;&gt; &lt;/a&gt;Compilation et installation du Picotool&lt;/h2&gt;
&lt;p&gt;Cr&#233;ez un dossier pour le code du Picotool, picotool par exemple, et faites-en votre r&#233;pertoire de travail. &#192; partir de l&#224;, t&#233;l&#233;chargez le projet :&lt;/p&gt;
&lt;p&gt; &lt;titre_code&gt;T&#233;l&#233;chargement du code du picotool&lt;/titre_code&gt; &lt;code&gt; git clone -b master --depth 1 https://github.com/raspberrypi/picotool.git . &lt;/code&gt; &lt;/p&gt;
&lt;p&gt;Compilez-le :&lt;/p&gt;
&lt;p&gt; &lt;titre_code&gt;Compilation du picotool&lt;/titre_code&gt; &lt;code&gt; mkdir build cd build cmake .. make &lt;/code&gt; &lt;/p&gt;
&lt;p&gt;Et installez-le :&lt;/p&gt;
&lt;p&gt; &lt;titre_code&gt;Installation du picotool&lt;/titre_code&gt; &lt;code&gt; sudo cp picotool /usr/local/bin/ &lt;/code&gt; &lt;/p&gt;
&lt;p&gt;Suite &#224; une &#233;volution du SDK, la compilation de votre programme testera syst&#233;matiquement la pr&#233;sence du picotool. Dans le cas o&#249; il ne trouve pas le Picotool, il va le recompiler. C'est long et pas n&#233;cessaire. On peut lui donner l'endroit o&#249; nous avons compil&#233; le Picotool pour &#233;viter ce d&#233;sagr&#233;ment.&lt;/p&gt;
&lt;p&gt; &lt;titre_code&gt;Variable d'environnement&lt;/titre_code&gt; &lt;code&gt; echo &#034;export PICOTOOL_FETCH_FROM_GIT_PATH=$(pwd)&#034; &gt;&gt; ~/.bashrc source ~/.bashrc &lt;/code&gt; &lt;/p&gt;
&lt;p&gt;&lt;i&gt;Note :&lt;/i&gt; D'apr&#232;s la documentation, il vaut mieux utiliser la variable picotool_DIR, mais chez nous l'utilisation de cette variable restait sans effet.&lt;/p&gt;
&lt;p&gt;Vous &#234;tes maintenant pr&#234;ts ! Vous pouvez cr&#233;er &lt;a href='http://poivron-robotique.fr/Rpi-Pico-Creer-son-projet-Raspberry-Pi-Pico.html' class=&#034;spip_in&#034;&gt;votre premier projet&lt;/a&gt; !&lt;/p&gt;
&lt;p&gt;Notons que le script de la fondation installe aussi OpenOCD, Visual Studio Code et des plugins, un SDK avec des fonctions non finalis&#233;es (pico-extra) et des exemples (pico-example et pico-playground) et picoprobe qui permet de deboguer un Rpi Pico avec un autre Rpi Pico.&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>Raspberry Pi Pico - Cr&#233;er son projet C/C++</title>
		<link>http://poivron-robotique.fr/Rpi-Pico-Creer-son-projet-Raspberry-Pi-Pico.html</link>
		<guid isPermaLink="true">http://poivron-robotique.fr/Rpi-Pico-Creer-son-projet-Raspberry-Pi-Pico.html</guid>
		<dc:date>2022-12-26T16:16:18Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Keuronde</dc:creator>



		<description>
&lt;p&gt;Pr&#233;-requis : avoir install&#233; le SDK du Raspberry Pi Pico et avoir un r&#233;pertoire vide pour le projet. &lt;br class='autobr' /&gt;
Les grandes &#233;tapes : S'assurer de que PICO_SDK_PATH pointe bien vers le SDK Copier le fichier pico_sdk_import.cmake dans le r&#233;pertoire du projet Utiliser un CMakeLists.txt &#034;minimal&#034; R&#233;pertoire de build : mkdir build ; cd build &lt;br class='autobr' /&gt;
V&#233;rification du PICO_SDK_PATH &lt;br class='autobr' /&gt;
Le plus simple : &lt;br class='autobr' /&gt;
echo $PICO_SDK_PATH /home/.../Projets/RpiPico/pico/pico-sdk &lt;br class='autobr' /&gt;
Si la variable n'est pas d&#233;finie, l'une des (&#8230;)&lt;/p&gt;


-
&lt;a href="http://poivron-robotique.fr/-Raspberry-Pi-.html" rel="directory"&gt;Raspberry Pi&lt;/a&gt;


		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;p&gt;Pr&#233;-requis : avoir &lt;a href='http://poivron-robotique.fr/Rpi-Pico-Installer-l-environnement-de-developpement-sur-Debian-11.html' class=&#034;spip_in&#034;&gt;install&#233; le SDK du Raspberry Pi Pico&lt;/a&gt; et avoir un r&#233;pertoire vide pour le projet.&lt;/p&gt;
&lt;p&gt;Les grandes &#233;tapes :&lt;/p&gt;
&lt;ol class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; S'assurer de que PICO_SDK_PATH pointe bien vers le SDK&lt;/li&gt;&lt;li&gt; Copier le fichier pico_sdk_import.cmake dans le r&#233;pertoire du projet&lt;/li&gt;&lt;li&gt; Utiliser un CMakeLists.txt &#034;minimal&#034;&lt;/li&gt;&lt;li&gt; R&#233;pertoire de build : mkdir build ; cd build&lt;/li&gt;&lt;/ol&gt;&lt;h2 class=&#034;spip&#034; id=&#034;verification_du_pico_sdk_path&#034;&gt;&lt;a title=&#034;Sommaire&#034; href='http://poivron-robotique.fr/spip.php?page=backend#outil_sommaire' class=&#034;sommaire_ancre&#034;&gt; &lt;/a&gt;V&#233;rification du PICO_SDK_PATH&lt;/h2&gt;
&lt;p&gt;Le plus simple :&lt;/p&gt;
&lt;p&gt;&lt;titre_code&gt;echo $PICO_SDK_PATH&lt;/titre_code&gt; &lt;code&gt;/home/.../Projets/RpiPico/pico/pico-sdk&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Si la variable n'est pas d&#233;finie, l'une des solutions est d'&#233;diter votre fichier .bashrc et de rajouter, en fonction de votre installation :&lt;/p&gt;
&lt;p&gt;&lt;titre_code&gt;~/.bashrc&lt;/titre_code&gt; &lt;code&gt;export PICO_SDK_PATH=/home/.../Projets/RpiPico/pico/pico-sdk &lt;/code&gt; &lt;/p&gt;
&lt;h2 class=&#034;spip&#034; id=&#034;copier_le_fichier_pico_sdk_import_cmake_dans_votre_projet&#034;&gt;&lt;a title=&#034;Sommaire&#034; href='http://poivron-robotique.fr/spip.php?page=backend#outil_sommaire' class=&#034;sommaire_ancre&#034;&gt; &lt;/a&gt;Copier le fichier pico_sdk_import.cmake dans votre projet&lt;/h2&gt;
&lt;p&gt;Rien de sorcier, tant que vous savez o&#249; trouver votre fichier :&lt;/p&gt;
&lt;p&gt;&lt;titre_code&gt;&#192; la racine de votre projet&lt;/titre_code&gt; &lt;code&gt;cp $PICO_SDK_PATH/external/pico_sdk_import.cmake .&lt;/code&gt; &lt;/p&gt;
&lt;h2 class=&#034;spip&#034; id=&#034;fichier_cmakelists_txt&#034;&gt;&lt;a title=&#034;Sommaire&#034; href='http://poivron-robotique.fr/spip.php?page=backend#outil_sommaire' class=&#034;sommaire_ancre&#034;&gt; &lt;/a&gt;Fichier CMakeLists.txt&lt;/h2&gt;
&lt;p&gt;Ceci n'est pas le CMakeLists.txt minimal, mais celui que nous utilisons. Il contient deux ajouts :&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; L'ajout de la cible Flash, pour compiler et programmer le Rpi Pico d'une seule commande
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Merci &#224; @madahin [Sharp'Attack] pour son aide avec cmake !&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt; La suppression de la conversion automatique des '\n' en '\r\n'.&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;titre_code&gt;CMakeLists.txt&lt;/titre_code&gt; &lt;code&gt; cmake_minimum_required(VERSION 3.13) # Requis pour initialiser les variables li&#233;es au SDK du Rpi Pico include(pico_sdk_import.cmake) project(MonProjectRpiPico C CXX ASM) set(CMAKE_C_STANDARD 11) set(CMAKE_CXX_STANDARD 17) pico_sdk_init() # add_executable : nom de l'executable &#034;MonExecutableRpiPico&#034; suivi des fichiers &#224; compiler. add_executable(MonExecutableRpiPico MonFichierSource.c ) # printf vers USB CDC, pas vers l'UART pico_enable_stdio_usb(MonExecutableRpiPico 1) pico_enable_stdio_uart(MonExecutableRpiPico 0) # Requis pour g&#233;n&#233;rer le .uf2 pico_add_extra_outputs(MonExecutableRpiPico) # Notre projet suivi des librairies appel&#233;es, notamment celles du SDK. target_link_libraries(MonExecutableRpiPico pico_stdlib) # Ajout de la cible Flash, qui programme le Rpi Pico apr&#232;s avoir add_custom_target(Flash DEPENDS MonExecutableRpiPico COMMAND sudo picotool load -f ${PROJECT_BINARY_DIR}/MonExecutableRpiPico.uf2 ) add_compile_options(-Wall) # Suppression de la conversion automatique LF -&gt; CRLF add_definitions(-DPICO_STDIO_ENABLE_CRLF_SUPPORT=0) &lt;/code&gt; &lt;/p&gt;
&lt;h2 class=&#034;spip&#034; id=&#034;repertoire_de_compilation&#034;&gt;&lt;a title=&#034;Sommaire&#034; href='http://poivron-robotique.fr/spip.php?page=backend#outil_sommaire' class=&#034;sommaire_ancre&#034;&gt; &lt;/a&gt;R&#233;pertoire de compilation&lt;/h2&gt;
&lt;p&gt;Enfin, parce que c'est une bonne pratique et qu'&#233;viter de m&#233;langer les fichiers de compilations avec les fichiers sources est une tr&#232;s bonne id&#233;e. Et surtout qu'avec cmake, vous allez obtenir 247 r&#233;pertoires et 501 fichiers - uniquement pour le code de d&#233;monstration...&lt;/p&gt;
&lt;p&gt;&lt;titre_code&gt;&#192; la racine de votre projet&lt;/titre_code&gt; &lt;code&gt;mkdir build&lt;/code&gt; &lt;/p&gt;
&lt;h2 class=&#034;spip&#034; id=&#034;testez&#034;&gt;&lt;a title=&#034;Sommaire&#034; href='http://poivron-robotique.fr/spip.php?page=backend#outil_sommaire' class=&#034;sommaire_ancre&#034;&gt; &lt;/a&gt;Testez !&lt;/h2&gt;
&lt;p&gt;Copier l'un des fichiers d'exemple, comme &lt;a href=&#034;https://github.com/raspberrypi/pico-examples/blob/master/hello_world/usb/hello_usb.c&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;hello_usb.c&lt;/a&gt; ou &lt;a href=&#034;https://github.com/raspberrypi/pico-examples/blob/master/blink/blink.c&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;blink.c&lt;/a&gt; dans votre fichier MonFichierSource.c.&lt;/p&gt;
&lt;p&gt;Entrer dans le r&#233;pertoire de compilation, actualiser votre cha&#238;ne de compilation et compilez :&lt;/p&gt;
&lt;p&gt;&lt;titre_code&gt;Compilation&lt;/titre_code&gt; &lt;code&gt;cd build/ cmake .. make Flash &lt;/code&gt; &lt;/p&gt;
&lt;p&gt;Si votre Pico est en mode BOOT ou a l'USB d'activ&#233;, vous devriez le reprogrammer avec succ&#232;s.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034; id=&#034;un_mot_sur_les_bibliotheques_du_sdk&#034;&gt;&lt;a title=&#034;Sommaire&#034; href='http://poivron-robotique.fr/spip.php?page=backend#outil_sommaire' class=&#034;sommaire_ancre&#034;&gt; &lt;/a&gt;Un mot sur les biblioth&#232;ques du SDK&lt;/h2&gt;
&lt;p&gt;Ce qui suit est grandement extrait de 'Raspberry Pi Pico C/C++ SDK'.&lt;/p&gt;
&lt;p&gt;Chaque biblioth&#232;que du SDK est consid&#233;r&#233;e comme une interface au sens de cmake. Elle contient notamment :&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; Les fichiers &#034;include&#034;&lt;/li&gt;&lt;li&gt; Les fichiers sources&lt;/li&gt;&lt;li&gt; Les options de compilation&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Par rapport &#224; des biblioth&#232;ques pr&#233;-compil&#233;es, ceci permet avec un seul d&#233;p&#244;t de code, de compiler les biblioth&#232;ques avec diff&#233;rentes options, d'obtenir les biblioth&#232;ques personnalis&#233;es pour notre puce, sans code &#034;mort&#034; qui tra&#238;ne dans la biblioth&#232;que embarqu&#233;e et sans impacter les autres projets.&lt;/p&gt;
&lt;p&gt;Cette modularit&#233; a un co&#251;t, chaque biblioth&#232;que doit &#234;tre ajout&#233;e dans le CMakeLists.txt, en plus des &lt;i&gt;#include&lt;/i&gt; &#224; rajouter dans le code. Les noms des modules &#224; rajouter dans le CMakeLists.txt sont indiqu&#233;s dans &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;Raspberry Pi Pico C/C++ SDK&lt;/code&gt;, dans &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;4.1. Hardware APIs&lt;/code&gt; et les autres titres 4.x. Pour les noms exacts des fichiers .h &#224; mettre dans les &lt;i&gt;#include&lt;/i&gt;, ils sont &lt;i&gt;parfois&lt;/i&gt; pr&#233;cis&#233;s dans la &lt;a href=&#034;https://raspberrypi.github.io/pico-sdk-doxygen/&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;documentation Doxygen du SDK&lt;/a&gt;.&lt;/p&gt;
&lt;h3 class=&#034;spip&#034; id=&#034;le_sdk_dans_le_detail&#034;&gt;&lt;a title=&#034;Sommaire&#034; href='http://poivron-robotique.fr/spip.php?page=backend#outil_sommaire' class=&#034;sommaire_ancre&#034;&gt; &lt;/a&gt;Le SDK dans le d&#233;tail&lt;/h3&gt;
&lt;p&gt;Rajouter un module dans la liste &lt;i&gt;target_link_libraries&lt;/i&gt; ajoute un chemin o&#249; chercher les &lt;i&gt;#include&lt;/i&gt;. Par exemple, ajouter &lt;i&gt;hardware_pwm&lt;/i&gt;, rajoutera le chemin :&lt;/p&gt;
&lt;p&gt;&lt;code class='spip_code spip_code_inline' dir='ltr'&gt;$PICO_SDK_PATH/src/rp2_common/hardware_pwm/include/&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Vous le trouvez avec la commande &lt;code class='spip_code spip_code_inline' dir='ltr'&gt;find $PICO_SDK_PATH/src -name &#034;hardware_pwm&#034;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;En regardant le contenu du r&#233;pertoire, vous trouverez les noms des &lt;i&gt;includes&lt;/i&gt; :&lt;/p&gt;
&lt;p&gt;&lt;titre_code&gt;tree $PICO_SDK_PATH/src/rp2_common/hardware_pwm/include/&lt;/titre_code&gt; &lt;code&gt; &#9492;&#9472;&#9472; hardware &#9492;&#9472;&#9472; pwm.h &lt;/code&gt; &lt;/p&gt;
&lt;p&gt;Donc vous devrez inclure &#034;hardware/pwm.h&#034; pour compiler vos fichiers utilisant les fonctions PWM.&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>Raspberry Pi Pico - La documentation</title>
		<link>http://poivron-robotique.fr/Raspberry-Pi-Pico-La-documentation.html</link>
		<guid isPermaLink="true">http://poivron-robotique.fr/Raspberry-Pi-Pico-La-documentation.html</guid>
		<dc:date>2022-12-26T16:16:11Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Keuronde</dc:creator>



		<description>
&lt;p&gt;R&#233;capitulons les documentations utiles pour d&#233;velopper sur le Raspberry Pi Pico. &lt;br class='autobr' /&gt;
Bien &#233;videmment, nous vous conseillons nos articles pour installer l'environnement de d&#233;veloppement et cr&#233;er son projet. Mais ceci ne vous suffira pas. &lt;br class='autobr' /&gt;
Vous avez la documentation en PDF de la fondation Raspberry Pi. Le guide de d&#233;marrage rapide ; La fiche technique du Rapsberry Pi Pico (la carte) ; La fiche technique du RP2040, c'est le principal document pour comprendre le fonctionnement du RP2040. La (&#8230;)&lt;/p&gt;


-
&lt;a href="http://poivron-robotique.fr/-Raspberry-Pi-.html" rel="directory"&gt;Raspberry Pi&lt;/a&gt;


		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;p&gt;R&#233;capitulons les documentations utiles pour d&#233;velopper sur le Raspberry Pi Pico.&lt;/p&gt;
&lt;p&gt;Bien &#233;videmment, nous vous conseillons nos articles pour &lt;a href='http://poivron-robotique.fr/Rpi-Pico-Installer-l-environnement-de-developpement-sur-Debian-11.html' class=&#034;spip_in&#034;&gt;installer l'environnement de d&#233;veloppement&lt;/a&gt; et &lt;a href='http://poivron-robotique.fr/Rpi-Pico-Creer-son-projet-Raspberry-Pi-Pico.html' class=&#034;spip_in&#034;&gt;cr&#233;er son projet&lt;/a&gt;. Mais ceci ne vous suffira pas.&lt;/p&gt;
&lt;p&gt;Vous avez la documentation en PDF de la fondation Raspberry Pi.&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;a href=&#034;https://datasheets.raspberrypi.com/pico/getting-started-with-pico.pdf&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;Le guide de d&#233;marrage rapide&lt;/a&gt; ;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;https://datasheets.raspberrypi.com/pico/pico-datasheet.pdf&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;La fiche technique du Rapsberry Pi Pico (la carte)&lt;/a&gt; ;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;https://datasheets.raspberrypi.com/rp2040/rp2040-datasheet.pdf&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;La fiche technique du RP2040&lt;/a&gt;, c'est le principal document pour comprendre le fonctionnement du RP2040.&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;https://datasheets.raspberrypi.com/pico/raspberry-pi-pico-c-sdk.pdf&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;La documentation du SDK en C/C++&lt;/a&gt; ou son pendant en &lt;a href=&#034;https://datasheets.raspberrypi.com/pico/raspberry-pi-pico-python-sdk.pdf&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;python&lt;/a&gt; ;&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;https://datasheets.raspberrypi.com/pico/raspberry-pi-pico-faq.pdf&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;La FAQ&lt;/a&gt; ne nous a pas &#233;t&#233; utile, mais ne pas la lire est certainement une erreur.&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Mais la documentation PDF, notamment pour le SDK, ne couvre pas tout. Si vous souhaitez plus de d&#233;tails, notamment sur les fichiers d'ent&#234;te &#224; inclure, &lt;a href=&#034;https://raspberrypi.github.io/pico-sdk-doxygen/&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;documentation Doxygen du SDK&lt;/a&gt; pourra vous aider (mais les ent&#234;tes ne sont pas pr&#233;cis&#233;s pour toutes les fonctions).&lt;/p&gt;
&lt;p&gt;En plus vous avez les diff&#233;rents fichiers Readme des projets de la fondation Raspberry Pi :&lt;/p&gt;
&lt;ul class=&#034;spip&#034; role=&#034;list&#034;&gt;&lt;li&gt; &lt;a href=&#034;https://github.com/raspberrypi/pico-sdk/blob/master/README.md&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;pico-sdk&lt;/a&gt; : le SDK stable&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;https://github.com/raspberrypi/pico-examples/blob/master/README.md&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;pico-examples&lt;/a&gt; : les exemples du SDK stable.&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;https://github.com/raspberrypi/pico-extras/blob/master/README.md&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;pico-extras&lt;/a&gt; : le SDK non-stable&lt;/li&gt;&lt;li&gt; &lt;a href=&#034;https://github.com/raspberrypi/pico-playground/blob/master/README.md&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;pico-playground&lt;/a&gt; : les exemples du SDK non-stable.&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>Nous contacter</title>
		<link>http://poivron-robotique.fr/Nous-contacter.html</link>
		<guid isPermaLink="true">http://poivron-robotique.fr/Nous-contacter.html</guid>
		<dc:date>2022-11-20T17:25:16Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Keuronde</dc:creator>



		<description>
&lt;p&gt;Nous sommes souvent pr&#233;sents sur le forum de plan&#232;te sciences que ce soit dans la partie &#034;Coupe de France de Robotique&#034; ou &#034;Robotique / Robotic&#034;. &lt;br class='autobr' /&gt;
Mais si vous souhaitez nous contacter &#224; propos d'un de nos projets ou &#224; propos de ce site, le plus simple est de nous laisser un message ci-dessous.&lt;/p&gt;


-
&lt;a href="http://poivron-robotique.fr/-Ressources-.html" rel="directory"&gt;Ressources&lt;/a&gt;


		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;p&gt;Nous sommes souvent pr&#233;sents sur le &lt;a href=&#034;http://www.planete-sciences.org/forums/&#034; class=&#034;spip_out&#034; rel=&#034;external&#034;&gt;forum de plan&#232;te sciences&lt;/a&gt; que ce soit dans la partie &#034;Coupe de France de Robotique&#034; ou &#034;Robotique / Robotic&#034;.&lt;/p&gt;
&lt;p&gt;Mais si vous souhaitez nous contacter &#224; propos d'un de nos projets ou &#224; propos de ce site, le plus simple est de nous laisser un message ci-dessous.&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>
<item xml:lang="fr">
		<title>&#034;Robot en Carton&#034; par Droop</title>
		<link>http://poivron-robotique.fr/Robot-en-Carton-par-Droop.html</link>
		<guid isPermaLink="true">http://poivron-robotique.fr/Robot-en-Carton-par-Droop.html</guid>
		<dc:date>2022-09-10T18:36:48Z</dc:date>
		<dc:format>text/html</dc:format>
		<dc:language>fr</dc:language>
		<dc:creator>Keuronde</dc:creator>



		<description>
&lt;p&gt;Toi &lt;br class='autobr' /&gt;
Tu es bizarre, tu t'habilles comme un arbitre de Plan&#232;te Sciences, mais tu poses ton robot sur les tables de match, qui es-tu ? &lt;br class='autobr' /&gt;
Je m'appelle R&#233;mi, mais r&#233;ponds &#233;galement au surnom de Droop. Je suis passionn&#233; de robotique et je participe &#224; la coupe depuis de nombreuses ann&#233;es. &lt;br class='autobr' /&gt;
Comment en es-tu arriv&#233; l&#224; ? &lt;br class='autobr' /&gt;
Je suis ing&#233;nieur dipl&#244;m&#233; de l'UTT (Universit&#233; de Technologie de Troyes). J'y ai pass&#233; de tr&#232;s bonnes ann&#233;es, c'est dans ce cadre que j'ai particip&#233; &#224; la coupe de France de (&#8230;)&lt;/p&gt;


-
&lt;a href="http://poivron-robotique.fr/-Les-interviews-de-equipes-.html" rel="directory"&gt;Les interviews de &#233;quipes&lt;/a&gt;


		</description>


 <content:encoded>&lt;div class='rss_texte'&gt;&lt;h2 class=&#034;spip&#034; id=&#034;toi&#034;&gt;&lt;a title=&#034;Sommaire&#034; href='http://poivron-robotique.fr/spip.php?page=backend#outil_sommaire' class=&#034;sommaire_ancre&#034;&gt; &lt;/a&gt; Toi&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Tu es bizarre, tu t'habilles comme un arbitre de Plan&#232;te Sciences, mais tu poses ton robot sur les tables de match, qui es-tu ?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Je m'appelle R&#233;mi, mais r&#233;ponds &#233;galement au surnom de Droop. Je suis passionn&#233; de robotique et je participe &#224; la coupe depuis de nombreuses ann&#233;es.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Comment en es-tu arriv&#233; l&#224; ?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Je suis ing&#233;nieur dipl&#244;m&#233; de l'UTT (Universit&#233; de Technologie de Troyes). J'y ai pass&#233; de tr&#232;s bonnes ann&#233;es, c'est dans ce cadre que j'ai particip&#233; &#224; la coupe de France de Robotique pour la premi&#232;re fois.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Et ta premi&#232;re participation s'est bien pass&#233;e ?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Lors de ma premi&#232;re ann&#233;e, le club de l'&#233;cole s'est class&#233; 5&#7497;, c'&#233;tait sur Funny Golf. Mais je n'&#233;tais pas encore dans le club.&lt;/p&gt;
&lt;p&gt;Quand j'ai rejoint le club, tous les membres de l'&#233;quipe pr&#233;c&#233;dente &#233;taient partis. Je me suis retrouv&#233; tout seul avec les carcasses des robots. Pas de plan &#233;lectronique des cartes, pas de code des programmes, pas de documentation. Juste des carcasses de robots et moi...&lt;/p&gt;
&lt;p&gt;Alors j'ai appel&#233; quelques copains &#224; l'aide qu m'ont dit &#034;On n'y conna&#238;t rien !&#034;. Je leur ai r&#233;pondu : &#034;C'est pas le probl&#232;me !&#034;.&lt;/p&gt;
&lt;p&gt;Pour notre premi&#232;re participation, nous avions bien travaill&#233; nos actionneurs et fait la base roulante au dernier moment, nous n'avons pas r&#233;ussi &#224; nous homologuer.&lt;/p&gt;
&lt;p&gt;La seconde ann&#233;e, nous nous sommes homologu&#233;s et avons pu faire 3 matchs sur les 5.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&#199;a, c'&#233;tait il y a quelque temps, et maintenant ?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Maintenant, apr&#232;s avoir fini mes &#233;tudes de m&#233;canique, je suis informaticien dans les ERPs pharmaceutiques.&lt;/p&gt;
&lt;p&gt;Je fais un robot tout seul, sans structure ni sponsor, pour mon plaisir personnel.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034; id=&#034;toi_et_planete_sciences&#034;&gt;&lt;a title=&#034;Sommaire&#034; href='http://poivron-robotique.fr/spip.php?page=backend#outil_sommaire' class=&#034;sommaire_ancre&#034;&gt; &lt;/a&gt; Toi et Plan&#232;te Sciences&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Mais ce n'est pas ta seule contribution &#224; la Coupe de France de Robotique ?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Non, je fais aussi partie de Plan&#232;te Science qui organise l'&#233;v&#232;nement ! Pour la Coupe 2022, j'&#233;tais impliqu&#233; dans la commission r&#232;glement. Il s'agit de r&#233;diger le r&#232;glement pour la comp&#233;tition, mais aussi de prendre en compte les retours des &#233;quipes apr&#232;s la publication du brouillon en septembre.&lt;/p&gt;
&lt;p&gt;Pendant la coupe, il s'agit d'homologuer les robots, d'encadrer les matchs et de r&#233;pondre aux arbitres lorsque des situations inhabituelles se pr&#233;sentent.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Tu parles de la r&#233;daction du r&#232;glement, comment sont pris en compte les retours des &#233;quipes ?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Nous nous r&#233;unissons en commission pour &#233;tudier les demandes des &#233;quipes. Lorsque nous &#233;tudions les propositions des &#233;quipes nous faisons particuli&#232;rement attention &#224; deux points :
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; Est-ce que cela va favoriser une &#233;quipe ?
&lt;br /&gt;&lt;span class=&#034;spip-puce ltr&#034;&gt;&lt;b&gt;&#8211;&lt;/b&gt;&lt;/span&gt; Est-ce que cela va d&#233;s&#233;quilibrer les actions ?&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Parle-nous un peu plus du r&#232;glement, que penses-tu de celui de cette ann&#233;e ?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;C'&#233;tait un r&#232;glement assez compliqu&#233; avec beaucoup d'actions.&lt;/p&gt;
&lt;p&gt;Le ramassage des &#233;chantillons demandait 3 traitements de ramassage : les &#233;chantillons au sol, les &#233;chantillons sur les distributeurs horizontaux et les &#233;chantillons sur les distributeurs verticaux. Une fois ramass&#233;s, ces &#233;chantillons pouvaient marquer des points de 3 mani&#232;res diff&#233;rentes, sur la galerie, sous l'abri de chantier ou dans la zone de d&#233;part.&lt;/p&gt;
&lt;p&gt;Il est probable que l'an prochain, le r&#232;glement soit plus simple.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Cela fait plusieurs ann&#233;es que les robots marquent des points en revenant &#224; leur zone de d&#233;part, pourquoi ?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;La raison est assez simple, c'est pour d&#233;gager la table pour l'autre &#233;quipe !&lt;/p&gt;
&lt;h2 class=&#034;spip&#034; id=&#034;ton_robot&#034;&gt;&lt;a title=&#034;Sommaire&#034; href='http://poivron-robotique.fr/spip.php?page=backend#outil_sommaire' class=&#034;sommaire_ancre&#034;&gt; &lt;/a&gt; Ton robot&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;D'o&#249; est venue l'id&#233;e d'avoir un robot des arbitres ? Avant n'&#233;tait-ce pas une boite en carton avec un m&#226;t balise ?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&#199;a pouvait aussi &#234;tre un robot d'une &#233;quipe qui avait d&#233;j&#224; jou&#233; son match, mais c'&#233;tait trop al&#233;atoire. L'&#233;quipe n'&#233;tait pas pr&#234;te, ou son robot plantait et allait perturber l'autre &#233;quipe.&lt;/p&gt;
&lt;p&gt;En 2020, les conditions pour la coupe ont &#233;t&#233; tr&#232;s particuli&#232;res. Les &#233;quipes sont arriv&#233;es le mercredi pour s'homologuer, normalement. Le jeudi, le confinement est annonc&#233; pour le soir m&#234;me. Dans la m&#234;me journ&#233;e, Plan&#232;te Science organise 3 s&#233;ries de matchs et les phases finales.&lt;/p&gt;
&lt;p&gt;Il y a moins d'&#233;quipes et les s&#233;ries comptent toutes un nombre impair d'&#233;quipes. C'est l&#224; que nait l'id&#233;e d'avoir un robot pour les arbitres. Car jouer un match contre un simple carton, c'est parfois d&#233;cevant !&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Parlons un peu de ton robot, il est vraiment en carton ?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Pas uniquement, la structure est en bois, la carrosserie en carton et toute la m&#233;canique un peu pr&#233;cise est imprim&#233;e en 3D. &#199;a comprend les supports moteurs, les supports des roues codeuses et les actionneurs.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Qu'est-ce qu'il fait comme actions ton robot ?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Le robot en carton pousse un carr&#233; de fouille, le num&#233;ro 2, celui qui est toujours de la couleur de l'&#233;quipe. Ensuite, il se dirige vers l'abri de chantier, il attrape la statuette puis il d&#233;pose la r&#233;plique.&lt;/p&gt;
&lt;p&gt;Ensuite, il fait tomber les &#233;chantillons avec ses petits bras, les expulse sous l'abri de chantier puis il se dirige vers la vitrine pour d&#233;poser la statuette.&lt;/p&gt;
&lt;p&gt;Enfin, il fait tomber l'&#233;chantillon &#224; c&#244;t&#233; de la vitrine et rentre dans sa zone de d&#233;part.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Tu avais une strat&#233;gie particuli&#232;re ?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Oui, le but est de ne pas perturber l'&#233;quipe adverse, donc de prendre les points qui &#233;taient r&#233;serv&#233;s &#224; l'&#233;quipe.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;De quoi es-tu le plus fier sur ton robot ?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;C'est certainement d'&#234;tre officieusement class&#233; 21&#7497; (ou 20&#7497;) !&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Tu as un composant particulier de ton robot &#224; mettre en valeur ?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Oui, le convoyeur d'&#233;chantillons ! Plut&#244;t que d'attraper les hexagones, de les retourner puis de les d&#233;poser, le convoyeur leurs faits traverser le robot ! Et au lieu de retourner les &#233;chantillons, c'est le robot tout entier qui se retourne !&lt;/p&gt;
&lt;p&gt;En voici une vid&#233;o lors des essais :&lt;/p&gt;
&lt;p&gt; &lt;video width=&#034;512&#034; height=&#034;288&#034; controls=&#034;controls&#034;&gt; &lt;source src=&#034;Video/2022_Robotencarton_480p.mp4&#034; type=&#034;video/mp4&#034; /&gt; &lt;a href='http://poivron-robotique.fr/Video/2022_Robotencarton_480p.mp4'&gt;Traitement &#233;chantillons - Robot en Carton 2022&lt;/a&gt;&lt;/video&gt; &lt;br class='autobr' /&gt;
La vid&#233;o est disponible en &lt;a href='http://poivron-robotique.fr/Video/2022_Robotencarton_720p.mp4'&gt;720p ici (mp4 - 12 Mo)&lt;/a&gt; et en &lt;a href='http://poivron-robotique.fr/Video/2022_Robotencarton_1080p.mp4'&gt;1080p ici (mp4 - 34 Mo)&lt;/a&gt;.&lt;/p&gt;
&lt;h2 class=&#034;spip&#034; id=&#034;divers&#034;&gt;&lt;a title=&#034;Sommaire&#034; href='http://poivron-robotique.fr/spip.php?page=backend#outil_sommaire' class=&#034;sommaire_ancre&#034;&gt; &lt;/a&gt; Divers&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Tu as des projets en ce moment ?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Pour Plan&#232;te Sciences, je travaille sur la r&#233;daction du prochain r&#232;glement. Je commence aussi &#224; r&#233;fl&#233;chir &#224; la base roulante du prochain robot en carton, ce sera certainement une base holonome.&lt;/p&gt;
&lt;p&gt;&#192; c&#244;t&#233; de &#231;a, j'ai un robot filoguid&#233; pour explorer les terriers.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Tu as un conseil &#224; donner ?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Venez ! Venez &#224; la coupe !&lt;/p&gt;
&lt;p&gt;Mais aussi &#034;KISS : Keep it simple !&#034;, il vaut mieux un robot qui soit fiable qu'un robot qui fait tout.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Un message &#224; faire passer ?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Il faut que les &#233;quipes s'organisent autrement ! Le planning pour un robot, &#231;a devrait plut&#244;t &#234;tre : CAO en novembre, base roulante en d&#233;cembre et un robot mont&#233; en f&#233;vrier !&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Un mot pour la fin ?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Lapin !&lt;/p&gt;
&lt;p&gt;Merci de nous avoir consacr&#233; ton temps pour cette interview !&lt;/p&gt;&lt;/div&gt;
		
		</content:encoded>


		

	</item>



</channel>

</rss>
