Points to touch:
- What is ChatGPT
- Why and how it is related to robotics
- How can the robotics industry make use of it better
- Which drawbacks for robotics and roboticists
Intro
In November 2022 OpenAI released ChatGPT and the world was never the same.
Are all programming engineers going to lose their jobs?
How can we take advantage of chatGPT for our career development and for businesses?
All those points and more on the second episode of the Robotics Insider podcast.
What is ChatGpt?
- ChatGPT is a chatbot that is able to answer almost any type of question.
- layer on top of GPT-3.
What is GPT-3?
- It is a language model. It stands for Generative Pre-trained Transformer 3. GPT-3 was developed by OpenAI as a natural language processing system. This means how to understand a language.
What is a language model?
- From Jurafsky, Dan; Martin, James H. (2021). “N-gram Language Models”: “A language model is a probability distribution over sequences of words”
I found that chatGPT is very powerful and can help a lot but also, the numerous examples over the internet show that it doesn’t really understand what it is saying. It looks like this friend that we all have that wants to be the know-all, and when he doesn’t know, he invents
The power of ChatGPT is not only for human languages but also for computer languages.
Is ChatGPT here to take developers’ jobs?
Well, no, at least not yet.
ChatGPT makes a lot of mistakes while writing code. Especially when the code is complex, the errors are massive.
ChatGPT must be taken as a tool to boost our coding efficiency.
For instance, I know how to code and I understand the different structures required for a program, but I have a problem remembering the exact commands and syntax. With ChatGPT on my side, I can forget about all that because I can ask it about those details at any time.
I think we should not be scared about it right now, but instead, embrace it and learn to use it to our advantage now.
At least now… for sure, in the long run, code will be created by such kinds of AIs and we will still have to be there as architecture engineers. I see ourselves like Iron Man talking to Jarvis. I always thought that if I had one Jarvis, I would also be able to build Iron Man.
How ChatGPT can help developers
- Use it to speed up learning how to program
- We use it to teach our students
- Students can ask ChatGPT to explain some code, find bugs in their code, and to
- Use it to speed up writing code
- Example Git Copilot: it is a pair programming software that
- Suggestions by Alexander Rossler
- Write algorithms in code
- Write full ROS nodes
- Write unit tests for a method
- Write the structure of the code from a text description
- Find a bug in the code
- Writing documentation
- Port some code from one language to another
- Simplify code
- Explain code
- Simplify/improve code
Always take into account that ChatGPT makes errors. So there should always be a
Use ChatGPT to make more intelligent robots
This opens a series of new businesses that were at present not possible, for example, the typical robots that interact with humans in order to have a chat.
- Now in this part, the limiting technology is the voice to chat. You have to take into account that ChatGPT only gets input as text, so anything that wants to be provided to it, needs to be converted first into text. The voice-to-text technology is not in the best state, especially if you are going to put the robot in the wild, so expect to have some misunderstandings due to errors in speech-to-text.
As you can easily check if you activate the Youtube automatic subtitles.
- On the other side, the text-to-voice technology is better and I don’t expect any problems. Actually, there are other artificial intelligent systems that can convert text to speech
- That also includes the errors that chatGPT provides. ChatGPT doesn’t understand what he says, it is just putting words in a way that may look like a sound speech. Sometimes, it doesn’t really know about it but it doesn’t know that it doesn’t know so it keeps generating text that may make sense. The internet is full of those examples but I would like to share one that I did with ROS, launching this command and asking to chatGPT to explain what that command does.
- For businesses, chatGPT errors are important because chatGPT can promise things that are not true. For instance, if a robot says something about your business that is not true just follow the flow of the conversation.
- So for speech interaction, the usage of ChatGPT is clear and straightforward. However, behavior control of the robot, is not so easy and is still not there
- Microsoft released a demo of a robot being controlled by ChatGPT. In their paper, they show how to solve robotics tasks using language models. For instance, they ask the robot to warm the lunch, without specifying where there is something to warm and what that warming thing is. Solving that task requires a lot of other things not currently available in ChatGPT. As they indicate
“The key challenge here is teaching ChatGPT how to solve problems considering the laws of physics, the context of the operating environment, and how the robot’s physical actions can change the state of the world.”
- Alexander Rossler reported to us some success in asking a robot arm to move the end effector in a given shape.
KEY POINT: ChatGPT doesn’t understand the relation between the text he wrote and the real-world equivalent. Even if it can say, “move the end effector to the right” it cannot correlate it with any command in the robot arm (even if it can write a ROS program that does that). You can tell it, “write a ROS program that moves this arm to the right” and it will write the code and that code may work, but tell it “move the arm of that robot to the right” and it will be clueless
- I presume, the next Robocup At Home competition is going to have all the robots understanding the speech. The problem will be translating that understood speech into the sequence of actions that the robot has to do
Use ChatGPT to make better robotics businesses
I asked ChatGPT how it can help implement better robotics businesses. He answered this:
As a language model, ChatGPT can help robotics businesses in a number of ways. Here are some examples:
- Providing technical assistance: ChatGPT can help answer technical questions related to robotics, such as programming, hardware design, and sensors. This can help businesses optimize their robotic systems and troubleshoot any issues that arise.
- Conducting market research: ChatGPT can help businesses research the market for robotics products and services, including identifying potential customers, competitors, and trends. This information can help businesses develop effective marketing strategies and stay ahead of the competition.
- Developing training materials: ChatGPT can help businesses develop training materials for their employees and customers, including user manuals, tutorials, and educational videos. This can help ensure that users are able to use the robotic systems effectively and efficiently.
- Assisting with customer service: ChatGPT can help businesses provide customer service for their robotic products and services, by answering common questions and resolving issues. This can help improve customer satisfaction and loyalty.
- Supporting innovation: ChatGPT can help businesses stay up to date on the latest advancements in robotics technology and research, by providing access to the latest scientific publications and news. This can help businesses stay ahead of the curve and drive innovation in the industry.
I think he is concentrating too much on the part of the business rather than on the part of robotics. Its answer can be applied to any type of business. For example, new businesses that can be done now and couldn’t be done before ChatGPT:
- All businesses where HRI was a limiting thing:
- Robot Guides of areas – Pepper style but really working
- Camareros
- All those tasks are just doing text to text jobs
Limitations
- ChatGPT doesn’t know anything prior to its release date. You can though provide extra information in the chat so ChatGPT can
- Chatgpt invents things as the example of ‘roslaunch’ demonstrates. So we have to take care of what he says
- Chatgpt is very good at programming simple things but sucks at complex code. It can easily generate code that is subtly wrong
- Even if GitHub copilot and ChatGPT can write code in C++ it looks like they are not strong in that language so they are more focused on
Conclusions
- Everybody has to learn to use ChatGPT and how to use it to speed up and improve its work. It doesn’t matter
- Nobody has an advantage right now. Everybody knows about ChatGPT and is learning to use it. We are all at the same square. In the past, if you got access to some tool like this in advance to others, you may have an advantage. Now, when the new tool spreads fast around the globe, you don’t have any advantage. I would say you are in a disadvantage if you don’t learn to use it and apply it to your business