UbiquityRobotics / move_basic

A minimal navigation node
BSD 3-Clause "New" or "Revised" License
69 stars 21 forks source link

RootRework: Better navigation? #107

Open MoffKalast opened 2 years ago

MoffKalast commented 2 years ago

As discussed we'll try to implement two types of path planning:

We can open separate issues for each once we have more of an idea about what's the end goal for each.

JanezCim commented 2 years ago

OK with a* this is where i am now: output

robot ran in Gazebo, slam with iris lama, in rviz you set a nav goal, ros navigation global planner calculates path to it using a*, outputs goal and magni follows it using move_basic
Next planned work: recaculate that path every x meters/ y seconds, recalculate goal if obstacle on path

MoffKalast commented 2 years ago

and magni follows it using move_basic

Wait, does move basic actually have path following capabilities?

JanezCim commented 2 years ago

Nope, goal manager is passing the specific points through actions

MoffKalast commented 2 years ago

Ah ok, so how does it determine which points to send? Something like the farthest one in direct view?

JanezCim commented 2 years ago

currently path is divided into 0.2m parts, and those points get sent to move basic to reach

JanezCim commented 2 years ago

Here is an addition of path tracing. Whenever there appears an obstacle on the path, simply resends the end goal and let the astar do the rest: output

a couple of observations:

MoffKalast commented 2 years ago

Hmm I wonder if we could instead do this with sort of local map that updates faster. Instead of relying on a slam node, we could instead take the laserscan and treat any detections as obstacles to avoid and the rest as open space. There has been a lot of demand for very fast driving so that should probably be considered here.

Likely not as reliable but should be much faster I would think?

JanezCim commented 2 years ago

Im not sure that raspberry would be up to the task but we can try. But when we add the local planner then that is basically 80% of move base added haha. Might as well implement the whole damn thing

JanezCim commented 2 years ago

Teb local planner in action:

output

Comments:

JanezCim commented 2 years ago

Plan: @JanezCim tries out a* on real robot