Darwin2k - Version 0.88 ------------------------- Darwin2K is a system for simulation and synthesis (i.e. automated design) for robotics. It consists of a set of simulation capabilities and a multiobjective distributed evolutionary algorithm. The system started out as my (Chris Leger's) thesis work at CMU. More people seem to be interested in simulation than synthesis, so I've split all the core simulation capabilities into a standalone package called Dyno, which will probably be distributed separately at some point. Disclaimer: don't blame me if your genetically-engineered robot gets uppity and achieves world domination. If this should happen, please contact me and we'll write a paper about it. *** NOTE: Please send me email (xrayjones@users.sourceforge.net) *** *** after you've tried out the system, even if you just compile it *** *** (or try to)--any feedback will be useful to me. Thanks! *** -- Chris Leger License information ------------------- Darwin2K is free software, but it does have some license conditions. The parts that I've written (i.e. everything not explicitly stated to have been authored by anyone; this applies to the bulk of the code) is covered by the GNU Public License. The Darwin2K distribution also contains source code by S. Gottschalk; see src/RAPID/RAPID.h for license information. Contributors ------------ - Chris Lee (MIT) provided substantial automake/autoconf fu, XML support, and d2k-demos, darwin2k-makemod, and darwin2k-config scripts. - Andrew Wilmott (CMU) provided matrix inversion code. - The RAPID collision detection library is by S. Gottschalk (UNC). - Public-domain code for computing inertial properties of polyhedra is from Brian Mirtich (see src/dyno/mechanism/volInt.cxx) - RTC was written by Jorgen Pedersen. - Jeff Smith gave me the OpenGL lighting, keyboard, and mouse code - Public-domain arcball code for GL scene manipulation adapted from Ken Shoemake's Graphics Gems IV article, via Victor Ng-Thow-Hing and Michael Garland. Mailing lists ------------- You should consider joining one or both of the follow low-traffic mailing lists about Darwin2K: darwin2k-devel@lists.sourceforge.net - Darwin2K development discussions darwin2k-users@lists.sourceforge.net - Darwin2K use To join either of these, go to http://sourceforge.net/mail/?group_id=10967 Documentation ------------- There are 'manual pages' generated by doc++ at: http://darwin2k.sourceforge.net/darwin2k-docs Additionally, if you are installing Darwin2K from a tarball, there should be a 'darwin2k-docs/' subdirectory under this directory. index.html is a table of contents, and HIER.html and HIERjava.html are class heirarchies in HTML and Java, respectively. Several text files are also included in this distribution: README - this file; general info INSTALL - installation instructions TODO - things to fix or add--volunteers welcome! BUGS - known bugs; these should also be reflected in the TODO list CHANGELOG - a list of changes made to the software RELNOTES - features and other useful information about the current release You might also consider downloading the Darwin2K documentation: http://darwin2k.sourceforge.net/tutorial.pdf - a partial tutorial http://www.darwin2k.sourceforge.net/thesis.pdf - my thesis, explaining Darwin2K's internals, capabilities, and limitations Software requirements --------------------- Darwin2K has been tested under Irix6.2 and 6.4, several flavors of Linux (Red Hat 6.1, 6.2, and 7.0 with gcc 2.91.66), and Solaris. It should be easily portable to any UNIX platform. In order to fully utilize Darwin2K, you will need a few other packages: - Either OpenGL, MesaGL, or OpenInventor - Xforms (version 0.88, preferably) - RTC (Real-Time Communications, an IPC library) Some of the Darwin2K binaries are standalone programs and thus do not need RTC. You'll only need RTC if you're going to do automated synthesis, and not just simulation. You *can* build some targets that don't have any display (and will thus not need GL or Xforms), but the only point in this is if (a) you want to run simulations in batch mode or (b) you're doing automated synthesis (in which case you'll be running lots of simulation processes). The RTC home page is: http://www.rec.ri.cmu.edu/projects/rtc/ However, for the time being please download the RTC libraries, binaries, and headers from: http://darwin2k.sourceforge.net/rtc In addition, if you're going to be running lots of distributed simulation processed during synthesis runs, your life will be MUCH easier if you have ssh and perl (5.003 or higher, I think) installed, as Darwin2K includes perl scripts for firing off multiple processes on other machines via ssh. If you have questions about Darwin2K, please send email to darwin2k-users@lists.sourceforge.net. -- Chris Leger