Reinventing Robot Programming: The Juliet & Romeo Revolution

Shownotes

In this episode, I sit down with Amina Gojak from Cognibotics to explore the challenges and breakthroughs in modern robotics. We dive into the origins of Cognibotics, the drive to close the gap between human intentions and robotic action, and the journey from calibration innovation to the creation of the Juliet programming language and Romeo runtime. Amina explains why the robotics industry needs a new, expressive language, how Juliet brings together the best of IT and OT, and how Romeo ensures real-time execution and safety. We also discuss the strategic partnership with Estun Automation, the integration possibilities with Python and C++, and the hands-on Coursera course for anyone eager to learn. If you’re curious about the future of robot programming and want an inside look at how European innovation is shaping the field, this episode is for you.

Cognibotics

https://www.cognibotics.com/

Estun Automation

https://en.estun.com/

Lund University

https://www.lunduniversity.lu.se/

ControlX (Bosch Rexroth)

https://www.boschrexroth.com/en/us/products/product-groups/industrial-automation/control-x-automation/

Coursera: Juliet Language for Motion Programming

https://www.coursera.org/learn/juliet

Julia Programming Language

https://julialang.org/

Transkript anzeigen

00:00:05: Hello everybody and welcome to a new episode of Bosch Rexroth Tech-Podcast.

00:00:09: My name is Robert Weber and my guest today is Amina Gojak from Cognibotics in Sweden.

00:00:14: Amina!

00:00:14: Welcome to the podcast

00:00:16: Thank you

00:00:17: You're more than welcome

00:00:19: and today,

00:00:19: we want talk little bit about robotics and then we wanna talk about a new programming language.

00:00:26: But before we do that, please introduce yourself briefly to the listeners.

00:00:32: Yes, so I work at Cognibotics and i'm a development engineer and a teacher for our new programming language Juliet

00:00:42: and our new runtime Romeo.

00:00:45: You studied in Lund, right?

00:00:46: University of Lund?

00:00:47: Yes!

00:00:48: So you have really technical background?

00:00:50: Yes!

00:00:51: I studied biomedical engineering at Lund University.

00:00:55: Went straight to Cognibotics, after finishing my studies.

00:00:59: Can you please explain us a bit, what is Cognibotics doing?

00:01:04: Is it a robot company?

00:01:05: Is that the software company?

00:01:08: Maybe you can share some details on Cognibotics.

00:01:11: Yes, so Cognibotics is a robot company, that does a lot of software.

00:01:16: We are a combination the name Cognicbotics from cognitive robotics and we're trying to work on solutions,

00:01:26: that make the semantic gap between human intentions and what robots actually do smaller.

00:01:33: Okay, you are a spin off of The University of Lund right?

00:01:37: Yes!

00:01:38: So Cognibotics was founded I think thirteen years ago, and you started with robots, or am i wrong?

00:01:48: We started with calibration for robots.

00:01:51: So we started making solutions to make robots more precise, meaning that the perception position, that a robot has, actually matches with reality.

00:02:03: And we did that without extra sensors,

00:02:06: that was the new idea back then.

00:02:08: and then you also developed an app for the ctrlX platform, right?

00:02:13: So it's the app against vibration in the robot.

00:02:16: Can you share little bit about the Cape app?

00:02:19: Yes, so with the knowledge like algorithm experts, that we had for calibration.

00:02:24: We also started doing online compensation for robots.

00:02:29: So they are not vibrating, because some robots aren't designed to make very small rapid movements and with this Cape compensation you're able to dampen these vibrations. And that's done without any extra sensors.

00:02:46: For that, you can use the Cape, which stands for Cognibotics Algorithm for Performance Enhancement.

00:02:53: And you would perform excitation tests on the robots to collect some data, which is then being sent for parameter identification and their resulting model can be used as a filter to eliminate these vibrations in the robot.

00:03:10: Why do we need

00:03:11: a new programming language like Juliet and new runtime like Romeo for the robot?

00:03:18: So what we are trying to do is to modernize robotics and bring IT & OT closer together.

00:03:26: What you can currently do when you're a programming robot in the industry, is that every manufacturer has their own language

00:03:34: and most of these languages are several decades old, which means that functionality of this language is saturated and you lack modern tools such as for example automated code testing.

00:03:49: But these languages have the advantage that manufacturers know exactly what's important when you're supposed to program physical motions?

00:04:01: And then on the other hand, you have newcomers that are trying to program robots with C++ or Python for example, but they almost always fail because these languages weren't designed originally to program physical movements, and it cannot guarantee safety or predictability

00:04:19: Or even real time capability at all times.

00:04:23: So only to understand, you started the company with the robot stuff, right?

00:04:28: So you have a lot of robots and your selling robots for in the intralogistics industry.

00:04:33: And then something happened and you realized, oh we need to change something when it comes to programming language.

