As an avid redditor myself I'm more than happy to field questions from people interested in robotics, science, academia, or anything you feel I might be able to answer.


In particular I'd be happy to talk about…

…meeting Obama

…being on the TV show "Through the Wormhole with Morgan Freeman"

…being a robotics professor

…the cool work being done by my students

…or the new online evolutionary robotics course/research group we've created


EDIT: Thanks to Shane Celis and Gordon Dragoon, two of my students who helped to make this AMA and the Ludobots site possible.

Comments: 212 • Responses: 99  • Date: 

rsmith914879 karma

How has the student interest in robotics and AI changed over your career? Do you see a larger interest now than when you started?

DrJosh9 karma

My 'career', strictly speaking, has lasted seven years (and counting). In that admittedly short time I have seen a growing interest in robotics, AI and machine learning.

Much of this, I think, is for obvious reasons. Two such reasons are the White House's Big Data and National Robotics Initiatives; and the success of Google, Facebook and online dating sites (all which succeeded because of the quality of their data and machine learning algorithms).

There is one important not-so-obvious reason though: many areas of science have had their big Eureka moments: physics had Einstein, and biology had Darwin. But AI has yet to have its big moment: no one has yet produced a robot or computer that anyone in their right mind would consider intelligent. I think this gives the field a bit of a Wild West feel: there is much territory to be explored; parts of that territory will make some people filthy rich; and some parts of the territory contain beasts beyond our wildest imaginings.

webbitor9 karma

I'm very interested in AI, and somewhat disappointed in how far the field has (not) progressed since my childhood reading of Asimov stories.

I would like to contribute to the field, but probably won't be going back to school to study it academically. Partly because of my life situation, but also because I feel like most or all of the research and theories thus far seem pointed in directions unlikely to achieve general AI. I am concerned that by studying existing research more than surface deep, I can only "taint" my mind with unworkable ideas.

Is this a silly fear? What do you suggest for someone who wants to work toward general AI without getting stuck in some niche like machine vision or bayesian character recognition?

DrJosh12 karma

Oh, that's a tough question. I make the following suggestion to students and hobbyists alike. Follow your intuition, and sketch out your idea without worrying about whether someone's already done it. Then, try to create a `prototype' of your idea. This might mean writing a computer program or creating a simple robot. Once you've got something working, then do some searches on Google Scholar to see if the idea has already been tried. If not, go back to your program or robot, and make it a bit more sophisticated by introducing more of your idea into code or metal. If your prototype continues to show promise, dig more deeply into Google Scholar, or send a video of your robot/code in action to a researcher. Rinse and repeat...

rhiever6 karma

Why make the prototype before checking if someone has already done it? It's a nice research experience, sure, but if your goal is to accomplish something new, that seems risky.

DrJosh12 karma

Risky if you're an academic and need to produce a regular stream of new ideas, but not if you're a hobbyist and just wish to see where your ideas will take you.

TheCatelier8 karma

What is the motivation behind using evolutionary techniques, instead of other machine learning techniques for robotics?

DrJosh16 karma

Roboticists wish to create adaptive machines that can alter their mode of operations in the face of a continuously changing world.

Natural selection is the only mechanism we know of that can produce adaptive machines with human-level intelligence. So, it seems to make sense to follow evolution's lead....

DrJosh11 karma

Another reason we tend to work with evolutionary algorithms is that they provide a relatively straightforward way to automatically improve both the body and brain of a robot. Most machine learning algorithms only improve the brain of the robot, and leave the researcher to manually design the robot's body.

TheCatelier6 karma

Can you tell me more about the possibility of doing work for your group if I were to complete the 10 assignments from your online course?

DrJosh7 karma

If you can finish all 10 assignments...

submit them and get a passing grade...

and grade 10 assignments of those 'below' you...'ll 'graduate' to the research section and can work with us.

TheCatelier8 karma

What does "work with us" imply, precisely?

DrJosh9 karma

"Work with us" means that you will help answer questions posed by other users, or even pose a question -- a hypothesis -- of your own. To give a very simple example, "Given the same amount of computing time, which evolves to travel further: a hexapedal or quadrupedal robot?" We hope however that anyone who has a good idea -- a good hypothesis -- will attract the most effort from the other users, will bubble to the top, and have the best chance of leading to a research paper.

As for payoff: if you do contribute to a project and it gets published, it's a nice item to add to your CV if you're looking for a job or wish to go back to school.

otroquatrotipo6 karma

How did you end up in the field? Was there a particular moment or have you just always wanted to help create our robot overlords?

DrJosh8 karma

As a kid I always liked to draw animals and robots. As I got older I became really interested in how animals do -- and machines might -- move. I also came to realize that Hollywood kept promising robots, but none appeared in reality. Why were robots so hard to create? I (and a lot of other people) are still trying to answer that question...

DrJosh5 karma

Another big moment was when I found this book (in the 80s)

and then this book (in the 90s).

0xD153A536 karma

What do you see as the most critical ethical concerns regarding robotics and AI in the near, medium and distant future?

(As an aspiring Ph.D. student in the philosophy of cybernetics and cognitive machines, this might nudge a paper or three out of me :) )

DrJosh9 karma

In the near term, what will be the political fallout when the first driverless car kills someone?

DrJosh5 karma

Medium term: There will come a time when we will not able to tell whether the person we are talking to is paying attention to us, or is mentally surfing the web. What effect will this have on social interaction?

DrJosh4 karma

Long term: We as a species have recently begun to feel guilty about the relative ease with which we've increased our slice of the natural resources pie relative to other species. If robotic and/or computer augmentation makes us "more efficient" dominators of the planet, is that a good idea? Perhaps we should make ourselves less efficient? Could cyborgs reach a more harmonious equilibrium with the planet than `pure strain' humans can?

