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..😁

Replies

  • Kaustubh Katdare
    Kaustubh Katdare
    Man! This was needed! Please do make sure you start a new thread for each tutorial.

    Great initiative!
  • ms_cs
    ms_cs
    😁...Nice...Start it soon silverscorpion
  • shalini_goel14
    shalini_goel14
    Good thread Scorpion. 😁
    Well I will just like to know how in actual this robot kind of stuff is made πŸ˜•
  • Black_Rose
    Black_Rose
    Hey sounds good look forward to reading this thread *goes to subscribe*
  • sauravgoswami
    sauravgoswami
    nice initiative,a request, we hope your tutotials will be better than those coaching classes!!!
  • scorpionmaks
    scorpionmaks
    Good initiative ! sounds interesting...
  • vinod12345madhu
    vinod12345madhu
    this will be a very useful website scorpion....
  • vinod12345madhu
    vinod12345madhu
    i am very much intreasted in robotics... please start from the basic tutorials
    thanks
  • hinduja.prasad
    hinduja.prasad
    yeah please.........start soon that's a great idea..........i request you to start from line folower robots.😎
  • Harshad Italiya
    Harshad Italiya
    Nice Initiative Scorpian!!

    Cheers

    Godfather
  • silverscorpion
    silverscorpion
    Well, 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.


    1. A robot may not injure a human being or, through inaction, allow a human being to come to harm.
    2. A robot must obey orders given to it by human beings, except where such orders would conflict with the First Law.
    3. 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
    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?
  • silverscorpion
    silverscorpion
    Manual 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.
  • silverscorpion
    silverscorpion
    And 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!!
  • ananth22290
    ananth22290
    Wow that was really useful!!!!!!
    Awaiting ur next tutorial
  • Kaustubh Katdare
    Kaustubh Katdare
    New tutorials into new threads, please πŸ˜€
  • ms_cs
    ms_cs
    silverscorpion
    And 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!!
    Thank you..My doubts are cleared:smile:
  • sarveshgupta
    sarveshgupta
    silverscorpion
    Manual 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.
    can you explain a little more about the ports..?😲
  • silverscorpion
    silverscorpion
    You 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 Italiya
    Harshad Italiya
    Awesome Work There SS.
  • shalini_goel14
    shalini_goel14
    Hey 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
  • silverscorpion
    silverscorpion
    ok, 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_cs
    ms_cs
    One 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_goel14
    shalini_goel14
    Hey 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_cs
    ms_cs
    I 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
    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_Rose
    Black_Rose
    Silver scorpion, an interesting and informative read. Look forward to the next one. =)
  • silverscorpion
    silverscorpion
    Hi all,
    The next tutorial is up.
    Please take a look.
  • deeps31
    deeps31
    Hello,

    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
  • silverscorpion
    silverscorpion
    I 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..
  • silverscorpion
    silverscorpion
    Whatever 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_vsd
    et_vsd
    well.. grt going.. u r a good teacher..
  • Ashraf HZ
    Ashraf HZ
    Regarding 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
    silverscorpion
    ash
    Regarding 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
    Sure thing. Will look into it...😁
  • deeps31
    deeps31
    Hi,

    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 πŸ˜€
  • vinod12345madhu
    vinod12345madhu
    i 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
  • silverscorpion
    silverscorpion
    For all you soldering newbies, here's a great and extensive tutorial on soldering. Very nice and elaborate. Enjoy!!

    #-Link-Snipped-#

    Cheers!!
  • silverscorpion
    silverscorpion
    deeps31
    Hi,

    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.
  • silverscorpion
    silverscorpion
    vinod12345madhu
    i 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..
  • vinod12345madhu
    vinod12345madhu
    thanks a lot...
  • vinod12345madhu
    vinod12345madhu
    thanks a lot... silverscorpion
  • vinod12345madhu
    vinod12345madhu
    is there any website or blog which provides simple instructions for making a small bot
  • ms_cs
    ms_cs
    SS Will Help you with the links...
  • rahul pathak
    rahul pathak
    i need help for make six leg robot
  • silenthorde
    silenthorde
    Hello 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
  • cooltwins
    cooltwins
    That is an awesome initiative

    i have been searching for good stuff on robotics for the past few days

    looking forward to it πŸ˜€
  • decarus
    decarus
    hi. 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 ?
  • arjunoids
    arjunoids
    havent u started yet?
  • parjanyaroy
    parjanyaroy
    hie 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 πŸ˜€
  • rushi53
    rushi53
    thanks for initiating this topic
    keep on posting
  • jvivin1990
    jvivin1990
    hi 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...
  • abhishekverma
    abhishekverma
    oh great!!!!!!!!!!!!!! u hv read my mind i guess!!!!
  • lordisdeepak
    lordisdeepak
    jvivin1990
    hi 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...
    hello jvivin,
    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 poduval
    arjun poduval
    hi,
    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...