机器人常用的编程语言

1.参考文章:

title:Top 10 Popular Programming Languages in Robotics
website>:http://blog.robotiq.com/what-is-the-best-programming-language-for-robotics

2.目前,什么是机器人常用的编程语言呢?

机器人常用的编程语言_第1张图片
下面表格的排序依次为:least valuable->most valuable(学习主流编程语言总是没有错的,而且,重中之重是The Programming Mindset),也就是说,优先级依次为:【1】C/C++【2】Python【3】Java【4】C#/.NET【5】MATLAB/Octave【6】Assembly(汇编语言)【7】Hardare Description Languages(HDLs)【8】LISP【9】Industrial Robot Languages【10】Basic/Pascal。

编程语言类型 优点 缺点
(1)Basic/Pascal <1>.basis for several of the industral robot language;<2>.basis for several of the industral robot language;<3>. low level coding;<4>.a good”stepping stone”from Basic to a more involved language <1>.a bit outdated to be good for”every use”
(2)Industrial Robot Languages <1>.protect the company’s right <1>.every robot manufacture has their own proprietary robot programming language;<2>.ABB:RAPID,KuKa:KRL(KuKa Robot Language),Comau:PDL2,Yaskawa:INFORM, Kawasali:AS,Fanuc:Karel,Staubli:VAL3,UR:URScrip
(3) LISP <1>.the world’s second oldest programming language(FORTRAN is older);<2>.still quite important within AI programming <1>.not widely used
(4)Hardare Description Languages(HDLs) <1>.a programming way of describing elctronics;<2>.are used to program FPGAs;<3>.all operations are carried out in parallel, rather than sequentially as with processor based languages <1>.specialized programming language
(5)Assembly(汇编语言) <1>.the levels of ones and zeros;<2>. lowest level programming;<3>.most low level electronics required programming in assembley <1>.With the rise of Arduino and other such microcontrollers, you can now program easily at this level using C/C++, which means that Assembly is probably going to become less necessary for most roboticists
(6)MATLAB/Octave <1>.easy to learn;<2>.analyze data, produce advanced graphs or implement control systems, you will probably want to learn MATLAB;<3>. many toolboxes
(7)C#/.NET <1>.Microsoft Robotics Developer Studio, which uses it as its primary language; <1>.learning C/C++ first might be a good option for long term development of your coding skills
(8)Java <1>.an interpretive language;<2>.The theory for using Java is that you can use the same code on many different machines, thanks to the Java Virtual Machine;<3>.Java is quite popular in some parts of robotics, so you might need it <1>.Java “hides” the underlying memory functionality from the programmer, which makes it easier to program than, say, C, but also this means that you have less of an understanding of what it’s actually doing with your code;<2>.Like C# and MATLAB, Java is an interpretive language, which means that it is not compiled into machine code. Rather, the Java Virtual Machine interprets the instructions at runtime;<3>.In practice, this doesn’t always work out and can sometimes cause code to run slowly
(9)Python <1>.huge resurgence of Python in recent years especially in robotics;<2>.Python (and C++) are the two main programming languages found in ROS;<3>.Like Java, it is an interpretive language;<4>.Unlike Java, the prime focus of the language is ease of use;<5>. free libraries for it, which means you don’t have to “reinvent the wheel” when you need to implement some basic functionality;<6>.allows simple bindings with C/C++ code, this means that performance heavy parts of the code can be implemented in these languages to avoid performance loss.
(10)C/C++ <1>.C and C++ are a good starting point for new roboticists, Because a lot of hardware libraries use these languages;<2>.They allow interaction with low level hardware, allow for real time performance and are very mature programming languages;<3>. much more functionality;<4>.robotics is very dependent on real time performance, C and C++ are probably the closest thing that we roboticists have to “a standard language” <1>.C/C++ are not as simple to use as, say, Python or MATLAB;<2>.It can take quite a lot longer to implement the same functionality using C and it will require many more lines of code

你可能感兴趣的:(机器人)