Mr_A5 karma

What is something about the history of robotics that people should know or that you find interesting? As in, Georges Méliès automatons or something similar (in tone)? Do any historical stories about the art of robotics stick with you for some reason?

DrJosh4 karma

The late 1990s might not count as 'history', but Hans Moravec's bush robot (or fractal robot) is extremely interesting.

No one has yet been able to simulate one, let alone build one. But this is one robot that really makes you think about what robots could do that humans or animals can't.

Mr_A1 karma

What is that? I can't wrap my head around what I'm seeing. Is it supposed to be some sort of statue?

DrJosh1 karma

Not a statue: a robot. Each 'branch' can contribute to locomotion or object manipulation.

DrJosh2 karma

Roboticists strive to create biologically-realistic machines. It's hard to get more biologically realistic that the Digesting Duck

DrJosh2 karma

Great question! Drafting a reply...

bored-to-death5 karma

On what time frame will evolutionary robotics course/research group operate? How will the different users collaborate with each other? What role do you think that evolutionary algorithms will fill in future AI applications? Will they be able to develop "strong" AI or AGI? Thanks.

DrJosh6 karma

Each of the 10 assignments on the site takes a few days (or, for master hackers, a few hours) to complete. So, many users might make it to the 'research area' of the site within a week or two. From there, who knows...

As for strong AI? That's a hard one to answer, because strong AI is incredibly difficult to define.

kaysea1125 karma

What's the closest thing we have to a mech? And or a powered armour?

What is the most advanced ai humans has ever created?

DrJosh6 karma

What is the most advanced ai humans has ever created?

It's difficult to say. We can more easily note some major accomplishments that AI has had like Deep Blue and Watson, but both of these are disembodied tasks. As of yet, we don't see many robots achieving high marks on embodied tasks that we all take for granted like: walking, running, jumping, or navigating obstacles.

Personally, I find the BigDog to be a pretty big achievement for embodied tasks. One of our research goals is to get robots out of tightly controlled environments, like factories where they work well but rigidly. We'd like to take robots into unstructured environments but this requires the robots to be more adaptive and autonomous.

DrJosh5 karma

What's the closest thing we have to a mech?

The closest thing we have to a mech is probably an exoskeleton. The video shows one intended for military use, but many applications are directed toward helping people who have lost their mobility.

DrJosh5 karma

And or a powered armour?

Not my area of expertise, but I did listen to an NPR episode that discussed what the military hopes to achieve in the near future.

HarryBalsonya_5 karma

What do you think about nanotechnology and the way it will shape the future?

DrJosh4 karma

Nanotechnology is definitely going to happen, it's just a question of when. When it does, who knows what effect it will have. When the first computer was created in the 1940s, very few people predicted the inevitable rise of Facebook....

InvisibleBlueUnicorn4 karma

Can AI create "Consciousness"?

DrJosh6 karma

Define "consciousness" :)

InvisibleBlueUnicorn3 karma

awareness of one's own existence, sensations, thoughts, surroundings, etc.

DrJosh8 karma

OK. The first step toward consciousness is self-awareness, which is the more mundane ability to sense relationships within your self ("are my two hands touching"), and relationships between self and environment ("how far am I from the cliff?")...

InvisibleBlueUnicorn3 karma

What about thoughts?

like what I want to be doing in 5 years?

DrJosh4 karma

Spot the difference between these thoughts:

"if I take another step I'll fall over the cliff"

"If I keep going at 60mph I won't have time to slow down and make that turn off."

"If I don't take this turnoff I'll get caught in traffic at the next exit."

"If I don't take this course now I won't be able to graduate next semester."

"If I don't go back to school now I won't be able to change careers within the next five years..."

My point is that there is little difference between concrete sense/action predictions ('over the cliff') and 'abstract' cogitation (predicting my future state in five years).

webbitor4 karma

Can you give an idea of how the ludobots course works, what prerequisites it has, and what the end-of-course opportunities are?

I don't have sound, so the video didn't help much.

DrJosh8 karma

The prerequisites for the Ludobots course requires nothing more than a beginner's background in programming. While the assignments may take longer depending on your experience level, we believe that the step-by-step progression each assignment has makes it accessible enough to a wide variety of people.

The course works with a ranking system. At the first rank you just submit an assignment; if you receive a passing grade you move on to the second rank. At every rank beyond the first you must grade an assignment that you have already done, using a rubric on each assignment page, and receive a passing grade on that rank's assignment.

Once you have received a passing grade on each assignment you can work on evolutionary robotics research with us. Essentially the ranking system is in place to make sure that contributors to our research can be trusted. If your contribution is validated by others -- or you provide a sufficiently interesting hypothesis of your own that others pursue -- we will include you as a co-author and all write up a research paper together.

