Am 17.03.2014 07:59, schrieb Matthias Goldhoorn:
Yes, we are on next. With syskit commit 423fb288 (net_gen: properly synchronize finishing [...]) the error is still present. The error also occurs when switching completely with syskit and roby to master.Are you using master? If you are using next the next commit after the merge phase should fix this problem.
Regards, Christian
We had this a while ago. Best, Matthias On 14.03.2014 18:25, Christian Rauch wrote:Hello, we have a simulation composition (AriaSim) using some simulated devices. If we start this and an additional composition connected to simulated devices we get sometimes (not reproducible) this error message: {{{ 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) }}} Where locomotion is a simulated devices defined by: {{{ define_simulated_device("locomotion", Dev::Simulation::Mars::Actuator) do |dev| ::Simulation::MarsActuator.dispatch('locomotion_actuators', (1..4).to_a ). use_deployments(/mars_locomotion/). with_arguments(dev.arguments). with_conf('locomotion') end locomotion_dev.period 0.01 }}} and used in: {{{ define 'aria', Virgo::AriaSim.use( 'actuators' => locomotion_def, [...] ) }}} 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. I guess that is not correct. 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. => Any ideas why this happens and only happens randomly? Our guess was to prevent the creation of multiple AriaSim instances by setting it as a driver by: {{{ class AriaSim < Syskit::Composition [...] driver_for Dev::Platforms::MobileRoboticsSim, :as=>'ariasimdev' end }}} Which results in the error: {{{ Syskit[FATAL]: cannot find a device to tie to 1 task(s) Syskit[FATAL]: for Virgo::AriaSim:0x64e5380{}[] Syskit[FATAL]: no candidates for Virgo::AriaSim:ariasimdev Syskit[FATAL]: Engine#resolve failed }}} => So the second question is if a composition could be set as a driver and if so, how? Regards, Christian _______________________________________________ Rock-dev mailing list [email protected] http://www.dfki.de/mailman/cgi-bin/listinfo/rock-dev
-- Christian Rauch Space Robotics 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-6619 Empfang: +49 421 178 45-6600 Fax: +49 421 178 45-4150 E-Mail: [email protected] Weitere Informationen: http://www.informatik.uni-bremen.de/robotik
smime.p7s
Description: S/MIME Cryptographic Signature
_______________________________________________ Rock-dev mailing list [email protected] http://www.dfki.de/mailman/cgi-bin/listinfo/rock-dev
