v-l-m / vlm

Virtual loup de mer (aka Vlm) is an opensource sailing simulation
http://v-l-m.org
GNU Affero General Public License v3.0
27 stars 10 forks source link

Bug de l'arrivée #788

Closed Phille closed 4 years ago

Phille commented 9 years ago

Un bateau qui passe la ligne et touche la côte dans la même vac est consideré comme echoué et pas comme ayant passé la ligne d'arrivée. Valentine a déjà perdu qq courses à cause de ce bug ... ya eu plusieurs cas et c'est assez frustrant de perdre une course de cette manières après qq semaines de nav.

sbsrouteur commented 9 years ago

Il me semble que ce bug a été identifié et ouvert déjà. Mais je n'arrive pas à le retrouver.

C'est probablement trop tard pour la release de mardi. donc->0.26

Phille commented 9 years ago

Yep cela a déjà été mentionné … mais pas trouvé non plus.

Phille commented 9 years ago

(53) Checking user 24460: (race 20150306) * AUTO_PILOT : Executing task 3084580, PIM=1, PIP=10... * Prev Hdg: 10 PIM=1/Heading=10 Position update (WSpd=10.1, WHdg=87, Hours=0.0833, ANG=77.31, Hdg=10, BS=9.214, Dist=0.76779637136224nm) ... done Checking for coast crossing (vlm-c) Using: /home/vlm/vlmdatas/gshhs/gshhs_f.b *\ YES player 24460 CROSSED (vlmc), coast has been crossed : BOAT : 38.611814,26.355345 <----> 38.624416,26.358189 EncounterCoordinates 38.613020552244, 26.355616959126

GoogleMap http://maps.google.fr/maps?f=q&hl=fr&geocode=&q=38.613020552244,26.355616959126&ie=UTF8&spn=0.0191,0.082998&t=p&z=11&iwloc=addr.

VLMMAP http://virtual-loup-de-mer.org/mercator.img.php?idraces=20150306&lat=38.611813560754&long=26.355344568432&maparea=18&tracks=on&age=6&list=24460&x=1000&y=600&proj=mercator&text=right&seg1=38.613020552244,26.355616959126:38.613020552244,26.355616959126&seg2=38.611813560754,26.355344568432:38.624415757742,26.358188599406

ici8

VLMMAP corrected position http://virtual-loup-de-mer.org/mercator.img.php?idraces=20150306&lat=38.611813560754&long=26.355344568432&maparea=18&tracks=on&age=6&list=24460&x=1000&y=600&proj=mercator&text=right&seg2=38.611813560754,26.355344568432:38.612899853095,26.355589720056

, checking for previous WP crossing... * WP : 36.710000, 25.340000 <---> 35.300000, 25.340000 (1024) Next Waypoint is 2, checking for WP crossing... * WP : 38.420000, 27.018000 <---> 38.460000, 27.050000 * BOAT : 38.611814, 26.355345 <---> 38.613021, 26.355617: * NO \ NWP=2, DNM=33.181260 * ranking updated. * Pilotmode=2/0, Angle updated, Heading = 87.309480419945 * DONE \

Si in mettait le "checking for previous WP crossing" AVANT le "checking for coast crossing" ne serait ce pas une soluce au bug de la ligne d'arrivée?

pzia commented 9 years ago

Sans doute pas car il pourrait dans ce cas passer la ligne d'arrivée en passant à travers les cailloux...

Il faut sans doute faire

ylafon commented 9 years ago

@Phille dans ton exemple, on voit bien que le coast-crossing est fait avant pour savoir ou on doit s'arreter pour verifier si la ligne a été franchie, s'il y a un bug, c'est peut-etre au niveau du WP final par rapport à un WP normal.

Phille commented 9 years ago

Yep Yves, tout est dans le titre ... on parle du WP Finish :)

pzia commented 9 years ago

@Phille : est-ce que ça ne le fait que si le boat est replacé de l'autre côté de la ligne après échouage ou dans tous les cas ?

pzia commented 9 years ago

Bon, faut monter un cas de test automatisé, sinon on ne le comprendra jamais, ce bug

Phille commented 9 years ago

Ne suis pas certain mais je crois que le fait de remettre le bateau à une position en retrait est à la base du pb.

Y avait encore un autre pb dû à cette remise en arrière (pb lors de validation du WP) … ceci a été corrigé par spf.

pzia commented 9 years ago

Pour mémoire, le bug "du même genre" qui a été traité est le #692 C'est ce ticket qui introduit le bout de code que j'ai ajusté plus haut (on peut imaginer un cas ou il n'aurait pas fonctionné comme prévu). Ce que je ne suis pas sur de comprendre c'est comment le commit c8ae072c8467184f156b7274f855bbf121895047 du ticket #692 était censé corriger le dit ticket. @ylafon : ton fix de 2012 dit qu'on ne prends la position d'échouage que quand on est à l'arrivée pour tester le franchissement, c'est ça ? autrement dit, dans tous les autres cas, on prends la situation après replacement avant de tester le passage de wp ?

maitaivw commented 9 years ago

http://www.virtual-winds.org/forum/index.php/topic/7273-lmnh-bateaux-manchots-permanents/page-68#entry264162

ylafon commented 9 years ago

Bon, j'ai rajouté une petite trace de debug, histoire de voir ce qui se passe.

sbsrouteur commented 9 years ago

Quelqu'un a testé ça? Ca reste ouvert ou on peut clore?