The ludobots site is an experiment for us as well: we've never tried this before, so we're very eager to see the results!

DrJosh3 karma

We will try to add subtitles to the video tutorials on the site.

hanni904 karma

do you foresee a future like terminator, where robots take over and rule the world?

DrJosh14 karma

Ah ha, this question had to surface. :)

I think Rod Brooks, the former director of MIT's AI lab, hit the nail on the head. He argues that people will gradually merge with machines, so that it won't be as much an 'us-vs-them' scenario in future, but rather a 'we-together' hybrid species that will gradually emerge. We already have teenagers glued to smartphones, cochlear and retinal implants, and, soon, Google Glass. In a few short years, it might not be possible to tell the machines from the humans, and vice versa.

Mr_A7 karma

So you're more of a Blade Runner sort of guy?

DrJosh7 karma

Oh gosh, forgot about that one. Definitely in my top five.

markzman5 karma

What about GiTS?

DrJosh7 karma

I much prefer Akira.

0xD153A533 karma

This is precisely the area I want to pursue with my Ph.D., tho examining more the ethics and metaphysics of such cyborgs...What does it mean to be "human" in a cyborg world? Where is the line between human and cyborg, or cyborg and machine, and what rights (if any) will be extended to such machines?

I'm getting giddy just thinking about all the potential!

DrJosh1 karma

Great! Good luck!

hanni902 karma


DrJosh4 karma

Not such a fan.

Mr_A4 karma

What's your favourite robot story in science fiction and why?

Do you secretly harbor dreams of creating one of these robots for the purpose of questioning its motives in the stories it was in?

DrJosh4 karma

'The Robots of Dawn' was my first love. But there are so many others to choose from. Let me think about this....

Mr_A3 karma

What a coincidence, I'm reading Robots of Dawn to my daughter right now as a chapter-a-night style bedtime story (at her request). She hates that the robot on the cover has nothing to do with the story...

Did you ever read any of Barrington Bayley's work?

DrJosh2 karma

No, I don't know of his work. Could you recommend a specific book?

Mr_A2 karma

By the way, if you'd feel comfortable accepting a gift from a stranger, I'd love to send you my copy of Soul of a Robot. I picked it up this afternoon and even the first few chapters are re-blowing my mind again. It's quite a thought provoking read and I think you'll find it fascinating.

DrJosh2 karma

That's very generous of you. If you are so inclined, you could send it to my campus address

Josh Bongard Department of Computer Science 205 Farrell Hall University of Vermont Burlington, VT 05405

Mr_A2 karma

I'll stick it in the mail slot at work tomorrow.

DrJosh1 karma

Got the book Mr_A. Looking forward to reading it; thanks very much.

squaganaga3 karma


DrJosh6 karma

I'm going to explain how you program an evolutionary algorithm, which is one form of artificial intelligence.

Step one. Give the computer a way to measure how good a given solution is to the problem you wish to solve. For example if you wish to find the shortest route between a given set of cities, give your computer Google Maps, and a given route between the cities you wish to visit.

Step two. Generate a set of candidate solutions. For example, have the computer create 100 routes. Each route should hit up the cities you wish to visit.

Step three. Let the computer measure the quality of the current set of solutions. For example, let the computer measure the total length of each of your 100 routes.

Step four. Have the computer throw away the worst half of your current solutions. For example, the computer throws away the 50 longest routes.

Step five. Have the computer make randomly-modified copies of the remaining solutions. For example, the computer picks one of the remaining 50 routes, copies it, makes some slight random change (chicago to philly to toronto is changed to chicago to toronto to philly), and puts the new route in one of the empty slots.

Step six. Evaluate the quality of the new solutions. For example, measure the length of the 50 new paths.

Step seven. Go to step four.

If you repeat this cycle long enough, you will get the shortest path between all the cities you'd like to visit, or a drug that combats the disease you'd like to eradicate, or a robot that solves the task you'd like it to perform.

markzman3 karma

What was your most disillusioning experience during your time in the field? And the most exhilarating one?

DrJosh3 karma

Most exhilarating experience: After two years of hard work, our Evil Starfish took its first step after having one of its legs hacked off. It only moved three inches, but, "One small step for Bot..."

DrJosh2 karma

Most disillusioning experience: I did my PhD thesis on using genetic regulatory networks to evolve robots. I got some interesting results, but the system was very complicated and it turned out to be very difficult for other researchers to implement and continue that line of work.

Since that time some other approaches to evolving the bodies and brains of robots have emerged, most notably HyperNEAT. It's a beautiful algorithm, has produced great results, and, most importantly, is a simple algorithm to implement.

However I still think there is much promise to using GRNs to evolve robots. I hope one of my students, or someone else, returns to this topic some day.

markzman1 karma

I did my PhD thesis on using genetic regulatory networks to evolve robots.

Can you try to elaborate a bit on this topic and how these biological networks can relate to robotics?

DrJosh2 karma

Short version here:

In a GRN, genes turn each other on and off in complex patterns. These complex patterns drive the growth of a cell, the splitting of the cell, the growth of those two cells, etc.

In a similar way, I created simulated robots that were composed of 'cells', and those cells grew and divided. As they did, the robot's body and brain become more complex. I tried to show that this is a good way to evolve robots, compared to the more popular approach, in which the genome encodes a "blueprint" of the robot: i.e., "put a wheel here", "wire this touch sensor to that motor", and so on.

