Pathfinder

Design of an indicative featured and speed controlled obstacle avoiding robot.

Feb 28, 2018

94143 views

139 respects

Components and supplies

1

Arduino UNO

1

USB-A to B Cable

3

Resistor 330 ohm

2

Li-Ion Battery 1000mAh

1

Buzzer

1

RGB Diffused Common Cathode

20

Jumper wires (generic)

1

Ultrasonic Sensor - HC-SR04 (Generic)

Tools and machines

1

Materia 101

1

Digilent Screwdriver

Apps and platforms

1

Fusion 360

1

Arduino IDE

Project description

Code

Program

arduino

The assembly program, for setting up accordingly this autonomous machine.

Program

arduino

The assembly program, for setting up accordingly this autonomous machine.

Downloadable files

Diagram

The circuit diagram, for setting up accordingly this autonomous machine.

Diagram

Diagram

The circuit diagram, for setting up accordingly this autonomous machine.

Diagram

Documentation

Chassis

The robot chassis, for setting up accordingly this autonomous machine.

https://sketchfab.com/models/dd3487cd9fb94dc9af33dd0b5a529b14

Comments

Only logged in users can leave comments

barracuda1943

a year ago

did all the things that you said but only the sensors are working, the wheels are not working HELP Pleas ????

Anonymous user

2 years ago

