expected program sequence




expected program sequence

Postby Tobias Fromm » Fri 31. Oct 2014, 12:10

Hi guys,

we have two questions about the expected program sequence (Technical Annex, Fig. 22):
    - In case of a timeout (= our solution exceeds the time limit per task), how do we know when to proceed to the next task? Do we have to track the time ourselves or do we get a signal from the task selector/simulator when the time is exceeded?
    - What happens if the simulator crashes (e.g. scene is red due to physics inconsistencies)? How do we know when to proceed to the next task?
In both of these cases, when should we call the SaveLog service? We can't call the service anymore when the time is exceeded or the simulator crashed, right?

Cheers
Tobias Fromm
 
Posts: 11
Joined: Mon 8. Sep 2014, 10:25

by Advertising » Fri 31. Oct 2014, 12:10

Advertising
 

Re: expected program sequence

Postby fschmidt » Fri 31. Oct 2014, 13:46

Tobias Fromm wrote:In case of a timeout (= our solution exceeds the time limit per task), how do we know when to proceed to the next task? Do we have to track the time ourselves or do we get a signal from the task selector/simulator when the time is exceeded?


you have to track the time yourself. but since euroc-c2s1-simulator_1.0.19_i386.deb there will be a new topic published called "/remaining_time" (see http://euroc.iphpbb3.com/forum/viewtopic.php?nxu=20112706nx57588&f=4&p=399#p399). this will count down to 0. as soon as it reaches zero the log will be automatically saved. (no need to call SaveLog but it also doesn't harm)

to check your simulator version execute
Code: Select all
dpkg -s euroc-c2s1-simulator

within the simservVM or your native setup.

Tobias Fromm wrote:What happens if the simulator crashes (e.g. scene is red due to physics inconsistencies)? How do we know when to proceed to the next task?


when the LWR raised an emergency stop all further calls to MoveAlongJointPath or SetServoTarget will return this error message in their error_message response field:
LWR is in emergency stop due to joint errors: ....
Restart Simulation!


the provided python demo class euroc_c2_system checks this error_message-field and would raise an exception with this text.

compare the technical annex page 21:
Technical Annex page 21 wrote:2.5.2.1 Moving The System
...
A joint-error condition can happen when a joint exceeds it’s maximum force/torque-limit - either due to a collision with the
environment or due to too fast accelerations. In case of such an error the complete scene in the viewer will turn red and
the system can no longer be moved - each try to move the system will result in an error message and the simulator needs
to be restarted via the /euroc c2 task selector/start simulator service.
Exceeding the force/torque limits is not considered to be a useful behaviour and might harm a real robotic system.


if your solution encounters such a joint error you should call the SaveLog service to save your already achieved scores. because of this you might create multiple log-files for the same task. in such cases only the best run is taken into account for the final evaluation.

the best run is a run which meets the minimum requirements:
Call for Challengers Annex III ‒ Scoring System for Stage I page 19 wrote:Expected minimum level of solutions
Task 1:
- Get 5 points in sub-task 1
AND
- Get 5 points in sub-task 2
AND
Task 2:
- Get 5 points in sub-task 1
AND
- Get 5 points in sub-task 2
AND
Task 3:
- Get 5 points in sub-task 1
AND
- Get 5 points in sub-task 2

and has the highest number of total points. if there is no run which meets the minimum requirements, the run with the highest total number of points is choosen.

Tobias Fromm wrote:We can't call the service anymore when the time is exceeded or the simulator crashed, right?

in both cases you can still call the SaveLog service. this is not an error and it will not harm.
fschmidt
 
Posts: 96
Joined: Fri 27. Jun 2014, 14:44

Re: expected program sequence

Postby Tobias Fromm » Fri 31. Oct 2014, 13:59

Thanks a lot for your effort and the detailed description! In that case we'll handle the timeout transition to the next task ourselves with he help of /remaining_time.
Tobias Fromm
 
Posts: 11
Joined: Mon 8. Sep 2014, 10:25



Similar topics

Expected program sequence
Forum: Stage 1 - Simulation
Author: AM-Robotics
Replies: 9

Return to Stage 1 - Simulation

Who is online

No registered users

cron