Here's an old New Scientist article about the project.

ArchangelPT3 karma

What do you think will be the pinnacle of robotic AI achieved within your lifetime

DrJosh4 karma

Personally I don't believe in the Singularity

so I'm going to assume my lifetime is finite.

I think we will reach a point where we have self-reproducing swarms of complex machines that adapt and help humans. We'll get there through a combination of advances in machine learning, 3D printing, Big Data, genetics and neuroscience.

However, I think attaining machines with 'human-level' abilities is a long way off: how would a machine empathize with us? In other words, how would it know what it's like to be a human? Much of our behavior is predicated on our ability to empathize with our fellow humans, predict what they'll do next, and either move to cooperate or compete with them. Steven Pinker's latest book provides a good overview of the neural correlates of empathy.

Heywood123 karma

FANUC has a "lights out" factory where robots build robots. Have you ever stumbled though such a factory in the dark?

DrJosh6 karma

No, but I'll be the first in line to sign up when it becomes a sport.

tioguerra2 karma

Sorry, came late to the party, but I'll drop my question anyway: Don't you think the old fashion theorem/model making is slowly getting replaced by exhaustive simulation/search based approaches, enabled by our ever faster computers that can handle gazillions of data? Take the famous cart-pole balancing problem for instance, sure we can tune some parameters and let the computer find the answer, instead of going through the trouble of modeling friction, performing linearizations, calculating a control law and so on. But in this case, aren't we missing the point sometimes? As a leading researcher on the field of evolutionary robotics, I would love to hear your thoughts on this issue.

DrJosh5 karma

I'm going to assume that by 'missing the point' you mean that we fail to understand the solution to a problem if the computer blindly searches for a solution using Big Data. Chris Anderson has an interesting take on this in the domain of science in general.

For robotics, I think the search-based method can indeed provide us with insight into a problem. My colleage Michael Schmidt has founded a company that is developing a particular search method, Eureqa, that searches over large amounts of data, but then presents the user with a compact mathematical model of the system that produced that data. So I don't really think there is a dichotomy between theorem/model making and search/Big Data approaches. It's just that now instead of the scientist creating the model, the computer does it for us. The challenge now is to get the computer to help us to understand the models it produces.

Sorrybeinglate2 karma

Thank you for this very informative IAmA. I have some background in economics, but I am planning to get into the biology-genetics-neuroscience side of the AI research spectrum in the following years and I am learning to program with python now.

I understand that I'm a bit late to the party, but if you see this, I'd like to ask your opinion on Erlang - I've heard it has great future in AI due to it's huge ability to utilize parallel processes.

DrJosh1 karma

Python is a great language to start with. I'm not that familiar with Erlang and it is not widely used. If you're going to do computationally intensive work such as machine learning and/or Big Data, C is a must.

Sorrybeinglate1 karma

Thanks for the answer anyway! You're doing a great job with this IAmA - so many useful links and materials!

DrJosh1 karma

Thanks Sorrybeinglate.

Simon86682 karma


DrJosh1 karma

FIRST is a fantastic outlet for young people to express their excitement about robotics, and all things geek in general. Although I'm not involved in FIRST myself, I have some great colleagues here in UVM who do run a very successful robotics competition program here in Vermont.

normonics2 karma

What do you gain from this? Is it a kind of social experiment in novel ways of doing research?

DrJosh3 karma

Exactly so. Online courses are proving that formal education does not need to be restricted to enrolled students physically occupying a classroom. Perhaps research groups no longer need to be restricted to graduate students occupying a lab.

Move over MOOCs; make way for the MOORs.

normonics2 karma

I'm a graduate student and the most valuable thing I have learned is to be an autodidact; but circumstances taught me that, not the 'formal education'.

I'm really interested in what you're doing here. Both with the 'MOOR' and using that kind of evolutionary thinking for robotics as well. What would you point me to as a publication to get a sense of your personal interests?

DrJosh3 karma

Here's a recent overview article I just wrote about evolutionary robotics.

Here's a great book that covers evolutionary robotics and related ideas by one of the founders of the field.

Here's a great video of some recent work in the emerging field of soft robotics.

normonics2 karma

Thanks a lot. One more thing, about the course, if I am submitting screengrabs and not code, is it still essential to be using python for some reason? Cheers

DrJosh3 karma

No. You can use any programming language you want, as long as you get the correct result in the end.

thebageljew2 karma

Do you have any technology or ideas for what may be created in the future?

DrJosh2 karma

I have many, and my students have many more. Come help us answer them --- and contribute your own ideas --- at

iorgfeflkd2 karma

Do you think that the idea of the Chinese Room means that "true" AI will never be possible?

DrJosh4 karma

Personally, I think that everyone has a Chinese Room in their skull. Does that mean that people are not capable of "true" intelligence? Just because one part of your brain receives some signal from the outside world but does not 'know' what that signal means does not mean that it cannot trigger a movement that avoids that dangerous signal.

Waywoah2 karma

What would be the best path for one wanting to get into this field to take?

DrJosh1 karma

Depends on where your path begins. Are you asking about undergraduate majors? PhD topics? Online courses?

Waywoah1 karma