00:04:41: Can you share a bit of history?

00:04:43: The moment with your idea came, okay,

00:04:46: We need to do something that comes through programming languages?

00:04:49: So I think that this idea has been in Cognibotics people's mind for very long on one of them as Klas Nilsson who was one of the founders.

00:04:58: Very famous founder, yeah.

00:05:00: Yes.

00:05:01: And he's been thinking about this topic for at least twenty years, I would say perhaps even more, but there has been work done on this topic at Lund University way back that it wasn't industrialized.

00:05:13: And then in 2017 Cognibotics met the company Estun Automation.

00:05:19: Oh!

00:05:19: The Chinese?

00:05:19: Okay

00:05:20: yes so Estun automation is the leading manufacturer and supplier of industrial robots in China and they are also active in Europe since two years ago.

00:05:31: And they wanted to have a new language and they want this language to be in next generation.

00:05:37: And Cognibotics and Estun had similar ideas on what it should look like, that's how we all started.

00:05:43: So they're already using Juliet & Romeo the Estun guys?

00:05:48: Yes, in China they are selling their robots with Juliet & Romeo.

00:05:52: Can you please share a bit what is so special when it comes to Juliet?

00:05:57: What are the strength of Juliet?

00:06:01: I would say it's definitely the expressiveness compared to other languages that are for robot programming, because its a newer language.

00:06:09: It uses modern paradigms.

00:06:11: There are of course others, I mean for example, Juliet is just a textual language, meaning that you can use modern tools such as well.

00:06:21: It's not actually that modern anymore, but in the robotics world modern git and you can unit

00:06:28: test your code,

00:06:30: set up pipelines for example GitLab or CodeBerg to be able to automatically test our code.

00:06:38: Can explain which role does Romeo play on this as runtime of Juliet?

00:06:45: Yes, so Romeo is responsible for a couple of things mainly to actually run the program.

00:06:52: So Juliet has compiled to a format that we call bytecode and then this bytecode is read by Romeo and it will execute the code and make sure that tasks with high priority are also running real time.

00:07:07: It's real-time okay?

00:07:08: Okay Yeah, yeah, it's a must in the robotics world. Absolutely!

00:07:13: And the Romeo is also responsible for being able to have a tight coupling to interactivity with language.

00:07:22: By that I mean things such as setting breakpoints like basic things, but also being able to do inline code updates in your program without having to restart or the ability to run motions backwards.

00:07:39: Okay.

00:07:39: And it's running on the PLC, right?

00:07:42: On a PLC of the robot or am I wrong?

00:07:44: It's running on target system of the robots

00:07:47: Okay, and as a user i want to add maybe a vision application or you want to add something

00:07:53: when it comes to machine learning have some GitHub stuff and have some ideas an open source frameworks I want to add in

00:07:59: these are written In python.

00:08:01: Is it possible to add this two Juliet and Romeo?

00:08:05: It's possible to interact with Python code.

00:08:09: With Juliet to

00:08:10: send result that is.

00:08:12: But then if you're using other libraries that are written in CC++

00:08:17: it's actually possible to call those natively from Juliet because there Is an interface to CC++.

00:08:24: Okay and what is the strategy behind Juliet room?

00:08:29: Is this an open source project or based on licensing?

00:08:33: So can you share a bit?

00:08:35: What is the business model behind that?

00:08:38: The business model, it's not an open source project. What we provide is, if you want to run Juliet code on an actual target system then you have to buy a license. But if you just want to try the language for example learn language than you're not obligated by any licenses.

00:08:59: And there are a lot of Coursera courses, right?

00:09:01: So you where you can learn the language.

00:09:03: So currently there's one Coursera course for learning the language.

00:09:07: Yes, it is called 'The Juliet Language for Motion Programming'.

00:09:10: Okay and can you share a bit,

00:09:13: what Is the feedback in the market?

00:09:15: So what do you hear?

00:09:17: Do people say 'oh yeah, we really need this' or are they a little bit afraid of learning something new?

00:09:24: So can you hhare?

00:09:24: Is it really industrial Ggrade or only a mixture of python and something else?

00:09:31: Can you share the feedback?

00:09:34: The feedback is that it's definitely industrial grade and the reason for that is, I mean one of the designers of the language is Estun Automation and they are an industrial company

00:09:47: selling to real customers and they know what is needed to be able to do that.

00:09:53: So it's not just another Python wrapper,

00:09:55: okay

00:09:55: lacks real time or safety or anything like this?

00:09:59: Okay, so it's really an industrial great approach

00:10:03: when it comes to robots.

00:10:05: Yes!

00:10:06: But who is your target customer?

00:10:09: Machine builders, robotics companies or because maybe they're very skeptical to

00:10:15: change their language from.

00:10:17: Who's your target customer?

00:10:20: I would say actually that all of those are our target customers, but for a little bit different reasons.

