<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Eurobot HES-SO // Valais - Wallis</title>
	<atom:link href="http://eurobot.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://eurobot.wordpress.com</link>
	<description>Séminaire Eurobot de la HES-SO // Valais - Wallis</description>
	<lastBuildDate>Mon, 26 Nov 2007 21:12:30 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>fr</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='eurobot.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/9bf173395b1e78e46936928db28234b4?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>Eurobot HES-SO // Valais - Wallis</title>
		<link>http://eurobot.wordpress.com</link>
	</image>
			<item>
		<title>Programmation &#8211; Simulateur (bis)</title>
		<link>http://eurobot.wordpress.com/2007/11/26/programmation-simulateur-bis/</link>
		<comments>http://eurobot.wordpress.com/2007/11/26/programmation-simulateur-bis/#comments</comments>
		<pubDate>Mon, 26 Nov 2007 21:06:53 +0000</pubDate>
		<dc:creator>eurobot</dc:creator>
				<category><![CDATA[programmation]]></category>
		<category><![CDATA[simulateur]]></category>

		<guid isPermaLink="false">http://eurobot.wordpress.com/2007/11/26/programmation-simulateur-bis/</guid>
		<description><![CDATA[Voici un petit aperçu de l&#8217;aspect graphique du simulateur. Cette sortie imagée n&#8217;a pour seul but que de visualiser les déplacements du robot en fonction des ordres transmis par l&#8217;AI. La vrai simulation n&#8217;étant pas directement visible car elle consiste en événements retournés à l&#8217;AI sous la forme de callback.  Le but final étant [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=eurobot.wordpress.com&blog=1783080&post=24&subd=eurobot&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p align="justify">Voici un petit aperçu de l&#8217;aspect graphique du simulateur. Cette sortie imagée n&#8217;a pour seul but que de visualiser les déplacements du robot en fonction des ordres transmis par l&#8217;AI. La vrai simulation n&#8217;étant pas directement visible car elle consiste en événements retournés à l&#8217;AI sous la forme de callback.  Le but final étant de pouvoir simuler différentes stratégies, et donc les déplacements sont &#8220;idéaux&#8221; et ne prennent pas en compte toutes les contraintes imposées par les moteurs et par la physique.</p>
<p align="justify">&nbsp;</p>
<p> <a href="http://eurobot.files.wordpress.com/2007/11/capture-robots-simulator.png" title="SIM_soft"><img src="http://eurobot.files.wordpress.com/2007/11/capture-robots-simulator.png?w=500&#038;h=395" alt="SIM_soft" height="395" width="500" /></a></p>
<p align="justify">&nbsp;</p>
<p align="justify">Une &#8220;traînée&#8221; jaune permet de visualiser le déplacement du robot depuis son point de départ. Les coordonnées ainsi que l&#8217;angle de direction sont visibles à proximité du robot. Les informations détaillées sur les déplacements ne sont par contre visibles que depuis la sortie console du simulateur.</p>
<p align="right"><em>Team programmation </em></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/eurobot.wordpress.com/24/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/eurobot.wordpress.com/24/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/eurobot.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/eurobot.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/eurobot.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/eurobot.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/eurobot.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/eurobot.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/eurobot.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/eurobot.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/eurobot.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/eurobot.wordpress.com/24/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=eurobot.wordpress.com&blog=1783080&post=24&subd=eurobot&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://eurobot.wordpress.com/2007/11/26/programmation-simulateur-bis/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d6f12370f71f862943ccbf9d351dfbc4?s=96&#38;d=identicon" medium="image">
			<media:title type="html">eurobot</media:title>
		</media:content>

		<media:content url="http://eurobot.files.wordpress.com/2007/11/capture-robots-simulator.png" medium="image">
			<media:title type="html">SIM_soft</media:title>
		</media:content>
	</item>
		<item>
		<title>Programmation &#8211; De Ecore/Evas à SDL</title>
		<link>http://eurobot.wordpress.com/2007/11/07/programmation-de-ecoreevas-a-sdl/</link>
		<comments>http://eurobot.wordpress.com/2007/11/07/programmation-de-ecoreevas-a-sdl/#comments</comments>
		<pubDate>Wed, 07 Nov 2007 20:20:12 +0000</pubDate>
		<dc:creator>eurobot</dc:creator>
				<category><![CDATA[programmation]]></category>
		<category><![CDATA[simulateur]]></category>

		<guid isPermaLink="false">http://eurobot.wordpress.com/2007/11/07/programmation-de-ecoreevas-a-sdl/</guid>
		<description><![CDATA[Plusieurs fois dans les articles précédents, il était mentionné l&#8217;utilisation de la librairie Ecore/Evas pour le simulateur. Mais les circonstances en ont finalement décidé autrement. Le simulateur étant une application multi-threads ainsi qu&#8217;une librairie, deux problèmes surviennent lors de l&#8217;utilisation d&#8217;Ecore. Tout d&#8217;abord, il n&#8217;y a pas de fonction main, ainsi la fonction bloquante de [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=eurobot.wordpress.com&blog=1783080&post=23&subd=eurobot&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p align="justify">Plusieurs fois dans les articles précédents, il était mentionné l&#8217;utilisation de la librairie Ecore/Evas pour le simulateur. Mais les circonstances en ont finalement décidé autrement. Le simulateur étant une application multi-threads ainsi qu&#8217;une librairie, deux problèmes surviennent lors de l&#8217;utilisation d&#8217;Ecore. Tout d&#8217;abord, il n&#8217;y a pas de fonction main, ainsi la fonction bloquante de &#8220;loop&#8221; permettant de gérer les événements dont ceux des timers, doit être intégrée à un thread. Mais Ecore n&#8217;étant pas complètement thread-safe et re-entrant, des comportements étranges peuvent apparaîtres.</p>
<p align="justify">Si vous êtes intéressé par Ecore, je vous invite à télécharger ce petit exemple  : <a href="http://www.geexbox.org/~schroeterm/buggy_timer.c">www.geexbox.org/~schroeterm/buggy_timer.c</a> que vous pouvez compiler simplement en spécifiant -lecore et -lpthread au linker. Afin de se rendre compte des problèmes, décommentez et commentez les lignes 53 et 54. La sortie console parlera d&#8217;elle-même.</p>
<p align="justify">Après une petite discussion avec les développeurs d&#8217;Evas, le simulateur utilisera donc la fameuse librairie SDL dont la robustesse n&#8217;est plus à prouver.</p>
<p>site web : <a href="http://www.libsdl.org">www.libsdl.org</a></p>
<p align="right"><em>Team programmation </em></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/eurobot.wordpress.com/23/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/eurobot.wordpress.com/23/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/eurobot.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/eurobot.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/eurobot.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/eurobot.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/eurobot.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/eurobot.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/eurobot.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/eurobot.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/eurobot.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/eurobot.wordpress.com/23/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=eurobot.wordpress.com&blog=1783080&post=23&subd=eurobot&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://eurobot.wordpress.com/2007/11/07/programmation-de-ecoreevas-a-sdl/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d6f12370f71f862943ccbf9d351dfbc4?s=96&#38;d=identicon" medium="image">
			<media:title type="html">eurobot</media:title>
		</media:content>
	</item>
		<item>
		<title>Programmation &#8211; Simulateur</title>
		<link>http://eurobot.wordpress.com/2007/10/31/programmation-simulateur/</link>
		<comments>http://eurobot.wordpress.com/2007/10/31/programmation-simulateur/#comments</comments>
		<pubDate>Wed, 31 Oct 2007 14:20:38 +0000</pubDate>
		<dc:creator>eurobot</dc:creator>
				<category><![CDATA[programmation]]></category>

		<guid isPermaLink="false">http://eurobot.wordpress.com/2007/10/31/programmation-simulateur/</guid>
		<description><![CDATA[Afin de pouvoir réaliser correctement le contrôleur IA, il est nécessaire d&#8217;avoir un simulateur du robot sous la main pour calculer, voir même visualiser les actions effectuées. Le but final étant de pouvoir tester les différentes tactiques et de les améliorer.
Cet article à pour but de présenter l&#8217;architecture interne du simulateur (ou tout du moins [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=eurobot.wordpress.com&blog=1783080&post=21&subd=eurobot&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p align="justify">Afin de pouvoir réaliser correctement le contrôleur IA, il est nécessaire d&#8217;avoir un simulateur du robot sous la main pour calculer, voir même visualiser les actions effectuées. Le but final étant de pouvoir tester les différentes tactiques et de les améliorer.</p>
<p align="justify">Cet article à pour but de présenter l&#8217;architecture interne du simulateur (ou tout du moins le principe). Quatre fonctions (bleu clair) sont disponibles depuis le &#8220;wrapper simulator&#8221; et permettent donc d&#8217;initialiser le simulateur, de traiter le callback pour les événements venant du simulateur, d&#8217;envoyer des actions au robot simulé et pour finir, de terminer (uninit) la simulation.</p>
<p align="justify">Afin de pouvoir gérer chaque action indépendemment et en parallèle, celles-ci sont traitées dans différents threads. Le graphique suivant ne montre que deux actions (move et turn) ainsi qu&#8217;une action &#8220;&#8230;&#8221;. En réalité les &#8220;&#8230;&#8221; veulent simplement dire qu&#8217;il y aura plusieurs autre threads mais à l&#8217;heure actuel, tous ne sont pas déterminés.  Les threads d&#8217;actions font les traitements nécessaires puis transmettent un événement en temps voulu, événement qui est ensuite redirigé dans le callback du wrapper (à l&#8217;aide du thread event) pour être traité par la librobot puis par l&#8217;AI.</p>
<p align="justify">Les threads des actions font appelles à d&#8217;autres fonctions invisibles dans ce schéma. Ils feront aussi appelles à la librairie Ecore/Evas pour différents outils ainsi que pour une sortie graphique qui représentera le robot évoluant dans son environnement.</p>
<p align="justify"><a href="http://eurobot.files.wordpress.com/2007/10/software_arch_simu.png" title="Simulateur Architecture"><img src="http://eurobot.files.wordpress.com/2007/10/software_arch_simu.png" alt="Simulateur Architecture" /></a></p>
<p align="right"><em>Team programmation</em></p>
<p align="justify">&nbsp;</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/eurobot.wordpress.com/21/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/eurobot.wordpress.com/21/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/eurobot.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/eurobot.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/eurobot.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/eurobot.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/eurobot.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/eurobot.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/eurobot.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/eurobot.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/eurobot.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/eurobot.wordpress.com/21/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=eurobot.wordpress.com&blog=1783080&post=21&subd=eurobot&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://eurobot.wordpress.com/2007/10/31/programmation-simulateur/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d6f12370f71f862943ccbf9d351dfbc4?s=96&#38;d=identicon" medium="image">
			<media:title type="html">eurobot</media:title>
		</media:content>

		<media:content url="http://eurobot.files.wordpress.com/2007/10/software_arch_simu.png" medium="image">
			<media:title type="html">Simulateur Architecture</media:title>
		</media:content>
	</item>
		<item>
		<title>Programmation &#8211; AI Controller</title>
		<link>http://eurobot.wordpress.com/2007/10/07/programmation-ai-controller/</link>
		<comments>http://eurobot.wordpress.com/2007/10/07/programmation-ai-controller/#comments</comments>
		<pubDate>Sun, 07 Oct 2007 08:58:29 +0000</pubDate>
		<dc:creator>schroeterm</dc:creator>
				<category><![CDATA[programmation]]></category>

		<guid isPermaLink="false">http://eurobot.wordpress.com/2007/10/07/programmation-ai-controller/</guid>
		<description><![CDATA[Rentrons un peu dans les détails (mais pas trop) du bloc &#8220;Artificial Intelligence&#8221; et &#8220;Main&#8221; présenté brièvement dans l&#8217;article précédent. L&#8217;architecture ci-dessous résume le fonctionnement, les flèches bleus du sommet correspondant aux accès avec la librobot (actions traduites par des fonctions haut-niveaux et les événements en retour sous forme de callback).

Mais commençons par le début. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=eurobot.wordpress.com&blog=1783080&post=19&subd=eurobot&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p align="justify">Rentrons un peu dans les détails (mais pas trop) du bloc &#8220;Artificial Intelligence&#8221; et &#8220;Main&#8221; présenté brièvement dans l&#8217;article précédent. L&#8217;architecture ci-dessous résume le fonctionnement, les flèches bleus du sommet correspondant aux accès avec la librobot (actions traduites par des fonctions haut-niveaux et les événements en retour sous forme de callback).</p>
<p><a href="http://eurobot.files.wordpress.com/2007/10/software_arch_ai.png" title="Architecture Logicielle - AI Controller"><img src="http://eurobot.files.wordpress.com/2007/10/software_arch_ai.png" alt="Architecture Logicielle - AI Controller" /></a></p>
<p align="justify">Mais commençons par le début. Les tactiques sont écrites dans des fichiers XML. Ainsi plusieurs tactiques peuvent être préparées et même combinées. Il n&#8217;est pas nécessaire d&#8217;effectuer la moindre manipulation dans le code pour changer le comportement du robot. Puis le (ou les) fichier XML est traduit par un &#8220;parser&#8221; allégé (cf. xmlparser &amp; xmllexer de la libxine). Et le bloc &#8220;Rules loader&#8221; se charge de traiter les données pour les rendre compréhensibles par le contrôleur de l&#8217;AI &#8220;AI Controller&#8221;.</p>
<p align="justify">Le contrôleur a accès à deux types d&#8217;actions pour agir sur le comportement du robot. Tout d&#8217;abord il a accès aux actions de haut-niveaux directement compréhensibles par la librobot. Et deuxièmement il a accès à des fonctions que je nommerais de très-haut-niveaux qui utilisent les fonctions de haut-niveaux. Cette séparation entre les deux types de fonctions se fait au niveau du gros bloc &#8220;Thread for send actions&#8221;. Celui-ci demande une analyse poussée et nous y reviendrons dans un autre article.</p>
<p>Concernant le second gros bloc, il représente le callback pour tous les événements retournés par la librobot.</p>
<p><strong>FIFO &amp; LIFO</strong></p>
<p align="justify">Trois piles &#8220;stacks&#8221; cohabitent dans ce système. Il y a un premier stack dans lequel les actions à exécuter sont stockées à la manière d&#8217;un FIFO lorsque l&#8217;AI Controller donne un ordre et sous forme de LIFO lorsque le Thread donne également un ordre. La raison est triviale car le thread lit le FIFO et exécute le premier ordre, mais en fonction du niveau de l&#8217;ordre celui-ci aura besoin d&#8217;actions et donc d&#8217;une réponse relativement rapidement. Il est peut-être plus judicieux de séparer ce mécanisme en plusieurs stacks (au moins deux). Si nécessaire cela sera fait en temps voulu.</p>
<p align="justify">Concernant les deux stacks rattachés au callback, ici il y a une séparation entre les réponses pour l&#8217;AI Controller et celles pour le Thread.</p>
<p align="justify"><strong>Boucle</strong></p>
<p align="justify">La boucle représentée dans le bloc du contrôleur est en fait la boucle principale du programme et surtout celle qui enverra les actions principales au robot. Concernant la boucle du bloc Thread, elle est également principale mais par rapport au thread. Tant que le robot est sous tension, ces deux boucle sont considérées comme infinies même si le robot doit se stopper après les 90 secondes de jeu.</p>
<p align="right"><em>Team programmation </em></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/eurobot.wordpress.com/19/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/eurobot.wordpress.com/19/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/eurobot.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/eurobot.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/eurobot.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/eurobot.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/eurobot.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/eurobot.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/eurobot.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/eurobot.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/eurobot.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/eurobot.wordpress.com/19/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=eurobot.wordpress.com&blog=1783080&post=19&subd=eurobot&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://eurobot.wordpress.com/2007/10/07/programmation-ai-controller/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0b4efe6907c3f8357cf1f495512165f7?s=96&#38;d=identicon" medium="image">
			<media:title type="html">schroeterm</media:title>
		</media:content>

		<media:content url="http://eurobot.files.wordpress.com/2007/10/software_arch_ai.png" medium="image">
			<media:title type="html">Architecture Logicielle - AI Controller</media:title>
		</media:content>
	</item>
		<item>
		<title>Programmation &#8211; Architecture logicielle</title>
		<link>http://eurobot.wordpress.com/2007/09/28/programmation-architecture-logicielle/</link>
		<comments>http://eurobot.wordpress.com/2007/09/28/programmation-architecture-logicielle/#comments</comments>
		<pubDate>Fri, 28 Sep 2007 20:00:00 +0000</pubDate>
		<dc:creator>schroeterm</dc:creator>
				<category><![CDATA[programmation]]></category>

		<guid isPermaLink="false">http://eurobot.wordpress.com/2007/09/28/programmation-architecture-logicielle/</guid>
		<description><![CDATA[L&#8217;architecture logicielle est représentée ci-dessous. Elle consiste en trois grands blocs: le simulateur, l&#8217;API librobot ainsi que l&#8217;intelligence. Les blocs &#8220;Linux HAL&#8221; et &#8220;Robot HW&#8221; ne font pas directement partie du développement, ceux-ci sont uniquement là à titre indicatif.
&#160;

librobot
Tout le développement du robot reposera sur GNU/Linux et la librobot sert de couche d&#8217;abstraction pour l&#8217;intelligence. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=eurobot.wordpress.com&blog=1783080&post=12&subd=eurobot&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>L&#8217;architecture logicielle est représentée ci-dessous. Elle consiste en trois grands blocs: le simulateur, l&#8217;API librobot ainsi que l&#8217;intelligence. Les blocs &#8220;Linux HAL&#8221; et &#8220;Robot HW&#8221; ne font pas directement partie du développement, ceux-ci sont uniquement là à titre indicatif.</p>
<p align="justify">&nbsp;</p>
<p><a href="http://eurobot.files.wordpress.com/2007/09/software_arch2.png" title="Software Architecture"><img src="http://eurobot.files.wordpress.com/2007/09/software_arch2.png" alt="Software Architecture" /></a></p>
<p><strong>librobot</strong></p>
<p align="justify">Tout le développement du robot reposera sur GNU/Linux et la librobot sert de couche d&#8217;abstraction pour l&#8217;intelligence. La raison est naturelle car deux cibles sont possibles. Tout d&#8217;abord l&#8217;intelligence (que j&#8217;appellerais AI désormais) doit servir au robot mécaniquement parlant et ensuite elle doit pouvoir être testée et améliorée directement à l&#8217;aide d&#8217;un simulateur. Physiquement le robot ne sera pas prêt lors du développement de l&#8217;AI, le simulateur est donc très important.<br />
La librobot se découpe en trois grands blocs. Il y a la couche d&#8217;abstraction qui traitera les commandes de haut-niveaux envoyées par l&#8217;AI, puis viennent les deux &#8220;wrappers&#8221; (un wrapper est en quelque sorte un adaptateur) pour gérer l&#8217;une ou l&#8217;autre cible. Le wrapper hardware permet donc d&#8217;interagir avec la couche d&#8217;abstraction hardware de Linux, son but étant bien entendu d&#8217;agir finalement sur les éléments mécaniques du robot (moteurs, fin de course, contrôleurs, etc,&#8230;). Le wrapper simulateur communiquera directement avec le bloc à travers des fonctions spécifiques à la commande de la simulation.</p>
<p><strong>Simulateur</strong></p>
<p align="left">Le simulateur sera développé à l&#8217;aide de la librairie Evas/Ecore de <em>Enlightenment</em> (E17) dont les snapshots sont disponibles à cette adresse : <a href="http://download.enlightenment.org/snapshots/LATEST/">http://download.enlightenment.org/snapshots/LATEST/</a></p>
<p align="justify">Consultez le site de <a href="http://www.enlightenment.org">E17</a> pour plus d&#8217;informations. Evas est donc un élément de &#8220;<a href="http://www.enlightenment.org/p.php?p=about/libs&amp;l=en">Enlightenment Fountation Libraries</a> (EFL)&#8221; et est le canvas de E17.  Il est très flexible et permet de facilement fonctionner sous différents moteurs comme le Framebuffer, OpenGL, X11, DFB, etc,&#8230; Quant à Ecore, il nous simplifiera le travail pour la gestion des événements, timers, etc,.. et est directement lié à Evas.</p>
<p><strong>Intelligence Artificielle</strong></p>
<p>L&#8217;intelligence sera indépendante du robot. Celle-ci demande une analyse détaillée ainsi que la présence du simulateur. Rien n&#8217;a encore été prévu mais ça ne saurait tarder <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> .</p>
<p align="right"><em>Team programmation</em></p>
<p align="justify">&nbsp;</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/eurobot.wordpress.com/12/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/eurobot.wordpress.com/12/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/eurobot.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/eurobot.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/eurobot.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/eurobot.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/eurobot.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/eurobot.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/eurobot.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/eurobot.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/eurobot.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/eurobot.wordpress.com/12/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=eurobot.wordpress.com&blog=1783080&post=12&subd=eurobot&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://eurobot.wordpress.com/2007/09/28/programmation-architecture-logicielle/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0b4efe6907c3f8357cf1f495512165f7?s=96&#38;d=identicon" medium="image">
			<media:title type="html">schroeterm</media:title>
		</media:content>

		<media:content url="http://eurobot.files.wordpress.com/2007/09/software_arch2.png" medium="image">
			<media:title type="html">Software Architecture</media:title>
		</media:content>
	</item>
	</channel>
</rss>