<?xml version="1.0" encoding="utf-8"?> <?xml-stylesheet type="text/xsl" href="/rss20.xsl" media="screen"?> <rss xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" version="2.0"> <channel> <title>SyLaM - robot</title> <description>Mon Robot Tondeuse</description> <link>http://sylam.blogspirit.com/robot/</link> <lastBuildDate>Wed,  9 Jul 2008 04:21:31 +0200</lastBuildDate> <generator>blogSpirit.com</generator> <copyright>All Rights Reserved</copyright>  <item> <guid isPermaLink="true">http://sylam.blogspirit.com/archive/2007/07/31/nouvelle-version.html</guid> <title>Nouvelle version</title> <link>http://sylam.blogspirit.com/archive/2007/07/31/nouvelle-version.html</link> <author>noreply@blogspirit.com (ROGH)</author>   <category>Robot</category>   <pubDate>Tue, 31 Jul 2007 22:24:45 +0200</pubDate> <description> SyLaM n'étant pas adapté à mon terrain, j'ai décidé de créer GreenBot, une version plus évoluée de robot tondeuse.&lt;br /&gt;
Retrouvez GreenBot sur le blog :&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://greenbot.over-blog.com/&quot; target=&quot;_blank&quot;&gt;&lt;strong&gt;&lt;em&gt;http://greenbot.over-blog.com/&lt;/em&gt;&lt;/strong&gt;&lt;/a&gt; </description>  </item>  <item> <guid isPermaLink="true">http://sylam.blogspirit.com/archive/2006/01/02/pourquoi-sylam.html</guid> <title>Pourquoi SyLaM ?</title> <link>http://sylam.blogspirit.com/archive/2006/01/02/pourquoi-sylam.html</link> <author>noreply@blogspirit.com (ROGH)</author>   <category>Robot</category>   <pubDate>Tue,  3 Jan 2006 00:05:00 +0100</pubDate> <description> &lt;strong&gt;SyLaM&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
Mon premier Robot &lt;strong&gt; SY&lt;/strong&gt;dney &lt;strong&gt;LA&lt;/strong&gt;wn &lt;strong&gt; M&lt;/strong&gt;ower : né à Sydney, pour tondre ma pelouse sans mon intervention, il a finallement fait ses premiers tours de roues à Toulouse. L'objectif de ce robot tondeuse est de pouvoir faire une tonte parallèle d'une pelouse de plus de 600m2 pas toujours plate tout en évitant les obstacles.&lt;br /&gt;
&lt;br /&gt;
&lt;img src=&quot;http://sylam.blogspirit.com/images/medium_dscn0120.2.jpg&quot; alt=&quot;&quot; style=&quot;border-width: 0; float: left; margin: 0.2em 1.4em 0.7em 0;&quot; /&gt;&lt;br /&gt;
J'ai construit SyLaM à partir de diverses récupérations, les seuls composants neufs et achetés sont les MOS et drivers des ponts en H des moteurs et les PICs.&lt;br /&gt;
&lt;br /&gt;
&lt;img src=&quot;http://sylam.blogspirit.com/images/medium_dscn0108.2.jpg&quot; alt=&quot;&quot; style=&quot;border-width: 0; float: right; margin: 0.2em 0 1.4em 0.7em;&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
Le chassis provient d'une vieille tondeuse thermique, à laquelle j'ai ajouté le boîtier d'un magnétoscope et une boîte en plastique.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Les roues avant proviennent d'une autre tondeuse, elle sont montées sur les moteurs par l'intermédiaire de têtes de lecture de magnétoscope. La roue arrière provient d'un caddie de supermarché, elle est déportée du chassis par des restes de structure de photocopieur. Les moteurs de traction sont des moteurs d'essuie-glace de Toyota Corolla, et le moteur de tonte d'une Ford Falcon.&lt;br /&gt;
Une batterie de 15 Ah assure son autonomie. </description>  </item>  <item> <guid isPermaLink="true">http://sylam.blogspirit.com/archive/2006/01/02/description.html</guid> <title>Description Technique</title> <link>http://sylam.blogspirit.com/archive/2006/01/02/description.html</link> <author>noreply@blogspirit.com (ROGH)</author>   <category>Robot</category>   <pubDate>Mon,  2 Jan 2006 23:45:00 +0100</pubDate> <description> 1.1.	Mécanique&lt;br /&gt;
&lt;img src=&quot;http://sylam.blogspirit.com/images/medium_dscn0109.2.jpg&quot; alt=&quot;&quot; style=&quot;border-width: 0; float: left; margin: 0.2em 1.4em 0.7em 0;&quot; /&gt;Steering motors : 2 moteurs d’essuie-glace 1 seule vitesse de Toyota Celica&lt;br /&gt;
Mowing motor : 1 moteur de ventillateur de radiateur de Ford Falcon&lt;br /&gt;
&lt;br /&gt;
&lt;img src=&quot;http://sylam.blogspirit.com/images/medium_dscn0124.2.jpg&quot; alt=&quot;&quot; style=&quot;border-width: 0; float: right; margin: 0.2em 0 1.4em 0.7em;&quot; /&gt;&lt;br /&gt;
Les roues, récupérées sur une ancienne tondeuse thermique, sont montés sur les moteurs d'essuie-glace par l'intermédiare de têtes de lecture de vieux magnétoscopes.&lt;br /&gt;
&lt;br /&gt;
Chassis : &lt;br /&gt;
•	chassis en fonte d’aluminium de tondeuse thermique,&lt;br /&gt;
•	chassis de magnétoscope,&lt;br /&gt;
•	boîtier montage électronique.&lt;br /&gt;
&lt;img src=&quot;http://sylam.blogspirit.com/images/medium_dscn0114.2.jpg&quot; alt=&quot;&quot; style=&quot;border-width: 0; float: right; margin: 0.2em 0 1.4em 0.7em;&quot; /&gt;&lt;br /&gt;
Roue folle : Caddie&lt;br /&gt;
Roues traction : Tondeuse thermique 18 cm&lt;br /&gt;
Bumpers : barres aluminium&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1.2.	Motor drives&lt;br /&gt;
&lt;br /&gt;
&lt;img src=&quot;http://sylam.blogspirit.com/images/medium_dscn0111.2.jpg&quot; alt=&quot;&quot; style=&quot;border-width: 0; float: left; margin: 0.2em 1.4em 0.7em 0;&quot; /&gt;2 Ponts en H en composants discrets. MOSFET, driver de MOS et optocoupler 2232.&lt;br /&gt;
-	4 entrees logiques : AV Droite, AV Gauche, AR Droite, AR Gauche&lt;br /&gt;
&lt;br /&gt;
&lt;img src=&quot;http://sylam.blogspirit.com/images/medium_sylam_pont_h.3.jpg&quot; alt=&quot;&quot; style=&quot;border-width: 0; float: right; margin: 0.2em 0 1.4em 0.7em;&quot; /&gt;&lt;br /&gt;
-	Schema : &lt;a href=&quot;http://www.ancr.org/fichtech/action/ponth/index.htm&quot; target=&quot;_blank&quot;&gt;http://www.ancr.org/fichtech/action/ponth/index.htm&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://sylam.blogspirit.com/files/pont_h_030203.vsd.pdf&quot;&gt;pont_h_030203.vsd.pdf&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1 Etage interface MOS moteur de tonte&lt;br /&gt;
-	1 entree logique : Tonte ON&lt;br /&gt;
-	Schema : &lt;br /&gt;
&lt;br /&gt;
1.3.	Alimentation&lt;br /&gt;
Batterie 12V 15 Ah Lead Sealed Acid&lt;br /&gt;
Chargeur Lead Acid&lt;br /&gt;
&lt;br /&gt;
1.4.	Mowing motor : 1 moteur de ventillateur de radiateur de voiture&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1.5.	Detection IR&lt;br /&gt;
&lt;img src=&quot;http://sylam.blogspirit.com/images/medium_dscn0125.2.jpg&quot; alt=&quot;&quot; style=&quot;border-width: 0; float: left; margin: 0.2em 1.4em 0.7em 0;&quot; /&gt;&lt;br /&gt;
1 seule detection frontale droite / gauche&lt;br /&gt;
Detection automatique locale a l’aide d’un PIC 12C508 gerant 2 IR Led droites, 2 IR Led Gauches, 1 detecteur IR 38 kHz. &lt;br /&gt;
La detection est ainsi delocalisee, peu sensible aux interferences, automatique grace a l’oscillateur integre du PIC 12C508.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;img src=&quot;http://sylam.blogspirit.com/images/medium_sylam_ir_detector.2.jpg&quot; alt=&quot;&quot; style=&quot;border-width: 0; float: right; margin: 0.2em 0 1.4em 0.7em;&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
-	4 LED de la barette de detection format A4 A3 de la photocopieuse + morceau de barette rouge + 4 caches LED&lt;br /&gt;
-	Detecteur IR Magnetoscope NE1492&lt;br /&gt;
-	PIC 12C508 non reprogrammable&lt;br /&gt;
&lt;br /&gt;
2 sorties logiques : Droite, Gauche&lt;br /&gt;
&lt;br /&gt;
Schema DPRG : &lt;a href=&quot;http://www.winnipegrobotics.com/&quot; target=&quot;_blank&quot;&gt;http://www.winnipegrobotics.com/&lt;/a&gt;&lt;br /&gt;
Soft Robotics Projects Sensors. : &lt;a href=&quot;http://www.verinet.com/~dlc/robotics/projects/nirprox.txt&quot; target=&quot;_blank&quot;&gt;http://www.verinet.com/~dlc/robotics/projects/nirprox.txt&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
1.6.	Processor board&lt;br /&gt;
1.6.1.	Unite centrale&lt;br /&gt;
&lt;img src=&quot;http://sylam.blogspirit.com/images/medium_dscn0112.2.jpg&quot; alt=&quot;&quot; style=&quot;border-width: 0; float: left; margin: 0.2em 1.4em 0.7em 0;&quot; /&gt;Inspirée des schémas Pavel, Udo,&lt;br /&gt;
Dans cette première version, l'UC est un simple PIC16F84A.&lt;br /&gt;
&lt;a href=&quot;http://sylam.blogspirit.com/files/slam_301104.vsd.pdf&quot;&gt;slam_301104.vsd.pdf&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;img src=&quot;http://sylam.blogspirit.com/images/medium_sylam_uc.2.jpg&quot; alt=&quot;&quot; style=&quot;border-width: 0; float: right; margin: 0.2em 0 1.4em 0.7em;&quot; /&gt;&lt;br /&gt;
Par la suite, un 16F877 aportera plus de traitement. Mais c'est une autre histoire.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1.6.2.	Inputs&lt;br /&gt;
-	Detection IR Droite ou Bumper Droite&lt;br /&gt;
-	Detection IR gauche ou Bumper Gauche&lt;br /&gt;
-	Detection IR ARG et ARD (phase 2)&lt;br /&gt;
-	AV (telecommande) Non monté&lt;br /&gt;
-	AR (telecommande) Non monté&lt;br /&gt;
-	Droite (telecommande) non monté&lt;br /&gt;
-	Gauche (telecommande) Non monté&lt;br /&gt;
-	Detection fil enterre Non monté&lt;br /&gt;
-	Detection vitesse de coupe non monté&lt;br /&gt;
-	ODO D&lt;br /&gt;
-	ODO G&lt;br /&gt;
&lt;br /&gt;
1.7.	Software inspiré de :&lt;br /&gt;
                IR_BOT de Yves Heilig :  IR_bot 16F84 puis 16F628 modifié pour des moteurs DC, compilé sur CCS&lt;br /&gt;
                Multitache pour PIC posit de Pavel : Pavel_softwares_with commentsos.asm&lt;br /&gt;
                PKBot navigation : PK_bot strategy adaptee detection murs et obstacles (code).c&lt;br /&gt;
                UDO : UDOudo403.bas.txt&lt;br /&gt;