Undergraduate majors.

DrJosh3 karma

Ah ha. The first decision to make is whether you're interested in the hardware or the software side of ai/robotics. If the former, then mechanical engineering is probably the best way to go. If it's the latter, the obvious choice would be computer science, but biology -- leading to genetic engineering or neuroscience -- is also a good path to follow. Both of these fields are yielding unique insight into what it means to be intelligent. Best of luck.

dr_pyser2 karma

are obama's ears really that big?

DrJosh3 karma

The camera always adds 10 pounds.

moltensnake2 karma

I've done a Masters in Mechatronics Engineering and am currently working as an Electronics engineer (pretty invaluable for the field) and am definitely keen to get into Robotics on a PhD level. Other than Japan and Germany, do you reckon there any other hot beds of robotics development around the world?And what's the holy grail of robotics in your opinion?

I'm extremely keen on robotics and any answer would be fascinating to read :). Thanks!

DrJosh4 karma

Switzerland is definitely a hotbed. I'll just throw out the names of just a few big names in robotics there: Rolf Pfeifer, Dario Floreano, Fumiya Iida, Raffaello D'Andrea, Bradley Nelson, Auke Ijspeert (there are many more).

USA (some of my colleagues and professors I admire:) Hod Lipson, Jordan Pollack, Maja Mataric, Jeff Clune, Ken Stanley, Radhika Nagpal, Russ Tedrake, John Long, Barry Trimmer (I could go on...)

moltensnake1 karma

I'll definitely look them up! Thanks for responding and do visit Australia some time. We've got some fun stuff going on too with regards to Robotics!

DrJosh1 karma

Would very much like to visit; never been.

Dormage2 karma

What is the reason for supporting only python?

Note that I'm not against python or any other language.

DrJosh2 karma

Three main reasons:

  1. Python is a very easy language for non-programmers to learn.

  2. There is no need to purchase a compiler, and Python is available for all computer/tablet/smart phone platforms.

  3. It is very easy to create visualizations from within Python and use those graphics to debug your code.

utopiah2 karma

Why not rely on Coursera, Udacity or another well established MOOC platform?

DrJosh1 karma

The MOOC platforms, currently, are well suited for structured coursework. However the heart of the Ludobots site is research: once you've completed the assignments there is an unstructured area where users can work together to write research papers. As such we decided to go with a less structured approach.

To that end we have created the Sandbox as an area where a MOOC may self-organize. If users get stuck on one of the assignments in the sandbox all they need to do is leave a comment and either another user will respond with advice and links or I will shoot a short instructional video to explain that concept.

utopiah2 karma

Don't misunderstanding me, I find wikis are amazing. The problem is to kickstart it WHILE allowing newcomers to participate. I think for people who wants to just discover the topic it might be a bit scary as opposed to a format that takes you by the hand and checks your exercises result automatically.

DrJosh1 karma

True, the discovery track may be overwhelming for some users, especially in its current form.

For such users the Sandbox area might be more comfortable, as students can work at their own pace without any need to submit their work or have it graded.

JohnGreer1 karma

What do you think of Friendly AI?

DrJosh1 karma

I don't know what that is; can you elaborate?

DrJosh1 karma

Thanks for the link JohnGreer.

irob1606141 karma

Hello, I recently got into researching the free energy principle in neuroscience and I ran into a discussion about the hybrid digital and analog nature of the brain. My question is, is it possible to inbed AI comparible to human intelligence into a purely digital archetecture? I maybe talking nonsense since im not an expert in either field.

DrJosh2 karma

Different people will give you different answers, but I think yes. A biological neuron "spikes": that is, it sends out an electrical impulse along its axon. A neuron, at a given time, either spikes or it doesn't. Thus, a neuron is in a very important sense digital.

DanneMM1 karma

What is the current bottleneck in robotics?

DrJosh3 karma

We're currently able to make robots perform one task, and perform it very well.

Here's are some old examples, a more recent example, and an example using quadcopters.

However, we haven't yet been able to create a robot that can perform multiple tasks, and adapt the way it performs each task as its environment changes. For example we have floor cleaning robots but we don't yet have a robot that can clean floors, and vaccuum, and clear the dinner table, and load the dishwasher, and fold the laundry, etc.

I believe the reason for the bottleneck is that we do not yet understand how nature evolved behaviorally plastic species, such as ourselves. Humans are capable of many different tasks -- and can learn lots of new ones -- but we evolved from simpler animals who perform a fixed number of behaviors. Even if some of those species can learn, they cannot learn the sheer number and variety of different behaviors that humans are capable of.

Jargen1 karma

What languages to you use to teach AI? I myself have been taught using Turbo Prolog and Java

DrJosh3 karma

I expect my students to know Python and C or, if they don't, to learn those languages as the class proceeds. The first language I was taught at school (high school) was Turbo Pascal.

Jargen1 karma

I'm trying to get an understanding for Genetic Algorithms, do you know of a good way to start? At least for a self-learner like myself.

DrJosh2 karma

I'd recommend Melanie Mitchell's very accessible (and short) book.

jtr991 karma

Hi, Josh. Great idea for an AMA. Will we see you in Sicily?

DrJosh1 karma

Thanks jtr99. Unfortunately not; enjoy...

onionleekdude1 karma

