Help for programming a self-driving robot

Dear community,

I want to develop a self-driving robot for a very special purpose and as I am not into programming, electronics or robotics, I am looking for help with programming.

The robot must act in an X/Y coordinate system that represents a physical area, which can be larger or smaller. For example, length and width can be 100x50 metres (see pic 1).

Pic 1

In a theoretical calculation, the areal is divided into a net of points – e.g. 20 points lengthwise and 10 points across, as shown by the red dots (see pic 2). This means that there are 5 meters between the points lengthwise and crosswise.

The first point, P1 (see pic 2) is e.g located 2.5 meters from the X-line and 2.5 meters from the Y-line and 5 meters between points lengthwise and crosswise is equal to 200 points.

The self-driving robot must move in this coordinate system as follows:

Start in a "zero point" (P1) and hold still for 30 seconds.

Drive to the next point (P2) and hold still for 30 seconds.

Drive to the next point (P3) and hold still for 30 seconds.

And then still up to and including P10.

After holding still for 30 seconds in P10, the robot must turn 90 degrees and travel to the next point alongside (P20).

The robot turns 90 degrees again so that it faces the other long side and P19 and remains still for 30 seconds.

The robot moves to the next point (P19) and remains stationary for 30 seconds.

And do so up to and including P11.

After holding still for 30 seconds in P11, the robot must turn 90 degrees and travel to the next point alongside (P21).

The robot turns 90 degrees again so that it faces the other long side and P22 and remains still for 30 seconds.

The robot moves to the next point (P22) and remains stationary for 30 seconds.

And do so up to and including the P30…

The whole thing is repeated so that the robot drives to all 200 points and stays still at all points for 30 seconds.

I do not know if it is necessary to add GPS orientation to the robot. The robot must be able to act on a physical area - e.g. a large parking area at a shopping center - and therefore it could be a good idea with GPS...but I have no idea.

The purpose of the self-driving robot is a new product in the field of measurement. Every time the robot stays still for the described 30 seconds, it takes a measurement. What it measures I will keep secret for the time being as I want to develop the robot into an actual product that does not exist today.

The physical part - i.e. the robot itself, is not a problem for me and my prototype, for which the mentioned programming is to be used, is done - but I lack programming, which I have NO idea about. The prototype can easily be based on Arduino.

If one or more people want to help me, I will be very grateful. We can communicate by email and/or phone afterwards.

With best regards

Torben

you need something like GPS to get an absolute position estimate and some sensor fusion to get the real position and orientation.

Thanks for your input - I've had that thought myself but, as written, I don't know much about programming and robotics.

You neglected to count the yellow parts. Your definition means the pitch is only 45x95

No, I didn't forget the yellow part. Assumed that everyone could calculate that there are 2.5 meters from the points out to the start of the length and width of the area...the yellow part...

But thanks for your input.

No such thing. GPS allows the current position to be estimated. Robot orientation has to be determined using other means, usually using an external reference. Of course, the direction of travel can be determined from two positions, but that does not necessarily reflect the robot orientation.

I lack programming, which I have NO idea about.

Forum members are happy to help with problems you encounter with a program you write. If you don't want to learn how to write programs and want to hire someone to do so, post in the Jobs and Paid Collaborations forum section.

Thanks for your input ;0)

I have no intention of learning programming - my skills are in other areas.

I will look at the forum section you refer to.

Yes, you did. The first red dot is 0, not 5. You gave no information about the distance from the border to the red dot. You have 20 dots with 19 spaces between dots. 19 * 5 = 95. If you are landing an airplane which instruments say the runway is 1000m below you, and each dot is 50m, would you trust my system or yours? If you want "self-driving" you need to understand some spacial basics, for example "What is zero?" And when I give you valuable information, you dump on it like you know what you are doing. You don't.

okay - thanks ;0)

Use an 11 x 21 grid.

Consider hiring people who know something about robotics, positioning systems, navigation and hardware, as well.

Thanks - I will...

Here is the now deleted original post, if anyone is interested.

{original post restored}

2 Likes

How accurate schould the robot be?
Best regards
Frenik

If the points are dimensionless, the accuracy would need to be half a "robot" width, or the robot would not be "on" the points.

But if he needs the center of the robot be over the points, the accuracy need to be much more accurate.
Best Regards
Frenik

You might need to define "center of robot," and imagine an asymmetrical robot.

You could also change the definition of "the point" to be "one-robot-width" so when any of the two-dimensional part of any robot is over the center, the robot is "on" the point.

Been restored.

Hello torbenpaps

Welcome to the worldbest Arduino forum ever.

Stick 200 labels on the floor with QR codes that can be read with a camera.

Have a nice day and enjoy coding in C++.

1 Like

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.