La version actuelle : &lt;a href=&quot;http://sylam.blogspirit.com/files/slam_23.c&quot;&gt;slam_23.c&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
1.7.1.	Definition des sorties&lt;br /&gt;
	Bit	AV&lt;br /&gt;
Avant	AR&lt;br /&gt;
Arrière	TD&lt;br /&gt;
Tourner droit	TG&lt;br /&gt;
Tourner gauche	ROTD&lt;br /&gt;
Pivoter droit	ROTG&lt;br /&gt;
Pivoter gauche	Stop&lt;br /&gt;
AVD	Ra0	1	0	0	0	0	1	0&lt;br /&gt;
ARD	Ra1	0	1	0	1	1	0	0&lt;br /&gt;
AVG	Ra2	1	0	0	0	1	0	0&lt;br /&gt;
ARG	Ra3	0	1	1	0	0	1	0&lt;br /&gt;
Word		5	10	8	2	6	9	0&lt;br /&gt;
&lt;br /&gt;
1.8.	Tests&lt;br /&gt;
Mai 2004.&lt;br /&gt;
Fonctionnement simple testé en intérieur OK. Sur détection d’un obstacle à droite, la tondeuse effectue un quart de tour en marche arrière droite (quart de tour par tempo) puis repart en avant.&lt;br /&gt;
Sur détection d’un obstacle à gauche, la tondeuse effectue un quart de tour en marche arrière gauche (quart de tour par tempo) puis repart en avant.&lt;br /&gt;
Novembre 2004&lt;br /&gt;
Transmission moteurs modifiée, odométrie incorporée à base de switches IR de photocopieuse et came percée de 15 trous. Détecteurs testés ok. &lt;br /&gt;
Décembre 2005&lt;br /&gt;
SyLaM a maintenant un comportement plus intelligent lorqu'il rencontre un obstacle. Il recule de sa longueur, et effectue un demi-tour.&lt;br /&gt;
Logiciel Sylam_23.c OK.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
2.	PHASE 2&lt;br /&gt;
2.1.	Odométrie&lt;br /&gt;
2.1.1.	1er système&lt;br /&gt;
&lt;img src=&quot;http://sylam.blogspirit.com/images/medium_sylam_odo.2.jpg&quot; alt=&quot;&quot; style=&quot;border-width: 0; float: left; margin: 0.2em 1.4em 0.7em 0;&quot; /&gt;&lt;br /&gt;
Mise en place dans le logiciel d’une mesure de distance par calcul du nombre de tours de roué. Utilisation de la came de la roue dentée des moteurs d’essuie glace. Après plusieurs essais concluants mais imprécis, les contacts de came du moteur droit sont détruits car fonctionnent en marche arrière.&lt;br /&gt;
&lt;br /&gt;
2.1.2.	2ème système&lt;br /&gt;
Perçage des roues dentées : 15 trous de 3mm après avoir ôté la came. Démontage d’un détecteur IR de photocopieuse, apparemment un XXXXX. Séparation de l’émetteur et du récepteur.&lt;br /&gt;
L’émetteur est placé à la place des anciens contacts de came à l’intérieur du réducteur de vitesse. Le récepteur est collé à l’extérieur en phase d’un trou judicieusement placé.&lt;br /&gt;
Test du fonctionnement émetteur récepteur sous 5V le 28/09/04 OK. &lt;br /&gt;
Remontage des moteur dans la tondeuse. Nouveau logiciel : Slam_23.c &lt;br /&gt;
	chksum = 0419  Détection collision ok mais si la détection reste présente, il n’y a pas de 2ème cycle.&lt;br /&gt;
 Slam_24.c  17/11/05 &lt;br /&gt;
	chksum = A3FD Détection ok, même si la détection reste présente d’un seul coté. Par contre, si détection des 2 coté, plus de détection.&lt;br /&gt;
