[Rock-dev] Syskit Monitors

Sylvain Joyeux bir.sylvain at gmail.com
Mon Jun 16 16:38:36 CEST 2014


Yes, on robotics stackexchange ... :P


On Mon, Jun 16, 2014 at 4:32 PM, Matthias Goldhoorn <
matthias.goldhoorn at dfki.de> wrote:

> I had just tested my first monitor, which results in the following error:
>
> 16:28:27.564 (Roby) = failed emission of the weak_signal event of
> Pipeline::Detector:0x71f5cf0
> 16:28:27.564 (Roby) = Backtrace
> 16:28:27.564 (Roby) |
> 16:28:27.564 (Roby) | /home/auv/dev/tools/roby/lib/roby/task.rb:663:in
> `emitting_event'
> 16:28:27.564 (Roby) |
> /home/auv/dev/tools/roby/lib/roby/task_event_generator.rb:46:in `emitting'
> 16:28:27.564 (Roby) |
> /home/auv/dev/tools/roby/lib/roby/event_generator.rb:628:in
> `emit_without_propagation'
> 16:28:27.564 (Roby) |
> /home/auv/dev/tools/roby/lib/roby/execution_engine.rb:1017:in `block (2
> levels) in event_propagation_step'
> 16:28:27.564 (Roby) |
> /home/auv/dev/tools/roby/lib/roby/execution_engine.rb:648:in
> `propagation_context'
> 16:28:27.564 (Roby) |
> /home/auv/dev/tools/roby/lib/roby/execution_engine.rb:1015:in `block in
> event_propagation_step'
> 16:28:27.564 (Roby) |
> /home/auv/dev/tools/roby/lib/roby/execution_engine.rb:559:in `block in
> gather_propagation'
> 16:28:27.565 (Roby) |
> /home/auv/dev/tools/roby/lib/roby/execution_engine.rb:648:in
> `propagation_context'
> 16:28:27.565 (Roby) |
> /home/auv/dev/tools/roby/lib/roby/execution_engine.rb:559:in
> `gather_propagation'
> 16:28:27.565 (Roby) |
> /home/auv/dev/tools/roby/lib/roby/execution_engine.rb:1014:in
> `event_propagation_step'
> 16:28:27.565 (Roby) |
> /home/auv/dev/tools/roby/lib/roby/execution_engine.rb:783:in `block in
> event_propagation_phase'
> 16:28:27.565 (Roby) |
> /home/auv/dev/tools/roby/lib/roby/execution_engine.rb:761:in
> `gather_errors'
> 16:28:27.565 (Roby) |
> /home/auv/dev/tools/roby/lib/roby/execution_engine.rb:779:in
> `event_propagation_phase'
> 16:28:27.565 (Roby) |
> /home/auv/dev/tools/roby/lib/roby/execution_engine.rb:1426:in
> `process_events'
> 16:28:27.565 (Roby) |
> /home/auv/dev/tools/roby/lib/roby/execution_engine.rb:1940:in `block (2
> levels) in event_loop'
> 16:28:27.565 (Roby) |
> /home/auv/dev/tools/roby/lib/roby/support.rb:176:in `synchronize'
> 16:28:27.565 (Roby) |
> /home/auv/dev/tools/roby/lib/roby/execution_engine.rb:1939:in `block in
> event_loop'
> 16:28:27.565 (Roby) |
> /home/auv/dev/tools/roby/lib/roby/execution_engine.rb:1917:in `loop'
> 16:28:27.565 (Roby) |
> /home/auv/dev/tools/roby/lib/roby/execution_engine.rb:1917:in `event_loop'
> 16:28:27.565 (Roby) |
> /home/auv/dev/tools/roby/lib/roby/execution_engine.rb:1797:in `block (3
> levels) in run'
> 16:28:27.565 (Roby) =
>
>
> Don't know wether this is a bug, or if i had miss-used the monitor...
> here is the action_state_machine i'm using:
>
> 183     describe("Find_pipe_with_localization").
> 184         optional_arg("check_pipe_angle",false)
> 185     action_state_machine "find_pipe_with_localization" do
> 186         find_pipe_back = state target_move_def(... some long stuff
> here ... )
> 187         pipe_detector = state pipeline_detector_def
> 188         pipe_detector.depends_on find_pipe_back, :role => "detector"
> 189         start(pipe_detector)
> 190
> 191         pipe_detector.monitor(
> 192             'angle_checker', #the Name
> 193             pipe_detector.find_port('pipeline'), #the port for the
> reader
> 194             :check_pipe_angle => check_pipe_angle). #arguments
> 195             trigger_on do |pipeline|
> 196                 angle_in_range = true
> 197                 if check_pipe_angle
> 198                     angle_in_range = pipeline.angle < 0.1 &&
> pipeline.angle > -0.1
> 199                 end
> 200                 state_valid = pipeline.inspection_state ==
> :ALIGN_AUV || pipeline.inspection_state == :FOLLOW_PIPE
> 201                 state_valid && angle_in_range #last condition
> 202             end. emit pipe_detector.success_event
> # for non-monitor use, this works if the above is commented out
> 203 #        forward pipe_detector.align_auv_event, success_event
> 204 #        forward pipe_detector.follow_pipe_event, success_event
> 205
> 206         forward pipe_detector.success_event, success_event
> 207         forward
> pipe_detector,find_pipe_back.success_event,failed_event #timeout here on
> moving
> 208     end
>
>
>
>
>
> Can anyone help me here?,
> Best,Matthias
>
>
> --
>   --
>   Matthias Goldhoorn
>   Unterwasserrobotik
>
>   Standort Bremen:
>   DFKI GmbH
>   Robotics Innovation Center
>   Robert-Hooke-Straße 5
>   28359 Bremen, Germany
>
>   Phone: +49 (0)421 218-64100
>   Fax:   +49 (0)421 218-64150
>   E-Mail: robotik at dfki.de
>
>   Weitere Informationen: http://www.dfki.de/robotik
>   -----------------------------------------------------------------------
>   Deutsches Forschungszentrum fuer Kuenstliche Intelligenz GmbH
>   Firmensitz: Trippstadter Straße 122, D-67663 Kaiserslautern
>   Geschaeftsfuehrung: Prof. Dr. Dr. h.c. mult. Wolfgang Wahlster
>   (Vorsitzender) Dr. Walter Olthoff
>   Vorsitzender des Aufsichtsrats: Prof. Dr. h.c. Hans A. Aukes
>   Amtsgericht Kaiserslautern, HRB 2313
>   Sitz der Gesellschaft: Kaiserslautern (HRB 2313)
>   USt-Id.Nr.:    DE 148646973
>   Steuernummer:  19/673/0060/3
>   -----------------------------------------------------------------------
>
>
> _______________________________________________
> Rock-dev mailing list
> Rock-dev at dfki.de
> http://www.dfki.de/mailman/cgi-bin/listinfo/rock-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.dfki.de/pipermail/rock-dev/attachments/20140616/65813128/attachment-0001.htm 


More information about the Rock-dev mailing list