0

I know about line follower mainly the grid solving robots i know the basics actually. Actually they have to trace the path of the grid in an arena and then reach back to starting point in a shortest distance. Here my doubt is regarding the line follower in this link I have attached.Advanced line follower robot for grid solving and maze solving

My doubt is what are the procedures to do it? They have mapped the path and used Dijkstra algorithm to solve the path. But how do they transfer the code(i.e) where it has to turn which direction it has to turn. how are they generating the what function should be passed? Please explain i need the procedure alone. am going to try it with python.

Community
  • 1
  • 1
  • There is Arduino.Stackexchange site, you'll get more answers there. – heltonbiker Oct 17 '15 at 12:37
  • This is not about arduino. It is not that a robot can be designed or developed with the help of arduino. Please don't reduce my reputations if you don't know the answers. –  Oct 20 '15 at 06:07
  • The downvote wasn't mine. Anyway, I agree your question is broader than Arduino's scope. Honestly, I think it may be downvoted actually by being too broad. In your second paragraph, it is not quite clear what you are asking, in my opinion. – heltonbiker Oct 20 '15 at 13:58
  • Fine. How they did in that video. What are the procedures? –  Oct 20 '15 at 14:22
  • If I understand right, what you want to know is the answer to this question: "When the robot arrives at a crossing, how does he know which direction it has to turn, based on which point he has to go next?" Is that right? – heltonbiker Oct 20 '15 at 15:54
  • Sir, a moment you saw that video? I know about maze solving and grid solving. But he gives the source and destination in the system. The bot gets all the instruction that where it has to turn etc. Please do watch the video. You'll get my question. –  Oct 20 '15 at 15:57
  • You keep telling the parts you already know. I watched the video, and from what you say, you seem to know everything they show. Please focus on saying what you _don't_ know. What is preventing you to do what you want to do, after all? I'm here trying to help, but if you think I'm not helping, I have a lot of other things to do here. – heltonbiker Oct 20 '15 at 16:06
  • Really sorry sir. I just want to know how the bot moves when the source and destination is just given in the map of the arena? Just the procedure of the total project. Sorry sir please help me. –  Oct 20 '15 at 16:08
  • No problem. I believe the robot has the complete map in its memory. So I believe the scientists must put the robot in the right place and position (the first node), because the robot will "expect" to be placed in the same node as the first array node it received. From there, it should calculate how much to go in each direction, and where to turn to go to the next node. I believe it would _not_ be possible to do this if the robot didn't contain a complete map in its memory, which might be hard-coded, or transmitted again every time. – heltonbiker Oct 20 '15 at 16:17
  • That's the thing sir. How to do they save the map in its memory sir. Does that robot matches both the arena and the map as it travels? Mainly how do they store the map in its memory. Between what's the format of that map? –  Oct 20 '15 at 16:26

1 Answers1

0

From the comments we exchanged, I feel more confident to assume your actual question is this:

What data structure could be used to store the structure (geometry, topology) of the map into the robot's memory?

Well there should be many possible ways to do that. Basically, this is a connected graph where nodes sit on a rectangular grid. So, for a start, one could describe the nodes as a set of coordinate pairs:

// just an example, this is not the actual map
// it doesn't need to be variables, could be array of arrays, or dictionary
var A = (0,0);
var B = (1,0);
var C = (2,1);
var D = (4,2);
// etc.

Then, you could describe the edges as pairs of points:

var edges = [(A,B), (A,D), (B,C), ...];

With these, you surely could calculate a good path from a list of points, and also the location and direction of each node.

I'm not sure at all if this is the most efficient data structure, but it is already a start. You only need to know the location of each node, and the edges are defined simply by linking two nodes together.

heltonbiker
  • 26,657
  • 28
  • 137
  • 252