&lt;br /&gt;
2.2.	Capteur gauche stratégie Pkbot&lt;br /&gt;
&lt;img src=&quot;http://sylam.blogspirit.com/images/medium_dscn0121.2.jpg&quot; alt=&quot;&quot; style=&quot;border-width: 0; float: left; margin: 0.2em 1.4em 0.7em 0;&quot; /&gt;&lt;br /&gt;
Utilisation de l’ancien capteur R double AR pour stratégie L_SENS_2 de Pkbot.&lt;br /&gt;
Logiciel P_K_Bot_Strategy_2.1.c =&gt; roue droite en ar permanent.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2.3.	Odométrie&lt;br /&gt;
ancr Odométrie pour robotique mobile.htm&lt;br /&gt;
&lt;a href=&quot;http://sylam.blogspirit.com/files/odo_241104.vsd.pdf&quot;&gt;odo_241104.vsd.pdf&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
calculs :&lt;br /&gt;
1ère étape comptage par contacts électriques de la came d’essuie-glace modifiée.&lt;br /&gt;
Failure : destruction des contacts en marche AR.&lt;br /&gt;
2ème étape : comptage opto 15 troues dans la roue d’engrenage, cellule detection odométrie de la 1ère photocopieuse.&lt;br /&gt;
1 Tour de roue =  x D = X = 562 mm&lt;br /&gt;
1 Tour de tondeuse =  x R x 2 = Y&lt;br /&gt;
A tours de roue pour faire un tour de tondeuse : AX = Y soit A = Y/X&lt;br /&gt;
Soit R / D&lt;br /&gt;
&lt;br /&gt;
Pour un demi-tour il faut compter un nbre de pulses par tour de la roue motrice = ½  R / D&lt;br /&gt;
Avec 	R = distance entre les 2 roues = 420mm&lt;br /&gt;
	D = diamètre des roues = 180mm&lt;br /&gt;
	ND = 7 / 6 = 1,1666 ~ 1,2 = 6/5 de tour de roue&lt;br /&gt;
	Pour 1 tour = 15 pulses, ND = 18&lt;br /&gt;
