modular robots

My favorite part about Datanauts watercooler chats is that every week the line-up represents the huge range of what open data is and what open data does. This week, our three chats focused on the basics of working with Git, data ontologies, and designing robots for space exploration. 

The Intro to Git chat by Datanaut Reshama Shaikh (Fall 2017 Class) was an excellent follow-on to the Intro to Coding learning track where Datanauts first learned to work with GitHub. The GitHub web app is one of the most widely utilized collaborative platforms for software development. The Git in GitHub is an open source version control system, which means that Git will keep track of every change you commit. Although Git can be used locally on a developer’s machine as a standalone tool, Git is the only system integrated with GitHub. 

Reshama walked Datanauts through the basics of  installing Git, configuring your system and setting up your local directory, creating a repository (aka repo) on the GitHub web app and cloning it to your Git editor (she likes nano; the default editor is vim), and the essential Git commands for taking your changes through the Git workflow. The big advantage of Git is that its branching structure allows you to experiment and selectively push to your (or another developer’s) original branch.

Although Git was the star of the show, the GitHub web app features many useful metrics that tell the world you’re a developer—so much so, that Reshama recommends always updating your GitHub profile if you’re going to do any job hunting! One key feature is the contribution heat map that shows your interaction with other GitHub repositories.

Reshama uses Git to work through projects on deep learning—fitting since she is the organizer of the NYC Women in Machine Learning & Data Science Meetup!

The second chat of the week was with Datanauts mentor Dan O’Neil, a technical manager at NASA’s Marshall Space Flight Center. This chat, on ontology-driven web app development using JSON-LD, is the first in a series of related chats that touch on orreries and space mission visualization.

JSON-LD, which stands for JavaScript Object Notation for Linked Data, is a good way to express an ontology within a data file. An ontology, often written in the Web Ontology Language OWL, defines terms and semantic relationships between concepts.

Dan demonstrated the use of Protégé, a free ontology editor developed by the Stanford Center for Biomedical Informatics Research. Protégé is a great tool to identify hierarchical and semantic relationships between concepts and design your own ontologies or work with those developed by others. It also has the added advantage of easily exporting JSON-LD files.  

json-ldworkflow

Once data are collected and imported into an ontology editor like Protégé, you can export it as a structured data file and present it within a web-based orrery, as Dan wrote Dan in his recent blog post. 

Dan described one such project developed with Datanaut Robert Rovetto, who built the Space Situational Awareness Ontology. SSAO pulled data from NASA’s planetary Fact Sheets (usually html pages with tables) and created classes in Protégé. They used a Javascript code library to convert the output from Protégé from JSON-LD expanded format to compact format. A handy Javascript reads the compact JSON-LD file and builds an html table on a rendered webpage. Voila!

Dan’s future work includes creating an ontology from the extracted metadata from NASA’s Public Data List on data.nasa.gov!

The final chat of the week introduced Reem Alattas, a tech entrepreneur and transformer, to this class of Datanauts. Reem began her talk pointing out the obvious limitations of sending the types of humanoid-looking robots into space, namely that they’re big, can’t adapt easily to changing environments, and they require maintenance.

One approach for addressing these challenges is to utilize modular robots, which are composed of modules that can communicate with each other. Modular robotos tend to be more versatile in shape, more robust to uncertain physical environments, and lower in cost. Modules can be homogeneous—each module performs identical functions—or heterogeneous—each module performs different functions—or a combination.

Reem outlined the critical components of any robot that hopes to excel in the make-it-or-break-it field of space exploration, namely:

·      Self-assembly: modules attach to each other somehow (e.g.) magnets

·      Self-reconfiguration: robot changes shape according to the task at hand or in response to the environment—ready to face unknown challenges

·      Self-repair—ultimate for of self-configuration

·      Self-reproduction: robots can build more robots from an infinite supply of parts (if creating an identical robot it’s called self-replication)

The methodology that combines autonomous robots with evolutionary computation is called evolutionary robotics. It’s a method for the automatic creation of autonomous robots. Each robot contains a brain and a body so that the algorithms either evolve the robot’s “brain” to adapt to the environment OR co-evolve the robot’s brain and body.self-configuring robots

So where will we see this in space exploration? Any time a rover has got to navigate over a rock, one of the ways is to drive over it like a tank, of course, but why not change your body to avoid it completely? When reorienting a solar panel or making a repair in space? A robot will be there!

veronicaPhillips

About Veronica

Ronnie has been enthusiastically showcasing NASA data as a member of NASA's Open Data team since 2013. She supports NASA's open source efforts by helping to curate and administrate datasets on NASA's Open Data Portal and Open Source Code Catalog, managing citizen and internal requests for NASA data, contributing to the Space Data Daily Open NASA blog, teaching Datanauts courses, and coordinating logistics and data support for the International Space Apps Challenge hackathons.