Society of Robots - Robot Forum

Software => Software => Topic started by: lexxtoronto on March 16, 2015, 06:31:17 PM

Title: Which programming language or platform to start with?
Post by: lexxtoronto on March 16, 2015, 06:31:17 PM
I really want to start looking into robotics programming. Ive done some research and there are many different languages used for robotics programming. C/C++ are not my favourite languages, but if I have to I will work with them.

I would like to start with a language that can also be used to other purposes because while Im perfecting my skills in that language or looking for a job in robotics with that language I would be able to work somewhere else since robotics is a narrow industry and I dont want to spend time learning a language that I can't use anywhere else in case it takes years to land a job there.

(1) I was thinking of Python, I think I read it here somewhere that Python can also be used for robotics programming, and of course it is used for web development.

(2) Also Microsoft has Robotics Developer Studio that uses C#. It is also a good option (because of ASP.NET), but I don't know how serious this Developer Studio is, I mean will it help me land a job or is it just for learning purposes?
Title: Re: Which programming language or platform to start with?
Post by: mklrobo on March 17, 2015, 03:30:03 PM
 :) hello!
I would offer an opinion.
In your dual quest for learning a programming language and
learning in  robotics, it may be a good idea to hedge your bets.
In other words, invest in a well supported robot product, which
also gives a wide learning platform in a mainstream language.
By this direction, I would look at Parallax products, specifically
the basic stamp, (pbasic and simple) to the Propeller.(more complex,
uses combos of C++, java, python, concentrated in a crucible language
called SPIN
). Their products are well supported, by techs and forum,
and have accessories to accommodate your robotic growth.
Remember, a journey of a thousand miles begins with one step.  ;)
Good Luck!  ;D ;D ;D
Title: Re: Which programming language or platform to start with?
Post by: lexxtoronto on March 17, 2015, 06:21:52 PM
Thank you! Im a bit sceptical about Parallax because both PBASIC and SPIN are specific to Parallax; I mean I dont want to invest in languages that dont land me a job, or will they? I was looking for languages that would also be good for me in the long run in terms of employment.

I mean if I had lots of time I would def try Parallax, but time is very precious to me.

I don't think my knowledge of PHP and Javascript are of any use here, thats why I was thinking of Python.

What do you think of MRDS? Is it of any use in terms of getting a job?
Title: Re: Which programming language or platform to start with?
Post by: Schlayer on March 18, 2015, 06:59:05 AM
Arduino platforms use AVR processors which means they can work with a variety of languages, but Adafruit has their own specific programming language that is very similar to Javascript. I personally have explored into Javascript myself before ever working with this language, and I would have to say that if you understand Javascript basics it becomes rather intuitive to program an Arduino. They are also very cheap micro controllers and Adafruit provides numerous libraries to support all kinds of sensors and such with pre-built code snippets, making your life even easier.  I personally love Python, as a computational language, but the language itself necessarily runs much slower than any scripting language like Javascript. It also tends to be much less straightforward to use in robotics than the modified Javascript that Adafruit has created. Arduino is also a very widely supported architecture and you can get help easily online for almost any sort of issue you come across.
Title: Re: Which programming language or platform to start with?
Post by: lexxtoronto on March 18, 2015, 10:18:40 AM
That's awesome, thank you. But what about in terms of employment? Any big companies use Arduino or MRDS?
Title: Re: Which programming language or platform to start with?
Post by: mklrobo on March 18, 2015, 10:29:31 AM
 :) Hello!
In your quest for a job in robotics, the area is specialized, and would require
you to move (I am sure) to the plant/facility that centers around the robot of
development. To define MRDS;
Microsoft Robotics Developer Studio (Microsoft RDS, MRDS) is a Windows-based environment for robot control and simulation. It is aimed at academic, hobbyist, and commercial developers and handles a wide variety of robot hardware. It requires the Microsoft Windows 7 operating system.
Features include: a visual programming tool, Microsoft Visual Programming Language for creating and debugging robot applications, web-based and windows-based interfaces, 3D simulation (including hardware acceleration), easy access to a robot's sensors and actuators. The primary programming language is C#.
Microsoft Robotics Developer Studio includes support for packages to add other services to the suite. Those currently available include Soccer Simulation and Sumo Competition by Microsoft, and a community-developed Maze Simulator, a program to create worlds with walls that can be explored by a virtual robot, and a set of services for OpenCV. Most of the additional packages are hosted on CodePlex (search for Robotics Studio). Course materials are also available.

The heart of this particular seems to be C#.
Insofar as a job, I would tend to acquire at least an associate degree in eletronics/networking, if you were
to approach your robotics agenda. The degree will see you through the tough times, and give insight
into your objective. Parallax and Lego are one of the companies that support MRDS.
If you buy some robotics kits, I would use them for learning, and enhancing my knowledge of Robotics. programming, and electronics; avoid using them as a platform to acquire a job. To acquire a job in robotics in industry, you will probably have to talk to them directly, as the information may be proprietary. Good Luck! ;D ;D ;D
Title: Re: Which programming language or platform to start with?
Post by: lexxtoronto on March 18, 2015, 05:06:42 PM
Thank you for your answers and the time you took to reply!

It was valuable for me to learn from people who actually deal with robotics as I have no idea how this industry works. You are right, I was looking through some programming job descriptions for robotics and many of them required to also have an engineering degree.

And why I was asking about MRDS is because I know some C# so it looked interesting because I could also do some ASP.NET if it doesnt work out with my robotics ambitions.