NASA Robonaut 2 simulation: Placing an ISS panel in The Construct
By Miguel Angel
One of the most wanted robot simulations is a robot that can be used for anything. Robonaut is one like this. NASA kindly gave this simulation for public use and we thought here in The Construct that we could use it to make an even better user-friendly version. We created a test to demonstrate the possibilities that The Construct has to offer in Space Zero gravity simulations. We also envisioned this as a proof of concept of how The Construct could be used as a platform for competitions such as RoboCup, special for Space Exploration themes.
To launch this simulation you simply have to select the Robonaut2 simulation and select the following launch: $r2_robocup_at_space_1.launch
And there you have it! All the technical hassle was solved by The Construct and you have a ready to use Robonaut. This launch will spawn the torso version of Robonaut, with all its controllers in a zero gravity space. It will also spawn a taskboard full of functional buttons and switches without the third panel which will be spawned separately. One it’s done, you should get something like this:
To check that Robonaut is functioning correctly, it should have its arms in an L shape ready to start moving like in the picture above. Once all is running, please check that the taskboard is publishing. The taskboard publishes in a topic the state of the switches and buttons in the panel. In this early version, it only tracks the three lower switches and the security switch on the top right-hand corner of the first panel. To check all the taskboard systems are working, this is the correct output to the following command in the Webshell:
$rostopic info /taskboard/TaskboardPanelA
Publishers: * /taskboard_state_tracker
Subscribers: * /taskboard_systems_actuator
You should see the publisher of the Topic and a subscriber that controls when to activate the magnet that maintains the panel to be placed in position.
Once you are ready just launch the grab and place panel 3 launch:
This will reset the power switch and the panel to their starting positions.
Once done, Robonaut will start moving to grab the panel.
Once grabbed, it will place it just in front of the desired spot.
Then it will activate the magnet by firstly opening the security lid and then activating the power switches. Once activated, the panel will receive a force that will hopefully place it inside the taskboard.
This launch can be executed as many time as you like, so that there is no need of relaunching the simulation every time. There are other features that you might want to explore like the “model_destination_validator.py” which you can use to evaluate correct placing of objects based on their relative position to prior placed markers. Very useful for unsupervised learning and competitions.
Here is a full-length demo:
Come on, try it! We would love to see intelligent algorithms and systems to make Robonaut work as a charm!