<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<div class="moz-cite-prefix">Are you using master?<br>
If you are using next the next commit after the merge phase should
fix this problem.<br>
We had this a while ago.<br>
<br>
Best,<br>
Matthias<br>
<br>
On 14.03.2014 18:25, Christian Rauch wrote:<br>
</div>
<blockquote cite="mid:53233BA0.7070100@dfki.de" type="cite">Hello,
<br>
<br>
we have a simulation composition (AriaSim) using some simulated
devices.
<br>
<br>
If we start this and an additional composition connected to
simulated devices we get sometimes (not reproducible) this error
message:
<br>
<br>
{{{
<br>
Syskit[FATAL]:
/home/christian/rock_virgo_next/tools/syskit/lib/syskit/network_generation/engine.rb:526:in
`block (2 levels) in validate_generated_network': device
locomotion is assigned to both
Simulation::MarsActuator{1}:0x69a7f58{driver_dev =>
device(Dev::Simulation::Mars::Actuator, :as => locomotion),
conf => [locomotion], locomotion_actuators_mappings => [1,
2, 3, 4]}[] and Simulation::MarsActuator{1}:0x73ca0a8{driver_dev
=> device(Dev::Simulation::Mars::Actuator, :as =>
locomotion), conf => [locomotion],
locomotion_actuators_mappings => [1, 2, 3, 4]}[], but the tasks
have mismatching inputs (Syskit::SpecError)
<br>
}}}
<br>
<br>
Where locomotion is a simulated devices defined by:
<br>
{{{
<br>
define_simulated_device("locomotion",
Dev::Simulation::Mars::Actuator) do |dev|
<br>
::Simulation::MarsActuator.dispatch('locomotion_actuators',
(1..4).to_a ).
<br>
use_deployments(/mars_locomotion/).
<br>
with_arguments(dev.arguments).
<br>
with_conf('locomotion')
<br>
end
<br>
locomotion_dev.period 0.01
<br>
}}}
<br>
<br>
and used in:
<br>
{{{
<br>
define 'aria', Virgo::AriaSim.use(
<br>
'actuators' => locomotion_def,
<br>
[...]
<br>
)
<br>
}}}
<br>
<br>
In the network graph (see attached *.dot file) one can see that
the simulation composition (Virgo::AriaSim) is started twice, and
therefore also the Simulation::MarsActuator::Cmp.
<br>
I guess that is not correct.
<br>
<br>
It might be, that this problem does not occur when a second
composition is started accessing a simulated device, but then it
happens later when a third, ... composition is started.
<br>
<br>
=> Any ideas why this happens and only happens randomly?
<br>
<br>
<br>
Our guess was to prevent the creation of multiple AriaSim
instances by setting it as a driver by:
<br>
{{{
<br>
class AriaSim < Syskit::Composition
<br>
[...]
<br>
driver_for Dev::Platforms::MobileRoboticsSim,
:as=>'ariasimdev'
<br>
end
<br>
}}}
<br>
<br>
Which results in the error:
<br>
{{{
<br>
Syskit[FATAL]: cannot find a device to tie to 1 task(s)
<br>
Syskit[FATAL]: for Virgo::AriaSim:0x64e5380{}[]
<br>
Syskit[FATAL]: no candidates for Virgo::AriaSim:ariasimdev
<br>
Syskit[FATAL]: Engine#resolve failed
<br>
}}}
<br>
<br>
=> So the second question is if a composition could be set as a
driver and if so, how?
<br>
<br>
Regards,
<br>
Christian
<br>
<br>
<br>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
Rock-dev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Rock-dev@dfki.de">Rock-dev@dfki.de</a>
<a class="moz-txt-link-freetext" href="http://www.dfki.de/mailman/cgi-bin/listinfo/rock-dev">http://www.dfki.de/mailman/cgi-bin/listinfo/rock-dev</a></pre>
</blockquote>
<br>
<br>
<pre class="moz-signature" cols="72">--
Dipl.-Inf. Matthias Goldhoorn
Space and Underwater Robotic
Universität Bremen
FB 3 - Mathematik und Informatik
AG Robotik
Robert-Hooke-Straße 1
28359 Bremen, Germany
Zentrale: +49 421 178 45-6611
Besuchsadresse der Nebengeschäftstelle:
Robert-Hooke-Straße 5
28359 Bremen, Germany
Tel.: +49 421 178 45-4193
Empfang: +49 421 178 45-6600
Fax: +49 421 178 45-4150
E-Mail: <a class="moz-txt-link-abbreviated" href="mailto:matthias.goldhoorn@informatik.uni-bremen.de">matthias.goldhoorn@informatik.uni-bremen.de</a>
Weitere Informationen: <a class="moz-txt-link-freetext" href="http://www.informatik.uni-bremen.de/robotik">http://www.informatik.uni-bremen.de/robotik</a></pre>
</body>
</html>