-
Notifications
You must be signed in to change notification settings - Fork 71
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
Drone movement is too aggressive #12
Comments
I noticed that in your first video the drone failed to map the nearby obstacles when approaching the wall before crashing. |
@bigsuperZZZX +) ex) The obstacle_clearance value is set to 5.0. Is this flying 5 meters away? |
the unit of inflation and clearance is the meter. |
Doesn't the obstacle_inflation value inflate the size of the actual obstacle? Is the metric unit correct? For example, if inflation is 1.5, what will be the size of the obstacle? |
The size of the real inflation is "RESOLUTION * ceil(INFLATION / RESOLUTION )" |
Hi @bigsuperZZZX, what is the obstacle_clearance parameter responsible for? |
A safe space that the planner will try to keep. |
Hi @bigsuperZZZX, |
obstacle_clearance is more strict than obstacle_clearance_soft. |
Hi, I was trying to add a simple check here but after adding this check, checkCollisioncallback is not working as expected, can you try recreating this and help me? thanks again |
To be honest, I have no idea why adding this cost limit will interfere with checkCollisioncallback. |
yes, you are right, even though I am not able to understand what's wrong, the problem I see is, that if a path is planned through an obstacle in the begnning, and if replan function is not able to generate a path with low cost, checkcollisioncallback is not able to detect the trajectory points in the collision and collides with the obstacle. can you please try recreating it? in some time, I'll also share a video here thanks |
also, according to you, is this the right approach to keep an upper bound on the cost? |
Yes |
Hi @bigsuperZZZX, as mentioned above, I am attaching a video demonstrating the problem mentioned above. I have only modified the below check cost_function_test-2023-01-31_19.18.09.1.mp4 |
Try to set a larger final_cost threshold. |
okay, I can do that, but I am willing to understand why this is happening, why checkcollisioncallback is not able to detect points in the collision. are you able to recreate the problem? thanks |
I think that the planner failed to plan a new trajectory when the current one ran into an obstacle because the cost of the newly planned trajectory exceeded your cost limit. |
yes, you are right, since there is a cost check, it's unable to find a low-cost path, but the collided points should be able to trigger the emergency stop. I am looking into the issue, and so far I saw that the points in the collision are not able to set the thanks |
Hi @bigsuperZZZX, any update on this? |
Hi @bigsuperZZZX, earlier I thought the problem is caused because of the resolution, but I think that's not the case, since it's a discretized problem with consideration of the resolution, I don't think that it can cause this issue.
as seen in the video below, when the planner fails to find the trajectory that satisfies the cost constraints, the arrow doesn't move past a certain point, because of which the planner is unable to detect the points in the collision. I don't know what is causing this, your input is welcome cost_function_test2-2023-02-06_14.52.25.mp4 |
Hi @bigsuperZZZX,
but, we send the entire traj to the traj server for execution here
I believe if we only send 2/3 part of traj in polyTraj2ROSMsg() to traj server, this problem can be solved
please correct me if this is not the right approach. or if there are any drawbacks to this approach thanks I'll also upload a picture of the problem the way you have illustrated above for more clarity |
The planner plans trajectories at a given frequency like 1Hz, so a new trajectory is always generated before the drone reaches the last 1/3 part of the previous trajectory. |
yes, but in this case, since we are having a cost constraint
if its unable to plan the path, cps_check is not updated and traj_server executes the given traj |
If the planner is failed to generate the new trajectory before the 1/3 threshold, an emergency stop is recommended. |
I have recorded a video, I tried to mimic the config you mentioned, I hope this video is more clear cost_function_test4-2023-02-08_12.20.52.mp4 |
I think that the cost threshold is too low. |
yes, you are right, but to test the worst-case scenario, I have put the cost too low. |
I see, that makes sense, but if I only pass 2/3 traj to traj server as mentioned above, is it okay to use this approach? that way, we always make sure that we only send the traj that is checked by checkCollisionCallback. |
I think that will be OK |
I see, Thank you so much for your proactive response and all your help to solve this problem
thanks once again for all the help, it is much appreciated |
Yes |
hello .
I am implementing drone avoidance using ego planner v2 and ardupilot and mavros controller.
Everything is excellent! I admire your research.
However, when the obstacle disappears from the drone's field of view, it changes the yaw direction of the drone too abruptly. Also, it twists too much on narrow roads.
Can I make a smoother path if I fix anything?
Please refer to my video.
https://youtu.be/mMYVuqe9s_o
https://youtu.be/c3ECgOdWexE
The text was updated successfully, but these errors were encountered: