Abb Robot Language

0 views
Skip to first unread message

Marion Georgi

unread,
Aug 3, 2024, 5:47:44 PM8/3/24
to noagethosam

AS A CHILD, when I received a new toy or pet, I would immediately visualize the worst that might happen: the novelty matches burning down the house; the parakeet flying straight through the glass door; the Lego bricks melting into the carpet; the Laser Tag gun mistaken for a real one. It was a psychological tic that served, probably, to inoculate me against loss.

The greatest potential loss in our relations to machines is not runaway GDP or disinformation, but rather the existential right to enjoy the surprise and uniqueness of human effort. I know this loss well. For about 15 years, I played on average at least one game of Go, an ancient Chinese board game, per day. My joy from the game depended on what I believed to be things the human brain was uniquely good at: aesthetics, patterns, sparse rewards, ambiguity, and intuition. However, since the release, in 2016, of an AI better at Go than the best human will ever be, I have played the game, listlessly, only once or twice.

The logic behind the language robot is that word choice, like temperature, is entropic. That is, every word changes the likelihood of the eventual distribution of future and past words in much the same way that temperature both changes and is the distribution of future and past atoms in a room. The language robot fills in words as one might a sheet of Mad Libs by estimating the probabilities of a new word given a rolling tally of the words before and after it.

The language robot and I never wrote the same story. It became, eventually, a writing tool, both as a curator to new ideas and a splint for bad ones. When, after a few months, I lost access to it, my brain felt like it had been lesioned. I missed it. I had found myself jumping into its head asking what it might write as one would a human writing partner, which made me wonder: Should I give it the same theory-of-mind, inductive respect as I give to other thinking things? Could I even help but do otherwise?

Patrick House (PhD, Stanford University) is a neuroscientist and writer. His nonfiction writing has appeared in Slate and The New Yorker online. He is currently a fellow at the Allen Institute for Brain Science, in Seattle, Washington.

LARB publishes daily without a paywall as part of our mission to make rigorous, incisive, and engaging writing on every aspect of literature, culture, and the arts freely accessible to the public. Help us continue this work with your tax-deductible donation today!

Found a little utility in the EDIT menu today that converts a "program file" to a "robot language" file and vs versa. So I made a simple four step program and ran it through the conversion. It produced an ascii file with five lines in it. Four like this one:

Sure are some funny things missing from the manual tho. Acceleration is one of 'em. On the pendant, I have four accelleration selections 0-3. Changing then value does not seem to change the movement of an axis much (means I can't see any diffrence).

ACC Accurary is similar to the CNT parameter in fanuc, with ACC 0 the robot moves exactly to the programmed position, usually decelerate in doing so, with other values the robot pass only near the point and starts the next movement command. Its is easy to see it when the robot changes directions for example at corners, with increasing ACC values the path would be more rounded.

Nachi controller supports the proposed japanese standard language SLIM (Standad Language for Industrial Manipulators) and provides the utility to convert between them. Ive tried myself the utility but was never able to convert a SLIM program correctly.

While there are hundreds of programming languages that exist, only a few are widely used in robotics today. The most popular programming languages, like C++ and Python, have cornered the market in terms of function and ease of use. Meanwhile older, more outdated languages, like Pascal, continue to serve as the backbone for more tailored, proprietary languages and robotic operating systems used by leading industrial robot companies.

As the market for robots continues to grow for use in manufacturing and other industries like healthcare and service sectors, demand for highly skilled developers and engineers steeped in C, C++ and Python will continue to increase as well.

While engineers working on other types of robots rely on a combination of popular programming languages to make their robots fully functional, most top industrial robot companies like ABB, Comau and Fanuc have developed their own proprietary robotic programming languages their engineers learn on the job. At the heart of many of these proprietary programming languages is Pascal, making it a popular programming language for would-be engineers to learn to familiarize themselves with some of the future languages they may have to work with. Pascal not only teaches developers best practices in robotic programming, it teaches the basic functionality and technical details behind many of the leading industrial robots.

No matter the robotic programming language one chooses to master first, the knowledge gained will be helpful in other future robotic endeavors. Here are a few more robotic programming languages every budding programming and developer wanting to work with robots should know.

For developers wanting to analyze data and run simulations, and develop and implement robotic control systems with specially-designed interfaces, MATLAB is a great tool. When paired with the Robotics Toolbox for MATLAB, which includes functions for kinematics, dynamics and trajectory generation, developers can create systems for robotic arm research and simulations.

Circuits are a critical component in robotics and where hardware description languages play a key role in robotic programming. HDLs, like Verilog and VHSIC Hardware Description Language (or VHDL), make programming circuits easier by allowing developers to describe circuits using words and symbols. One important thing to note: To use hardware description languages a strong background in electronics is often necessary, as multiple processors are typically working at the same time.

C++ is considered a foundational programming language for robotics due it being low-level and able to directly manipulate robot hardware. Python is also an effective robotic programming language due to its ease of use, versatility and wide range of libraries.

Unfortunately, you will never get a simple answer if you ask "What's the best programming language for robotics?" to a whole roomful of robotics professionals (or on forums like Stack Overflow, Quora, Trossen, Reddit or Research Gate).

But, it is also a pretty useless answer for the new roboticist who is trying to decide which language to learn first. You're probably reading this article because you want to start programming robots and don't know which language to choose.

If you're only using a single robot for your business, the best language to learn is the one that will get you up and running as soon as possible. In this case, you might not even need to learn a programming language. For example, with hand guiding technology you can move a collaborative robot around manually. No text-based programming required.

The most important thing for career roboticists is to develop "The Programming Mindset" rather than to be proficient in one specific language, as I explained in the article about essential robotic skills.

In many ways, it doesn't really matter which programming language you learn first. Each language that you learn develops your proficiency with the programming mindset and makes it easier to learn any new language whenever it's required.

For this updated version of the article, I've brought in some more objective data about the most popular programming languages among engineers and the most common programming languages at the time of writing. I've also researched the newer languages that have been popping up since the first version of this article.

Pascal was one of the first programming languages that I ever learned. However, that's not why I've included it here. It is the basis for several of the industrial robot languages (see number 8 below). As a result, it's still quite a good starting point if you are going to be programming industrial robots.

These days, Pascal is too outdated to be good for everyday use. However, it can be useful if you want to become familiar with other industrial robot languages without becoming tied to one particular robot brand.

Scratch programming is achieved by dragging around blocks and connecting them together. "Under the hood" it is written in a combination of Squeak (a dialect of Smalltalk), ActionScript and Javascript.

Although you're probably not going to write any industrial robot programs in Scratch, it's an incredibly good and popular language for complete beginners and is paving the way for many of our future robotics engineers.

Almost every robot manufacturer has developed their own proprietary robot programming language, which has long been one of the problems in industrial robotics. You can become familiar with several of them by learning Pascal. However, you are still going to have to learn a new language every time you start using a new robot brand.

ABB has its RAPID programming language. Kuka has KRL (Kuka Robot Language). Comau uses PDL2, Yaskawa uses INFORM and Kawasaki uses AS. Then, Fanuc robots use Karel, Stubli robots use VAL3 and Universal Robots use URScript.

In recent years, more general-purpose programming options like ROS Industrial, manufacturer agnostic offline programming, and hand guiding have started to provide more standardized options for programmers. However, if you are a technician, you are still more likely to have to use the manufacturer's language.

Artificial Intelligence (AI) has really been gaining in popularity recently. This means that AI programming languages like LISP and Prolog are starting to make their way back into people's programming toolkits.

LISP is the world's second oldest programming language (FORTRAN is older, but only by one year). Parts of ROS (the Robot Operating System) are written in LISP, although you don't need to know it to use ROS.

c80f0f1006
Reply all
Reply to author
Forward
0 new messages