&lt;br /&gt;
Pour un quart de tour il faut compter un nbre de pulses par tour de la roue motrice NQ = ¼  R / D&lt;br /&gt;
Avec 	R = distance entre les 2 roues = 420mm&lt;br /&gt;
	D = diamètre des roues = 180mm&lt;br /&gt;
	NQ = 7 / 12 = 0,5833 ~0,6 = 3/5  de tour de roue&lt;br /&gt;
	Pour 1 tour = 15 pulses, NQ = 9&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Fonctionnement :&lt;/strong&gt;&lt;br /&gt;
&lt;img src=&quot;http://sylam.blogspirit.com/images/medium_sylam_meca.2.jpg&quot; alt=&quot;&quot; style=&quot;border-width: 0; float: left; margin: 0.2em 1.4em 0.7em 0;&quot; /&gt;&lt;br /&gt;
La forme de SyLaM, différente d'un grand nombre de robots circulaire, utilisant une traction avant différentielle, complique un peu la gestion des virages :&lt;br /&gt;
Pour un quart de tour, SyLaM doit tout d'abord effectuer une marche arrière de la moitié de sa longueur de manière à se dégager de l'obstacle.&lt;br /&gt;
Pour un demi-tour, il lui faut faire une marche arrière d'une longueur complète. </description>  </item>  </channel> </rss> 