In your opinion, is there any merit to people who have fears of advanced AI leading to our humankind's eventual decline/possible extiction?

DrJosh1 karma

I think concern about where technology in general is leading us is a valid concern. However robots/AI taking over the planet is, in my opinion, low on the list of things we should worry about.

is_that_so1 karma

Are you familiar with RoboCup? I've been involved in both the simulation and physical humanoid leagues over the last few years and I'm keen to transition from my career as a software developer into robotics.

What kinds of valuable experience can you imagine I may not be receiving through RoboCop that would serve me well? We are a very small team so I've been involved in vision, localisation, motor control, bipedal locomotion and behavioural structuring, just to give you a sense of where I'm at.

Thanks for doing this AMA!

DrJosh1 karma

I'm a huge fan of RoboCup, although my group does not compete at the moment.

One aspect of robotics that's currently difficult to explore with physical machines is automated optimization of the robot's body. I believe (but I could be wrong) that there is a fixed platform that everyone uses, depending on which league you compete in.

Imagine in a few years' time when 3D printing matures, and you can 'print' your own robot team members as well as program their behaviors! You can use the assignments we've developed as part of our site to explore the optimization of robot body plans, if that's of interest.

is_that_so1 karma

That video was fantastic! Thanks very much.

Actually there is some room within the RoboCup to experiment with body forms. This year was the first for the 3D simulation league to permit heterogeneous players, and there's some research into how to migrate strategies to different physical forms which is quite interesting.

There is a physical league that uses a fixed platform (the Standard Platform League uses the Nao robot) but the rest of the humanoid league allows you to create your own robots. There are restrictions upon head height, arm span (as a ratio of height), COM height (as a ratio of height) and your senses must be 'human-like' (no Kinect, sonar, lidar etc.).

At this year's world cup we met a team who were using 3D printing for their team's heads, and I'm sure that in the near future we'll see more structural parts being printed. This may require tougher materials with low weight. The heads I saw were quite heavy, though they were quite strong.

I'm really enjoying RoboCup, and I'd like to find a means to transition to working with robotics, so I am particularly interested in what kinds of other areas of research I should be covering, as well as other activities I could get involved in.

DrJosh1 karma

I didn't know about this development in RoboCup; great to hear. Thanks is_that_so.

what kinds of other areas of research I should be covering, as well as other activities I could get involved in.

Of course I'm biased, but evolutionary robotics might one research area in robotics that not a lot of people are familiar with. Also, soft robotics is currently a white-hot topic in robotics that is just now taking off. video1 video2 video3.

Vojvodus1 karma

Thank you for making this IamA!

I have always been interested in Robot's and AI and i wounder, I have no Programming experiance .. Where do you think i should start to learn programming then move to Robotics?

edit 1: I mean, What language should i start out with? And is there any kit for robot programming (lego robots or something)

DrJosh1 karma

If you're interested in the hardware side of robots, you should definitely start with the Lego Mindstorms kit.

If you're interested in the AI / cognitive science side of robotics, start by learning Python, and then move on to C. Once you've got a bit of experience with those languages, you can try out the Robotics Operating System or our Ludobots site.

OnlyDeathAwaits1 karma

What are your thoughts on Cleverbot?

DrJosh1 karma

I don't think any chatbot will be able to pass the Turing Test if it doesn't have a body. Here's why.

How do humans understand one another? Because we can mentally simulate each other's experiences. When someone uses the English idiom "I bent over backward to meet my boss' deadline", we literally simulate bending over backward ourselves, and wince with the imagined pain. That allows us to understand that the other person suffered to accommodate the deadline. Even if we've never heard that idiom before. More about metaphors here.

The need to have a body to be intelligence is a particular stance in AI, known as Embodied Cognition. You can read more about it in our book, or here.

Daskala2 karma

Thank you so much for doing this. I teach middle school robotics, most of it LEGO Mindstorms, but I do teach a course grandiosely entitled 'artificial intelligence and mobile robotics'. My students learn about many of the robots you mention, so this AMA is a TREASURE trove for me! I have one very advanced student that I might try with your course, as he is probably far beyond the limited amount of Python I teach the other advanced students.

This is so fascinating, I always feel that I am living in a science fiction story. I started reading Asimov many years ago, and find it amazing that we are so far beyond what he anticipated in many ways, but so very far behind in robotics.

DrJosh2 karma

Thanks for this Daskala. Indeed we are 'behind' in robotics; it's what keeps me so engaged in this field.

There is a 'Play' track on our site designed for K-12 students or students that cannot program. It's designed so that students can perform a robotics experiment without writing any code, if that's of interest to your students.

InvisibleBlueUnicorn1 karma

This is very interesting. Is it freely available? Can my 6 year old use it?

DrJosh2 karma

S/he may be able to use the software in the Play track if you give her a hand.

Daskala1 karma

That is really wonderful! Thank you so much for letting me know. I have been quite concerned about what to do for this student (who wrote an offline chatroom for his team's FIRST LEGO League project last year) for a whole semester on this course, and your course might be great. The Play track is exactly what I need for enrichment purposes for kids who get too far ahead of the others. You don't know how excited I am! :)

DrJosh1 karma

Glad to help Daskala; best of luck.

OnlyDeathAwaits1 karma

Thank you for that idea.I will read it soon.

