Skip to content

Technical description

milanjelisavcic edited this page Aug 3, 2016 · 5 revisions

Technical description

Revolve contains:

  • classes for creating specifications of body parts
  • classes to build robot bodies and neural networks
  • world manager class that interacts with gazebo simulator (revolve.gazebo.manage.WorldManager> class)
  • classes for crossover and mutator operations
  • utility functions (converter, logger)

WorldManager communicates with gazebo using protobuf messages.

example (pausing the world):

manager = pygazebo.connect(address)
publisher = manager.advertise('/gazebo/default/world_control', 'gazebo.msgs.WorldControl')
publisher.wait_for_listener()

msg = pygazebo.msg.world_control_pb2.WorldControl()
msg.pause = True
publisher.publish(msg)

Tol-Revolve extends revolve for triangle-of-life experiments.

Tol-revolve contains:

  • World class extending revolve.gazebo.manage.WorldManager
  • Builder functions that use revolve.build.sdf.RobotBuilder to create an sdf object representing a robot.
  • logging functions
  • specifications of body parts
_________________
/ Premature      \
| optimization   |
| is the root of |
| all evil.      |
|                |
\ -- D.E. Knuth  /
-----------------
    \   ^__^
     \  (oo)\_______
        (__)\       )\/\
            ||----w |
            ||     ||
Clone this wiki locally