Closed hatem-darweesh closed 3 years ago
Hi, in general the way you describe it makes sense and should work. Also some of the unit tests create similar setups to test the functions. And if it turn from safe to unsafe at some point in time, then at least no general problem of your setup should exist (like that the input values are out of their range or so). So the return value is always true telling the operation succeeded at least.
Maybe you call the variant of the function where you are able to spot also into the intermediate results of the calculation: https://github.com/intel/ad-rss-lib/blob/master/ad_rss/impl/include/ad/rss/core/RssCheck.hpp#L75
Especially in the RssStateSnapshot structure you should be able to spot the individual calculation results of the input WorldModel: https://github.com/intel/ad-rss-lib/blob/master/ad_rss/generated/include/ad/rss/state/RssStateSnapshot.hpp#L140
Your input world model has 1 entry in the list, therefore the output in the RssStateSnapshot should also have one entry of: https://github.com/intel/ad-rss-lib/blob/master/ad_rss/generated/include/ad/rss/state/RssState.hpp
SituationType expected to be SameDirection https://github.com/intel/ad-rss-lib/blob/master/ad_rss/generated/include/ad/rss/situation/SituationType.hpp#L53
Especially the RssStateInformation https://github.com/intel/ad-rss-lib/blob/master/ad_rss/generated/include/ad/rss/state/LongitudinalRssState.hpp#L137 provides some additional information like safeDistance and currentDistance which should change when the vehicle is changing. https://github.com/intel/ad-rss-lib/blob/master/ad_rss/generated/include/ad/rss/state/RssStateInformation.hpp
And the evaluator expected is of LongitudinalDistanceSameDirectionOtherInFront https://github.com/intel/ad-rss-lib/blob/master/ad_rss/generated/include/ad/rss/state/RssStateEvaluator.hpp#L66
Did you set the https://github.com/intel/ad-rss-lib/blob/master/ad_rss/generated/include/ad/rss/world/Object.hpp#L136 occupied regions correctly according to your setup? first image would be for the ego around: segmentId = 2 lonRange = {0.0; 0.6} latRange = {0.1; 0.9} and for the other: segmentId = 6 lonRange = {0.0; 0.7} latRange = {0.1; 0.9}
You can also try to increase the log level of spdlog to get some more information of the run as log output (you could also provide it to me so I can try to give you a hint on what might be the issue). spdlog::set_level(spdlog::level::trace)
Hope this helps
Thanks you for you reply, the problem was in the road area creation function. the process described above is working fine.
Hello, I am trying to use the ad-rss-library. I constructed the following scene:
The steps as the follows: 1- Construct the road area (world::RoadArea) as the figure. 2- Create two objects (world::Object), one for the Ego vehicle and another for the other vehicle. 3- Convert vehicle data (coordinates, velocities) to match created road area 4- Assign reasonable dynamics information ( velocity, acceleration braking , etc)
5- Create a scene from previous create items 6- Assign timeIndex 7- Iterate for n times a) move the ego vehicle with constant velocity b) replace the Ego vehicle object in the scene with the update Ego object after motion. c) Call "calculateProperResponse"
The result:
To become unsafe long before hitting, or at lease return a proper longitudinal response.
Thanks in advance.