﻿<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
	<id>https://bacasable.arpitania.eu//index.php?action=history&amp;feed=atom&amp;title=Robots_suiveurs_3_-_Code_RobotCamera</id>
	<title>Robots suiveurs 3 - Code RobotCamera - Historique des versions</title>
	<link rel="self" type="application/atom+xml" href="https://bacasable.arpitania.eu//index.php?action=history&amp;feed=atom&amp;title=Robots_suiveurs_3_-_Code_RobotCamera"/>
	<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=Robots_suiveurs_3_-_Code_RobotCamera&amp;action=history"/>
	<updated>2026-04-05T19:24:01Z</updated>
	<subtitle>Historique des versions pour cette page sur le wiki</subtitle>
	<generator>MediaWiki 1.32.0</generator>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=Robots_suiveurs_3_-_Code_RobotCamera&amp;diff=11004&amp;oldid=prev</id>
		<title>Eric le 7 mars 2021 à 13:07</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=Robots_suiveurs_3_-_Code_RobotCamera&amp;diff=11004&amp;oldid=prev"/>
		<updated>2021-03-07T13:07:05Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;fr&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Version précédente&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Version du 7 mars 2021 à 13:07&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l291&quot; &gt;Ligne 291 :&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Ligne 291 :&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  &amp;lt;/nowiki&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  &amp;lt;/nowiki&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Catégorie:TELECOM]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Eric</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=Robots_suiveurs_3_-_Code_RobotCamera&amp;diff=10945&amp;oldid=prev</id>
		<title>De-almeida-ribeiro.thiago le 12 mai 2020 à 14:40</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=Robots_suiveurs_3_-_Code_RobotCamera&amp;diff=10945&amp;oldid=prev"/>
		<updated>2020-05-12T14:40:43Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;fr&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Version précédente&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Version du 12 mai 2020 à 14:40&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l229&quot; &gt;Ligne 229 :&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Ligne 229 :&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;       // Sinon si on a plus de pixel rouge à gauche alors on tourne à gauche&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;       // Sinon si on a plus de pixel rouge à gauche alors on tourne à gauche&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;       else{&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;       else{&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;      std::cout&amp;lt;&amp;lt;&amp;quot;redg : &amp;quot;&amp;lt;&amp;lt; redg &amp;lt;&amp;lt;&amp;quot;redd : &amp;quot;&amp;lt;&amp;lt; redd &amp;lt;&amp;lt; &amp;quot;red : &amp;quot;&amp;lt;&amp;lt; red &amp;lt;&amp;lt;std::endl;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;      std::cout&amp;lt;&amp;lt;&amp;quot;blueg : &amp;quot;&amp;lt;&amp;lt; blueg &amp;lt;&amp;lt;&amp;quot;blued : &amp;quot;&amp;lt;&amp;lt; blued &amp;lt;&amp;lt; &amp;quot;blue : &amp;quot;&amp;lt;&amp;lt; blue &amp;lt;&amp;lt;std::endl;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;      std::cout&amp;lt;&amp;lt;&amp;quot;greeng : &amp;quot;&amp;lt;&amp;lt; greeng &amp;lt;&amp;lt;&amp;quot;greend : &amp;quot;&amp;lt;&amp;lt; greend &amp;lt;&amp;lt; &amp;quot;green : &amp;quot;&amp;lt;&amp;lt; green &amp;lt;&amp;lt;std::endl;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         if((redg &amp;gt; 1.5*greeng) &amp;amp;&amp;amp; (redg &amp;gt; 1.5*blueg)){&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         if((redg &amp;gt; 1.5*greeng) &amp;amp;&amp;amp; (redg &amp;gt; 1.5*blueg)){&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;           left_motor-&amp;gt;setVelocity(-leftSpeed);&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;           left_motor-&amp;gt;setVelocity(-leftSpeed);&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>De-almeida-ribeiro.thiago</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=Robots_suiveurs_3_-_Code_RobotCamera&amp;diff=10939&amp;oldid=prev</id>
		<title>Clément Luton le 12 mai 2020 à 14:24</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=Robots_suiveurs_3_-_Code_RobotCamera&amp;diff=10939&amp;oldid=prev"/>
		<updated>2020-05-12T14:24:49Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;fr&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Version précédente&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Version du 12 mai 2020 à 14:24&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l60&quot; &gt;Ligne 60 :&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Ligne 60 :&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   emitter-&amp;gt;setRange(0.4); // définit la plage de l'émetteur&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   emitter-&amp;gt;setRange(0.4); // définit la plage de l'émetteur&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;    &lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;    &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   int exPos = 0; // utilisé pour définir dans quel &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;sense &lt;/del&gt;tourner quand on voit plus le robot rouge&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   int exPos = 0; // utilisé pour définir dans quel &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;sens &lt;/ins&gt;tourner quand on voit plus le robot rouge&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;    &lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;    &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   double vitesse = 0; // utilisé pour faire la réduction de vitesse&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   double vitesse = 0; // utilisé pour faire la réduction de vitesse&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l81&quot; &gt;Ligne 81 :&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Ligne 81 :&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;       emitter-&amp;gt;send(message, strlen(message) + 1);&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;       emitter-&amp;gt;send(message, strlen(message) + 1);&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;    &lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;    &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     // crée des variables pour compter la somme des composantes rouge, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;vert &lt;/del&gt;et &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;bleu &lt;/del&gt;des pixels pour chacune des 3 parties de l'image &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;etudiée&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     // crée des variables pour compter la somme des composantes rouge, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;verte &lt;/ins&gt;et &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;bleue &lt;/ins&gt;des pixels pour chacune des 3 parties de l'image &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;étudiée&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     int red = 0;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     int red = 0;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     int blue = 0;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;     int blue = 0;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l201&quot; &gt;Ligne 201 :&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Ligne 201 :&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;            }&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;            }&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;          }&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;          }&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         // Si on se &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;rapporhce &lt;/del&gt;d'un obstacle, on ralentit&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         // Si on se &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;rapproche &lt;/ins&gt;d'un obstacle, on ralentit&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         else if (front_obstacle2){&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         else if (front_obstacle2){&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;           double produitEnCroix = ((200-valMax)/(double)100);&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;           double produitEnCroix = ((200-valMax)/(double)100);&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l238&quot; &gt;Ligne 238 :&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Ligne 238 :&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;            &lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;            &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         }&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         }&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         // Sinon on tourne sur nous même pour essayer de &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;toruver &lt;/del&gt;un objet rouge&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         // Sinon on tourne sur nous même pour essayer de &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;trouver &lt;/ins&gt;un objet rouge&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         else{&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         else{&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;           if (exPos==1) {&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;           if (exPos==1) {&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Clément Luton</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=Robots_suiveurs_3_-_Code_RobotCamera&amp;diff=10938&amp;oldid=prev</id>
		<title>Clément Luton le 12 mai 2020 à 14:23</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=Robots_suiveurs_3_-_Code_RobotCamera&amp;diff=10938&amp;oldid=prev"/>
		<updated>2020-05-12T14:23:07Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;fr&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Version précédente&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Version du 12 mai 2020 à 14:23&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l293&quot; &gt;Ligne 293 :&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Ligne 293 :&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;}&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  &amp;lt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;\&lt;/del&gt;nowiki&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  &amp;lt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;/&lt;/ins&gt;nowiki&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Clément Luton</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=Robots_suiveurs_3_-_Code_RobotCamera&amp;diff=10937&amp;oldid=prev</id>
		<title>Clément Luton le 12 mai 2020 à 14:22</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=Robots_suiveurs_3_-_Code_RobotCamera&amp;diff=10937&amp;oldid=prev"/>
		<updated>2020-05-12T14:22:38Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;fr&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Version précédente&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Version du 12 mai 2020 à 14:22&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot; &gt;Ligne 1 :&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Ligne 1 :&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt; &amp;lt;nowiki&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;#include &amp;lt;webots/Robot.hpp&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;#include &amp;lt;webots/Robot.hpp&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;#include &amp;lt;webots/Emitter.hpp&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;#include &amp;lt;webots/Emitter.hpp&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l292&quot; &gt;Ligne 292 :&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Ligne 292 :&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   return 0;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   return 0;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;}&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; &amp;lt;\nowiki&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Clément Luton</name></author>
		
	</entry>
	<entry>
		<id>https://bacasable.arpitania.eu//index.php?title=Robots_suiveurs_3_-_Code_RobotCamera&amp;diff=10936&amp;oldid=prev</id>
		<title>Clément Luton : Page créée avec «  #include &lt;webots/Robot.hpp&gt; #include &lt;webots/Emitter.hpp&gt; #include &lt;webots/DistanceSensor.hpp&gt; #include &lt;webots/motor.hpp&gt; #include &lt;webots/Camera.hpp&gt; #include &lt;iostream... »</title>
		<link rel="alternate" type="text/html" href="https://bacasable.arpitania.eu//index.php?title=Robots_suiveurs_3_-_Code_RobotCamera&amp;diff=10936&amp;oldid=prev"/>
		<updated>2020-05-12T14:21:46Z</updated>

		<summary type="html">&lt;p&gt;Page créée avec «  #include &amp;lt;webots/Robot.hpp&amp;gt; #include &amp;lt;webots/Emitter.hpp&amp;gt; #include &amp;lt;webots/DistanceSensor.hpp&amp;gt; #include &amp;lt;webots/motor.hpp&amp;gt; #include &amp;lt;webots/Camera.hpp&amp;gt; #include &amp;lt;iostream... »&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nouvelle page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;
