Getting into Robotics?

Pages: 12
Next year I'm going to start messing around with a Lego Robotics in school with C++. I'm wondering though, is there a good book on real Robotics with C? (As I understand C is used more often, then there's industry languages like CNC)
CNC is not a language, M is a language for CNC milling machines. It's not turing complete, just so you know.

I have experience with the Vex Robotics Design System and have for years gone to competitions. The two major software for programming their microcontrollers are EasyC and RobotC - don't let the packaging fool you, EasyC uses a real GCC compiler whereas RobotC claims to be pure C but is actually some non-standard dialect.

I've also used LEGO MINDSTORMS NXT, which can be programmed with RobotC or ...I forget the name, but it's visual grid-based and it's a very good tool.

BEST robotics used to use a B.R.A.I.N. and other things but they switched to Vex components. I think they're local to Dallas though, so unless you live in Texas you probably won't be dealing with them.

To answer your question:
C is adequate for most simple things (like these robotics competitions) but when you want to do more, C feels like a limiting factor to me. In fact it's actually a bad thing that the code runs so fast, it often results in very fine-grained control over motors that aren't designed for such and so they burn out quite often. I would recommend a high-level language for Robotics if possible.
C is adequate for most simple things (like these robotics competitions) but when you want to do more, C feels like a limiting factor to me. In fact it's actually a bad thing that the code runs so fast, it often results in very fine-grained control over motors that aren't designed for such and so they burn out quite often. I would recommend a high-level language for Robotics if possible.
I would tend to have the opposite view. Start withe the high-level stuff to learn the basics and move to C when you start running out of head room in your controllers.

As for books, are you after learning about robotics or more the embedded systems programming?
Well, As far as I know there is a language I remember which is used in Programming Robots but I have a terrible memory so I cannot remember. Will Edit if I remembered it.

If you wish to go and perfect Robotic programming look here: http://social.msdn.microsoft.com/Forums/en-US/category/robotics/

There are intelligent programmers who have Good Experience with programming Robots.

I think programming PLCs or other Industrial Equipment will give you more better understanding and ease of programming robotics as Industrial Equipment are so close to robots that you will find it easier to program Robots.

I want to program robots, but first I am learning programming Industrial Scale Equipment[s]. As it will not only give you more lower level knowledge about the hardware functionality of Robots but also new skill.

Good Luck!

BTW: LB is actually right about what he said Higher Level Languages are just not designed for such *slow* equipment compared to Computers.
Last edited on
SpaceWorm wrote:
Well, As far as I know there is a language I remember which is used in Programming Robots ... I think programming PLCs or other Industrial Equipment
Would you be thinking of Ladder logic?
http://en.wikipedia.org/wiki/Ladder_logic
Last edited on
Na, it was very similar to C++ and other Higher Level Programming but it has different keywords and lower functionality.
I want to mess about with it too, whats a good material for building your own robots from scratch i wonder.

(tin foil and cardboard boxes XD, no really)
Hi,

Materials needed to program and create robots are:
[-] Aluminum
[-] Wood - Light wood
[-] PLC \ Microcontroller
[-] RF controllers\ IC chips
[-] Super Glue \ Velcros
[-] Power Supply - Batteries \ Solar Panels
[-] Lighting - Small Lights
[-] Soldering Iron Kit
[-] Fan or such to cool PLC \ Microcontrollers

These are the Crème de la crème of Building Robots.
Of course I cannot guide exactly what equipment you need for a Robot as each Robot Parts tend to completely different. I use Siemens PLCs for programming Robots \ Industrial Equipment.
I got a small disposable income, i would like to make a robot arm first, no idea where to start.

i got a PI so theres the brains.

balsa wood would be easy to use just it wont be beautiful, aluminium is really expencive, and isnt copper easier to work?

and getting servos to pull on the right parts of the arm, would be hard to get sensitive as you would like, it all already sounds to hard :/ maybe if I can make a switch knife, thats delicate balancing of spring loaded arms
Hi,

Well, PI personally is a very very bad equipment to use into Robotics \ Industrial Programming as it does not have the ease of using.

So if you are with me I would say take it out of your "list".


Well Balsa may not be as pretty but it is cheap and fairly easy to shape and cut whereas Aluminum may make your Robot \ Industrial Equipment pretty it is costly and dangerous at times to use basically I never used it except this one time when it cut me badly. Well, the thing is copper would probably start corroding \ and greenish bits will start to appear and if these bits fall into the PLCs they can cause pretty bad damage to the robot internally and hardware.

The way you can control the servos to pull right parts is via creating a making a water pressure \ oil pressure muscles which the PLC will push the oil to tighten it therefore creating a movement and to be honest arms are way to difficult first create a simple rover. Trust me that's the right place. If you want to know how to create it just post here.
Well,

Easy as it may sound for you but it is simply being a skid and no one likes a skid especially in a Programming Forum such as this one.

Also you will learn nothing and the point of programming and building is to develop knowledge and use it in future without needing to look at other things for reference.
Last edited on
Just remembered the name of the Robotic Language: RobotC

Thanks to L B I remembered it.
Easy as it may sound for you but it is simply being a skid and no one likes a skid especially in a Programming Forum such as this one.

Also you will learn nothing and the point of programming and building is to develop knowledge and use it in future without needing to look at other things for reference.
I think you misunderstand me.
@SpaceWorm: I recommend avoiding RobotC, it isn't real C.
yeah I can see robot arm as wayyy to hard, rover is a classic idea, some kit flies now too, I will be moving in with a physics phd so maybe I can get a little help with flight maths. heh i might mix it with some voice recognision software, maybe even find some face recognision somewhere.


EDIT: you can also get some great components from rs and farnell which act as a distance detecting resistor!!!

I think grey wolf was talking about buying a robot arm and making it work for him, "skid" doesn't suit a lot of the people here dude

EDIT2: what about a big long screw that acts like a muscle by pulling a socket...hard to describe but you know what I mean right, whats wrong with that? I could imagine you could get some good precision and no bounciness with that
Last edited on
Sorry, I did misunderstand you. My bad , please forgive me.

Well thats a simple motor controlled which the PLC tells to move forward or move backward which menas when motor moves the screw moves fowards which ultimately moves the arm. Well , I don't know about presision as I do not actually own one but tend to make my own so forgive me for the lack of knowledge about the precision. Well for sure it would be strong considering the motors must be strong due to the rotation spin level. It reminds me of Centrifuges of Nuclear Enrichment Facilities.
SpaceWorm wrote:
Sorry, I did misunderstand you. My bad , please forgive me.

There is nothing to forgive.

I'm suggesting that rather than starting totally from scratch, devonrevenge gets the "build it yourself robot arm" and modifies (hacks) it while learning. Stating with interfacing a controller to the motors. Then add sensors to the arm to allow the controller to know where it is.. etc. etc.
Heres an interesting thing on robotics, My PI has lots of I/O pins, fun for augmenting with a breadboard but the bloody PI annoys me sometimes and I would like to build my own USB I/O thing.

How would I find out how to build a load of USB pin to usb thing.

and also how to control usb with c++ (c++11)

Its kind of hard to know where to start with engineering, I couldnt type any of that into google because you dont know the words :P

this might deserve its own (more articulate) thread, I will see what happens
Pages: 12