The 10 most popular programming languages ​​in robotics

In this article, we'll look at the 10 most popular programming languages ​​in robotics, delving into their respective strengths and weaknesses and why they are used and discarded.

This is actually a very reasonable question - after all, if you never put it into practice, why spend a lot of time and energy learning a new programming language? If you are a newcomer to robotics, you will certainly want to learn a programming language that is really useful for your career.

Unfortunately, if you ask a room for robotics experts, "What is the best programming language in robotics?", you will never get a direct answer.

Electrical engineers will give different answers from the perspective of industrial robot technology. Computer visual programmers give answers that are different from those given by cognitive robotics experts. Moreover, everyone has their own opinion of what is the best programming language. This is a rather useless answer for a robotic scholar who is trying to decide which language to learn first. Even this is the most realistic answer - because it really depends on the application you want to develop and the system you are using.

For robotics experts, the most important thing is to open up your "programming thinking" rather than mastering a specific programming language. In many ways, it doesn't really matter which programming language you start learning. Every language you learn enhances your programming thinking, and with this kind of thinking, it's a lot easier to learn a new programming language.

There are more than 1,500 programming languages ​​in the world, and there are too many words to learn. Currently, there are 10 of the most popular programming languages ​​in robotics - if you don't like it, please let me know in the message area. For robotics, each programming language has different advantages. I just sorted them in part, from low to high, according to their importance.

10, BASIC / Pascal

BASIC and Pascal are the first two programming languages ​​I have ever learned. But this is not why I listed them here. For several industrial robot languages, they are the basis, as explained below. BASIC is designed for beginners (BASIC is an abbreviation, BeginnersAll-PurposeSymbolicInstrucTIonCode), which allows beginners to learn from a very simple programming language. Pascal is designed to encourage good programming habits and introduces structures such as pointers, which makes Pascal a "knockknock" from BASIC to more complex languages. Nowadays, if these two languages ​​are to be a good "everyday use" programming language, it is a bit outdated. However, if you are going to do a lot of low-level coding or want to familiarize yourself with other industrial robot programming languages, it is still useful to learn.

9, industrial robot programming language

Almost every robot manufacturer has developed their own proprietary robot programming language, which has become a problem in the industrial robot industry. By learning Pascal, you will be familiar with some of them. But every time you start using a new robot, you have to learn a new programming language.

In recent years, the ROS industry has begun to offer more standardized alternative languages ​​to programmers. But if you are a technician, you are still more likely to have to use the manufacturer's programming language.

8, LISP

LISP is the second oldest programming language in the world (FORTRAN is older, but only a year earlier). Compared to many other programming languages ​​mentioned today, its application is not extensive. However, it is still very important in the field of artificial intelligence programming. Part of ROS is written in LISP, although you don't need to master this to use ROS.

7, hardware description language (HDLs)

The hardware description language is generally used to describe the electrical programming method. These languages ​​are quite familiar to some robotics experts because they are used to programming FPGAs (FieldProgrammableGateArrays). FPGAs allow you to develop electronic hardware without actually producing a silicon chip. For some developments, this is a faster and easier choice. If you have not developed an electronic prototype, you may never use HDLs. Even so, it is necessary to understand this programming language because they are very different from other programming languages. One important point: all operations of HDLs are concurrent, not sequential operations of processor-based programming languages.

6, Assembly

Assembly allows you to program on 0 and 1 digits. Basically this is the lowest level programming language. Just recently, the lowest level of electronics required Assembly to program. With the rise of Arduino and others like microcontrollers, you can now easily program at the bottom level using C/C++. This means that Assembly may become more unnecessary for most robotics experts.

5, MATLAB

MATLAB and its associated open source resources, such as Octave, are particularly popular with some robotics engineers, which are used to analyze data and develop control systems. There is also a very popular robot toolbox - MATLAB. I know some experts who can use the MATLAB to develop the entire robot system. If you want to analyze data, generate advanced images or implement a control system, you might want to learn MATLAB.

4, C#/.NET

C# is a specialized programming language provided by Microsoft. I put C#/.NET here, mainly because of the Microsoft Robotics Developer's Work Package (Microsoft RoboTIcs Developer Studio). The main development language for this package is C#. If you are going to use this system, then you will most likely have to use C#.

3, Java

