Line Following Food Delivery Robot

Like a sushi conveyor belt but with line following robots and Thanksgiving dinner.

What?

Instead of passing food across the dinner table like a dirty mongoloid, these line following robots drive around your dining table trying their best to present your guests with food.

I just googled the word mongoloid, and it does not mean what I thought it meant. I would like to apologize to any mongoloids I may have offended.

Why?

Last year for Thanksgiving I built a gravy train and this year I wanted to build a line following robot sushi conveyor belt.

Video

Materials

 Files

Fusion 360 file and Arduino Code

Design

I've started using Fusion 360 instead of SolidWorks because it's cheaper. SolidWorks costs ~$3k for a basic license while Fusion is cheap or free for non-commercial use.

My thoughts on Fusion 360:
  • It will get the job done (sometimes painfully)
  • Joints cause more problems than they solve
  • I don't really like cloud saving
  • Built in CAM is awesome
  • It's affordable
Fusion operates almost identically to other CAD softwares. EXCEPT joints.

In SolidWorks mates are used to relate parts to one another. Each mate added to a part further restricts degrees of freedom. They are extremely intuitive.

In Fusion joints describe the entire relationship between two points. Literally. You select two points then click the degrees of freedom you want to remain.
Fusion 360 joints
I want to like joints. I've tried REALLY hard to like joints. But I think they fundamentally break the design process, or my design process at least...


Every joint tutorial I've seen only shows the assembly of completed components. Joints are PERFECT for assembling completed components, but that's not how I design things!! When I design in CAD my goal is to position parts relative to each other before creating the features that join them together!

IDK... this post isn't to crap on Fusion 360, but it's been driving me nuts for a while now.

Here's the model
top
bottom
Tab and slot
The tab/slot assembly above is a good example of what I'm talking about. Each part is positioned relative to each other using awkwardly placed rigid joints and offsets before the tabs are extruded, or the slots cut.

I don't know dude, it just feels like joints are worse than mates. Conspiracy theory: Autodesk knows this and is keeping joints in Fusion as to not obsolete their higher end CAD packages (Inventor).

 Electronics

The electronics for this project are really simple. This motor drive has a 5v regulator on it which you can use to power the arduino and IR sensors. Hook the IR sensors up to 5v/GND/D0.

Adjust the screw pot on the IR sensors so that they can detect the difference between the line and non-line. This is the threshold that determines when the D0 pin changes state.

Firmware

Simple line following robots, hands down, are a fantastic beginning robotics project. They are so freaking simple.


If the left sensor is over the line, you know the robot needs to steer left.
If the right sensor is over the line, you know the robot needs to steer right.
If neither sensor is over the line, you know the robot can keep driving forward.
Finally, if both sensors are over the line something has gone horribly wrong and maybe you could try driving backwards???

void loop() {
  drive();
}

void drive(void){
  bool sensor_right = digitalRead(SENSOR_R_D0);
  bool sensor_left = digitalRead(SENSOR_L_D0);
 
  if (!sensor_right && !sensor_left) goForward();
  else if (sensor_right) goRight();
  else goLeft();
}


It's that simple, full code is available to download above.

Problems

If you're having issues, make sure the sensors are detecting the line.
Making the line thicker will help the robot respond in time.
Try moving the sensors farther apart?
Idk..

Conclusion

Line following robots are super cool and very easy to make. You can try making fancier firmware using the analog signals, or maybe even a single sensor??

Byeeee

7

View comments

  1. Information is very informative also you can click Nexter ,and get such type of info, this is the great resource to get such type of information.

    ReplyDelete
  2. Hey William what software do you use to setup cut paths and send them to the x carve? We are trying to do curves like you did with the wooden bearings. Thanks for the help.

    ReplyDelete
  3. That's the great idea one

    ReplyDelete
  4. Any chance you’ll be doing your blog again anytime?

    ReplyDelete
  5. Hey William, by any chance would you like a phucking b e e s e c h u r g e r?

    ReplyDelete
  6. what happened to doing stuff on this website William???

    ReplyDelete
Loading