Replies: 6 comments 5 replies
-
I give an update here. Supporting landmark-based localizerI have implemented support for the recently added landmark_based_localizer. quatro_swithing_for_discussion.mp4DetailsThe fundamental concept of the proposal is explained in the above post. Other ideasI devised other ideas as follows:
Note that 3 and 4 in the above figure are undesirable because they include functions that are not needed when executed alone. However, my proposal does not prohibit them, and there is no issue if such an approach is chosen for arbitrating the future pose_estimator. Future prospectHonestly, I am not confident that the this approach is perfect. |
Beta Was this translation helpful? Give feedback.
-
It is something what we are looking for. I just wonder how to maximize flexibility of this idea. I guess that the new localization modules will come in the future. Moreover, users may want to bind a custom localization to the system. Third version with forcing an API for each localization module seems reasonable but the Please correct me if I'm wrong with my ideas. I have seen the recent changes in PR draft so I believe the topic is alive. |
Beta Was this translation helpful? Give feedback.
-
I thought about changing the current EKF package to handle multiple poses and simply configure the number of inputs by config file (see the example in 3rd party ROS pkg). I'm aware that this approach will require extra effort, but let me know if it seems reasonable from your point of view. |
Beta Was this translation helpful? Give feedback.
-
@KYabuuchi thank you very much for your proposal and your PR #5846. I have a question that I would appreciate if you can provide any direction. I would like to fuse According to your earlier post:
I had a look at the How can I add a second |
Beta Was this translation helpful? Give feedback.
-
Hello @KYabuuchi . We've talked about this before in this discussion(https://github.com/orgs/autowarefoundation/discussions/4134). As you say, these two proposals overlap, so it would be beneficial to move forward together. I have some questions.
|
Beta Was this translation helpful? Give feedback.
-
It took some time, but my PR #6144 was merged a few days ago. There are several differences from what was originally proposed in this discussion, so I'll summarize the changes:
Although the switching rule using a lanelet2 map is efficient, including the information for pose_estimator_arbiter in the official map specifications has a wide range of effects. For this reason, I excluded this rule this time. |
Beta Was this translation helpful? Give feedback.
-
On behalf of TIER IV, I plan to introduce a mechanism to launch multiple pose_estimators.
Background
Autoware currently supports NDT (LiDAR-based), YabLoc (camera-based), Eagleye (GNSS/INS & vehicle velocity -based) and AR-tag based localization as pose_estimators.
Currently, it is possible to launch multiple pose_estimators and fuse them using a Kalman filter by editing launch files. However, this approach is not preferable due to computational costs. Particularly, NDT and YabLoc are computationally intensive, and it's not recommended to run them simultaneously. Also, even if both can be activated at the same time, the Kalman Filter may be affected by one of them giving bad output.
This proposal suggests a mechanism to launch multiple pose_estimators, and allow for pausing and resuming specific ones according to the situation.
Also, this feature will not have any impact on using a single pose_estimator as before.
Method
My proposed approach is to add a new package named
pose_estimator_manager
.This package comprises switching-rules and sub-managers corresponding to each pose_estimator.
Which sub managers and switching rules are instantiated depends on the runtime arguments at startup.
Following figure shows the node configuration when NDT, YabLoc and Eagleye are run independently, and when all of them are used simultaneously.
Demonstration
logging_simulator.launch.xml
in dataset created by AWSIM.NDT, YabLoc and Eagleye switching between each other and performing localization.
triple_pose_estimator_log_encoded.mp4
e2e_simulator.launch.xml
with AWSIM.NDT and YabLoc switching between each other and performing autonomous driving.
double_pose_estimator_e2e_encode.mp4
Details
I will post proposal details and other ideas considered in this discussion later. Please wait.
Beta Was this translation helpful? Give feedback.
All reactions