Learn robotics...
Hi Ceans,
This thread is due to the requset of some fellow CEans, to teach basic robotics. I'm not an expert in robotics, but i do know something in it, and I've built quite a few of them. I wish to share my experiences in robotics, and also wish it serves as a tutorial for newbies in robotics.
Everybody is welcome to give any suggestions or point out mistakes and correct me. Also, if you know something better than me, then you can teach me. I'll be happy with that. Now, I might not be able to post the articles continuously or on a regular basis., But I'll somehow do it whenever I get time.
Everyone aspiring to build a bot are welcome to try out and feel free to ask questions.
Tutorials will begin soon. Keep your fingers crossed..π
This thread is due to the requset of some fellow CEans, to teach basic robotics. I'm not an expert in robotics, but i do know something in it, and I've built quite a few of them. I wish to share my experiences in robotics, and also wish it serves as a tutorial for newbies in robotics.
Everybody is welcome to give any suggestions or point out mistakes and correct me. Also, if you know something better than me, then you can teach me. I'll be happy with that. Now, I might not be able to post the articles continuously or on a regular basis., But I'll somehow do it whenever I get time.
Everyone aspiring to build a bot are welcome to try out and feel free to ask questions.
Tutorials will begin soon. Keep your fingers crossed..π
Replies
-
Kaustubh KatdareMan! This was needed! Please do make sure you start a new thread for each tutorial.
Great initiative! -
ms_csπ...Nice...Start it soon silverscorpion
-
shalini_goel14Good thread Scorpion. π
Well I will just like to know how in actual this robot kind of stuff is made π -
Black_RoseHey sounds good look forward to reading this thread *goes to subscribe*
-
sauravgoswaminice initiative,a request, we hope your tutotials will be better than those coaching classes!!!
-
scorpionmaksGood initiative ! sounds interesting...
-
vinod12345madhuthis will be a very useful website scorpion....
-
vinod12345madhui am very much intreasted in robotics... please start from the basic tutorials
thanks -
hinduja.prasadyeah please.........start soon that's a great idea..........i request you to start from line folower robots.π
-
Harshad ItaliyaNice Initiative Scorpian!!
Cheers
Godfather
-
silverscorpionWell, here we go. I start by providing a basic idea of a robot and it's
intricacies. I don't wish to go to technical details in the first tutorial.
- A robot may not injure a human being or, through inaction, allow a human being to come to harm.
- A robot must obey orders given to it by human beings, except where such orders would conflict with the First Law.
- A robot must protect its own existence as long as such protection does not conflict with the First or Second Law.
Well, no points for guessing what the above statements are. And for those
who can't identify what these are, I seriously suggest you start reading
Isaac Asimov books. Or at least watch more sci-fi movies.
Moving on, let's first know what is a robot. If I was asked to define a
robot, I would say that it can't be defined. A robot can have wheels. Or it
can have legs! Even better, it may be stationary also. And, it may be
autonomous, taking decisions and working on it's own. Or, it may be
manually controlled using a remote. So, you see, a robot can be anything
and can do anything. There's no strict or loose definition for a robot, as far
as I know.
So, I'd start by defining at least the types of robots.
1) Classified based on the level of complexity and professionalism involved,
I will classify robots into two-namely, hobby robots and industrial
robots.
Hobby robots - I couldn't get a better name for the category - are done
as a hobby by enthusiasts, for pleasure or for some competitions or
projects. They are not reliable.
Industrial robots are used in the industry for automation, like for welding
or painting or other tedious tasks requiring precision and reliability. They
employ complex control systems to ensure the robot is reliable, ie, it doesnt
fail for any change in the environment.
I haven't yet ventured into industrial robots and so, we'll be concentrating
on simple robots here.
2) Based on the control mechanism, I'd classify robots into three-
autonomous, semi-autonomous and manual.
Manual robots are controlled by humans, by remote wireless control or by
a computer, may be.
Autonomous robot are controlled by micro processors, without human
intervention.
Now, semi-autonomous robots are controlled by a computer software.
As an example, I can cite a robot that's controlled by the computer by the
use of MATLAB or Visual Basic or some similar software. Ideally, these are
same as autonomous robots, but I'd like to have an extra classification.
Now, there's a separate category of robots called BEAM robots or solar
bots. Although all the bots mentioned above can use solar energy, BEAM
robots are markedly different. I'll explain about BEAM later. Now, just know
that they are just another separate category of robots and the field of
BEAM robotics is as deep and matured as any other mainstream engineering
field.
I'd like to go on and on, but I guess the post will be too long then, and
you'd lose patience. So, I stop here for my first class, and I'll continue
soon.
Hope you all like this. Continue your support for this. And do ask any
questions regarding today's class.
And lastly, the three statements in the beginning of the lecture are the
three laws of robotics, introduced in the book, I Robot by Isaac Asimov. -
ms_csπVery Nice...
Is it possible to have a manual robots or semi autonomous robots which can be controlled by computer using java ??
Which are the computer languages are used to program the robot? -
silverscorpionManual robots do not need programming languages to control them.
And as for semi autonomous robots, yes, you can control them using Java. In fact, almost any programming language can be used to do that.
All you need to do is connect your robot to the computer by some means, which would obviously be through some ports. LIke USB port or parallel port, or your RS232. And then, the next step is to send signals to the port through some programming languages.
If you can send and receive signals from a port, you can interface your bot with that port. -
silverscorpionAnd I'd also mention that, the most commonly used languages are C and MATLAB. I've also seen some bots controlled by Visual Basic and rarely, C++ too. I'm yet to see a bot programmed using JAVA. I dont know why it's not used, but I'm sure that Java can also be used in much the same way.
The reason for C and VB being used largely, is that DLL files for controlling parallel ports and serial ports readily exist in the internet, and you can easily interface.
Matlab is used for it's extensive image processing capability. Image processing based robots will be easy to build using matlab than by any other languages.
Also, of the ports I've mentioned, parallel port is obviously the easiest to work with, and next comes the serial port or the RS232. USB is the hardest. It's not at all easy to interface anything with a USB port, by ourselves. So, it's better to start of woth parallel port, which is what we will bw doing.
Hope I cleared your doubts. Cheers!! -
ananth22290Wow that was really useful!!!!!!
Awaiting ur next tutorial -
Kaustubh KatdareNew tutorials into new threads, please π
-
ms_cs
Thank you..My doubts are cleared:smile:silverscorpionAnd I'd also mention that, the most commonly used languages are C and MATLAB. I've also seen some bots controlled by Visual Basic and rarely, C++ too. I'm yet to see a bot programmed using JAVA. I dont know why it's not used, but I'm sure that Java can also be used in much the same way.
The reason for C and VB being used largely, is that DLL files for controlling parallel ports and serial ports readily exist in the internet, and you can easily interface.
Matlab is used for it's extensive image processing capability. Image processing based robots will be easy to build using matlab than by any other languages.
Also, of the ports I've mentioned, parallel port is obviously the easiest to work with, and next comes the serial port or the RS232. USB is the hardest. It's not at all easy to interface anything with a USB port, by ourselves. So, it's better to start of woth parallel port, which is what we will bw doing.
Hope I cleared your doubts. Cheers!! -
sarveshgupta
can you explain a little more about the ports..?π²silverscorpionManual robots do not need programming languages to control them.
And as for semi autonomous robots, yes, you can control them using Java. In fact, almost any programming language can be used to do that.
All you need to do is connect your robot to the computer by some means, which would obviously be through some ports. LIke USB port or parallel port, or your RS232. And then, the next step is to send signals to the port through some programming languages.
If you can send and receive signals from a port, you can interface your bot with that port. -
silverscorpionYou mean the paralle ports and RS232? What do you want to explain? Be clear in your
query.
And if you wanna know about port interfacing, you'll have to wait till we get there in
our tutorial. But you can check the forum for the same.
I remember, xheavenlyx has written an excellent tutorial about parallel port interfacing.
Search for that in the forums. -
Harshad ItaliyaAwesome Work There SS.
-
shalini_goel14Hey Scorpion
Few questions from my side:
1. Have you ever made any robot using Java.
2 Can we try one using Java during this tutorial class itself?
3. Can you clear the difference between autonomous and semi autonomous robots?
4. What do these ports do? Do we need these ports thing in autonomous kind of robots also?
5. Do Autonomous robots require programming?
Thanks -
silverscorpionok, a volley of questions.. I like that..
Answering one by one,,,
1) No. I've never made a bot using Java. The languages I've used so far are C and MATLAB.
2) Well, I feel there's nothing special to 'try' using Java. I've done it using C, and I'll show you how it can be done. As for Java, I don't know Java. So, may be you can show me how to do it, based on how I did it in C. (Am I clear??)
3) Autonomous and semi autonomous.. Well, to put it simply, autonomous bots are completely self contained. They dont require external assistance to work.
Let's take an example. Let's say you make an image processing robot. There's a camera and there's live video feed arriving to you. You feed the video to MATLAB, process it in the computer, and through the computer, issue commands to the robot to move. That is semi autonomous.
The same image processing, if performed by DSP processors or other powerful processors in the robot itself, without use of computer, it's fully autonomous.
The same is true for all types like line followers or micro mice etc..
4) The ports are basically used to issue commands to the robot on wat it should do. They are also used for collecting info about the environment from the robot. Port is simply a communication channel between the computer and the robot. And obviously, we dont need ports for fully autonomous bots.
5) Absolutely. Autonomous robots require programming, and programming is the most important part in design of autonomous bots. Your program will be serving as the brain of the robot.
All doubts cleared?? It'll all be more clear when I give you the next lesson. I'll tell you about the basic framework of a robot. Wait for that..
Cheers!! ππ -
ms_csOne More doubt ...π...
Is it possible to issue the command from system , by using any wireless technology ?
Then ,,,Whether bluetooth technology is used? What are the other technologies we have to control the robots from the computer system? -
shalini_goel14Hey thanks a lot Scorpion for answering my questions so well. π
Conclusion is "autonomous" type of robots are difficult ones right? I would surely like to make such a robot in Java ? π
One more question, what kind of robots are more common and easy to make? -
ms_csI heard that,,,Java is initially used only for embedded side projects which was called as Oak...
If I am wrong ..do correct me guys.. -
silverscorpion@Shalini: There are lots of issues in building a robot. It's not that autonomous bots are outright difficult, and manual bots are easy. Everything depends on what you want your robots to do, and how you are gonna make it do it.
There are a lot of trade offs involved in any robot.
@ms_cs :
Yes, bluetooth can be used to control robots from the system. Infact, they are commonly used nowadays. And about other wireless technologies, any sophisticated technology can be used, as long as you can make a sufficiently complex transmitter receiver pair. You can use infra red to control bots because, it's really easy to generate and receive IR rays. You can buy an RF module and use it too. Not so difficult. But as you move on, more complex technologies require proportionately complex circuits. Even AM or FM can be used. -
Black_RoseSilver scorpion, an interesting and informative read. Look forward to the next one. =)
-
silverscorpionHi all,
The next tutorial is up.
Please take a look. -
deeps31Hello,
me myself a 1st year mechanical engineering student, interested in robotics, i have a built a simple light sensing & responding robot using atmega8 MCU, but i used a bread board. I would like to know how to use a PCB instead of bread board.
Thanks & regards -
silverscorpionI infer you have no experience in soldering. Am i right?
Making a pcb given you have the circuit diagram is not difficult at all.
You can just decide on your own layout for the components, place them on a blank board, and solder the connections yourselves.
Or you can do a full fledged printed circuit board by using a copper coated wafer and a chemical solution.
Even better, you can guve the circuit to a PCB maker and get the PCB fabricated. it's not too costly, and you can be sure that the PCB will work.
Usually, a ckt will work in breadboard, but after soldering, there'll be some bugs. That wont happen if you fabricate the PCB in a shop.
But you can do it yourself too.. -
silverscorpionWhatever be the case, you cannot begin soldering or dong a pcb straight away. You have top test the circuit in a bread board first, and only after you are sure that the ckt works for all cases, you should go on about soldering.
Have I cleared your doubts?? -
et_vsdwell.. grt going.. u r a good teacher..
-
Ashraf HZRegarding soldering, SS.. maybe you can add pics or even videos on how to solder a component? That would be interesting π
I'll try adding them if I have time after my exams -
silverscorpion
Sure thing. Will look into it...πashRegarding soldering, SS.. maybe you can add pics or even videos on how to solder a component? That would be interesting π
I'll try adding them if I have time after my exams -
deeps31Hi,
Thanks ton for the replies, i really did not expect such prompt replies! u people rock--cheers CEforums π & i do have some experience in soldering, had to solder that parallel port programmer circuit, and you need not waste time posting snaps & vids on soldering for the sake of me...anyways thanks...i tried the circuit on a breadboard & it was working fine, but there was a small problem , the MCU would not just fit properly into the holes, i must apply some pressure on it to make it work...any remedies for this? i tried twitching the pins but it just would not fit. & i'm just a starter, could you suggest some projects to work on...& it would be really nice if you can put up a topic exclusively for coding...
Once again thanks a ton CE!!!!
Regards
Deepak
long live CE π -
vinod12345madhui want to know weather we can use a webcam conected to a bot and watch live video trnsfer on a tv screen or a pc?
thanks -
silverscorpionFor all you soldering newbies, here's a great and extensive tutorial on soldering. Very nice and elaborate. Enjoy!!
#-Link-Snipped-#
Cheers!! -
silverscorpiondeeps31Hi,
Thanks ton for the replies, i really did not expect such prompt replies! u people rock--cheers CEforums π & i do have some experience in soldering, had to solder that parallel port programmer circuit, and you need not waste time posting snaps & vids on soldering for the sake of me...anyways thanks...i tried the circuit on a breadboard & it was working fine, but there was a small problem , the MCU would not just fit properly into the holes, i must apply some pressure on it to make it work...any remedies for this? i tried twitching the pins but it just would not fit. & i'm just a starter, could you suggest some projects to work on...& it would be really nice if you can put up a topic exclusively for coding...
Once again thanks a ton CE!!!!
Regards
Deepak
long live CE π
Oh, that's ok..
As for MUC positioning, it'll be difficult to do it in bread board, and I think You can do nothing about it. You'll have to get used to it.But, be careful while taking out the MUC from bread board. If you break or bend some pins in it, then it's gonna be difficult.
About the projects for starters, I presume it's in robotics. I'd suggest you start from Line follower. And since you are from mechanical stream, I'd say you do a mechanical oriented robot after line follower. Like, sumo robot or something that lifts weight, for ex.
I'll over coding in a while. But, if you think about it, MUC coding is really easy. You dont have to go for assembly programming if you feel it's difficult. You can also doit in C. And C is very easy. You'll be using only loops and if's. Nothing else. -
silverscorpionvinod12345madhui want to know weather we can use a webcam conected to a bot and watch live video trnsfer on a tv screen or a pc?
Yes, You can do it. And more too..
You can use image processing programs like MATLAB or OpenCV to do this. Actually, MATLAB is so simple that you can interface the camera ant the bot with your computer in a jiffy.
And then, you can transfer live video feed to the PC and view it, or capture snapshots from the camera and do some image processing, etc. The possibilities are limitless.. -
vinod12345madhuthanks a lot...
-
vinod12345madhuthanks a lot... silverscorpion
-
vinod12345madhuis there any website or blog which provides simple instructions for making a small bot
-
ms_csSS Will Help you with the links...
-
rahul pathaki need help for make six leg robot
-
silenthordeHello silver scorpion
Great endeavour, keep it coming.....
Id love to learn about PCB designing.....from scratch....Cn u dedicate a thread for that as well -
cooltwinsThat is an awesome initiative
i have been searching for good stuff on robotics for the past few days
looking forward to it π -
decarushi. Wanna ask is it possible to control(program) one of the motor like for example its knee to move at a certain degree for one condition and other degree for other condition . If its possible what kind of motor is that ? what program is used to control ?
-
arjunoidshavent u started yet?
-
parjanyaroyhie all ....
first of all ..... this is a gr8 thread .... thnx a ton for starting it
now i'm a newbie in robotics (2nd year in Elec..nd i dont have much of an idea regarding microcontrollers and how to program them. I only know the basics of C and C++ nd at present m learning MATLAB ... so ... is it possible to build bots without knowledge of microcontrollers ??
thnx a ton in advance π -
rushi53thanks for initiating this topic
keep on posting -
jvivin1990hi all,
i have started building a line follower for a competition.but the constraint given is a black line(width 20cm) in a white background.
my idea with 4 ir sensors works only for thin black lines.in this case how can we build such wide robots ?
how much sensors will be needed? is there exists any alternative idea?
pls reply competition is nearing... -
abhishekvermaoh great!!!!!!!!!!!!!! u hv read my mind i guess!!!!
-
lordisdeepak
hello jvivin,jvivin1990hi all,
i have started building a line follower for a competition.but the constraint given is a black line(width 20cm) in a white background.
my idea with 4 ir sensors works only for thin black lines.in this case how can we build such wide robots ?
how much sensors will be needed? is there exists any alternative idea?
pls reply competition is nearing...
you can use 4 sensors in case of wide strip you have to follow do programming accordingly.
i don't know any other alternative in this case. -
arjun poduvalhi,
i wanted to construct a fire-fighting robot.. To start with, i have two queries:
1. The concept of fire-fighting robot is patented and its been used in competitions too.. But is it commercial yet?
2. I have very less experience with the programming concept of robotics.. Could you give me some technical helping hand??
You are reading an archived discussion.
Related Posts
Here's wishing CEan Jatin Phoenix -
πVERY HAPPY BIRTHDAYβπ
May your dreams come true!β
what is diffrence amoung
x=25;
x=x++ + ++x;
and
cout<
Hello,
My company is currently looking for an experienced electronics engineer to continue a project for a battery management system (preferably in the general New York City area).
If you...
could someone help me about this folder option because I accidentally hid my folder in my drive d.. and I can't unhide it because I can't see it at the...
Hello!I'm new here. I've been browsing tons of forums for an idea of what to do. I was laid off from my job about 3 month ago. I've been looking...