Hi Marvin,
to understand SUMO code and tests the following (Linux) commands are
helpful for me (started from the base dir of a sumo-all package)
findsrc -name '*.cpp'|xargs grep indirectLeft
Find all places in cpp files below src, which contain the string
indirectLeft
findtests -type f -print0 |xargs -0 grep indirect
Find all places in the test suite, which use the string indirect
(the print0 / -0 arguments are needed for file names with blanks)
These commands work also under Windows in a cygwin environment or WSL
(Windows Subsystem for Linux).
Search the internet for "linux use find and xargs" for explanations.
Another error (which I have made myself too) is:
You change a program and see no changes. The reason is due to the
settings in the PATH-Variables the previously installed program gets
executed, not your modified one.
Have fun and success in your project,
Harald
Am 12.12.21 um 23:06 schrieb Jakob Erdmann:
If you are experienced in C++ programming and analyzing other peoples
code then changing some variables and seeing what happens can be a
viable approach to understand netconvert / netedit. Note, that we
don't have the resources to teach you any of this nor to explain the
details of the codebase.
Otherwise I'd recommend a different route:
- develop a formula that describes the parameters of intersections
with indirect left bicycle turns (ideally, you can back your formula
and its numerical parameters with a number of real world examples)
- use sumolib to find these intersections for a given .net.xml file
https://sumo.dlr.de/docs/Tools/Sumolib.html
- write a python program that defines xml patch files for these
connections that sets the 'indirectLeft' attribute
-
https://sumo.dlr.de/docs/Networks/PlainXML.html#connection_descriptions
-
https://sumo.dlr.de/docs/Tutorials/ScenarioGuide.html#modifying_the_network
- if you are confident that your formula works well, document the
formula and your example data and let me worry about getting it
plugged into netconvert / netedit.
regards,
Jakob
Am Sa., 11. Dez. 2021 um 19:04 Uhr schrieb Gran, Marvin
<marvin.g...@campus.tu-berlin.de>:
Hello,
Jakobs answer was very helpful! I followed his advice and looked
for the attribute 'indirectLeft' in the NetConvert. The
NetConvert uses the NBNetBuilder, which uses the NBEdge. There is
a function buildInnerEdges which uses this variable in a
significant way. I tried to set it to True on a trial basis,
expecting that this would result in the Netedit building indirect
lefts everywhere. If this would have worked I would have been at
the right place in the code and could have started my planned
changes here. Unfortunately I could not notice any change after
recompiling the solution, which confused me a lot. Am I at the
right place of the code or completely wrong?
Best regards, Marvin Gran
------------------------------------------------------------------------
*Von:* sumo-dev <sumo-dev-boun...@eclipse.org> im Auftrag von
Jakob Erdmann <namdre.s...@gmail.com>
*Gesendet:* Donnerstag, 9. Dezember 2021 15:24:13
*An:* sumo developer discussions
*Betreff:* Re: [sumo-dev] Student project
Hello,
each connection already has the attribute 'indirectLeft' which
controls whether it should be a smooth curve (like a car) or
consist of two straight sections and this attribute can be set in
netedit. Hence I don't think a netedit extension is needed.
However, it would be useful to add netconvert option that enables
a heuristic for setting this attribute automatically based on
junction size, road speed, road class or anything else that might
be a contributing factor. This should mainly take effect when
importing network data without fully specified connections but
could also be designed to permit updating existing .net.xml files
Note, that such an option would also take effect when creating new
intersections in netedit since it uses netconvert as a back-end
for guessing connections.
see also
https://sumo.dlr.de/docs/FAQ.html#how_do_code_contributions_work
regards,
Jakob
Am Do., 9. Dez. 2021 um 14:09 Uhr schrieb Gran, Marvin
<marvin.g...@campus.tu-berlin.de>:
Hi,
I am a student from TU Berlin in Germany and represent a
student group of 7 people who want to create an extension for
Sumo. We are primarily interested in making the behavior of
cyclists more realistic based on collected data. Our current
idea is to make cyclists behave differently at intersections
depending on the size of the intersection and the surrounding
traffic. Depending on the factors mentioned above, cyclists
should either turn left directly like a car or alternatively
make an indirect bycycle turn. Our approach is to work in
Netedit, so that the connections at intersections are
automatically generated differently depending on these
factors. We are still at the beginning of the project and
wonder if this is going in the right direction? Also a pointer
where to do such changes in Netedit would be great!
Best regards, Marvin Gran
_______________________________________________
sumo-dev mailing list
sumo-dev@eclipse.org
To unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/sumo-dev
_______________________________________________
sumo-dev mailing list
sumo-dev@eclipse.org
To unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/sumo-dev
_______________________________________________
sumo-dev mailing list
sumo-dev@eclipse.org
To unsubscribe from this list,
visithttps://www.eclipse.org/mailman/listinfo/sumo-dev
_______________________________________________
sumo-dev mailing list
sumo-dev@eclipse.org
To unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/sumo-dev