[Rock-dev] updateHook hanging (blocked?) when started via syskit

Matthias Goldhoorn matthias.goldhoorn at dfki.de
Thu Dec 19 14:29:08 CET 2013


First of all, also Syskit uses orocos.rb to "handle" the components.
The ONLY think afaik syskit does ontop on your scripts is creating a 
read-task for each "state" port of your components.
I see no difference otherwise.

A load of 2.0 for CPUs is really tight, i still assume you are simply on 
the system limits. You could/should try the RT-patched kernel and use 
realtime for your aria task.

Matthias

On 17.12.2013 20:07, Christian Rauch wrote:
> Hi,
>
> thanks so far for the comments.
>
> * bundles vs. orocos.rb:
>
> I attached two scripts which start aria and two camera_ids via:
> a) the orocos.rb API (run_via_orocos.rb)
> b) the bundle (run_via_bundle.rb)
>
> Running 'run_via_orocos' for 15 minutes on the robot, no warnings 
> appear; running 'run_via_bundle' these warnings appear within 2 minutes.
> The load (1min avg) is between 1.5 and 2.0 (2 CPUs).
>
> Monitoring both CPUs remotely via ksysguard, one can see that both 
> CPUs have high loads up to 100% around the same time. If I run via 
> bundles, both CPUs might have their maximum load at the same time and 
> this is when a delay occurs. There are no delays with running via 
> orocos.rb when CPUs have maximum load at the same time.
>
> For testing purposes: Is it possible to let syskit use deployments 
> started outside of syskit (e.g. in a bash) by telling syskit which 
> tasks to use by just giving the task names under which they were 
> registered at corba?
>
>
> * for the camera_ids issue:
>
> The updateHook of the camera_ids triggers itself when a new frame is 
> available (or receives a timeout):
> {{{
>     if(mIsFrame && getFrame()) {
>         [...]
>     }
>
>     mIsFrame = false;
>
>     if (cam_interface->isFrameAvailable()) {
>         mIsFrame = true;
>         this->getActivity()->trigger();
>     } else {
>         RTT::log(RTT::Error) << "No frame received during timeout 
> period." << RTT::endlog();
>         report(TIMEOUT_ERROR);
>     }
>
> }}}
>
> But this issue is not only related to the camera. In previous runs of 
> corridor servoing (no cameras started; but Hokuyo, Dynamixel, Xsens) 
> the same Warnings appear.
>
> Regards,
> Christian
>
>
> Am 17.12.2013 11:56, schrieb Matthias Goldhoorn:
>> ah okay,
>> but btw.
>> you mentioned that the tasks are not within the same deployment.
>> the only Linux in responsible (if they are periodic) for the execution.
>> Try to start everything with run scripts (including logger) and with the
>> same-policy. You will get the same behavior like in syskit's start up.
>>
>> So solve the issue try to use the solution Alex mentioned, if the camera
>> would take too long to acquire the images.
>> BUT i assume still you have a too high load on your system. Maybe you
>> have some high-speed sensors and sensor fusion components NOT within the
>> same deployment which leads into your problems.
>>
>> Maybe there are ways to influence the system behavior, but for this you
>> need to identify the components that took your power.
>> You could use the task-scheduler, i added a new option for this to debug
>> execution times of tasks.
>>
>> Summarize:
>> - make sure all high-speed sensor data within one deployment
>> - separate processing components from this base chain
>> - increase priority for important tasks
>> - take a look on the system LOAD (not only the most-consuming component)
>> - debug components with the scheduler (or any way you prefer)
>> - Make sure no TCP connection is active (Use MQueues instead of corba,
>> don't use the Task-inspector while debugging)
>>
>> Matthias
>>
>> On 17.12.2013 11:14, Elmar Berghöfer wrote:
>>> Hi,
>>>
>>> Am 17.12.2013 11:08, schrieb Matthias Goldhoorn:
>>>> On 17.12.2013 11:07, Elmar Berghöfer wrote:
>>>>> No it just was a replacement of the on-board robot PC by the laptop
>>>>> to make clear that it has nothing to do with performance of the
>>>>> on-board pc.
>>>> Who does the serial interface to the robot in this case. I assume
>>>>
>>>> - Laptop -> camera started
>>>> - Onboard-PC Serial interface for seekuhr
>>> no - Laptop -> connected to Robot controller (via usb-serial 
>>> converter).
>>>
>>> Onboard PC not used in this scenario.
>>>
>>> Test should just figure out if the "quite" low performance of the
>>> on-board pc (even if theoretically should already be enough) is an
>>> issue or not.
>>> The Lapptop System has much more performance than the on-board pc.
>>>
>>> Regards
>>> Elmar
>>>
>>>>
>>>> Right, and there you got the same scheduling problems?
>>>>
>>>> Matthias
>>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> Rock-dev mailing list
>>> Rock-dev at dfki.de
>>> http://www.dfki.de/mailman/cgi-bin/listinfo/rock-dev
>>
>>
>> -- 
>>   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:matthias.goldhoorn at informatik.uni-bremen.de
>>
>>   Weitere Informationen:http://www.informatik.uni-bremen.de/robotik
>>
>
>
>
> _______________________________________________
> Rock-dev mailing list
> Rock-dev at dfki.de
> http://www.dfki.de/mailman/cgi-bin/listinfo/rock-dev


-- 
  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:  matthias.goldhoorn at informatik.uni-bremen.de

  Weitere Informationen: http://www.informatik.uni-bremen.de/robotik

-------------- nächster Teil --------------
Ein Dateianhang mit HTML-Daten wurde abgetrennt...
URL: http://www.dfki.de/pipermail/rock-dev/attachments/20131219/c33180d6/attachment.htm 


More information about the Rock-dev mailing list