Also, do you think a robot could be modeled via a neuroscan of the human brain?

DrJosh2 karma

This is an idea that is first attributed to Hans Moravec (as far as I know)

Personally, I don't think scanning the brain of a human and 'etching' into a robot would lead to a smart machine. We are so much more than what's inside our heads. See my other post in these comment threads about 'embodied cognition'.

GoldXP1 karma

How realistic is that in the future, a human could vulnerability get robotic implants or organ / limb replacement? Say that I wanted to have improved vision, would I be able to get hawk-like eyes? Or if I wants to be be stronger, would be able to get strong robotic arms?

DrJosh1 karma

Retinal implants already exist, as do cochlear implants. There are reports (at least in the latter class of technologies) that the implants allow their wearers to hear better than they did before.

GoldXP1 karma

I've read that MIT, mice have been implanted with Artificial Memories. Would it be possible to do that to a human? Furthermore, would a person be able to be implemented with AI? Say I wanted to be an expert in carpentry, would I be able to get AI in carpentry?

DrJosh3 karma

I don't think you could download expert ability in carpentry. Carpentry, like many tasks, requires a 'feel' for the task: how the saw 'feels' drawing across wood. How this sensation actually feels to a master carpenter depends very much on her body. If your body is different, replaying her movements in your body will not produce expert carpentry.

Even memories for abstract concepts like math are dependent on our bodies: remembering an equation actually involves (subconsciously) remembering where you learned that equation, the fact that the integral in the equation reminds you of the S which is the first letter in your first name, etc. etc.

So, memories are probably not portable between people, in the same way that Windows applications are not immediately portable to a Mac or Linux machine. Different hardware.

fckedup1 karma

As a wannabe robotics engineer, I have always considered AI as my possible career. Which part of robotics do you deem as the most significant in their work, and possibly its influence on other disciplines? (AI, Control Engineering, Mechanical, Electrical, etc)

DrJosh1 karma

I don't quite understand your question. Could you rephrase it?

tharold1 karma

What do roboticists think of Mark Tilden and his work?

DrJosh1 karma

I can't speak for all roboticists, but I'm a big fan of Mark's work. He has helped to show us that one can achieve sophisticated behavior with relatively simple machines. Valentino Braitenberg made a similar point in his wonderful book Vehicles.

NPUMD1 karma

would you say a major in computer science or computer engineering is the best to get in the field of robotics/AI?

DrJosh1 karma

It depends on whether you're interested in the hardware side of robotics, or are more interested in the software -- and thus AI/cognitive science -- of robotics. If the latter, then computer science is a good way to go. (see my other comment in here about this topic).

sapolism1 karma

What are your thoughts about the potential for using evolutionary processes on robots to give rise to biased goals, self-interested robots and the eventual fall of mankind?

DrJosh1 karma

See my comment about robotics taking over the world here

Nabith1 karma

Have you worked with FIRST robotics? How effective is it at setting up students new success

DrJosh1 karma

See my comment about FIRST here

BuddhaNurture1 karma

Thank you for doing the ludobots thing! I'm very excited to participate.

On another note, elsewhere in the thread you spoke about AI not having had its eureka moment yet. Do you have a gut feeling on whether or not the Machine Learning field of Deep Learning (very good, fast discriminative learning through deep neural networks (3+ layers)) might be such a eureka moment? They seem awfully powerful.

DrJosh1 karma

Deep Belief Nets are definitely a big, recent breakthrough in our field. However, I think deep learning will be one part of the overall story. For example, if we just drop a deep belief net into a humanoid robot it is unlikely that it will continue to learn increasingly complex behaviors. There are still many unanswered questions related to motivation (i.e. how does the robot "decide" what goals it wishes to accomplish) and embodiment (i.e. how does the robot use its body to generate the sensory stimulation it needs to learn how to accomplish its goals).

Ironeagle981 karma

Do you think AIs can eventually learn to disobey orders?

DrJosh2 karma

I don't see why not. If we give a machine (or another person) a verbal command, there are always multiple ways of interpreting the message. This is why legal documents are so notoriously difficult to read: they try to ensure that there is only one way of interpreting the message in the document. So if a parent commands their teen not to go out at night, the reason may be to forbid him from visiting with undesirable (from the parent's perspective) friends. However if he invites his friends over he has not disobeyed the order, but he has (probably knowingly) disobeyed the spirit of the order.

Saziel901 karma

Hello, I'm an electronics student thinking of building my own robot for fun. How much of it is electronics and how much of it is programming? Thanks

DrJosh1 karma

It depends on how much you rely on an off-the-shelf kit, and how much of it you do yourself. Most kits 'hide' the electronics to allow you to focus on building and programming: Lego Mindstorms is the most popular example here. If you build your own robot from the ground up, you'll spend the majority of your time doing the electronics. Which of course is fine if that's the part you're most interested in.

Cephi1 karma

Assuming all human thought processes and behaviors follow algorithms (algorithms so complex it will be a while before they are well understood), could a computer be programmed with similar cognitive ability and neural complexity of a human, complete with emotions, desires, creativity, and self-motivation? It does not have to be indistinguishable from a human mind, just have similar ability in all areas.

If so could you guess at when we would see a machine like this? 20 years? 100 years?

DrJosh3 karma

