<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://babel.isa.uma.es/babel2/index.php?action=history&amp;feed=atom&amp;title=Architecture%3AMotivation</id>
	<title>Architecture:Motivation - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://babel.isa.uma.es/babel2/index.php?action=history&amp;feed=atom&amp;title=Architecture%3AMotivation"/>
	<link rel="alternate" type="text/html" href="https://babel.isa.uma.es/babel2/index.php?title=Architecture:Motivation&amp;action=history"/>
	<updated>2026-08-09T13:37:16Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.31.0</generator>
	<entry>
		<id>https://babel.isa.uma.es/babel2/index.php?title=Architecture:Motivation&amp;diff=200&amp;oldid=prev</id>
		<title>Jlblanco: /* Motivation */</title>
		<link rel="alternate" type="text/html" href="https://babel.isa.uma.es/babel2/index.php?title=Architecture:Motivation&amp;diff=200&amp;oldid=prev"/>
		<updated>2009-05-17T21:42:59Z</updated>

		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Motivation&lt;/span&gt;&lt;/span&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;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 21:42, 17 May 2009&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-l15&quot; &gt;Line 15:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 15:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&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;* Modules dealing with hardware sensors must cope with a number of the same device attached to the robot (e.g. two laser scanners). It would be desirable for some modules to access to '''sensory data by groups''' for commodity and reusability, e.g. to read the laser scans from all the laser range finders on the robot.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&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;* Modules dealing with hardware sensors must cope with a number of the same device attached to the robot (e.g. two laser scanners). It would be desirable for some modules to access to '''sensory data by groups''' for commodity and reusability, e.g. to read the laser scans from all the laser range finders on the robot.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&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;* Reliable '''error propagation''' is another major goal. Failures in hardware or low-level software must be reported to high-level modules as sensors or actuators malfunction.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&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;* Reliable '''error propagation''' is another major goal. Failures in hardware or low-level software must be reported to high-level modules as sensors or actuators malfunction.&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;* Initialization parameters have been traditionally hard-wired in the code or set apart in &amp;quot;.ini&amp;quot; files. This specification provides a unified interface to '''configuration parameters stored using XML''' of all low-level modules. Further more, a visual application for easily editing them has been developed.&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;* Initialization parameters have been traditionally hard-wired in the code or set apart in &amp;quot;.ini&amp;quot; files. This specification provides a unified interface to '''configuration parameters stored using XML''' of all low-level modules. Further more, a &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;[[Architecture:RPD_Server#RPD_Visual_Editor | &lt;/ins&gt;visual application&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;]] &lt;/ins&gt;for easily editing them has been developed.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&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;* It is desirable an '''event-driven data flow''', as opposed to the current polling mechanism for obtaining data from sensors.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&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;* It is desirable an '''event-driven data flow''', as opposed to the current polling mechanism for obtaining data from sensors.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&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;&amp;#160;&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;&amp;#160;&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;In the rest of this report we discuss these issues: in section 2 we give an overview of the proposed architecture model. The next section examines it in detail, giving developers all the needed information to maintain or create BABEL modules according to the proposed framework. Section 4 is dedicated to '''Robotic Platform Descriptors (RPDs)''' and a new graphical user interface (GUI) created to facilitate their edition. Finally we discuss issues to be specified in the future. Additional appendixes are provided with implementation details.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&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;In the rest of this report we discuss these issues: in section 2 we give an overview of the proposed architecture model. The next section examines it in detail, giving developers all the needed information to maintain or create BABEL modules according to the proposed framework. Section 4 is dedicated to '''Robotic Platform Descriptors (RPDs)''' and a new graphical user interface (GUI) created to facilitate their edition. Finally we discuss issues to be specified in the future. Additional appendixes are provided with implementation details.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Jlblanco</name></author>
		
	</entry>
	<entry>
		<id>https://babel.isa.uma.es/babel2/index.php?title=Architecture:Motivation&amp;diff=159&amp;oldid=prev</id>
		<title>Jlblanco at 14:45, 17 May 2009</title>
		<link rel="alternate" type="text/html" href="https://babel.isa.uma.es/babel2/index.php?title=Architecture:Motivation&amp;diff=159&amp;oldid=prev"/>
		<updated>2009-05-17T14:45:56Z</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;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 14:45, 17 May 2009&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;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&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;table width=&amp;quot;95%&amp;quot;&amp;gt;&amp;lt;tr&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&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;table width=&amp;quot;95%&amp;quot;&amp;gt;&amp;lt;tr&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;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;td align=&amp;quot;left&amp;quot;&amp;gt; &amp;lt;small&amp;gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;'''&lt;/del&gt;Previous:&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;''' &lt;/del&gt;[[MAPIR's_Module_Architecture|Architecture index]]&amp;lt;/small&amp;gt; &amp;lt;/td&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;td align=&amp;quot;left&amp;quot;&amp;gt; &amp;lt;small&amp;gt;Previous: [[MAPIR's_Module_Architecture|Architecture index]]&amp;lt;/small&amp;gt; &amp;lt;/td&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;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;td align=&amp;quot;right&amp;quot;&amp;gt; &amp;lt;small&amp;gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;'''&lt;/del&gt;Next:&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;''' &lt;/del&gt;[[Architecture:Brief_discussion_of_the_model|Overview]]&amp;lt;/small&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&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;td align=&amp;quot;right&amp;quot;&amp;gt; &amp;lt;small&amp;gt;Next: [[Architecture:Brief_discussion_of_the_model|Overview]]&amp;lt;/small&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&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;/table&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&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;/table&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&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;&amp;#160;&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;/table&gt;</summary>
		<author><name>Jlblanco</name></author>
		
	</entry>
	<entry>
		<id>https://babel.isa.uma.es/babel2/index.php?title=Architecture:Motivation&amp;diff=158&amp;oldid=prev</id>
		<title>Jlblanco at 14:45, 17 May 2009</title>
		<link rel="alternate" type="text/html" href="https://babel.isa.uma.es/babel2/index.php?title=Architecture:Motivation&amp;diff=158&amp;oldid=prev"/>
		<updated>2009-05-17T14:45:39Z</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;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 14:45, 17 May 2009&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;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&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;table width=&amp;quot;95%&amp;quot;&amp;gt;&amp;lt;tr&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&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;table width=&amp;quot;95%&amp;quot;&amp;gt;&amp;lt;tr&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;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;td align=&amp;quot;left&amp;quot;&amp;gt; &amp;lt;small&amp;gt;Previous: [[MAPIR's_Module_Architecture|Architecture index]]&amp;lt;/small&amp;gt; &amp;lt;/td&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;td align=&amp;quot;left&amp;quot;&amp;gt; &amp;lt;small&amp;gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;'''&lt;/ins&gt;Previous:&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;''' &lt;/ins&gt;[[MAPIR's_Module_Architecture|Architecture index]]&amp;lt;/small&amp;gt; &amp;lt;/td&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;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;td align=&amp;quot;right&amp;quot;&amp;gt; &amp;lt;small&amp;gt;Next: [[Architecture:Brief_discussion_of_the_model|Overview]]&amp;lt;/small&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&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;td align=&amp;quot;right&amp;quot;&amp;gt; &amp;lt;small&amp;gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;'''&lt;/ins&gt;Next:&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;''' &lt;/ins&gt;[[Architecture:Brief_discussion_of_the_model|Overview]]&amp;lt;/small&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&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;/table&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&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;/table&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&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;&amp;#160;&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;/table&gt;</summary>
		<author><name>Jlblanco</name></author>
		
	</entry>
	<entry>
		<id>https://babel.isa.uma.es/babel2/index.php?title=Architecture:Motivation&amp;diff=157&amp;oldid=prev</id>
		<title>Jlblanco at 14:45, 17 May 2009</title>
		<link rel="alternate" type="text/html" href="https://babel.isa.uma.es/babel2/index.php?title=Architecture:Motivation&amp;diff=157&amp;oldid=prev"/>
		<updated>2009-05-17T14:45:18Z</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;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 14:45, 17 May 2009&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;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&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;table width=&amp;quot;95%&amp;quot;&amp;gt;&amp;lt;tr&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&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;table width=&amp;quot;95%&amp;quot;&amp;gt;&amp;lt;tr&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;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;td align=&amp;quot;left&amp;quot;&amp;gt; &amp;lt;small&amp;gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Back to &lt;/del&gt;: [[MAPIR's_Module_Architecture|Architecture index]]&amp;lt;/small&amp;gt; &amp;lt;/td&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;td align=&amp;quot;left&amp;quot;&amp;gt; &amp;lt;small&amp;gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Previous&lt;/ins&gt;: [[MAPIR's_Module_Architecture|Architecture index]]&amp;lt;/small&amp;gt; &amp;lt;/td&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&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;td align=&amp;quot;right&amp;quot;&amp;gt; &amp;lt;small&amp;gt;Next: [[Architecture:Brief_discussion_of_the_model|Overview]]&amp;lt;/small&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&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;td align=&amp;quot;right&amp;quot;&amp;gt; &amp;lt;small&amp;gt;Next: [[Architecture:Brief_discussion_of_the_model|Overview]]&amp;lt;/small&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&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;/table&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&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;/table&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Jlblanco</name></author>
		
	</entry>
	<entry>
		<id>https://babel.isa.uma.es/babel2/index.php?title=Architecture:Motivation&amp;diff=156&amp;oldid=prev</id>
		<title>Jlblanco at 14:45, 17 May 2009</title>
		<link rel="alternate" type="text/html" href="https://babel.isa.uma.es/babel2/index.php?title=Architecture:Motivation&amp;diff=156&amp;oldid=prev"/>
		<updated>2009-05-17T14:45:01Z</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;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 14:45, 17 May 2009&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;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 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;&amp;lt;small&amp;gt;Back to : [[MAPIR's_Module_Architecture|Architecture index]]&amp;lt;/small&amp;gt;&amp;lt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;br&lt;/del&gt;&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;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;lt;table width=&amp;quot;95%&amp;quot;&amp;gt;&amp;lt;tr&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&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;td align=&amp;quot;left&amp;quot;&amp;gt; &lt;/ins&gt;&amp;lt;small&amp;gt;Back to : [[MAPIR's_Module_Architecture|Architecture index]]&amp;lt;/small&amp;gt; &amp;lt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;/td&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&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;td align=&amp;quot;right&amp;quot;&amp;gt; &amp;lt;small&amp;gt;Next: [[Architecture:Brief_discussion_of_the_model|Overview]]&amp;lt;/small&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&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;/table&lt;/ins&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&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;&amp;#160;&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;&amp;#160;&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;&amp;#160;&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;/table&gt;</summary>
		<author><name>Jlblanco</name></author>
		
	</entry>
	<entry>
		<id>https://babel.isa.uma.es/babel2/index.php?title=Architecture:Motivation&amp;diff=155&amp;oldid=prev</id>
		<title>Jlblanco at 14:43, 17 May 2009</title>
		<link rel="alternate" type="text/html" href="https://babel.isa.uma.es/babel2/index.php?title=Architecture:Motivation&amp;diff=155&amp;oldid=prev"/>
		<updated>2009-05-17T14:43:29Z</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;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 14:43, 17 May 2009&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-l6&quot; &gt;Line 6:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 6:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&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;Distributed, multi-modules robotics applications are currently built in the System and Automation Engineering department using the BABEL [1] development tools: the Module Designer (MD), the Execution Manager, and the Debugger. With the MD we can specify the attributes, services and events of modules. The interface of a module is given by its services, which can be called in a RPC (Remote Procedure Call) style if we know the service name and its input and output parameters. Traditionally, module interfaces have been developed based solely on the designer’s criterion, while not taking entirely into account their potential reusability and coherent integration into larger software structures. The ACHRIN robotic architecture [2] solves part of this problem with the introduction of common interfaces for Functional Groups, modules in charge of a specific task like navigation or manipulation. However, we rethink in this report the problem of interfaces between modules, keeping the following points in mind:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&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;Distributed, multi-modules robotics applications are currently built in the System and Automation Engineering department using the BABEL [1] development tools: the Module Designer (MD), the Execution Manager, and the Debugger. With the MD we can specify the attributes, services and events of modules. The interface of a module is given by its services, which can be called in a RPC (Remote Procedure Call) style if we know the service name and its input and output parameters. Traditionally, module interfaces have been developed based solely on the designer’s criterion, while not taking entirely into account their potential reusability and coherent integration into larger software structures. The ACHRIN robotic architecture [2] solves part of this problem with the introduction of common interfaces for Functional Groups, modules in charge of a specific task like navigation or manipulation. However, we rethink in this report the problem of interfaces between modules, keeping the following points in mind:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&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;&amp;#160;&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;* Modules are elements of a larger structure, which we call the Control Architecture. Therefore their design must take into account not only intra-module issues, but the connections with the rest of the system.&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;* Modules are elements of a larger structure, which we call the &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;'''&lt;/ins&gt;Control Architecture&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;'''&lt;/ins&gt;. Therefore their design must take into account not only intra-module issues, but the connections with the rest of the system.&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;* At some points, it is desirable to define BABEL level interfaces acting as frontiers between low and high-level tasks. This makes easier the maintenance, reusability and substitution of existing modules, as well as the creation of new modules.&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;* At some points, it is desirable to define &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;'''&lt;/ins&gt;BABEL&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;-&lt;/ins&gt;level interfaces&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;''' &lt;/ins&gt;acting as frontiers between low and high-level tasks. This makes easier the maintenance, reusability and substitution of existing modules, as well as the creation of new modules.&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;* The same architecture should run over different mobile robots with different sensors, or over a simulator, without recompiling any module. Since low-level tasks are highly related to the specific robotic platform, a normalized description of the execution platform (the robot) should be used for the software to discover the hardware details and to behave accordingly.&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;* The same architecture should run over different mobile robots with different sensors, or over a simulator, without recompiling any module. Since low-level tasks are highly related to the specific robotic platform, a &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;'''&lt;/ins&gt;normalized description of the execution platform&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;''' &lt;/ins&gt;(the robot) should be used for the software to discover the hardware details and to behave accordingly.&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;* The units in which parameters are given have typically been a source of confusions. Here we propose to use always units from the Systeme International (S.I), as meters, seconds, meters/second and so on.&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;* The &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;'''&lt;/ins&gt;units&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;''' &lt;/ins&gt;in which parameters are given have typically been a source of confusions. Here we propose to use always units from the Systeme International (S.I), as meters, seconds, meters/second and so on.&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;* Modules dealing with hardware sensors must cope with a number of the same device attached to the robot (e.g. two laser scanners). It would be desirable for some modules to access to sensory data by groups for commodity and reusability, e.g. to read the laser scans from all the laser range finders on the robot.&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;* Modules dealing with hardware sensors must cope with a number of the same device attached to the robot (e.g. two laser scanners). It would be desirable for some modules to access to &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;'''&lt;/ins&gt;sensory data by groups&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;''' &lt;/ins&gt;for commodity and reusability, e.g. to read the laser scans from all the laser range finders on the robot.&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;* Reliable error propagation is another major goal. Failures in hardware or low-level software must be reported to high-level modules as sensors or actuators malfunction.&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;* Reliable &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;'''&lt;/ins&gt;error propagation&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;''' &lt;/ins&gt;is another major goal. Failures in hardware or low-level software must be reported to high-level modules as sensors or actuators malfunction.&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;* Initialization parameters have been traditionally hard-wired in the code or set apart in &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;“&lt;/del&gt;.&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;ini” &lt;/del&gt;files. This specification provides a unified interface to configuration parameters of all low-level modules. Further more, a visual application for easily editing them has been developed.&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;* Initialization parameters have been traditionally hard-wired in the code or set apart in &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;quot;&lt;/ins&gt;.&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;ini&amp;quot; &lt;/ins&gt;files. This specification provides a unified interface to &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;'''&lt;/ins&gt;configuration parameters &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;stored using XML''' &lt;/ins&gt;of all low-level modules. Further more, a visual application for easily editing them has been developed.&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;* It is desirable an event-driven data flow, as opposed to the current polling mechanism for obtaining data from sensors.&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;* It is desirable an &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;'''&lt;/ins&gt;event-driven data flow&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;'''&lt;/ins&gt;, as opposed to the current polling mechanism for obtaining data from sensors.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&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;&amp;#160;&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;In the rest of this report we discuss these issues: in section 2 we give an overview of the proposed architecture model. The next section examines it in detail, giving developers all the needed information to maintain or create BABEL modules according to the proposed framework. Section 4 is dedicated to Robotic Platform Descriptors (RPDs) and a new graphical user interface (GUI) created to facilitate their edition. Finally we discuss issues to be specified in the future. Additional appendixes are provided with implementation details.&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;In the rest of this report we discuss these issues: in section 2 we give an overview of the proposed architecture model. The next section examines it in detail, giving developers all the needed information to maintain or create BABEL modules according to the proposed framework. Section 4 is dedicated to &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;'''&lt;/ins&gt;Robotic Platform Descriptors (RPDs)&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;''' &lt;/ins&gt;and a new graphical user interface (GUI) created to facilitate their edition. Finally we discuss issues to be specified in the future. Additional appendixes are provided with implementation details.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Jlblanco</name></author>
		
	</entry>
	<entry>
		<id>https://babel.isa.uma.es/babel2/index.php?title=Architecture:Motivation&amp;diff=154&amp;oldid=prev</id>
		<title>Jlblanco: New page: &lt;small&gt;Back to : Architecture index&lt;/small&gt;&lt;br&gt;   = Motivation =  Distributed, multi-modules robotics applications are currently built in the System and Aut...</title>
		<link rel="alternate" type="text/html" href="https://babel.isa.uma.es/babel2/index.php?title=Architecture:Motivation&amp;diff=154&amp;oldid=prev"/>
		<updated>2009-05-17T14:41:06Z</updated>

		<summary type="html">&lt;p&gt;New page: &amp;lt;small&amp;gt;Back to : &lt;a href=&quot;/babel2/index.php?title=MAPIR%27s_Module_Architecture&quot; title=&quot;MAPIR&amp;#039;s Module Architecture&quot;&gt;Architecture index&lt;/a&gt;&amp;lt;/small&amp;gt;&amp;lt;br&amp;gt;   = Motivation =  Distributed, multi-modules robotics applications are currently built in the System and Aut...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;small&amp;gt;Back to : [[MAPIR's_Module_Architecture|Architecture index]]&amp;lt;/small&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Motivation =&lt;br /&gt;
&lt;br /&gt;
Distributed, multi-modules robotics applications are currently built in the System and Automation Engineering department using the BABEL [1] development tools: the Module Designer (MD), the Execution Manager, and the Debugger. With the MD we can specify the attributes, services and events of modules. The interface of a module is given by its services, which can be called in a RPC (Remote Procedure Call) style if we know the service name and its input and output parameters. Traditionally, module interfaces have been developed based solely on the designer’s criterion, while not taking entirely into account their potential reusability and coherent integration into larger software structures. The ACHRIN robotic architecture [2] solves part of this problem with the introduction of common interfaces for Functional Groups, modules in charge of a specific task like navigation or manipulation. However, we rethink in this report the problem of interfaces between modules, keeping the following points in mind:&lt;br /&gt;
&lt;br /&gt;
* Modules are elements of a larger structure, which we call the Control Architecture. Therefore their design must take into account not only intra-module issues, but the connections with the rest of the system.&lt;br /&gt;
* At some points, it is desirable to define BABEL level interfaces acting as frontiers between low and high-level tasks. This makes easier the maintenance, reusability and substitution of existing modules, as well as the creation of new modules.&lt;br /&gt;
* The same architecture should run over different mobile robots with different sensors, or over a simulator, without recompiling any module. Since low-level tasks are highly related to the specific robotic platform, a normalized description of the execution platform (the robot) should be used for the software to discover the hardware details and to behave accordingly.&lt;br /&gt;
* The units in which parameters are given have typically been a source of confusions. Here we propose to use always units from the Systeme International (S.I), as meters, seconds, meters/second and so on.&lt;br /&gt;
* Modules dealing with hardware sensors must cope with a number of the same device attached to the robot (e.g. two laser scanners). It would be desirable for some modules to access to sensory data by groups for commodity and reusability, e.g. to read the laser scans from all the laser range finders on the robot.&lt;br /&gt;
* Reliable error propagation is another major goal. Failures in hardware or low-level software must be reported to high-level modules as sensors or actuators malfunction.&lt;br /&gt;
* Initialization parameters have been traditionally hard-wired in the code or set apart in “.ini” files. This specification provides a unified interface to configuration parameters of all low-level modules. Further more, a visual application for easily editing them has been developed.&lt;br /&gt;
* It is desirable an event-driven data flow, as opposed to the current polling mechanism for obtaining data from sensors.&lt;br /&gt;
&lt;br /&gt;
In the rest of this report we discuss these issues: in section 2 we give an overview of the proposed architecture model. The next section examines it in detail, giving developers all the needed information to maintain or create BABEL modules according to the proposed framework. Section 4 is dedicated to Robotic Platform Descriptors (RPDs) and a new graphical user interface (GUI) created to facilitate their edition. Finally we discuss issues to be specified in the future. Additional appendixes are provided with implementation details.&lt;/div&gt;</summary>
		<author><name>Jlblanco</name></author>
		
	</entry>
</feed>