Darwin2K: A toolkit for robot simulation and synthesis.
Darwin2K is a free, open-source toolkit for robot simulation and automated design. It features numerous simulation capabilities and an evolutionary algorithm capable of automatically synthesizing and optimizing robot designs to meet task-specific performance objectives.
Darwin2K is *not* an end-user application. Most uses of Darwin2K will require at least a little coding, usually to specify application-specific robot controllers and models, high-level task descriptions, or specialized simulation components. That being said, Darwin2K does include a range of general-purpose robot models, controllers, and simulation and analysis capabilities, eliminating most of the work required to develop a task-specific simulation or optimized robot prototype.
Getting Started As with any substantial application development library, there's a learning curve for Darwin2K. The first step is to learn how the all the pieces fit together. The demo programs give a reasonable overview of the simulation capabilities of Darwin2K, and we'll go through each one to see what's involved in creating a robot, setting up a scenario, and simulating a robot. After studying the demos, we'll look at Darwin2K's file formats and software architecture in more detail, allowing you to understand how to create custom simulations using existing Darwin2K components. For most applications, though, you'll need to add at least a little code for control, analysis, or custom robot components, so we'll also cover how to write Darwin2K plugins and create new C++ classes that can interact seamlessly with the rest of Darwin2K. Automated synthesis and optimization is a little more involved (in terms of both human and computer time required!), and will be covered last.
Alphabetic index Hierarchy of classes