
run the MultiShadySim applet
(or just check out some animations)
First read about ShadySim if you haven't already. MultiShady extends the Shady system to support an arbitrary number of cooperating Shady robots plus a set of environment segments which are free to move (i.e. under the power of one or more Shadys).
This is not the only possible formulation for having multiple interacting Shady-like robots. Notably, though, this model does not require any modifications to the original Shady kinematic structure.
A MultiShady of the form described here can be considered as an example of a hetrogenous self-reconfigurable modular robot with two types of modules: Shadys and free segments.
This page introduces MultiShadySim, the MultiShady simulator. You can run MultiShadySim as an applet by clicking on the image at the top of the page.
Same as for ShadySim.
MultiShadySim shares the same codebase with ShadySim. Base capabilities for MultiShady are implemented in shady.common.multi (javadoc) and shady.common.ui.multi (javadoc). Simulator-specific code is in shady.sim.multi (javadoc) and shady.sim.ui.multi (javadoc).
MultiShadySim has a JScheme-based REPL-style interactive interpreter just as ShadySim does, and most functionality is inherited. The global variable shady now refers to a specific member in the MultiShady, set by the most recent call to (set-member index). All the original ShadySim API is available. Convenience bindings are added for MultiShadyCommonAPI (shady-multi-api.scm), MemberShadyCommonAPI (shady-multi-api.scm), MultiShadySimAPI (multi-sim-api.scm), MemberShadySimAPI (multi-sim-api.scm), and the public MultiUI (shady-multi-api.scm) and MultiSimUI (multi-sim-api.scm) APIs.
Additional scheme sugar is defined in shady-multi-extra.scm and multi-sim-extra.scm.
ShadySim is released in source form under the GNU GPL.
THIS INFORMATION AND/OR SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS INFORMATION AND/OR SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.