#include &amp;lt;webots/Robot.hpp&amp;gt;&lt;br /&gt;
#include &amp;lt;webots/Emitter.hpp&amp;gt;&lt;br /&gt;
#include &amp;lt;webots/DistanceSensor.hpp&amp;gt;&lt;br /&gt;
#include &amp;lt;webots/motor.hpp&amp;gt;&lt;br /&gt;
#include &amp;lt;webots/Camera.hpp&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
#include &amp;lt;string.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#define COMMUNICATION_CHANNEL 1&lt;br /&gt;
#define MAX_SPEED 6.28&lt;br /&gt;
&lt;br /&gt;
// toutes les classes webots sont définies dans le namespace &amp;quot;webots&amp;quot;&lt;br /&gt;
using namespace webots;&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main(int argc, char **argv) {&lt;br /&gt;
&lt;br /&gt;
  // créé l'instance Robot.&lt;br /&gt;
  Robot *robot = new Robot();&lt;br /&gt;
&lt;br /&gt;
  // récupère le pas de temps du monde actuel&lt;br /&gt;
  int timeStep = (int)robot-&amp;gt;getBasicTimeStep();&lt;br /&gt;
  &lt;br /&gt;
  &lt;br /&gt;
  // crée les instances des périphériques et les associe&lt;br /&gt;
  Emitter *emitter = robot-&amp;gt;getEmitter(&amp;quot;emitter&amp;quot;);&lt;br /&gt;
  Motor *left_motor = robot-&amp;gt;getMotor(&amp;quot;left wheel motor&amp;quot;);&lt;br /&gt;
  Motor *right_motor = robot-&amp;gt;getMotor(&amp;quot;right wheel motor&amp;quot;);&lt;br /&gt;
  Camera *camera = robot-&amp;gt;getCamera(&amp;quot;camera&amp;quot;);&lt;br /&gt;
  DistanceSensor *ps[8];&lt;br /&gt;
  char psNames[8][4] = {&lt;br /&gt;
    &amp;quot;ps0&amp;quot;, &amp;quot;ps1&amp;quot;, &amp;quot;ps2&amp;quot;, &amp;quot;ps3&amp;quot;,&lt;br /&gt;
    &amp;quot;ps4&amp;quot;, &amp;quot;ps5&amp;quot;, &amp;quot;ps6&amp;quot;, &amp;quot;ps7&amp;quot;&lt;br /&gt;
  };&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  for (int i = 0; i &amp;lt; 8; i++) {&lt;br /&gt;
    ps[i] = robot-&amp;gt;getDistanceSensor(psNames[i]);&lt;br /&gt;
    ps[i]-&amp;gt;enable(timeStep);&lt;br /&gt;
  }&lt;br /&gt;
  &lt;br /&gt;
  // active la caméra&lt;br /&gt;
  camera-&amp;gt;enable(timeStep);&lt;br /&gt;
&lt;br /&gt;
  // initialisation du moteur&lt;br /&gt;
  left_motor-&amp;gt;setPosition(INFINITY);&lt;br /&gt;
  right_motor-&amp;gt;setPosition(INFINITY);&lt;br /&gt;
  left_motor-&amp;gt;setVelocity(0.0);&lt;br /&gt;
  right_motor-&amp;gt;setVelocity(0.0);&lt;br /&gt;
  &lt;br /&gt;
  // si mauvais canal&lt;br /&gt;
  const int channel = emitter-&amp;gt;getChannel();&lt;br /&gt;
    if (channel != COMMUNICATION_CHANNEL) &lt;br /&gt;
    {&lt;br /&gt;
      emitter-&amp;gt;setChannel(COMMUNICATION_CHANNEL);&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
  emitter-&amp;gt;setRange(0.4); // définit la plage de l'émetteur&lt;br /&gt;
  &lt;br /&gt;
  int exPos = 0; // utilisé pour définir dans quel sense tourner quand on voit plus le robot rouge&lt;br /&gt;
  &lt;br /&gt;
  double vitesse = 0; // utilisé pour faire la réduction de vitesse&lt;br /&gt;
  &lt;br /&gt;
  // utilisés pour faire l'évitement d'obstacles&lt;br /&gt;
  int evitementG = 0;&lt;br /&gt;
  int incrementEvitemment = 0;&lt;br /&gt;
&lt;br /&gt;
 // boucle principale&lt;br /&gt;
 &lt;br /&gt;
 // Le but est de séparer l'image en 3 partie : une partie centrale, gauche et droite&lt;br /&gt;
 // et d'analyser le nombre de pixel rouge dans chacune de ces parties&lt;br /&gt;
 // Si le nombre de pixel rouge est plus important au centre, on avance, si il l'est plus à &lt;br /&gt;
 // gauche, on tourne à gauche, etc...&lt;br /&gt;
 &lt;br /&gt;
  while (robot-&amp;gt;step(timeStep) != -1) {&lt;br /&gt;
  &lt;br /&gt;
      // envoie un message terminé par null&lt;br /&gt;
      const char *message = &amp;quot;Hello!&amp;quot;;&lt;br /&gt;
      emitter-&amp;gt;send(message, strlen(message) + 1);&lt;br /&gt;
  &lt;br /&gt;
    // crée des variables pour compter la somme des composantes rouge, vert et bleu des pixels pour chacune des 3 parties de l'image etudiée&lt;br /&gt;
    int red = 0;&lt;br /&gt;
    int blue = 0;&lt;br /&gt;
    int green = 0;&lt;br /&gt;
        &lt;br /&gt;
    int redg = 0;&lt;br /&gt;
    int blueg = 0;&lt;br /&gt;
    int greeng = 0;&lt;br /&gt;
    &lt;br /&gt;
    int redd = 0;&lt;br /&gt;
    int blued = 0;&lt;br /&gt;
    int greend = 0;&lt;br /&gt;
    &lt;br /&gt;
    int redPleinCadran = 0;&lt;br /&gt;
    int reddPleinCadran = 0;&lt;br /&gt;
    int redgPleinCadran = 0;&lt;br /&gt;
    &lt;br /&gt;
    int bluePleinCadran = 0;&lt;br /&gt;
    int bluedPleinCadran = 0;&lt;br /&gt;
    int bluegPleinCadran = 0;&lt;br /&gt;
    &lt;br /&gt;
    int greenPleinCadran = 0;&lt;br /&gt;
    int greendPleinCadran = 0;&lt;br /&gt;
    int greengPleinCadran = 0;&lt;br /&gt;
    &lt;br /&gt;
    &lt;br /&gt;
    // lit les sorties des capteurs de distance&lt;br /&gt;
    double psValues[8];&lt;br /&gt;
    for (int i =0;i&amp;lt;8;i++){&lt;br /&gt;
      psValues[i] = ps[i]-&amp;gt;getValue();&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    // détecte les obstacles&lt;br /&gt;
    bool right_obstacle =&lt;br /&gt;
      psValues[0] &amp;gt; 100.0 ||&lt;br /&gt;
      psValues[1] &amp;gt; 100.0 ;&lt;br /&gt;
  &lt;br /&gt;
    bool left_obstacle =&lt;br /&gt;
      psValues[5] &amp;gt; 100.0 ||&lt;br /&gt;
      psValues[6] &amp;gt; 100.0 ;&lt;br /&gt;
   &lt;br /&gt;
    bool front_obstacle3 = right_obstacle || left_obstacle;&lt;br /&gt;
    &lt;br /&gt;
    double valMax = std::max(psValues[7], psValues[0]);&lt;br /&gt;
    &lt;br /&gt;
    // Booléen servant à éviter une collision avec un objet en face: Seuil 1&lt;br /&gt;
    bool front_obstacle1 = psValues[7] &amp;gt; 200 || psValues[0] &amp;gt; 200;&lt;br /&gt;
    // Booléen servant à éviter une collision avec un objet en face : Seuil 2&lt;br /&gt;
    bool front_obstacle2 = psValues[7] &amp;gt; 100 || psValues[0] &amp;gt; 100;  &lt;br /&gt;
    &lt;br /&gt;
    // Vitesse roue gauche et droite&lt;br /&gt;
    double leftSpeed = 0.5*MAX_SPEED;&lt;br /&gt;
    double rightSpeed = 0.5*MAX_SPEED;&lt;br /&gt;
    &lt;br /&gt;
    int width = camera -&amp;gt; getWidth();&lt;br /&gt;
    int height = camera -&amp;gt; getHeight();&lt;br /&gt;
    // Récupération de l'image de la caméra&lt;br /&gt;
    const unsigned char *image = camera -&amp;gt; getImage();&lt;br /&gt;
    &lt;br /&gt;
    // Première boucle servant à diviser l'image en 3 parties (partie centrale)&lt;br /&gt;
    for (int i = 2* width / 5; i &amp;lt; 3 * width / 5; i++) {&lt;br /&gt;
        for (int j = 2*height / 5; j &amp;lt; 3* height / 5; j++) {&lt;br /&gt;
          red += camera -&amp;gt; imageGetRed(image, width, i, j);&lt;br /&gt;
          blue += camera -&amp;gt; imageGetBlue(image, width, i, j);&lt;br /&gt;
          green += camera -&amp;gt; imageGetGreen(image, width, i, j);&lt;br /&gt;
        }&lt;br /&gt;
        for (int j = 0; j &amp;lt;  height; j++) {&lt;br /&gt;
          redPleinCadran += camera -&amp;gt; imageGetRed(image, width, i, j);&lt;br /&gt;
          greenPleinCadran += camera -&amp;gt; imageGetGreen(image, width, i, j);&lt;br /&gt;
           bluePleinCadran += camera -&amp;gt; imageGetBlue(image, width, i, j);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    // Deuxième boucle (partie droite)&lt;br /&gt;
    for (int i = 3* width / 5; i &amp;lt; width; i++) {&lt;br /&gt;
        for (int j = 2*height / 5; j &amp;lt;  3*height/5 ; j++) {&lt;br /&gt;
          redd += camera -&amp;gt; imageGetRed(image, width, i, j);&lt;br /&gt;
          blued += camera -&amp;gt; imageGetBlue(image, width, i, j);&lt;br /&gt;
          greend += camera -&amp;gt; imageGetGreen(image, width, i, j);&lt;br /&gt;
        }&lt;br /&gt;
        for (int j = 0; j &amp;lt;  height; j++) {&lt;br /&gt;
          reddPleinCadran += camera -&amp;gt; imageGetRed(image, width, i, j);&lt;br /&gt;
          greendPleinCadran += camera -&amp;gt; imageGetGreen(image, width, i, j);&lt;br /&gt;
          bluedPleinCadran += camera -&amp;gt; imageGetBlue(image, width, i, j);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    // Troisième boucle (partie gauche)&lt;br /&gt;
    for (int i = 0 ; i &amp;lt; 2*width/5; i++) {&lt;br /&gt;
        for (int j = 0; j &amp;lt;  2*height/5 ; j++) {&lt;br /&gt;
          redg += camera -&amp;gt; imageGetRed(image, width, i, j);&lt;br /&gt;
          blueg += camera -&amp;gt; imageGetBlue(image, width, i, j);&lt;br /&gt;
          greeng += camera -&amp;gt; imageGetGreen(image, width, i, j);&lt;br /&gt;
        }&lt;br /&gt;
        for (int j = 0; j &amp;lt;  height; j++) {&lt;br /&gt;
          redgPleinCadran += camera -&amp;gt; imageGetRed(image, width, i, j);&lt;br /&gt;
          greengPleinCadran += camera -&amp;gt; imageGetGreen(image, width, i, j);&lt;br /&gt;
          bluegPleinCadran += camera -&amp;gt; imageGetBlue(image, width, i, j);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    if (evitementG == 0){&lt;br /&gt;
    &lt;br /&gt;
    // Si on a plus de pixel rouges au milieu, alors...&lt;br /&gt;
    if ((red &amp;gt; 1.5*green) &amp;amp;&amp;amp; (red &amp;gt; 1.5*blue) ){&lt;br /&gt;
      // Si on a un obstacle devant alors on se stoppe&lt;br /&gt;
      if (front_obstacle3){&lt;br /&gt;
        if (front_obstacle1){&lt;br /&gt;
           if (right_obstacle &amp;amp;&amp;amp; reddPleinCadran&amp;gt; 2*bluedPleinCadran &amp;amp;&amp;amp; reddPleinCadran&amp;gt; 2*greendPleinCadran){&lt;br /&gt;
                left_motor-&amp;gt;setVelocity(0.0);&lt;br /&gt;
                right_motor-&amp;gt;setVelocity(0.0);       &lt;br /&gt;
           }&lt;br /&gt;
           else if (left_obstacle &amp;amp;&amp;amp; redgPleinCadran&amp;gt; 2*bluegPleinCadran &amp;amp;&amp;amp; redgPleinCadran&amp;gt; 2*greengPleinCadran){&lt;br /&gt;
                  left_motor-&amp;gt;setVelocity(0.0);&lt;br /&gt;
                  right_motor-&amp;gt;setVelocity(0.0);&lt;br /&gt;
           }&lt;br /&gt;
           else {&lt;br /&gt;
                left_motor-&amp;gt;setVelocity(0.0);&lt;br /&gt;
                right_motor-&amp;gt;setVelocity(0.0);&lt;br /&gt;
                evitementG=1;&lt;br /&gt;
           }&lt;br /&gt;
         }&lt;br /&gt;
        // Si on se rapporhce d'un obstacle, on ralentit&lt;br /&gt;
        else if (front_obstacle2){&lt;br /&gt;
          double produitEnCroix = ((200-valMax)/(double)100);&lt;br /&gt;
          vitesse = produitEnCroix * 0.5 * MAX_SPEED;&lt;br /&gt;
          left_motor-&amp;gt;setVelocity(vitesse);&lt;br /&gt;
          right_motor-&amp;gt;setVelocity(vitesse);&lt;br /&gt;
          }&lt;br /&gt;
         }&lt;br /&gt;
      // Sinon on avance&lt;br /&gt;
      else{&lt;br /&gt;
        left_motor-&amp;gt;setVelocity(leftSpeed);&lt;br /&gt;
        right_motor-&amp;gt;setVelocity(rightSpeed);&lt;br /&gt;
      }&lt;br /&gt;
   &lt;br /&gt;
    }&lt;br /&gt;
    // Si il n'y a rien au milieu&lt;br /&gt;
    else{&lt;br /&gt;
    &lt;br /&gt;
      // Si on a plus de pixel rouge à droite alors on tourne à droite&lt;br /&gt;
      if((redd &amp;gt; 1.5*greend) &amp;amp;&amp;amp; (redd &amp;gt; 1.5*blued)){&lt;br /&gt;
       &lt;br /&gt;
        left_motor-&amp;gt;setVelocity(leftSpeed);&lt;br /&gt;
        right_motor-&amp;gt;setVelocity(-rightSpeed);&lt;br /&gt;
        exPos = 0;&lt;br /&gt;
        &lt;br /&gt;
      }&lt;br /&gt;
      // Sinon si on a plus de pixel rouge à gauche alors on tourne à gauche&lt;br /&gt;
      else{&lt;br /&gt;
      std::cout&amp;lt;&amp;lt;&amp;quot;redg : &amp;quot;&amp;lt;&amp;lt; redg &amp;lt;&amp;lt;&amp;quot;redd : &amp;quot;&amp;lt;&amp;lt; redd &amp;lt;&amp;lt; &amp;quot;red : &amp;quot;&amp;lt;&amp;lt; red &amp;lt;&amp;lt;std::endl;&lt;br /&gt;
      std::cout&amp;lt;&amp;lt;&amp;quot;blueg : &amp;quot;&amp;lt;&amp;lt; blueg &amp;lt;&amp;lt;&amp;quot;blued : &amp;quot;&amp;lt;&amp;lt; blued &amp;lt;&amp;lt; &amp;quot;blue : &amp;quot;&amp;lt;&amp;lt; blue &amp;lt;&amp;lt;std::endl;&lt;br /&gt;
      std::cout&amp;lt;&amp;lt;&amp;quot;greeng : &amp;quot;&amp;lt;&amp;lt; greeng &amp;lt;&amp;lt;&amp;quot;greend : &amp;quot;&amp;lt;&amp;lt; greend &amp;lt;&amp;lt; &amp;quot;green : &amp;quot;&amp;lt;&amp;lt; green &amp;lt;&amp;lt;std::endl;&lt;br /&gt;
        if((redg &amp;gt; 1.5*greeng) &amp;amp;&amp;amp; (redg &amp;gt; 1.5*blueg)){&lt;br /&gt;
          left_motor-&amp;gt;setVelocity(-leftSpeed);&lt;br /&gt;
          right_motor-&amp;gt;setVelocity(rightSpeed);&lt;br /&gt;
          exPos = 1;&lt;br /&gt;
          &lt;br /&gt;
        }&lt;br /&gt;
        // Sinon on tourne sur nous même pour essayer de toruver un objet rouge&lt;br /&gt;
        else{&lt;br /&gt;
          if (exPos==1) {&lt;br /&gt;
            left_motor-&amp;gt;setVelocity(-leftSpeed);&lt;br /&gt;
            right_motor-&amp;gt;setVelocity(rightSpeed);&lt;br /&gt;
            &lt;br /&gt;
          }&lt;br /&gt;
          else {&lt;br /&gt;
            left_motor-&amp;gt;setVelocity(leftSpeed);&lt;br /&gt;
            right_motor-&amp;gt;setVelocity(-rightSpeed);&lt;br /&gt;
            &lt;br /&gt;
          }&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
    }&lt;br /&gt;
    else{&lt;br /&gt;
    &lt;br /&gt;
    //évitement&lt;br /&gt;
      if (left_obstacle) {&lt;br /&gt;
        // tourner à gauche si obstacle à droite&lt;br /&gt;
        left_motor -&amp;gt; setVelocity(leftSpeed);&lt;br /&gt;
        right_motor -&amp;gt; setVelocity(-leftSpeed);&lt;br /&gt;
        exPos = 1;&lt;br /&gt;
        }    &lt;br /&gt;
       else if (right_obstacle) {&lt;br /&gt;
        // tourner à droite si obstacle à gauche &lt;br /&gt;
        left_motor -&amp;gt; setVelocity(-rightSpeed);&lt;br /&gt;
        right_motor -&amp;gt; setVelocity(rightSpeed);&lt;br /&gt;
        exPos = 0;&lt;br /&gt;
      } &lt;br /&gt;
      // Lorsque l'obstacle n'entrave plus la progression, on avance&lt;br /&gt;
      else if (incrementEvitemment &amp;lt;30){&lt;br /&gt;
          left_motor-&amp;gt;setVelocity(0.5 * MAX_SPEED);&lt;br /&gt;
          right_motor-&amp;gt;setVelocity(0.5 * MAX_SPEED);&lt;br /&gt;
          incrementEvitemment++;&lt;br /&gt;
          } &lt;br /&gt;
      else{&lt;br /&gt;
      //Réinitialisation des flags et incréments&lt;br /&gt;
      incrementEvitemment=0;&lt;br /&gt;
      evitementG=0;&lt;br /&gt;
      }&lt;br /&gt;
        &lt;br /&gt;
    &lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
&lt;br /&gt;
   }; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  // Destruction des objets et fin de programme.&lt;br /&gt;
  delete robot;&lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Clément Luton</name></author>
		
	</entry>
</feed>