This interview with Hanna Kurniawati is all about bringing more intelligence to robots. Hanna is a research scientist at the University of Queensland where she studies robots. She’s designing software tools to allow robots to make their own strategies (think for themselves in some ways) such as deciding what data to use and how to obtain the data.
Hanna received her PhD in computer science from the National University of Singapore. And in 2015 was named one of the top 25 women in robotics in the world.
I asked Hanna to come on the show because I’m curious to learn more about her research and how it’ll affect robotics in the future.
1. What’s your vision for robots in 5-10 years? Picture a child trying to get candy in a jar.
2. How do you design your algorithms to navigate an unfamiliar environment?
David Kruse: Hey everyone. Welcome to another episode of Flyover Labs and today we are lucky enough to have Hanna Kurniawati with us. And Hanna is a Research Scientist at The University of Queensland studying Robots. And she has designed software tools to allow robots make their own strategies like think for themselves in some ways and to such as decide what data to use and how to obtain that data. So it sounds quite interesting and quite difficult to make this happen. So Hanna received her PhD in Computer Science from the National University of Singapore and in 2015 was named as one of the top 25 woman robotics in the world; which is – that’s a pretty big. So I asked Hanna to come of the show because I am curious to learn more about her research and how it will affect robotics in the future. So Hanna, thanks for joining us today.
Hanna Kurniawati: No problem, my pleasure.
David Kruse: And I want to let the audience know Hanna has been very patient. We are using Skype and I did a very poor job in order to record this. So now we are ready to go, so this will be well worth the wait. So Hanna, before I start do you want to just tell us about your background and how you got interested in robotics and that would be great.
Hanna Kurniawati: Yeah sure. So I basically trained as a computer scientist, so I did all my degrees in Computer Science from my undergrad at The University of Indonesia and then I went for a PhD also in the same Computer Science in as you mentioned, the University of Singapore. So that’s where I actually started doing research in Robotics while doing my PhD. Then after that I did postdoc in Singapore MIT Alliance for Research and Technology, which is an MIT Research Center funded by the Singapore Government and again, I do research in Computer Science side of robotics. So my interest in robotics, actually I grew up with a lot of Japanese cartoons and at the time most of the Japanese cartoons involved robots. So it’s like all those – I don’t know if you heard about that one, I’m getting too old, but so I got interested at robotics since quite young. But I only got the chance to start doing something there when I did my Ph.D. in U.S. and in Singapore and so when there is a chance to do that, of course I will take it. So that’s how I got started in robotics and I guess the rest is sort of history.
David Kruse: Nice. And so you grew up in – did you grow up in Japan?
Hanna Kurniawati: No, I grew up in Indonesia, but I guess it’s…
David Kruse: That’s what I thought. That’s what I thought. Interesting.
Hanna Kurniawati: Yeah, yeah so the Japanese cartoon is quite popular in Indonesia.
David Kruse: Okay, okay. Interesting, interesting, all right. And were you always kind of curious growing up or what attracted you to computer science?
Hanna Kurniawati: Yeah, well basically my brother got his first computer when I was around the fourth grade, so he is much older than me. He is around seven and a half years older than me and then once he got his computer, this box right in our living room and whenever he is away I start playing with it and it seems to be awesome, because I am the youngest and so with the computers are connected with the other computers to do stuff I want, like whereas usually I can’t do that to my brother.
David Kruse: I like it, you need to somehow program a robot to beat up your brother when he wasn’t nice.
Hanna Kurniawati: I didn’t go that far.
David Kruse: All right, and so what was your PhD thesis on at Singapore?
Hanna Kurniawati: Yeah so, so that’s on part planning for robots with many degrees of freedom. So basically it’s about how do you make robots with many joints so you can think of like snake like robot or humanized robots. To move from one configuration to another was satisfying, the kinematics co-sensitive past, avoiding collision with obstacles and so on. So during my PhD I actually assumed that it’s a prefect world, so the robot knows the environment perfectly, the robot knows the impact of what it is doing to the environment particularly as well. So apparently even that is quite a critical problem. It’s considered as a computationally a hard problem. So yeah, so that’s basically of what I did for my thesis.
David Kruse: Got you.
Hanna Kurniawati: And yes.
David Kruse: Got you and so like, so you mentioned like the snake having different parts. So did you have the snake try to go through the environment or what did you actually – what did you actually study?
Hanna Kurniawati: Oh! So trying to move – so one of the motivating example we had last time for instance is if you have a train like robot, so as I mentioned like a snake like robot, but it is operating in a 3D environment and then it has a base at the end of the other and in fact it’s a camera. So then if you want this to be able to for instance do brief inspections, so if you see like the cracks of the bridges, the small, small area then you want to be able to somehow make this robot from the both location to actually wrap around some parts of the structures and see what’s going on there. Now in order for it to actually move to these kind of places, that is a difficult problem, and so what I did last time is I used what’s called a probabilistic piece motion planner, which is basically, its about trying to figure out the connectivity of this high dimensional space by using random sampling and trying to draw a sketch.
David Kruse: And what do you mean by high connectivity?
Hanna Kurniawati: Sorry, say that again.
David Kruse: Oh! What do you mean by the high connectivity of the space?
Hanna Kurniawati: So basically in order for it to move from one place to another while satisfying all the constrains that means the points of that particular configuration are located in the same connective components of the goal location for instance, right. So basically you can move without piloting any of the constrains from one point to another, but this point actually lies in a very high dimensional space. Well the dimension of that space is the same as the number of joints you have in your robot or the number of control parameters you have on that robot. So sometimes it can be in 30 and then can be 100s and so on.
David Kruse: Interesting, so you…
Hanna Kurniawati: So, yeah basically that’s the robot I did, yes.
David Kruse: So you essentially wanted the snake to go from one point to the next point without any type of direction in theory, but it has to navigate through the environment.
Hanna Kurniawati: Yeah without any of the obstacles in the environment. Yeah, I can direct you to the video in my website if you like; I think that might be easier to see than to say.
David Kruse: Yeah, that manes sense, okay, great. Well that sounds like a steep challenge. You didn’t pick an easy task. And so what about your current research, what are working on now?
Hanna Kurniawati: Yeah, so during my PhD I assume that the robot knows the environment perfectly and then the robot also knows what is the impact of its actions to the environment exactly as well. But if you bring it to the real world, well usually there will be sensing errors, there will be activation errors, there will be perception errors and the world is sometimes unpredictable as well. So you loose all this assumption on nice perfect information that the robot has. So my kind of thesis is trying to basically expand what I did last time during my PhD to handle this uncertainty. So basically I’m trying to figure out how should the robot behave if in the presence of various types of uncertainty. The simplest one is that if you think of marine robots, right, then the marine robots will be drifted by water currents for instance, but you don’t usually know what the water currents are. You can predict it, but usually the prediction is not exactly perfect as well. So despite all that, if you are operating in a very busy harbor for instance, you don’t want your robot to actually bump into the ships or the other things in the harbor. So how do you navigate through that? That’s one example of kind of sorts.
David Kruse: Interesting. Wow! Yeah I’m really curious from the technical standpoint, how do you make that happen. But which I will not get into too many details, but what type of use cases are you working on, like in your research. Is it – are you working with the robots in the water or do you have other use cases that you are experimenting with?
Hanna Kurniawati: Yeah. So first of all my work is mostly on the algorithm side, so I’m definitely, so I’m tying to make this nice mathematic concept that we know. So people in mathematics actually know, has a rigorous framework on how to make decisions and the various types of uncertainty. But the problem is that when you try to make it, to apply that to robotics usually the problem becomes extremely huge and computational, and it’s a very high computational complexity. So then what I did was I – what I’m doing now is that I’m designing algorithms to enable this mathematical concept to become practical for robots, practical software goes for robots. Now there are various applications, so the one that I’m looking is one for instance is the marine robots side. I’m wondering if we can use some small robots. For instance like just the cheap ones like open ROP for instance to do something more interesting, like exploring the – so there is actually a lake in my University and we need to monitor the environment work, the time consuming at the lake and stuff like that, so that’s one of the things I’m trying to do. And then the other things that I’m also looking into manipulation and where those are, trying to figure out what the – if we want to manipulate it to work with human, then what’s the intention of the person around that robots rather than trying to perhaps – rather than trying to put this whole bunch of sensors to the person, then you might want to just put in well a better algorithm to figure out what’s the intention of the person and then make decisions based on knowing that there is uncertainty in what the person is trying to do.
David Kruse: Interesting, so would you almost anticipate what the person is going to do or how would you make sure they don’t collide their – yeah.
Hanna Kurniawati: Yeah, a little bit like that. Yes, so basically trying to figure out what the person is trying to do without actually. So you need to give a little bit of leeway that you know you are prediction of what the person is going to do might be wrong, and so then you want to actually figure out how to deal with that. So I can go into the more technical details, do you want to go there or…
David Kruse: Yeah, let’s try it.
Hanna Kurniawati: Okay.
David Kruse: Let’s try it.
Hanna Kurniawati: Okay, that might be better. So basically existing methods, usually in robotics we usually try to build a good model, the best model possible and then that model can be a model of what the effect of the robots action, the robots control to its environment to its state and then the other one is the model of the environment itself. And then once they have all this model, then they do the decision making planning assuming that the model is a good model. What I’m trying to do is that rather than trying to have this economy, I’m trying to figure out if I can have a better planner, a better decision maker that takes into account the uncertainly in my models, knowing that well, I might not have perfect knowledge of the environment, perfect predictability of the environment, then I might reduce the requirement for the perfect model but still be able to achieve whatever I want to achieve perfectly filed. So that’s where I’m trying to get at. And the way to do that for me is that I’m trying to quantify uncertainty using probability and this is, this quantifying of uncertainty using probability and making decisions based on such probability are not new, so those people in operation research for instance have created nice frameworks on that. But the problem is all those frameworks are very high probabilities, requires a very high probation or complexity and so it’s not practical for robotics. So what I’m trying to do is that I’m trying to bring this nice mathematical contract to actually be able to be practical for robotics.
David Kruse: Interesting. And do you have – can you share like a specific example that you are working on in your lab that you know and how – yeah, how you are trying to model that exactly?
Hanna Kurniawati: Yeah, sure. So I have two things actually, perhaps one things is on the – so one things is, one of the project I’m doing, I haven’t released it yet, so I’m reluctant to say.
David Kruse: No, fair enough, fair enough. Yeah, don’t worry about it?
Hanna Kurniawati: Yeah, the other one is the one that we have. For instance, if you want to – for instance one is the marine robots domain. If you want to be able to inspect in very crowded environment, like in a busy harbor for instance, then one way you can do it is to enlarge all the obstacles around and so that way its going to feel that you are not going to collide right, you can enact it as big as you want and so your possible parts are going to be quite small.
David Kruse: Interesting.
Hanna Kurniawati: But the problem is if you have many, many obstacles around, then enlarging those obstacles might actually close all the possible solutions you might have and so at the end of the day you might end up with well, the robot says I won’t be able to move because it’s just too crowded.
David Kruse: That’s a problem. Wow! It can’t and – yeah, that’s a problem.
Hanna Kurniawati: It happens for instance if you have other – yes, if you are operating in nice streets, law biding citizens like in California State, that’s nice. But if you want to bring it for instance to the streets of Jakarta where things may now be that neat, so that’s going to be a bit more difficult, all right.
David Kruse: And can you explain what’s in your model? Like what you know like – if a robot encounters this obstacle, it should back away or like you know what do you program into that model?
Hanna Kurniawati: The way I do it is that if you have everything at the minute that you can model it using 3D mask for instance, that’s just a 3D model of the environment. But now if you start having uncertainty, then you can no longer represent just with a single model. So usually you will enact with probably. What I use is that I assign distributions of the possible work model that the robot might encounter and then from there it means I can sort of with that probability can be like a quantifier of how likely this kind of environment happens, how likely that other possible environment happens. And then based on that you can actually figure out the data of whether this is actually – this part is safe enough, for instance for a robot to move or do I need to figure out more about this environment that I can reduce the uncertainly some more.
David Kruse: Interesting. And what type of sensors are you using to gather the data about the environment?
Hanna Kurniawati: Well, it can be any type of sensors. Usually the one we use is laser like radars and also camera.
David Kruse: Okay, interesting. And we are almost out of time here unfortunately, but I’m curious you know, what are some of your – how far long is you know with the marine robot; what can you accomplish now or what have you done with that?
Hanna Kurniawati: Yes, so we have some of the – so in terms of algorithm we have some of them that can – that is running on ROB for instance, trying to monitor our lake behind in these, in the lake. Then – yeah, so that’s one of the example and then the thing is that many of the algorithms I have used, I make it just open source and then people take it and use it for their problems and so some of them for instance are using it for collision avoidance or cost. Some of them are using it for the history and collision avoidance of autonomous car for instance and so yeah, because I work in more on the software side and like working the algorithms I had people who gradually take it and use it for the application they have.
David Kruse: Interesting. And you know over the next you know five years, how do you want your kind of research to develop or what would you envision now that you would be working on in five years or what do you want your algorithms to be able to do in five years?
Hanna Kurniawati: So the algorithms, I was mentioning that I was trying to make it robust. So basically it’s trying to enable robots to move robustly in the environment, but there are quite a number of problems in that still. So for instance if you have very little information about these environment, so there will be very large bit space that you might have then that’s good and the possible actions that you can do. So you know a little bit, that’s you know problematic. But I guess in the next five to 10 years I hope that kind of problems can be solved and well, I guess my sort of dream is to make robots be able to figure out for instance how to accomplish its task by utilizing the tools in its environment by itself. So I guess an example for this is that, if you put a small kid for instance four or five years old right, in a room where there is like a jar of candies on top of the shelf, the kid will unlikely be able to see exactly that there is candy there, but somehow if you leave him for an hour or so, I’m pretty sure he will figure out that there is candy there and that if so it is not within his reach, he will find a way to reach it with chairs, with even cloth hammer, with anything. Technically he can get what he wants even though it is out of reach. So my question is that, so can we enable robots to do the same; in the sense that if you let the robot roam around and it can figure out something that it needs for instance even though it doesn’t see it directly, like the place with candies, it might not be directly visible by the kid but he will figure it out there are some candies there, and also then be able to conceptualize on how to actually get that thing that the robot wants to get. And so how does it assemble favorable tools in the environment into something that it can use to accomplish whatever paths it wants to accomplish. That’s sort of my big picture and for that I think I think the problem is really how do you enable robots to figure out what to do, when what to do, how to make good strategy and reliable decisions, when it doesn’t have perfect understanding about how the world works, and about the impact of the actions that it has to the environment and so always it used to be that the people try to solve this problem by being very conservative, trying to make the robots to be very safe, like enlarging all the obstacles for instance or sometimes they go the other extreme which is, okay, lets just don’t care about the long term. We just do the active. We try to avoid obstacles as we go along, we try to not really do a lot of strategizing, just really do the acting. But in what I’m trying to do, I’m trying to do things in the middle which is I’m trying to quantify this aero sense, a little bit to the existent that I can do that, but then by having much faster algorithms also I’m hoping that we can actually adapt and be strategy much faster and yeah, and basically hopefully in the end of the day it can solve the kind of problems I was mentioning.
David Kruse: Wow! Well, that’s quite a vision. I think you have enough work for a few years there. Yeah, I can imagine when a robot could actually do that. That would be amazing.
Hanna Kurniawati: I hope so.
David Kruse: Yes. No, that’s something to wake up for each day and I think that’s probably a good way to end this podcast, kind of with your vision and where hopefully robotics will go and I love the example of the kid. So that was a good picture you painted. Yeah, I definitely appreciate your time Hanna on telling us about your interests and just kind of what you’re working on and what you have learnt. I enjoyed it and I hope everyone else enjoyed it as much as I did.
Hanna Kurniawati: Okay. Thanks. Thanks a lot for inviting me.
David Kruse: Definitely, and thanks everyone for listening to another episode of Flyover Labs. As always, I definitely appreciate it. Bye Hanna, bye everyone.