-
Notifications
You must be signed in to change notification settings - Fork 89
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Odometry topic contains duplicate messages #156
Comments
I also noticed the same issue in the /fsds/imu topic (Orientation). |
Thanks for taking the time to file this issue! So the problem is that if an odom message has a non-0 velocity, the next odom message should have a position that is different position the first message? Please correct me if I'm misinterpreting this. This is a bug and should be solved 👍 (because it is a testing_only topic, solving this does not have the highest priority for the dev team. However PR's are more then welcome ❤️) As @wahllca points out correctly, the simulation is not capable of simulating a vehicle with a frequency of 250Hz. In reality it is much lower, but I have to check at which rate it is. I expect it to be dependent on the device and framerate of the simulator. |
If there isn't a straightforward way of capping the publishing frequency, or of somehow creating a sensor callback in the ROS wrapper that is triggered when the CarState changes, we could also cache the previously published groundtruth CarState for each relevant publisher (aka, prioproceptive sensor publishers) and check if it has changed. If it hasn't then we simply don't publish anything. |
Agreed. At the moment it there is no way to do an unreal-to-ros push system so let's implement the check in the wrapper |
Thank you for your answers. |
Yes, the problem is that I don't know if we can update the sensordata more often then we do at this moment. Unreal engine runs at a certain tickrate at which all sensors are updated. The ros wrapper requests the data from unreal. So I think we are limited by the tickrate of unreal. To improve data frequency, we need to improve tickrate. Maybe we can increase tickrate or maybe sub-stepping can help. I will get back to this when I understand it better. |
Yea... So only publishing messages if the the new message differs is a problem when the car is standstill. Because then it won't send a message at all. |
In #163 I added that zero-velocity messages should always be sent. |
We're currently testing our SLAM algorithm using the given ground truth odometry data. We noticed that the messages received via this topic (fsds/testing_only/odom) contain the same data over a few time steps. I've attached some data showing the issue here : GroundTruth_PoseVelocity_Data.zip. The data was generated by driving with constant throttle and a constant steering angle.
This is an issue, because the velocity does not change while the position data is also constant. But the vehicle position must of course change, if the velocity is != 0. So when computing the vehicle pose from the given velocities, the car will obviously move further compared to the ground truth position as you can see in this image (the black arrow is the ground truth pose and the red arrow is the pose computed from ground truth velocity data):
I'm assuming that the ground speed sensor you're planning to implement (see this issue) is going to rely on the same data, so issue should be looked at.
The text was updated successfully, but these errors were encountered: