Basically, I think, the answer is -- it does not matter. But two factors are useful to keep in mind. One, if you are looking for a language that deals with manipulation of robotic hardware, then a language which provides that kind of interfaces is important. C/Java/etc seems good here. Second: if your robotic application is not simply motion control and the like, but involves higher level things like reasoning, use of large amount of domain knowledge (e.g. conversations in natural language), etc then languages which are at a high level will be preferred. So, sharing more information about what kind of robots you have in mind, would be useful.
i want to make a robot with sensing feature , eg : it can choose its route in order to move in , i ma not so familiar with C honestly but wish to know more about how to start working with this feature
As per my knowledge VHDL programmings are used to design robot brain. but that is required when you are approaching gate level designing. You have command on many high level languages. you can easily handle your problem. But difficulty level arise how you want to read the path? suppose you have 3 paths 30 degree apart from a common starting place among which 2 have obstacles one is free in that case simply you can use echo principle with micro controller programming (with proper delay). you can feed paths (map) by image processing then select one path ur robo will move on the path. but keep a provision for sudden arrive obstacles. So how you analysis your problem along with which micro controller you will use will lead you to language.
Your question is a good one. But the appropriate choice of language depends on how deeply you want to dig.
If you are more interested in the high-level functions of a robot (or even a *simulated robot in a virtual environment*) then the answer will be very different from actually caring about slew-rates of servos, and switch de-bouncing.
But firstly, what type of robot are you considering? A real device? And if so, do you intend for it to carry its own processing hardware, and what phenotype does it correspond to?
(a biped, wheeled rover, hexapod etc.)
If, for example, you are making a wheeled device that is not tethered to a computer (wirelessly or otherwise) then you might choose a fairly low-level language, perhaps even using an Arduino, or C-like language running on a small Linux system.
If you are building a path-finding & object-recognizing device and it is tethered wirelessly to a desktop, then I'd even start thinking about LabVIEW (!), but would probably go for Python, or something even a little higher.
i don't want to make a stand alone robot , i was thinking of making one taking real decisions through computer PC , i am not familiar about python , i just work with microsoft .net languages ,
LabVIEW is a programming environment made by National Instruments. I use it at work, it is available for WIndows/Mac, and is primarily designed to control industrial equipment, it has some powerful bolt-on toolkits (stats, even allows Matlab to run within it), but it is very different conceptually to standard DCL languages. It is quite a high-level environment, you don't have to hand-code fast loops to buffer a camera data stream :) but instead would join pretty icons with multicoloured lines.
Seriously.
It's not 'wrong' but it wouldn't easily teach you much about mechatronics or mechanics.
Your other points:
1) Cool. No need for low-power processors. You can do all the 'heavy-lifting' on the PC.
2) Yep - plain ol' webcam, maybe a pair of them to do some parallax work and so identify shapes from matched vertices.
Consider an ultrasound 'sonar' to get crude ranging.
3) Fair - nothing too challenging and I imagine that there are plenty of groups that have achieved this. You're basically describing a Kinect on wheels.
Is this achievable? Sure.
With MS tools? Probably.
Certainly there'll be some open-source code out there somewhere (quickly Googles)
PBASIC is a microcontroller based version of BASIC created by Parallax, Inc. The language was created to bring ease of use to the microcontroller and embedded processor world. PBASIC is used for writing code for the BASIC Stamp microcontrollers. After the code is written it is tokenized and loaded into an EEPROM on the microcontroller. These tokens are fetched by the microcontroller and used to generate instructions for the processor.
Contents [hide]
1 Syntax
2 Programming
3 Other Chips
4 External links
[edit]Syntax
When starting a PBASIC file, the programmer defines the version of the BASIC Stamp and the version of PBASIC that will be used. Variables and constants are usually declared first thing in a program. The DO LOOP, FOR NEXT loop, IF and ENDIF, and some standard BASIC commands are part of the language, but many commands like PULSOUT, HIGH, LOW, DEBUG, and FREQOUT are native to PBASIC and used for special purposes that are not available in traditional BASIC (such as having the Basic Stamp ring a piezo-speaker, for example).
[edit]Programming
In PBASIC you have to select 1 of 7 different basic stamps, BS1, BS2, BS2E, BS2SX, BS2P, BS2PE, and BS2PX, and to that you have to select one of these commands:
' {$STAMP BS1}
' {$STAMP BS2}
' {$STAMP BS2e}
' {$STAMP BS2sx}
' {$STAMP BS2p}
' {$STAMP BS2pe}
' {$STAMP BS2px}
you also have to select a PBASIC version. To do that you have to select one of these commands:
' {$PBASIC 1.0} ' use version 1.0 syntax (BS1 only)
You quoted straight from the wikipedia entry for PBASIC, surely it would have been better to just post the URL and an explanation?
Billy, there are many low-level microcontrollers around. Stamp, Atmel, Propeller, etc.
I would disregard them as your robot is tethered (USB? ethernet?) to a PC, and you can use more powerful software as a result.
But.
If you do ever reach the stage of building autonomous devices, you may want to look at the Propeller architecture. This uses a processing chip with n (currently n=8) separate cores. If you had a hexapod, you could devote a whole core to running each leg, with a core to coordinate the motion.
All in parallel, and somewhat like a real creature which will have reflexes built into each leg.
Arduino is an interesting (open source) microcontroller board for building robots, it connects via USB to a PC and has many analog and digital I/O pins to connect to a wide variety of sensors. You most probably need such platform for the "low level" controllers (sensor, wheels, ...). There are plenty of projects (hobbyists and pro) that are using Arduino; a big European research project is using it to build intelligent domotics applications and connected objects (Internet of things).
As for the web cam video analysis, I recommend OpenCV which is a quite powerfull computer vision library (it has a C++ interface and can be used in .net). You can use it for (just some examples) face detection/recognition, for object detection, ...