Autonomous robots are robots that can perform tasks intelligently depending on themselves, without any human assistance. Maze Solving Robot is one of the most popular autonomous robots. It is a smallself-reliant robot that can solve a maze from a known starting position to the center area of the maze in the shortest possible time.
A line follower robot, as the name suggests, is an automated guided vehicle, which follow a visual line embedded on the floor or ceiling.
Usually, the visual line is the path in which the line follower robot goes and it will be a black line on a white surface but the other way (white line on a black surface) is also possible.
Certain advanced line follower robots use the invisible magnetic fields as their paths.
This slides are on the project: Line follower robot using arduino board and PID algorithm. If else coding makes the robot shake way often, so I took the time to learn PID and this is the result.
Autonomous robots are robots that can perform tasks intelligently depending on themselves, without any human assistance. Maze Solving Robot is one of the most popular autonomous robots. It is a smallself-reliant robot that can solve a maze from a known starting position to the center area of the maze in the shortest possible time.
A line follower robot, as the name suggests, is an automated guided vehicle, which follow a visual line embedded on the floor or ceiling.
Usually, the visual line is the path in which the line follower robot goes and it will be a black line on a white surface but the other way (white line on a black surface) is also possible.
Certain advanced line follower robots use the invisible magnetic fields as their paths.
This slides are on the project: Line follower robot using arduino board and PID algorithm. If else coding makes the robot shake way often, so I took the time to learn PID and this is the result.
Maze solving problem is a very old problem, but still now it is considered as an important field of robotics. This field is based on decision making algorithms. The main aim of this project is to make an Arduino based efficient autonomous maze solver robot. Two simple mazes solving algorithms “Wall following algorithm” and “Flood fill algorithm” are used to make this robot. In this project Hardware development, software development and maze construction had been done. For performance testing, the robot will implement to solve 4×4 maze. Capability of finding the shortest path is also verified.
-- Musfiqur Rahman; email: musfiqur.rahman.ete@ulab.edu.bd
Edgefxkits.com has a wide range of electronic projects ideas that are primarily helpful for ECE, EEE and EIE students and the ideas can be applied for real life purposes as well.
http://www.edgefxkits.com/
Visit our page to get more ideas on popular electronic projects developed by professionals.
Edgefx provides free verified electronic projects kits around the world with abstracts, circuit diagrams, and free electronic software. We provide guidance manual for Do It Yourself Kits (DIY) with the modules at best price along with free shipping.
Thia presentation is presented by Naveed Ahmed, Rizwan Mustafa and Muzaffar Ahmad at Robot Expo in Information Technology University of Punjab, Lahore.
Design of Elevator Controller using Verilog HDLVishesh Thakur
The aim of the project is to design and implement an Elevator/Lift Controller using Verilog hardware descriptive language (HDL). The Elevator Controller is a device used to control a lift motion and to indicate the direction of motion, and the present floor level, etc. The device controls the lift motion by means of accepting the floor level as input and generate control signals (for control the lift motion) as output. The elevator controller is based on the concept of finite state machine technology. According to the FSM technology the elevator process can be defined with the help of different states. In the FSM technology there is a change from one state to another state likewise in the elevator there will be a change from one floor to another. Every possible way is assigned a path and the implemented based on FSM concept to write the program code for elevator controller. The whole program is designed in such a way that there are desirable switches in each floor and also inside the elevator to control the user commands. While the elevator is in the ground level in order to go upward direction we need only the up switch and nothing else. The same procedure we follow for the top floor. There is only one down switch there to move downward. But in between the ground floor and top floor all other floors contain two switches, one for moving up and another for moving down. Inside the elevator there must be at least ‘n’ switches for the implementation of an ‘n’ floor elevator controller. The elevator will move according to the desirable input that is given by the user. The design includes a simple scheme that aims at a good speed of response without requiring any extra logic circuitry.
Maze solving problem is a very old problem, but still now it is considered as an important field of robotics. This field is based on decision making algorithms. The main aim of this project is to make an Arduino based efficient autonomous maze solver robot. Two simple mazes solving algorithms “Wall following algorithm” and “Flood fill algorithm” are used to make this robot. In this project Hardware development, software development and maze construction had been done. For performance testing, the robot will implement to solve 4×4 maze. Capability of finding the shortest path is also verified.
-- Musfiqur Rahman; email: musfiqur.rahman.ete@ulab.edu.bd
Edgefxkits.com has a wide range of electronic projects ideas that are primarily helpful for ECE, EEE and EIE students and the ideas can be applied for real life purposes as well.
http://www.edgefxkits.com/
Visit our page to get more ideas on popular electronic projects developed by professionals.
Edgefx provides free verified electronic projects kits around the world with abstracts, circuit diagrams, and free electronic software. We provide guidance manual for Do It Yourself Kits (DIY) with the modules at best price along with free shipping.
Thia presentation is presented by Naveed Ahmed, Rizwan Mustafa and Muzaffar Ahmad at Robot Expo in Information Technology University of Punjab, Lahore.
Design of Elevator Controller using Verilog HDLVishesh Thakur
The aim of the project is to design and implement an Elevator/Lift Controller using Verilog hardware descriptive language (HDL). The Elevator Controller is a device used to control a lift motion and to indicate the direction of motion, and the present floor level, etc. The device controls the lift motion by means of accepting the floor level as input and generate control signals (for control the lift motion) as output. The elevator controller is based on the concept of finite state machine technology. According to the FSM technology the elevator process can be defined with the help of different states. In the FSM technology there is a change from one state to another state likewise in the elevator there will be a change from one floor to another. Every possible way is assigned a path and the implemented based on FSM concept to write the program code for elevator controller. The whole program is designed in such a way that there are desirable switches in each floor and also inside the elevator to control the user commands. While the elevator is in the ground level in order to go upward direction we need only the up switch and nothing else. The same procedure we follow for the top floor. There is only one down switch there to move downward. But in between the ground floor and top floor all other floors contain two switches, one for moving up and another for moving down. Inside the elevator there must be at least ‘n’ switches for the implementation of an ‘n’ floor elevator controller. The elevator will move according to the desirable input that is given by the user. The design includes a simple scheme that aims at a good speed of response without requiring any extra logic circuitry.
1. (TCO A) A ___ defines the format and the order of messages exchanged between 2 or more communicating entities.
2. (TCO A) While the job of the link layer is to move entire frames from one network element to another, The job of the physical layer is to do what?
3. (TCO A) Which of the following is not true about ISO:
4. (TCO A) What are the two fundamental approaches to moving data through a network of links and
Mis 589 Massive Success / snaptutorial.comStephenson185
. (TCO A) A ___ defines the format and the order of messages exchanged between 2 or more communicating entities.
2. (TCO A) While the job of the link layer is to move entire frames from one network element to another, The job of the physical layer is to do what?
3. (TCO A) Which of the following is not true about ISO:
4. (TCO A) What are the two fundamental approaches to moving data through a network of links and switches?
5. (TCO A) The IP protocol works at which layer of the OSI model?
The presentation in Bahir Dar University, Bahir Dar, Ethiopia.
About personal project of making a robot.
This version is including the script
Inserted Movie Clip :
An Introduction to the Arduino : http://youtu.be/CqrQmQqpHXc
Detect Train and Close Window with Arduino and Webcam :
http://youtu.be/aBhF_qfG4Qc
Drive 10 Servos with 2 Arduino Pins :
http://www.youtube.com/watch?v=FbyjNPC6SxI
Arduino XBee & PS2 Controller & Servo Motor Test :
http://youtu.be/BoXzik46LyI
AdvanceStorage.zip
yyy.docx
MOVIE VIEWS SYSTEM
Proposal, Technical Project
by
REEMA ALZAKI
This proposal is submitted to
Professor/DrFarnoushBanaei-kashani
Advanced Data Stores, 5800-002
September 16, 2015
1. Introduction
Movies are important as they present new experiences, cultures, places, ideas, and so forth. They are similar to the “campfire” that people used to gather around to tell and hear stories in the past. They are a way to step out of our world and into another world for a brief time, thus allowing us to relieve stress, bond with our families and loved ones, and so forth.
The drawback to this type of entertainment is that there are so many different types of movies being produced so quickly by Hollywood, it can be difficult to choose one to watch. In addition, parents also find it difficult choosing the right movie for their children. This is because even though the Motion Picture Association of America (MPAA) rates movies on violence, language and drug use, these ratings are often confusing. Furthermore, with lifestyles being so busy, no one has time to sit and look through all of the reviews of the new movies that are coming out and choose the best one to see.
2. OBJECTIVE
The objective of this project is to have a system which assists customers in choosing and borrowingmovies which they will return back within a certain timeframe. The movies will be divided based on genre, MPAA ratings, as well as additional information, such as current reviews listed from 1-3 stars. The system will offer three package subscriptions-Basic, Deluxe, and Supreme. The Supreme package will offer service without advertisements. It will also offer these services in different platforms: PCs and video consoles like WiiU, Xbox, orPlaystation.
3. Benefits
Benefits of providing this service are that customers will be given five movie choices from which to pick that best suits their needs at the time. They will not have to waste money buying movies or going to movie theaters. They will not have to waste time looking through movie reviews and they will be given movie choices that are appropriate for their children’s ages. As the younger generations become older, average spending for these consumers is expected to rise with a potential increase in their wages, thereby the overall market will demonstrate an exponential increase in growth in the near future. Additional plans to include smartphone and tablet moviesfor the upcoming generations are in the works as well, though not for this project at this time.
4. PROPOSED TECHNICAL APPROACH
We intend to build a new generation data management system based on NoSQL’sBigTable, as it was designed for an organization that works with a variety of data (structured, semi-structured, and unstructured) that is ever increasing in volume and needs to be stored, processed, and analyzed. It can also be compressed. We believe that the use of a data storage system of this type is more effi.
At the EuroSTAR conference 2016 in Stockholm I presented about the testing of artificial intelligence and machine learning. But also about testing using intelligent machines.
The model explains how we can Automate System using Artificial Intelligence.
It broadly concerns about:-
1. Lane Detection.
2. Traffic Sign Classification.
3. Behavioural Cloning.
Numerical Methods was a core subject for Electrical & Electronics Engineering, Based On Anna University Syllabus. The Whole Subject was there in this document.
Share with it ur friends & Follow me for more updates.!
Digital Signal Processing (DSP) from basics introduction to medium level book based on Anna University Syllabus! This is just a share of worthfull book!
-Prabhaharan Ellaiyan
-prabhaharan429@gmail.com
-www.insmartworld.blogspot.in
Power System Analysis was a core subject for Electrical & Electronics Engineering, Based On Anna University Syllabus. The Whole Subject was there in this document.
Share with it ur friends & Follow me for more updates.!
Environmental Science and Engineering (BE), This subject is common for all Engineer's and its based on Anna University Syllabus.
If ur a tech loving person, do visit http://insmartworld.blogspot.in/
Linear Integrated Circuits -LIC, Based On Anna University. From Basics to the Graduated Degree's. BE Based On. With Reference Of Two Text Books.
Visit insmartworld.blogspot.in if ur a geek & interested in new tech's.
Object Oriented Programming For Engineering Students as well as for B.Tech -IT. Covers Almost All From The Basics.
For more:
Google Search:: Prabhaharan Ellaiyan
Electron Device Control Lecture All Need To Know The Basics Of Device Control? Look At This.. Based On Basic Concepts..
By Anna University Syllabus..
-Prabhaharan429
Harnessing WebAssembly for Real-time Stateless Streaming PipelinesChristina Lin
Traditionally, dealing with real-time data pipelines has involved significant overhead, even for straightforward tasks like data transformation or masking. However, in this talk, we’ll venture into the dynamic realm of WebAssembly (WASM) and discover how it can revolutionize the creation of stateless streaming pipelines within a Kafka (Redpanda) broker. These pipelines are adept at managing low-latency, high-data-volume scenarios.
Understanding Inductive Bias in Machine LearningSUTEJAS
This presentation explores the concept of inductive bias in machine learning. It explains how algorithms come with built-in assumptions and preferences that guide the learning process. You'll learn about the different types of inductive bias and how they can impact the performance and generalizability of machine learning models.
The presentation also covers the positive and negative aspects of inductive bias, along with strategies for mitigating potential drawbacks. We'll explore examples of how bias manifests in algorithms like neural networks and decision trees.
By understanding inductive bias, you can gain valuable insights into how machine learning models work and make informed decisions when building and deploying them.
Student information management system project report ii.pdfKamal Acharya
Our project explains about the student management. This project mainly explains the various actions related to student details. This project shows some ease in adding, editing and deleting the student details. It also provides a less time consuming process for viewing, adding, editing and deleting the marks of the students.
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...Amil Baba Dawood bangali
Contact with Dawood Bhai Just call on +92322-6382012 and we'll help you. We'll solve all your problems within 12 to 24 hours and with 101% guarantee and with astrology systematic. If you want to take any personal or professional advice then also you can call us on +92322-6382012 , ONLINE LOVE PROBLEM & Other all types of Daily Life Problem's.Then CALL or WHATSAPP us on +92322-6382012 and Get all these problems solutions here by Amil Baba DAWOOD BANGALI
#vashikaranspecialist #astrologer #palmistry #amliyaat #taweez #manpasandshadi #horoscope #spiritual #lovelife #lovespell #marriagespell#aamilbabainpakistan #amilbabainkarachi #powerfullblackmagicspell #kalajadumantarspecialist #realamilbaba #AmilbabainPakistan #astrologerincanada #astrologerindubai #lovespellsmaster #kalajaduspecialist #lovespellsthatwork #aamilbabainlahore#blackmagicformarriage #aamilbaba #kalajadu #kalailam #taweez #wazifaexpert #jadumantar #vashikaranspecialist #astrologer #palmistry #amliyaat #taweez #manpasandshadi #horoscope #spiritual #lovelife #lovespell #marriagespell#aamilbabainpakistan #amilbabainkarachi #powerfullblackmagicspell #kalajadumantarspecialist #realamilbaba #AmilbabainPakistan #astrologerincanada #astrologerindubai #lovespellsmaster #kalajaduspecialist #lovespellsthatwork #aamilbabainlahore #blackmagicforlove #blackmagicformarriage #aamilbaba #kalajadu #kalailam #taweez #wazifaexpert #jadumantar #vashikaranspecialist #astrologer #palmistry #amliyaat #taweez #manpasandshadi #horoscope #spiritual #lovelife #lovespell #marriagespell#aamilbabainpakistan #amilbabainkarachi #powerfullblackmagicspell #kalajadumantarspecialist #realamilbaba #AmilbabainPakistan #astrologerincanada #astrologerindubai #lovespellsmaster #kalajaduspecialist #lovespellsthatwork #aamilbabainlahore #Amilbabainuk #amilbabainspain #amilbabaindubai #Amilbabainnorway #amilbabainkrachi #amilbabainlahore #amilbabaingujranwalan #amilbabainislamabad
We have compiled the most important slides from each speaker's presentation. This year’s compilation, available for free, captures the key insights and contributions shared during the DfMAy 2024 conference.
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressionsVictor Morales
K8sGPT is a tool that analyzes and diagnoses Kubernetes clusters. This presentation was used to share the requirements and dependencies to deploy K8sGPT in a local environment.
NUMERICAL SIMULATIONS OF HEAT AND MASS TRANSFER IN CONDENSING HEAT EXCHANGERS...ssuser7dcef0
Power plants release a large amount of water vapor into the
atmosphere through the stack. The flue gas can be a potential
source for obtaining much needed cooling water for a power
plant. If a power plant could recover and reuse a portion of this
moisture, it could reduce its total cooling water intake
requirement. One of the most practical way to recover water
from flue gas is to use a condensing heat exchanger. The power
plant could also recover latent heat due to condensation as well
as sensible heat due to lowering the flue gas exit temperature.
Additionally, harmful acids released from the stack can be
reduced in a condensing heat exchanger by acid condensation. reduced in a condensing heat exchanger by acid condensation.
Condensation of vapors in flue gas is a complicated
phenomenon since heat and mass transfer of water vapor and
various acids simultaneously occur in the presence of noncondensable
gases such as nitrogen and oxygen. Design of a
condenser depends on the knowledge and understanding of the
heat and mass transfer processes. A computer program for
numerical simulations of water (H2O) and sulfuric acid (H2SO4)
condensation in a flue gas condensing heat exchanger was
developed using MATLAB. Governing equations based on
mass and energy balances for the system were derived to
predict variables such as flue gas exit temperature, cooling
water outlet temperature, mole fraction and condensation rates
of water and sulfuric acid vapors. The equations were solved
using an iterative solution technique with calculations of heat
and mass transfer coefficients and physical properties.
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...Dr.Costas Sachpazis
Terzaghi's soil bearing capacity theory, developed by Karl Terzaghi, is a fundamental principle in geotechnical engineering used to determine the bearing capacity of shallow foundations. This theory provides a method to calculate the ultimate bearing capacity of soil, which is the maximum load per unit area that the soil can support without undergoing shear failure. The Calculation HTML Code included.
Welcome to WIPAC Monthly the magazine brought to you by the LinkedIn Group Water Industry Process Automation & Control.
In this month's edition, along with this month's industry news to celebrate the 13 years since the group was created we have articles including
A case study of the used of Advanced Process Control at the Wastewater Treatment works at Lleida in Spain
A look back on an article on smart wastewater networks in order to see how the industry has measured up in the interim around the adoption of Digital Transformation in the Water Industry.
Water Industry Process Automation and Control Monthly - May 2024.pdf
MAKING OF LINE FOLLOWER ROBOT
1. Page 1 of 37
Building a Line Following Robot
As a programming teacher, I frequently adopt the attitude of "Come inside a
programmer's brain!" I can then explain the concept or source code as I would
if I did all my thinking out loud. This is helpful to many students because
most of my examples do come from my brain or experience. This allows me walk
them through the process and to make mistakes or false assumptions, and then
correct them as we proceed.
I would like to take that attitude here as I describe the processes I am
going through in developing a line-following robot.
This all started recently when I was told I would soon be teaching a class
called "Embedded Systems" at my college. When I learned that the chip was a
PIC16F series microcontroller, and that there would be a development board,
similar to the Handy Board, I realized I had some experience in this area.
For my Bachelor's Degree in Electronics Engineering, I had been the
programmer for an autonomous robot that used a Motorola 68HC11, a similar
chip.
It occurred to me that the "Final Exam" for this class could very well be a
line following robot. The project is simple enough to be "do-able" in college
electronics and programming students, complex enough that it would be a
challenge and learning experience for students. Line followers are popular
enough in robotics clubs, that students could find plenty of supporting
material on the Internet. I Googled “line following robot” and found many
good leads and great sites describing what is going on with line following
robots.
Next, I need a “Mission Statement” for what I want to do. Later, this can
be revised as I learn more specifics.
2. The Mission: Develop an autonomous robot that will follow a black line on a
white background.
I picked black on white because it seemed the most often used course.
Some Restrictions: Since I know the chip I’ll be teaching, the chip
PIC18F8680 had to be the mandatory microcontroller. The class also does one
week of assembly language introduction, then shifts to C, so C will be the
language. Other than that, I want to be open to discovering many
possibilities.
Page 2 of 37
WHAT’S OUT THERE?
The first task appeared to be taking a look at what types of line following
contests were out there. It made sense to me that the ultimate test of any
robot is to have it compete against other robots. I searched and looked at
many articles, photos and videos. Here’s what I saw.
The courses are either black lines (usually ¾ inch electrical tape) on white
background, by far the most common, or white lines on black background. Since
it was a simple matter to adjust the robot behavior for either, I elected to
work with black lines.
Next, I saw that there seemed to be two types of courses. Those where the
race course was composed of a fixed number of tiles with specific
configurations, like Figure 1:
Figure 1: Line Following Race Course Tile Set
3. Then with a box full of these tiles, a race course of any desired shape could
be constructed by just selecting the desired combination of tiles.
The remainder used a course either pre-drawn on a playing surface, or laid
down with electrical tape on the race course like this:
Figure 2: “Easy” Line Following Course, 3 X 3 feet, Made by CAD Students
I noticed that the contest courses came in three different general
difficulty levels:
1. Easy: Where the track has gentle, usually 6-inch radius curves.
2. Medium: Where the lines either cross each other and/or there are up
Page 3 of 37
to 90 degree sharp turns, or
3. Hard: With crossings and often greater than 90 degree turns.
And of course, all of the contests put a premium on speed by awarding first
prize to the robot that finishes in the fastest time.
NARROWING THE CRITERIA
With what had observed, and what I know, the following criteria begin to
emerge:
4. The robot has to be fast. In the videos on the net and on YouTube.com I
observed some pretty fast robots!
The robot has to properly navigate difficult courses. It didn’t make sense
to design a robot for an “easy” course, only to find later that I had to
discard the entire project because it wasn’t able to do a more demanding
task. Mission Statement, Revision 1:
The Mission: Develop a fast, autonomous robot that will follow a complex black
line course on a white background.
Page 4 of 37
THE PROPULSION SYSTEM
I was amazed at the variety of methods that participants chose to get their
robots moving.
Tank treads: [1]
Six Wheels: [2]
Four Wheels: [3], [4], [5]
5. Page 5 of 37
Three Wheels: [6], [7], [8]
Two Wheels: [9], [10], [11]
And even something that looked like a robot in a bottle: [12]
WHICH CONFIGURATION?
As with any other complex project, this one will present a number of
opportunities in which to make decisions. The two-wheeled, or two wheels with
caster seems to be the favourite, but I need to see if I can apply some of my
knowledge to this situation.
6. I’ve heard enough about problems with tank treads. Therefore I could easily
eliminate those. I can’t imagine that six-wheelers are any better, and
anything a four wheeler can do, a tricycle or two-wheeler with a caster can
do better. Therefore, four to six wheels didn’t seem to be the way to go.
I was intrigued by an arrangement I saw on the net that I’ll call a
tricycle. The sensors and a turning wheel were way out in front, and the bulk
of the robot weight was over the two drive wheels in the rear. The speed
seemed phenomenal! The advantage seems to be a much faster response time by
getting the turning wheel up front and near the sensors.
My other favourite vehicle is plain vanilla two side wheels with independent
drives and a free-spinning swivel wheel or caster. I’ve seen these robots
function and I really like the responsiveness and simplicity of just two
wheels.
I spent several days thinking and drawing sketches and trying to visualize
both configurations. I saw no way to combine the best of both, and kept
returning to two choices. The tie breaker came when I looked at the task from
the eyes of my future students. Which one would be best for them? Based on
the ease of the concept of two wheel drive and the difficulty of front wheel
servo steering and motor control, it seemed the two-wheeler was the better
choice for a beginner. I also know that I often have students who would pick
the tougher project for a more rewarding learning experience. So I divided
the project into two phases:
Phase 1: Two independently powered wheels with swivel wheel or caster.
Phase 2: Tricycle arrangement with sensors and servo controlled wheel
up front and a “trailer” for electronics, motors, wheels and battery.
I will give students a choice or have them do Phase 1 first and Phase 2
later, or let each team select the desired configuration.
Page 6 of 37
7. Personally, I decided to do Phase 1 now, and then use what I learn to proceed
on to Phase 2. So, I will do both, but for now, just the two-wheeler.
Page 7 of 37
THE BLOCK DIAGRAM
Once the main configuration is chosen, the first thing to do seems to be to
make a functional block diagram. Although it might grow or change later, I
always like to have “the big picture” available. Since I teach Microsoft
Visio 2007 in one of my classes, I decide to make a Block Diagram in Visio.
Figure 3: Line Following Robot Block Diagram.
Just looking at this drawing really gets brings up a host of ideas and
questions. Hardware, software, logic, motor control and many other thoughts
come rushing in. I need to slow down and compartmentalize.
Since this project is the basis of beginner’s robotics projects or contests
in just about every robotics club on the planet, the drawing provides an
outline for how to structure a class to teach the different aspects of
robotics. The robot’s program will require the four main ingredients of
every computer, microprocessor, microcontroller and the programs that run in
them. Here are the four and how they relate to line following project:
8. Input: Read the white/black on the floor and condition the input
signal(s) for transmission into the "brain" or computer/MPU/CPU in a way that
questions can be asked and decisions made.
Process: Based on the inputs received, decide what change (if any) needs
to be made to the robots speed and direction. Convert the results of any
decisions made into something that can be sent to motor speed control and/or
steering.
Output: Send the old or the newly adjusted control signals to speed
Page 8 of 37
and/or steering devices.
Storage: The first thing needed is a place to store the computer program
to do the "process" above. We will need to store sensor readings, speed or
direction information or a number of other things, but they will become
clearer as the project progresses.
QUESTIONS.?
The following immediate questions become apparent:
Input:
What type of line detection sensors? White light, LEDs, infrared, or ???
How many sensors?
What sensor configuration? Straight line? Vee? Inverted Vee?
How do light readings get relayed to the MPU in a useful form?
Digital, analog?
...And how do we get input information quickly?
Process:
What processor to use? (PIC18F8680 Predetermined)
What programming language? (C with a little assembler predetermined)
What line following algorithm to use??? (Depends on the sensor
arrangement.)
9. Page 9 of 37
Output:
DC motors, servos or stepper motors?
Voltage and power (battery) requirements??
Will there be one power supply or two?
What about motor speed control issues?
Steering!?! Two wheels and a caster – yes, but motor
control? PID Steering control or not?
Other:
Power supply or supplies, when determined will have a big effect on
mass. Batteries: Probably the heaviest part of the robot. How to factor this
in?
INPUT SENSOR SELECTION
After many trips to Google, I started narrowing this choice. I was not
impressed by "big" solutions where large, unfocused lights or LEDs flooded
the floor with light. I saw several of these solutions that required
additional shielding and caused problems because the total light "under the
hood" was too intense.
I was drawn to three different sensors:
10. 10 of 31
Figure 4: QRB1114 Optical Sensor
I have used the QRB1114 shown in Figure 4 before in a previous project.
Notice the oval hole in the center. I like this because a small nut and bolt
can be placed through this opening and make the sensor somewhat adjustable.
So this is a definite candidate.
Figure 5: R185-Single-Line-IR Sensor
11. Figure 5 shows the R185-SINGLE-LINE-IR from Lynxmotion. It is attractive
because it has on board electronics and a status LED to assist in
troubleshooting. Notice it also has the oval hole to facilitate mounting
adjustments.
I was put off by the $14.95 cost, because I believed I can do everything this
sensor does for under $2.00. I also teach “starving students” and don’t
want to sticker shock them with this sensor. If they choose to use 4, 6 or 8
in-line sensors, this could get expensive. So for me personally, this would
be the choice, but for a robot that I can show off to my students as
“affordable”, I choose to be on a tighter budget.
Page 11 of 37
Then I stumbled across this:
Figure 6: QRD1114 Optical Sensor
Although the Figure 6 photo makes the QRD1114 look big, it is really
tiny! Here is a link to the complete QRD1114 Data Sheet, but I’d like
to point out some particulars.
12. Page 12 of 37
Figure 7: QRD1114 Package Dimensions
At 6.1 X 4.39 millimetres, this was the smallest I’d seen. And the price was
excellent.
The surface mount version of this sensor was also used in a very fast robot I
saw in Robot Room (See far right photo in the line of four two-wheelers
above. [11])
SENSOR PLACEMENT
The simplest form of line follower uses one sensor. Let’s say that the
course is a black line on white. The robot, if programmed for “Left” is
13. placed with the sensor just to the right of the line over the white surface.
Over white, it is told to go left until it sees black. Then it is told to go
right until it loses the black line. So… this is not really a line follower,
but an edge follower. The main drawback for the single sensor seems to be
speed. The robot spends all its time turning or bouncing off the edge of the
line. I could see no way to get more speed without more accurate input
information.
Once you leave the one sensor idea behind, you naturally go to two sensors as
better. But wait! If 2 are better, how about 4, or 6, or 8, or some really
big number?
Page 13 of 37
Here is what two sensors looks like:
Figure 8: Two Line Sensors
And 4 sensors:
14. Page 14 of 37
Figure 9: Four Line Sensors
And 6 sensors: [13]
Figure 10: Six Line Sensors
Look at the 6 sensor robot above. You can see that the line is under the 3rd
sensor, so the robot is a little to the left of where it wants to be to stay
centered. If the black line was under the sensor to our left in the photo
above, we would know that the robot is much farther from center, and we need
a more dramatic steering correction. It seems that more sensors can provide
more information IF WE CAN USE IT PROPERLY AND REACT QUICKLY.
15. Just dialing in a sharper turn is not the answer here because the robot would
tend to overshoot and overcorrect, making the steering erratic and unstable.
Fortunately, there are several fixes for this. The most common is called PID.
Proportional, Integral, Derivative are three mathematical feedback terms that
can be used to reduce overshoot and hunting. I won’t cover that here. There
are plenty of web articles on the subject. A second solution would be to
write a program smart enough to know the difference between:
Off a little to the left (from a perfect center position), and
Off a little to the left (coming back from off a LOT to the left!)
The first requires making a course correction to the right. The second
requires you start straightening out from your previous stronger
corrective turn to the right.
Suffice to say that four or more sensors, with PID or a “smart” algorithm,
can get you more speed than the one or two sensor robot. I was doing great
with all this until I saw these two photos:
Page 15 of 37
Figure 11: TecBot [14] and JavaBot [15]
WOW! Notice that both of these robots have 7 sensors, but more important,
notice the Vee shape of the array. On his site, James Vroman, the builder of
these 2 bots only says the “inverted V” allows for tighter turns. But these
photos bring up several questions.
Let me digress for a minute. In the back of one of my electronics labs, the
students have made a test race track using electrical tape on the white tile
16. floor. One team originally believed that a two sensor robot could navigate a
“complex” course with intersections and sharp corners. It just didn’t
work. When their robot got to a sharp 120 degree turn, it often missed the
turn completely, or partially made the turn, then got confused and oscillated
back and forth indefinitely, or once in a while, if it hit the turn just
right, it would make it. At a 90 degree intersection, it totally depended on
the angle of the robot just before the intersection. If the right sensor got
over the perpendicular black line first, it took a right turn. If the left
sensor sensed black first, it took a left turn. Only if it hit the
intersection exactly square, would it hesitate, but move straight through the
intersection. The students gradually came to the realization that more
“brainpower” was needed to negotiate complex courses.
At the same time, my brain was in overdrive. As I watched their robot, I
pictured an array like this:
Page 16 of 37
1# 7#
2# 6#
3# 5#
4#
In an “easy” course with wide turns, a straight line array would be
excellent at sensing and responding to the turns. But a straight line array
would be very poor at sensing a greater than 90 degree turn. The advantage
that I see in the “V” shown above is that it would be very good at getting
an advanced look at intersections and 90 degree turns, because sensors #1 and
#7, out ahead of the normal straight line position, would give an advanced
warning.
As always, I’m tempted to go with the “V” array because it seems to have
more potential for finding the more complicated turns of an advanced track.
And again, I go back to my students. It seems that a straight line array is
best for beginners and offers the least complicated patterns for turn
detection. So I decide to go with a straight line array for Robot #1. It now
looks like I have the following possible configurations:
17. CONFIGURATION PROPULSION SENSOR SHAPE
#1 2 Wheels, independent
Page 17 of 37
drives
In Line
#2 2 Wheels, independent
drives
“V”
#3 Tricycle, front turning
wheel, Rear drive
In Line
#4 Tricycle, front turning
wheel, Rear drive
“V”
Table 1: Possible Robot Configurations
It looks like I can get the most learning and most variety by picking robot
#1 as a first project and #4 as a second project. I also decide here and
realize that I should construct all assemblies with modular design. For
example, build the straight line array, but in such a way that it can easily
be removed and replaced by a “V” array or an array of any configuration. In
programming, I teach the value of modules, and I certainly can benefit from
those principles in robot design.
CONSTRUCTING THE IN-LINE ARRAY
With the sensors and the straight line configuration selected, it is time to
assemble the array.
The schematic for each sensor looks like this:
18. Page 18 of 37
Figure 12: QRD1114 Schematic
On the right the 220 ohm resistor acts as a current limiter to provide the
correct current to the LED. Subtracting the 0.7 volts that is normally
dropped across an LED, the formula is:
I = E / R
I = (5.0v – 0.7v) / 220
Ohms I = 4.3v / 220 Ohms
I = 0.01945 Amps
Or about 20 milliamps, the suggested current for this LED. The data
sheet also states that 50 milliamps is the maximum current, and I wanted
to keep well away from that.
On the left side, the phototransistor acts as a voltage divider. (It is
difficult to see in this figure, but there is a “C” for Collector and an
“E” for Emitter on the top and bottom phototransistor leads.) The light
reflected back from the floor will hit the base of the transistor, and
instead of a base bias voltage being used to control current flow, the amount
of light on the base determines current flow. At the extremes:
With no light on the base of the transistor, there is no current flow
and it acts like an open switch. With no current flow, a voltmeter put
on the output, labeled RA1 in the schematic, would read 5 Volts.
19. With maximum light on the phototransistor base, the transistor goes into
saturation, acting like a closed switch, allowing current to flow from
ground, through the phototransistor and resistor. The output will now
read 0.0 Volts, since the “shorted switch” makes the output seem to be
at the same potential as ground.
Page
And at different light levels, we would expect the output voltage at RA1
to vary between 0 and 5 volts, depending on the light received by the
base of the phototransistor.
Page 19 of 37
TEST FIRST!!
One thing I’ve learned about electronics and programming is that you never
want to put anything totally together without finding ways to test and make
sure everything is going well throughout the process.
So, I decided to set up one sensor and verify that everything works as
expected before making the entire sensor array.
20. Page 20 of 37
Figure 13: Perf Board
Figure 13 shows a typical perforated circuit board available at electronic
suppliers. My first task is to wire up one sensor on this board to test the
circuit parameters.
Figure 14: One Sensor Wired
Figure 14 shows one QRD1114 sensor wired as per the schematic above. I then
powered this up and sent the output from RA1 to a voltmeter. Next I took a
piece of white paper and filled in a ¾ inch black line to act as my
reflector.
I then held the sensor pointing down and slowly passed it back and forth
across the black line to see the voltage change.
With the sensor held more than an inch above the paper, I recorded a fairly
constant voltage around 4.2 volts. This confirmed that the “switch was
open” or that the phototransistor was not getting any light (except perhaps
some ambient light in the room), confirming the high voltage reading for “no
reflection”.
21. With the sensor held about ½ inch above the paper, the change was dramatic.
Over the white paper I got consistent readings of about 0.12 volts,
confirming that the phototransistor was at saturation and conducting at a
maximum. As the sensor was moved slowly over the black line, the voltage
jumped nicely to about 4.12 volts, confirming that the black line was not
reflecting much light back to the phototransistor, exactly as expected.
I experimented with several heights and found that the sensors worked best
(shifting from about 0.12v to 4.1v and back because of the reflectivity of
the paper and the line) between ¼ inch and ½ inch from the ground/paper.
Since there could also be variations depending on the light conditions in
other rooms, I decided to make sure I can mount the array in such a way that
I could use spacers or otherwise adjust the height of the array from ¼ in to
½ inch and maybe a little more.
Page 21 of 37
HOW MANY SENSORS?
Several thoughts led me to the decision to employ eight sensors.
1. My first and most important goal was sensor spacing. Picture sensors
spaced at exactly ¾ inches or a little more. As the array moves left or
right, the most sensors that can be activated (1 = black line is below
this sensor) is one. The digital output of eight sensors could only be
one of these:
00000001
00000010
00000100
00001000
00010000
00100000
01000000
10000000
00000000
22. Which is fine, but I wanted a way to get more precise and accurate
measurements. If I space the sensors close enough that when the
line is exactly between two sensors, they both react, I can get
twice the accuracy, like this:
Page 22 of 37
00000001
00000011
00000010
00000110
00000100
00001100
00001000
00011000
00010000
00110000
00100000
01100000
01000000
11000000
10000000
00000000
With this arrangement, I get 16 different readings in about the
same sensor width where I only got 9 readings in the first example
above.
To accomplish this, I settled on ½ inch spacing for the sensors.
On a perf board with 0.100 spacing between each hole in the board,
I just placed sensor leads 5 holes apart, which you will see below.
2. I wanted the maximum number of sensors I could get. In my Google
travels, I’d often seen 6 or 7 sensors used, so that would be my
minimum.
23. 3. Lastly, the ports on most microcontrollers have a practical limit of
eight, since many ports are numbered something like D0 through D7.
Although I’ve fooled with 10 bit DACs and other odd combinations of
bits from 9 to 15, it was clear to me that more than eight of any inputs
would require an increased level of complexity. So until I determine
that much more complexity is warranted, I decided on 8 sensors. Since 8
sensors also fit conveniently on the standard small perf boards like I
was using, that clinched it.
Page 23 of 37
Figure 15: Initial Board Component Placement
Figure 15 shows the sensor board as I first installed the components. Some
comments:
• The white line along the top is the 5 volt bus line. Both the 10K Ohm
(Brown, black, orange, gold) resistors and the 200 Ohm (red, red, brown,
gold) resistors go here.
• The bottom white line, not yet used, will be the ground bus.
24. • The sensors are all placed in the same direction. LED (small black
rectangle) to the left and phototransistor (small round white circle) on
the right side.
Page 24 of 37
Figure 16: Side View of Sensor array
Figure 16 is a side view of the array showing the piece of wood underneath
the QED1114 sensors. The wood is a piece of birch that I picked up at a hobby
shop for $1.50. I would have preferred a popsicle stick (cost = $0.00).
The wood wound up here due to several considerations.
First – I tried to push the sensors down flat on the perf board. I could do
this, but the leads would have entered the perf board with zero length of the
leads available. I need at least a little of the lead so that I could apply a
heat sink. I’ve watched my students fry many components because they failed
to heat sink properly while soldering. I didn’t want that to happen.
Next – I tried to space the sensors about 1/8 to ¼ inch above the perf board
so I could attach a heat sink, but I could not find a way to ensure that all
the sensors maintained the same spacing and orientation.
Then the AAAAHA!! Put a popsicle stick under the sensors. That way I could
get to the leads with my heat sink and at the same time make sure the sensors
25. were all aligned properly. And the sensors can be seated on the wood to
assist in accurate alignment.
Page 25 of 37
Figure 17: The Third Hand
Since I don’t have three or four hands, I found two tools invaluable. Figure
17, top, shows the tool called a “third hand”. It clamps the board in just
the right position to allow me the angle and approach to complete the
soldering. Sticking into the bottom of this figure is the end of a pair of
surgeon’s forceps that were my main heat sink and often used as a clamp to
hold components or wires in place for soldering.
26. Page 26 of 37
Figure 18: Top Side
Figure 18 shows the top side of the sensor with all components in place and
the soldering almost complete. The only thing left is to route the signal
leads from each sensor, hook up power and ground and then test the array.
SENSORS COMPLETE
Figure 19 shows the completed Sensor Assembly.
27. Page 27 of 37
Figure 19: Completer Sensor Assembly
Here is what the complete and tested assembly looks like:
• Top-left Red and bottom-left green leads: Power (5v) and ground, going
to a 2-prong 90 degree connector
• White leads: Signal leads for the four left hand sensors, going to a 4-
prong 90-degree connector
• Yellow leads (hidden under the white leads): Signal leads for the four
right hand sensors, going to a 4-prong 90-degree connector.
Actually the 90-degee connectors I mention above were originally straight
connectors. After I soldered them in place I realized that with the board
flipped over, the completed connectors would stick out so far that the
28. connector wires would hit the floor or keep me from getting the sensors as
close as I desired. Not wanting to unsolder the connectors, I gently bent
each of the connector pins over 90 degrees so the connectors when hooked up
would stick out to the sides instead of straight down.
I used a DVM to measure the resistance between all of the connector pins.
This was to make sure that I did not have any shorts in the system. The
readings were normal.
Next I powered up the board, clamped the board into my third hand tool and
put a DVM lead on each pin in turn. I then passed a piece of white paper with
several black ¾ inch stripes in front of the sensors at a distance of about
¼ to ½ inch. Each sensor cycled between low and high voltage in reaction to
the black stripe as expected. So the sensor array is ready to go.
Page 28 of 37
THE MOTORS
The motors were and probably will be a big challenge for me. My Internet
research had shown that David Cook [11] had won contests and achieved fame by
breaking the one meter per second barrier in robot line following speed. So
the motor part seemed simple. Find a motor that will do better than one meter
per second and install it.
The more I learned, the more confused I got. I downloaded about 15 articles
discussing motors, torque, stall torque and all the rest. Good theory, but
not one piece of advice I could convert into “What motor do I purchase?” I
did discover that I probably wanted a gearbox motor running on 6 volts or
less. (12 volts or 24 volts = more weight = more mass = harder to make tight
turns = slower laps.) I even found an engineering site that had the email
addresses for over twenty companies specializing in motors or small motors. I
sent a form email letter to all of them explaining all I knew about the robot
size, weight, speed, etc. I got back mostly; “We need more information.”;
or “Stop by our office in Left Snowshoe, Montana and we can discuss this.”;
or nothing.
29. I finally had to settle for picking something to see how it works and
deciding to learn more and do better for robot #2. I selected the Tamiya
Double Gearbox because it had variable speeds. Depending on how you install
the gears, you get one of four different gear ratios.
Page 29 of 37
Figure 19: Tamiya Gearbox Motors
I figured that a multi-speed motor would give me more opportunity to
experiment and play with gear ratios, speed and torque. Plus Pololu.com had a
deal where you could get the robot base, a caster, tires and the motors
together for a reduced price, so I jumped on it.
30. Page 30 of 37
Figure 20: Tamiya Gearbox Motor Parts
As soon as I saw all of the non-English writing on the directions, I almost
freaked out. I’ve read several sets of so-called “English” directions from
Far East companies and they were a nightmare. Fortunately, the directions
turned out to be clear, concise and easy to follow. Except for the fact that
you need three or maybe four hands to hold and balance all the parts and
gears just before they all come together, I was pleased with the result.
Figure 21: Assembled Motors
I had to be careful to put all the parts and directions in one baggy and
clearly mark it so I can change the gear ratios later if I need to.
31. Page 31 of 37
Figure 22: Motors with Wheels Attached
And as Figure 22 shows, just pop on the wheels and the motor assembly is
complete.
Figure 23: The Robot Base
Figure 23 shows the circular, plastic base I selected for the robot. Just
peel off the protective paper and it is ready.
32. Page 32 of 37
Figure 24: The Robot Base Revealed
Notice in figure 24 that the robot base already has a number of holes cut to
make your assembly job easier. The large rectangular holes, left and right
are for the wheels and the slots to the inside for the wheel mounting
hardware. The four holes in a square at the top are for the caster which will
get assembled soon.
Figure 25: Motors and Base
It is a simple matter to join the base and motors with two small nuts and
bolts.
33. Page 33 of 37
THE CASTER
Figure 26 shows the caster I purchased. I have used swivel wheels before and
I was never impressed. They always seem to hang up or get stuck at the worst
possible times. With a line following robot that had to react fast and never
get hung up by a swivel wheel, I decided to go with the caster.
Figure 26: The Ball Caster
Figure 27: Caster Parts
34. The caster, as expected, was a simple task. The only delicate part was
placing the three bearing rods above the caster wheel as shown in the next
two figures.
Page 34 of 37
Figure 28: Bearing Rods before Placement
Figure 29: Bearing Rods after Placement
35. Page 35 of 37
Figure 30: Caster Bottom Assembled
Once the bearing rods are in place, a few snaps, three screws and it is all
together. The pieces even allow different alignments so that your caster
height can be set high or low.
Figure 31: Assembled Caster, Side View
The caster is a simple mount to the robot base.
36. Page 36 of 37
Figure 32: Robot Base, Bottom View
And Figure 32 shows the completely assembled robot base, upside down.
THE NEXT INSTALLMENT
So, having made some basic decisions about how to proceed, a future article
will continue the robot design and construction process. Soon we will know
how fast it can go.
I also intend to track my students as they complete the Embedded Systems
class and report how they are doing with line following, line mazes or other
PIC robotic projects.
Your comments and suggestions are welcome at RVannoy@ITT-Tech.edu.
I am also just beginning to set up a web site devoted to PICs and Robotics.
Although the site is not ready as of mid-February, 2008, I hope to have some
interesting and informative content soon at http://www.PICRobots.com. Feel
free to stop by and visit.
37. Page 37 of 37
Photo Sources:
[1] Chris and Dawn Schur’s Robotics and Artificial Life Forms,
http://www.schursastrophotography.com
[2] Wallace, David N., Line Following Robot
http://www.lifekludger.net/category/weeklylinks/page/2/
[3] Denmarks Techniske Universitet http://www.sweeper.org [4], [9] Mike’s Line
Following Robot, Central Illinois Robotics Club, http://www.circ.mtco.com
[5] http://www.leang.com
[6] http://www.cs.umn.edu
[7], [8] Jackson, Ben, http://www.ben.com
[10] http://www.ece.unm.edu
[11] David Cook’s Jet http://www.robotroom.com/jet.html
[12] http://blog.makezine.com
[13] The CBA Line Following Module http://www.budgetbot.com
[14] http://www.james.vroman.com/tecbot1a.htm james@vroman.com [15]
http://www.james.vroman.com/javbot1a.htm