Friday, May 20, 2011

Cloud Robotics vs. Safety

So, with Google also now pushing cloud robotics, it seems likely to get more and more attention. However, I want to see more discussion of safety on the matter.

I mean, didn't we already have a Will Smith movie implying safety risks for combining the internet with robots? Robot perception is linked with behavior, and if either perception or behavior can be downloaded at any moment, there had better be some serious safety mechanisms outside of any such easy cloud intelligence.

There really needs to be some underlying primitive coping level that enforces certain levels of safety, there needs to be serious levels of "don't dare touch this without top security clearance" baked in.

As long as we are talking toys, maybe it's not a big deal, but anything strong enough to do real work is strong enough to cause damage, and that needs secured.

Friday, May 13, 2011

Native ROS (Robot OS) for Java ... and MATLAB?

So, Google and Willow Garage just announced about an alpha-status pure Java implementation of ROS, the robot operating system (from Willow Garage). ROS in some ways is just another messaging system, and there are already about five billion of those in Java. However, it's also getting serious traction from all over the robotics community, has lots of ready-made robot awesomeness, and nicely seems to be overshadowing non-open competitors in robot middleware.

They are pushing it as a solution for Android. Android-brained robots are cool, but in our lab (and others), we use MATLAB a lot. There presently isn't any stable support for MATLAB is ROS, just GNU Octave. We have connected ROS with MATLAB, but the software hasn't been much more stable than the official support from Willow. Though I've been dodging Java since the Oracle lawsuit, I'm seriously planning to try out the new rosjava as a MATLAB option. MATLAB integrates easily with Java. Just import packages/classes, and use them.

As a side note, it seems like the new rosjava (unlike normal ROS) supports multiple nodes per process. I'll have to see if I can work multiple Java threads into communication with the main MATLAB thread ...