0
$\begingroup$

This question already has an answer here:

I'm trying to build an Autonomous parcel delivering rover using GPS.So after giving destination coordinates, I don't know how to make the robot understand to which direction it should move. Basically, My question is, How can I find out or calculate the direction(angle at which the the boat should move) from starting and destination coordinates?

My bot is actually a rover which is designed for parcel delivery purposes. I want to know how to calculate the direction( angle at which it should move) from the coordinates of current location and target location? for example, if my boat is at A and and it was moving on a straight line until it reached A. And now after reaching A, next target is B which is at an angle from the initial line of motion, I want to calculate this angle from coordinates of A and B.

$\endgroup$

marked as duplicate by Chuck May 8 at 14:12

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

  • 1
    $\begingroup$ math.stackexchange.com/questions/707673/… $\endgroup$ – Chris Charles Apr 26 at 14:08
  • $\begingroup$ I wrote quite a lengthy answer to basically the same question over here. I'm going to flag this question as a duplicate, but if you don't think it is then please edit your question to clarify why you think your question is different and we can re-open it. $\endgroup$ – Chuck May 8 at 14:11
0
$\begingroup$

If you have know where the bot is in the world, and can get co-ordinates of the the bot on the world map, then you can overlay a grid, and can use something like Manhattan Distance to get the distance between A(Start) and B(goal). Then you can associate velocity based upon your bot's base frame and motor output.

This should give you a good start. Later you can deploy obstacle avoidance and evasive maneuver algorithms based upon sensors you will be using and environment condition.

Also to make your task easy, you can rely on ROS (Tutorials) for low level controls, thereby not to reinvent wheel and focus more on development. Check Navigation Stack in ROS which might help.

$\endgroup$

Not the answer you're looking for? Browse other questions tagged or ask your own question.