Instead of "programming" a humanoid robot, stepping back and watching it perform human tasks, I think what we will see instead is the gradual increase in machine complexity: many people will create different algorithms; run them in evolving robots in simulation; they will trade or sell their robot designs online; this will lead to a robotics/AI online marketplace where the cheapest, funniest, most unique and/or most capable robots will bubble to the top; and people with print out these best robots on their home 3D printers.

So, instead of some magic day when human robots appear, robot technologies will gradually complexity and thread themselves into our society in a gradual way, much like all other technologies do.

Cephi1 karma

A very interesting take.... everything open / crowd sourced, I never thought of that.

I always envisioned something like the Apollo program but with the objective of producing a really impressive AI.

A focused, government funded effort involving tens of thousands of people, like the hoover dam, Apollo program, human genome project, or the decade of the brain.

Consider what the invention of the plow did for us: It freed much of the population up from food production work so they could pursue other things like mathematics, engineering, science, the arts, trades etc.

Now imagine machines eliminating all the menial jobs and we can now spend dramatically more time conceptualizing, designing, solving social problems, inventing, etc.

I would say that would be a pretty good objective.

DrJosh2 karma

I think AI and robotics is indeed something that has to be addressed by lots of people working together. Robocup is one way to do this; the iCub project is another.

But we're hoping that Ludobots is an easy way for people to contribute ideas, code, simulations, results and, ultimately, co-write research papers together. Not sure that it will grow into an Apollo or Manhattan project, but here's hoping...

fghjfghjfghj1 karma

What are the biggest obstacles to bringing robots to do most, if not all, the jobs that humans currently do?

Do you think we could create self-repairing and self-correcting robots so that robots would require little to no maintenance?

DrJosh2 karma

Biggest obstacles: See my response here.

Self-repairing: Yes.

MrStereotypist1 karma

I've always been interested in evolutionary techniques to develop programs so I have a few questions.
1. How are the initial programs generated?
2. What is the typical likelihood that the the worst program will get a chance to mate?
3. How do you ensure that the mixed programs generated will be valid?

DrJosh1 karma

I believe the particular kind of evolutionary method you're referring to is Genetic Programming. GP allows you to evolve computer programs. In evolutionary robotics, typically we evolve neural networks, which control the movement of the robot.

There are a number of good Genetic Programming tutorials online, but nothing compares to John Koza's original book on the subject.

goatsgreetings1 karma

Hi! I was curious as to whether you've ever experienced the 'uncanny valley' effect from a robot you've been involved in creating?

DrJosh4 karma

I have: it was when I `shook hands' with Otherlab's inflatable robot arm:

PkMn_TrAiNeR_GoLd1 karma

As a student (high school) interested in Robotics, and considering Mechanical Engineering as a major, what advice could/would you give me on robotics, my major choice, or just anything.

DrJosh2 karma

MechE is definitely a good way to go. In deciding where to go, see if the university or college have faculty there that are actually doing research in robotics. When at school, make a point to meet those faculty and find out if you can spend time in their lab either during the school year or over the summer. I often have undergrads working in my lab. It gives you a chance to really figure out if that's what you want to do with your life, and lab experience puts in a competitive position when applying for jobs or grad school after. Good luck!

Zomg_A_Chicken1 karma

Do you agree with this quote by Richard J. Schwartz?

"The impact of nanotechnology is expected to exceed the impact the electronics revolution has had on our lives."

DrJosh1 karma

No one can know a priori what the kind and magnitude of social impact a given technology will have, so no one can state with confidence that one technology will have more of an impact than another.

InvisibleBlueUnicorn1 karma

Your thoughts on work of "Isaac Asimov"?

DrJosh3 karma

Huge, huge fan. "Robots of Dawn" is definitely my favorite, followed closely by the first three Foundation books. I take it you're a fan also?

CanFoodie1 karma

What's better - the Cynic or the Sil?

& how'd you score the spot right behind Obama?

DrJosh4 karma

Ha ha, the Sil by far.

They lined us up by height, and I happened to be about middle height. So, I ended up right in the middle of this group of 94 junior scientists. I'm standing on a six-inch riser; Obama is standing on the ground. Tall fellow...

obss1 karma

How long will it take until there will be human-like robots among us?

DrJosh1 karma

See the exchange with ArchangelPT.

p_nathan1 karma

A lot of the research in symbolic AI disappeared in the mid-80s it seems like. One of the books I ran into written in that time period was Winograd's - - and he seemed to be entirely against his former research program in that manuscript.

I might not have my facts and dates clear, but it seems that generally symbolic reasoning was dropped, hard, by '95 in favor of stochastic approaches leading to today's aggressive focus on machine learning research.

Why is that? What, precisely, were the theoretical limitations that led to ML being the top dog here?

DrJosh1 karma

It's a long, complicated and interesting story, but one of the important nails in the coffin was the realization that we can achieve relatively sophisticated and adaptive behaviors in machines without the need for symbols: resource1 resource2.

The question still remains, however, that as we can scale up to more complex behaviors, will there come a point at which symbols are needed? Many people in the field believe the answer to this is 'no', myself included.

InvisibleBlueUnicorn0 karma

What is your definition of God?

DrJosh2 karma

Oh boy. I'll just politely pretend I didn't see this question. :)