[Rock-dev] Roby: Using different configurations - conceptual error	or bug?
    Allan E. Conquest 
    allan.conquest at dfki.de
       
    Thu Feb 16 15:45:31 CET 2012
    
    
  
Hi,
I would like to use non-default configurations for
a) the general running case (like the time before or between any
mission) [here: 'studiobad'] and
b) mission specific configurations? [here: 'default', 'wall_servoing']
The following is our situation:
Robot.devices do
  device(Dev::Micron, :as => 'sonar').
    period(0.01).
    use_conf("studiobad")
end
wall_device = device('sonar').use_conf('default', 'wall_servoing')
define('wall', Cmp::VisualServoing.use(Cmp::WallDetector.use(wall_device)))
Unfortunately, this produces the following error message:
device sonar is assigned to both
Orocos::RobyPlugin::SonarTritech::Micron:0x7f764a0764b8{conf =>
[studiobad], micron_name => sonar}[] and
Orocos::RobyPlugin::SonarTritech::Micron:0x7f764a07fcc0{conf =>
[default, wall_servoing], micron_name => sonar}[]
(Orocos::RobyPlugin::SpecError)
= Backtrace
|
/home/allan/dev/AVALON.master/tools/orocos.rb/lib/orocos/roby/engine.rb:876:in
`validate_generated_network',
|  
/home/allan/dev/AVALON.master/tools/orocos.rb/lib/orocos/roby/data_sources.rb:846:in
`each',
|  
/home/allan/dev/AVALON.master/tools/orocos.rb/lib/orocos/roby/data_sources.rb:846:in
`each_master_device',
|  
/home/allan/dev/AVALON.master/tools/orocos.rb/lib/orocos/roby/engine.rb:873:in
`validate_generated_network',
|  
/home/allan/dev/AVALON.master/tools/orocos.rb/lib/orocos/roby/engine.rb:871:in
`each',
|  
/home/allan/dev/AVALON.master/tools/orocos.rb/lib/orocos/roby/engine.rb:871:in
`validate_generated_network',
|  
/home/allan/dev/AVALON.master/tools/orocos.rb/lib/orocos/roby/engine.rb:1501:in
`resolve',
|  
/home/allan/dev/AVALON.master/tools/orocos.rb/lib/orocos/roby/scripts/instanciate.rb:130:in
`compute',
|  
/home/allan/dev/AVALON.master/tools/orocos.rb/lib/orocos/roby/scripts/instanciate.rb:119:in
`each',
|  
/home/allan/dev/AVALON.master/tools/orocos.rb/lib/orocos/roby/scripts/instanciate.rb:119:in
`compute',
|  
/home/allan/dev/AVALON.master/tools/orocos.rb/lib/orocos/roby/scripts/instanciate.rb:154:in
`run',
|  
/home/allan/dev/AVALON.master/tools/orocos.rb/lib/orocos/roby/scripts/common.rb:251:in
`run',
|  
/home/allan/dev/AVALON.master/tools/roby/lib/roby/exceptions.rb:327:in
`display_exception',
|  
/home/allan/dev/AVALON.master/tools/orocos.rb/lib/orocos/roby/scripts/common.rb:249:in
`run',
|  
/home/allan/dev/AVALON.master/tools/orocos.rb/lib/orocos/roby/scripts/instanciate.rb:152:in
`run',
|  
/home/allan/dev/AVALON.master/tools/orocos.rb/lib/orocos/roby/scripts/instanciate.rb:310,
|   /usr/lib/ruby/1.8/rubygems/custom_require.rb:31:in
`gem_original_require',
|   /usr/lib/ruby/1.8/rubygems/custom_require.rb:31:in `require',
|   scripts/orocos/instanciate:3
=
If this problem is not due to a bug, could somebody please give a best
practice guide on how to do this kind of configuration?
Best
Allan
    
    
More information about the Rock-dev
mailing list