To familiarize yourself with the way robot body plans (morphologies) are represented in the RoboGen software suite, including:
- Gaining an understanding of the tree structure used for encoding robot morphologies.
- Learning to write your own robot description file.
Note: Download the folder Tutorial to get relevant files for this exercise.
Previously you saw how to simulate a robot and how to define a scenario in order to evolve a controller for a pre-provided robot morphology. Now, it is time to understand how robots are defined in RoboGen.
In the Build a robot tab use simpleRobot.robot.txt as the Robot description file. Clicking OK will play the simulation. Press P to see the robot in action. Remember, no evolution is occurring here!
Now on the window, examine how the robot is described in a specific format. For the details about how robots are represented you should read through http://robogen.org/docs/guidelines-for-writing-a-robot-text-file/
Make sure that you understand this information. Verify that you can answer the following questions:
- Which part of the file represents the robot’s body and which part represents the robot’s brain?
- For the body description, what does the indentation specify?
- What do the various numbers and strings on each line specify?
Now open myRobot1.robot.txt. This is a copy of simpleRobot.txt that has had the brain specification removed, which will make it easier to try creating robot morphologies.
Try adding/removing/modifying body components from this file and re-launching the simulator (now specifying myRobot1.robot.txt as the Robot description file) so that you can view your changes.
- What happens if you change ActiveHinge to PassiveHinge on line 2?
- What happens if you remove lines 6-9?
- Can you add a light-sensor attached to one end of the robot?
Note: If your file is not properly formatted, you will receive an error message when you try to simulate this robot.
Now, to make sure you understand how to write a robot description file, you should try to reproduce the robot shown below. You should pay careful attention to make sure all of the components are included in the proper position, and all joint orientations match.
Previous Exercise: Intro To Evolutionary Robotics Next Exercise: Brains (Controllers)