I think that the code used into the loop function can to be a little factorized with something like this [code] void DigitalsWrites( BuzzState, BPstate, GPstate, DRstate) { digitalWrite (BuzzPIN, BuzzState); // BuzzPIN output as LOW(0v) or HIGH(5v) digitalWrite (LEDBPIN, BPstate); // LEDBPIN output as LOW(0v) or HIGH(5v) digitalWrite (LEDGPIN, GPstate); // LEDGPIN output as LOW(0v) or HIGH(5v) digitalWrite (LEDRPIN, DRstare); // LEDRPIN output as LOW(0v) or HIGH(5v) } void MotorsSpeed( int speed ) { M1.setSpeed (speed); // Speed down. M2.setSpeed (speed); // Speed down. } void loop () { // Main loop. SER1.write (80); // Tells the Servo to position at 80 degrees (Facing forward). delay (100); // Delay for 0.1s. Distance = Search (); // Measuring the Distance in CM. MotorsSpeed( 1667 * Distance / 1000 + 100); // Set the speed in a linear fonction of distance if (Distance < 30) { // If obstacle found in 30cm. DigitalsWrites(HIGH, LOW, LOW, HIGH); ChangePath(); } else if ((Distance >= 30) && (Distance < 60)) { // If obstacle found between 30cm to 60cm. DigitalsWrites(LOW, HIGH, LOW, LOW); forward(); } else if ((Distance >= 60) && (Distance < 90)) { // If obstacle found between 60cm to 90cm. DigitalsWrites(LOW, LOW, HIGH, LOW); forward(); } else { // If obstacle cannot be found in 90cm. DigitalsWrites(LOW, HIGH, HIGH, HIGH); forward(); } } [/code] The same type of factorization can to be make for Forward(), Backward(), TurnLeft(), TurnRight(), TurnAround() and Stop() calls using a common function where only arguments changes [code] void Move ( m1, m2, speed, _delay) { M1.run (m1); // Turn DCMotor #1 M2.run (m2); // Turn DCMotor #2 if( speed > 0 ) { M2.setSpeed (speed); } delay (_delay); } [/code]

Anonymous user

2 years ago

Hi does the project works with aurduino uno r3? Thanks

ertezatawsif

2 years ago

With further developments by combining a broadcast camera and wireless technology, this robot can be used effectively for military operations to detect different kinds of activities whereas, its basic units can be useful for assisting the visually or audibly impaired humans to notify surrounding objects’ locations.

Bravesoldiers

2 years ago

Please have a tutorial for that too please Thank you for this awsome project

Anonymous user

2 years ago

Nice project. Can you tell me where you got the front ball swivel? Thanks!

Anonymous user

2 years ago

Thank you very much. I love this little guy and I think he will be popular with my youngest and his friends.

girishklm

2 years ago

great one

Anonymous user

2 years ago

Sir how can we learn to make these things and how can we purchase all the components necessary for making this path finder robot.

Anonymous user

2 years ago

The author of the project don't seem to have a clue about AI. This project has nothing to do with AI. In fact one would not be able to run an AI algorithm on an Arduino. Please correct the title of the project so it doesn't mislead the uninformed.

Anonymous user

2 years ago

Excellent! Keep up the great job.

Bravesoldiers

2 years ago

The project is nice be sure to upgrade it. Also tag the diagram on the above.

Anonymous user

2 years ago

How do I change speed of the tires? Can I change the sensitivity of the sonic sensors?

Anonymous user

2 years ago

Damn!!! Nice

Anonymous user

2 years ago

très intéressent ce projet. Bravo!

nathan_ramanathan

2 years ago

How is this different from a regular obstacle avoidance robot? They are doing the same thing. I don't see any AI algorithm in the code either.

Anonymous user

2 years ago

helo erteza i have a l298 motor driver i wnat to install this motor driver so please send me code for L298 becouse i have not Adafruit Motor Shield thanks zahidmubeen@hotmail.com

Anonymous user

2 years ago

not varified and uploaded

Anonymous user

2 years ago

Love the project. I have all of the components so I may give it a try. Just one thing about your article, though. The link to "Digilent Screwdriver" doesn't work. The link tries to take me to: https://www.hackster.io/digilent/products/digilent-screwdriver. However, I'm told that it doesn't exist. I managed to go directly there by clicking on the shopping-cart icon shown in your parts-list. That link works: https://store.digilentinc.com/digilent-screwdriver/. Again, thanks for a great article.

Anonymous user

2 years ago

Can I use an IR sensor in place of Ultrasonic sensors

Anonymous user

2 years ago

Hi, i'm new with robots, I want to make a rover with an arduino uno, 1 ultrasonic sensor, and 2 motors? Any ideas? Thanks!

Anonymous user

2 years ago

i did all the things that you said but only the sensors are working, the wheels are not working

Anonymous user

2 years ago

very good. i admire you.

Anonymous user

2 years ago

Yep, I’ll just pull this Materia 101 outa my pocket. Oh I forgot you can’t buy them anymore. Why does everyone think we all own 3D printers?

Anonymous user

2 years ago

Lot's of great services to print 3d models online. I don't have a 3d printer, I just send out for my prints.

Anonymous user

2 years ago

Can you convert the chassis_NKFU3IyUOa.f3d file to .STL please? I've tried to find online converters but to no avail.

Anonymous user

3 years ago

I think that the code used into the loop function can to be a little factorized with something like this [code] void DigitalsWrites( BuzzState, BPstate, GPstate, DRstate) { digitalWrite (BuzzPIN, BuzzState); // BuzzPIN output as LOW(0v) or HIGH(5v) digitalWrite (LEDBPIN, BPstate); // LEDBPIN output as LOW(0v) or HIGH(5v) digitalWrite (LEDGPIN, GPstate); // LEDGPIN output as LOW(0v) or HIGH(5v) digitalWrite (LEDRPIN, DRstare); // LEDRPIN output as LOW(0v) or HIGH(5v) } void MotorsSpeed( int speed ) { M1.setSpeed (speed); // Speed down. M2.setSpeed (speed); // Speed down. } void loop () { // Main loop. SER1.write (80); // Tells the Servo to position at 80 degrees (Facing forward). delay (100); // Delay for 0.1s. Distance = Search (); // Measuring the Distance in CM. MotorsSpeed( 1667 * Distance / 1000 + 100); // Set the speed in a linear fonction of distance if (Distance < 30) { // If obstacle found in 30cm. DigitalsWrites(HIGH, LOW, LOW, HIGH); ChangePath(); } else if ((Distance >= 30) && (Distance < 60)) { // If obstacle found between 30cm to 60cm. DigitalsWrites(LOW, HIGH, LOW, LOW); forward(); } else if ((Distance >= 60) && (Distance < 90)) { // If obstacle found between 60cm to 90cm. DigitalsWrites(LOW, LOW, HIGH, LOW); forward(); } else { // If obstacle cannot be found in 90cm. DigitalsWrites(LOW, HIGH, HIGH, HIGH); forward(); } } [/code] The same type of factorization can to be make for Forward(), Backward(), TurnLeft(), TurnRight(), TurnAround() and Stop() calls using a common function where only arguments changes [code] void Move ( m1, m2, speed, _delay) { M1.run (m1); // Turn DCMotor #1 M2.run (m2); // Turn DCMotor #2 if( speed > 0 ) { M2.setSpeed (speed); } delay (_delay); } [/code]

Mentlone

3 years ago

How do I change speed of the tires? Can I change the sensitivity of the sonic sensors?

Anonymous user

4 years ago

Hi does the project works with aurduino uno r3? Thanks

umaung

4 years ago

very good. i admire you.

Anonymous user

5 years ago

Hi, your project is nice. I try it. Tell me please, where you found central wheel and round motor for ultrasonic sensor? Thanks.

Anonymous user

2 years ago

Wow, thank you. I just ask. I found same central wheel, but it looks ugly. Could you buy it in TechShop and will send to Israel?

Sathvin

6 years ago

Can I use an IR sensor in place of Ultrasonic sensors

GANSDR

6 years ago

i did all the things that you said but only the sensors are working, the wheels are not working

Bravesoldiers

6 years ago

The project is nice be sure to upgrade it. Also tag the diagram on the above.

Mubeen-Zahid

6 years ago

helo erteza i have a l298 motor driver i wnat to install this motor driver so please send me code for L298 becouse i have not Adafruit Motor Shield thanks zahidmubeen@hotmail.com

LLx2

6 years ago

Hi, i'm new with robots, I want to make a rover with an arduino uno, 1 ultrasonic sensor, and 2 motors? Any ideas? Thanks!

Anonymous user

7 years ago

Can you convert the chassis_NKFU3IyUOa.f3d file to .STL please? I've tried to find online converters but to no avail.

nathan_ramanathan

7 years ago

How is this different from a regular obstacle avoidance robot? They are doing the same thing. I don't see any AI algorithm in the code either.

SAMARJIT

7 years ago

not varified and uploaded

girishklm

7 years ago

great one

Anonymous user

7 years ago

Nice project. Can you tell me where you got the front ball swivel? Thanks!

Anonymous user

2 years ago

Thank you very much. I love this little guy and I think he will be popular with my youngest and his friends.

Baillie

7 years ago

Yep, I’ll just pull this Materia 101 outa my pocket. Oh I forgot you can’t buy them anymore. Why does everyone think we all own 3D printers?

Anonymous user

2 years ago

Lot's of great services to print 3d models online. I don't have a 3d printer, I just send out for my prints.

Anonymous user

7 years ago

très intéressent ce projet. Bravo!

Anonymous user

7 years ago

The author of the project don't seem to have a clue about AI. This project has nothing to do with AI. In fact one would not be able to run an AI algorithm on an Arduino. Please correct the title of the project so it doesn't mislead the uninformed.

Anonymous user

2 years ago

Excellent! Keep up the great job.

Anonymous user

7 years ago

Sir how can we learn to make these things and how can we purchase all the components necessary for making this path finder robot.

portaldolmen

7 years ago

Love the project. I have all of the components so I may give it a try. Just one thing about your article, though. The link to "Digilent Screwdriver" doesn't work. The link tries to take me to: https://www.hackster.io/digilent/products/digilent-screwdriver. However, I'm told that it doesn't exist. I managed to go directly there by clicking on the shopping-cart icon shown in your parts-list. That link works: https://store.digilentinc.com/digilent-screwdriver/. Again, thanks for a great article.

Anonymous user

7 years ago

Damn!!! Nice

ertezatawsif

7 years ago

With further developments by combining a broadcast camera and wireless technology, this robot can be used effectively for military operations to detect different kinds of activities whereas, its basic units can be useful for assisting the visually or audibly impaired humans to notify surrounding objects’ locations.

Bravesoldiers

2 years ago

Please have a tutorial for that too please Thank you for this awsome project