<div dir="ltr">Hey, two points:<div> - this question would better be placed on the robotics stack exchange website (with the syskit and rock tags) as we discussed earlier on this ML</div><div> - it is generally better to ask *what* you want to do first (i.e. when my pipeline follower reaches heading X I want to do Y), not *how* you think you should be doing it (state machine, create roby task and so on)</div>
<div><br></div><div>Sylvain</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, Jun 3, 2014 at 3:53 PM, Matthias Goldhoorn <span dir="ltr"><<a href="mailto:matthias.goldhoorn@dfki.de" target="_blank">matthias.goldhoorn@dfki.de</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I search for a nice way to define that transition should only be done IF<br>
some conditions (like data on input ports) are valid.<br>
<br>
Concrete:<br>
<br>
find_pipe_back = state target_move_def(:finish_when_reached => false ,<br>
:heading => 1 ...)<br>
pipe_detector = state pipeline_detector_def<br>
pipe_detector.depends_on find_pipe_back, :role => "detector"<br>
start(pipe_detector)<br>
<br>
script do<br>
somewhow_get_reader_of_orientation<br>
if orientation.yaw < foo and orientation.yaw > 2<br>
forward pipe_detector.align_auv_event, success_event<br>
end<br>
end<br>
<br>
<br>
I thoug to do anything like creating a Roby::Task like this:<br>
<br>
class Foo::Task << Roby::Task<br>
add OrientationSrv, :as => ori_p<br>
reader = ori_p.orientation.reader<br>
script do<br>
if ori.yaw .....<br>
emit :failed<br>
else<br>
emit :success<br>
end<br>
end<br>
<br>
and then fallback in the statemachine to the original state, but i<br>
assume this will result in a nonsense-loop. Is there a better way to do<br>
those things?<br>
<br>
Best,<br>
Matthias<br>
<br>
<br>
<br>
--<br>
--<br>
Matthias Goldhoorn<br>
Unterwasserrobotik<br>
<br>
Standort Bremen:<br>
DFKI GmbH<br>
Robotics Innovation Center<br>
Robert-Hooke-Straße 5<br>
28359 Bremen, Germany<br>
<br>
Phone: <a href="tel:%2B49%20%280%29421%20218-64100" value="+4942121864100">+49 (0)421 218-64100</a><br>
Fax: <a href="tel:%2B49%20%280%29421%20218-64150" value="+4942121864150">+49 (0)421 218-64150</a><br>
E-Mail: <a href="mailto:robotik@dfki.de">robotik@dfki.de</a><br>
<br>
Weitere Informationen: <a href="http://www.dfki.de/robotik" target="_blank">http://www.dfki.de/robotik</a><br>
-----------------------------------------------------------------------<br>
Deutsches Forschungszentrum fuer Kuenstliche Intelligenz GmbH<br>
Firmensitz: Trippstadter Straße 122, D-67663 Kaiserslautern<br>
Geschaeftsfuehrung: Prof. Dr. Dr. h.c. mult. Wolfgang Wahlster<br>
(Vorsitzender) Dr. Walter Olthoff<br>
Vorsitzender des Aufsichtsrats: Prof. Dr. h.c. Hans A. Aukes<br>
Amtsgericht Kaiserslautern, HRB 2313<br>
Sitz der Gesellschaft: Kaiserslautern (HRB 2313)<br>
USt-Id.Nr.: DE 148646973<br>
Steuernummer: 19/673/0060/3<br>
-----------------------------------------------------------------------<br>
<br>
<br>
_______________________________________________<br>
Rock-dev mailing list<br>
<a href="mailto:Rock-dev@dfki.de">Rock-dev@dfki.de</a><br>
<a href="http://www.dfki.de/mailman/cgi-bin/listinfo/rock-dev" target="_blank">http://www.dfki.de/mailman/cgi-bin/listinfo/rock-dev</a><br>
</blockquote></div><br></div>