As an electrical engineer, I am always amazed at the fact that some computer science degree programs have taught Java as the first programming language. Java hides the underlying storage functionality from the programmer, which makes it easier to write than some languages ​​(such as C), but it also means that you will have less understanding of the underlying code's running logic. If you have a background in computer science and go to robotics (many people are like this, especially in research), you may have already learned Java. Like C# and MATLAB, Java is an interpreted language, which means it won't be compiled into machine code. Instead, the Java virtual machine interprets the instructions at runtime. Using Java, in theory allows you to run the same code on different machines, thanks to the Java Virtual Machine. In practice, this is not always possible, sometimes causing the code to run slowly. But Java is very popular in some robotics, so you may need it.

2, Python

In recent years, people who have learned Python have had a huge resurgence, especially in the field of robotics. One reason for this may be that Python (and C++) are the two main programming languages ​​in ROS. Unlike Java, Python's focus is on ease of use, and Python doesn't need a lot of time to do routine things like defining and casting variable types. These are very common things in programming. In addition, Python has a large number of free libraries, which means you don't have to "reinvent the wheel" when you need to implement some basic functionality. And because Python allows for simple binding with C/C++ code. This means that the performance of the heavy parts of the code can be embedded in these languages ​​to avoid performance loss. As more and more electronics begin to support "out of the box" Python (along with RaspberryPi), we may see more Python in the robot.

Note: The Raspberry Pi FoundaTIon: A small charitable organization in the UK that was founded to promote technology rather than selling technology.

1, C / C + +

Finally we arrived at the number one robot programming language! Many people think that C and C++ are a good starting point for new robotics. why? Because many hardware libraries use both languages. These two languages ​​allow for interaction with low-level hardware, allowing real-time performance and are a very mature programming language. Nowadays, you may use C++ more than C because the former has more features. C++ is basically an extension of C. It's useful to learn a bit first, especially if you find a hardware library written in C. C/C++ is not as easy to use as Python or MATLAB. Also using C to implement the same functionality can take a lot of time and will require more lines of code. However, because robots rely heavily on real-time performance, C and C++ are the programming languages ​​closest to our robotics "standard language."

EVA Foam Tube

Flexible EVA Round Hollow Silicone Foam Tube , Hollow Silicone Tube ID40mm

Product Description

texture eva foam tube/eva foam grip/eva foam handle

When PVC and Nitrile are combined by polymerisation, they product is a soft, closed cell sponge rubber which needs a low deflection force to create a seal.

Properties

  • Excellent resistance to acid, fuel & oil,
  • Density: 60 – 130 Kg/m³
  • Soft
  • Poor compression set
  • Ozone resistant
  • Temperature range from +85°C to - 50°C.
  • Fire Retardant to BS476 pt. 6 & 7 Class O.

Typical Uses:

  • Oil Seals,
  • Cushioning,
  • Vibration Dampening
  • Shock Absorption
  • Pipe Lagging
  • Thermal Insulation
  • Construction Applications
  • Medical Applications

The foams can be supplied with or without a self adhesive backing and can be cut into coils for sealing tapes.

Super-Soft PVC/Nitrile Sponge Rubber

A new semi-closed cell version has been developed as an alternative to Nitto and Armacell grades. The product is a standard PVC/Nitrile sponge rubber and the cells have been crushed to open some of them up to create a soft low compression seal product.

Properties:

  • Density is approx. 90 Kg/m³
  • Excellent Air & UV resistance
  • Poor oil resistance
  • Good Acid resistance
  • Ultra soft with little compression required to deform it.

Typical Uses:

  • Sealing of Air Conditioning Ducts
  • Areas for superior water tightness
  • Instrument panel mounting
  • Windscreen mounting
  • Mirror mounting
  • Centre Pillar Mounts
  • Seals where uneven surfaces are present

Material:

Closed cell NBR Sponge tube

Description:

Closed cell NBR Sponge is a Neoprene/EPDM/NBR blend. Applications for this material include Gaskets, Weatherstripping, and Cushioning.

Excellent Resistance to: Acid, Alkaki, Ozone, and Oxidation.

Texture Eva Foam TubeProtective Foam TubeEva Soft Protective Foam TubeEva Tube

EVA Foam Tube,EVA Protective Foam Tube,Hollow EVA Foam Tube,Thin EVA Foam Tube,EVA Foam Handle,EVA Foam Column

Dong Guan KE YU New Material Technology co.,LTD , https://www.insulationtubing.com

Posted on