00:10:26: So the machine builders and integrators for example they like the fact that there will be language that can used for their applications,

00:10:36: but then other robotics companies

00:10:39: one of features having a runtime is we're able to coexist with other languages.

00:10:45: And what i mean by this is Juliet is just a compiled language that follows the rules of bytecode specification.

00:10:53: So this means other robots programming languages would be interested in using Romeo and starting to code with Juliet.

00:11:01: From today on, they could write a compiler so all their legacy codes can still be running.

00:11:09: It's new layer?

00:11:11: Yeah, it would be a new layer!

00:11:14: But we don't want additional layers in the industrial setting,

00:11:17: or am I wrong?

00:11:18: It depends.

00:11:19: So you would get a lot of benefits by having any language and if you just write this compiler, you could get essentially this language for free instead of having to rewrite an entire new programming language, because that's gonna be difficult.

00:11:33: How difficult is it to bring a new language to the market?

00:11:37: Because normally, it's an open source project and you have a lot of contributors in this,

00:11:43: and if there are a lot promotion in GitHub

00:11:45: etc.,

00:11:46: So how difficult is sometimes to bring on the market?

00:11:50: It's difficult and definitely more difficult in the industrial world compared to the software world but we're trying by setting up a foundation for Juliet & Romeo, so that we can grow our ecosystem.

00:12:04: Okay, and you're working closely together with the ctrlX guys.

00:12:08: How important is crtlX for Juliet and Romeo?

00:12:13: It's very important especially since currently in Europe that it's only place where you can industrially try Juliet & Romeo because they are available as an app.

00:12:23: So I see ctrlX as a platform that provides freedom in hardware and I would say that Juliet and Romeo do the same thing just on the software side.

00:12:36: What is on your agenda when it comes to new ideas, new technical ideas?

00:12:45: Currently we are developing another module for the online course I mentioned.

00:12:51: Okay. And this theme for the course would be AI.

00:12:54: So that's a hot topic today.

00:12:56: That's a hot topic!

00:12:57: And it is difficult one too. Because AI in robotics is not so easy as some of people think because robotics is a difficult domain for the whole AI community.

00:13:09: I think so.

00:13:10: Yeah, definitely.

00:13:11: Thats why we're trying to cover the topic in a way which is industrial not just humanoid.

00:13:18: And exactly.

00:13:20: Do you plan to release AI models based on Juliet or what is the idea there?

00:13:25: That would not be the idea.

00:13:27: Okay, so more how to integrate these new models into your language?

00:13:31: Right?

00:13:32: Yeah.

00:13:33: Okay.

00:13:34: So this Coursera course.

00:13:35: I want to understand a little bit more about the course.

00:13:38: Is it a traditional course i learned to code or can you share some insights of the course?

00:13:44: Yes, it's where you learn to code and you are interacting with the code.

00:13:48: So at this setup is like most Coursera courses we have video lectures but then after each lesson typically, you would have an exercise with Juliet & Romeo.

00:13:58: But interesting thing that even if don't want finish the course, if your interested in trying Juliet, all you need just to open one of these exercises and then you will end the browser

00:14:10: get a VS Code view where could start coding and testing the language.

00:14:13: Okay.

00:14:14: And I mean, to be honest how difficult is it

00:14:17: to learn?

00:14:19: It's not difficult to learn because... Because you developed or you know how? Yes, and if you find a difficulty can go check out the course now. But it's inspired by Julia, which is a high-level programming language.

00:14:33: A lot of the times when I ask people if they know what it is... They don't!

00:14:37: It looks like Python so it's pretty easy to learn but then of course there are some structures or paradigms that are more complex such as metaprogramming for example.

00:14:49: As mentioned all these topics were covered also in this course.

00:14:54: So, and what is on your business agenda?

00:14:56: We talked about the technical agenda but when it comes to business.

00:14:59: What's in your agenda for next coming months with Cognibotics and Juliet & Romeo?

00:15:14: The goal would be to actually establish Juliet as a new standard in robot programming.

00:15:20: We keep our fingers crossed for you and your team. And it's a good approach,

00:15:26: it is an interesting approach, it's from Europe that also I think important that

00:15:30: there is a European solutions.

00:15:32: We keep our finger crossed.

00:15:34: Thanks a lot, Amina!

00:15:34: It was a pleasure to talk with you about Romeo & Juliet.

00:15:38: All the best and greetings to Sweden

00:15:40: Thank You.

Neuer Kommentar

Dein Name oder Pseudonym (wird öffentlich angezeigt)
Mindestens 10 Zeichen
Durch das Abschicken des Formulars stimmst du zu, dass der Wert unter "Name oder Pseudonym" gespeichert wird und öffentlich angezeigt werden kann. Wir speichern keine IP-Adressen oder andere personenbezogene Daten. Die Nutzung deines echten Namens ist freiwillig.