diff --git a/CHANGELOG.md b/CHANGELOG.md
index 80b898d..15d66e2 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -5,19 +5,22 @@ All notable changes to the LeggedSnake will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
-## [Unreleased]
+## [0.3.1] - 2023-06-14
-### Added
+Starting from 0.3.1, we won't include "-alpha" or "-beta" in the naming scheme,
+as it is considered irrelevant.
+
+### Added in 0.3.1
- ``requirements-dev.txt`` that contain dev requirements. It makes contribution easier.
- PyCharm configuration files.
-### Changed
+### Changed in 0.3.1
- Animations are now all stored in local variables, and no longer in an "ani"
global list of animations.
-### Fixed
+### Fixed in 0.3.1
- The main example file ``strider.py`` was launching animations for each subprocess.
This file is now considered an executable.
diff --git a/docs/doctrees/changeloglink.doctree b/docs/doctrees/changeloglink.doctree
index 7ec973f..9acfaff 100644
Binary files a/docs/doctrees/changeloglink.doctree and b/docs/doctrees/changeloglink.doctree differ
diff --git a/docs/doctrees/environment.pickle b/docs/doctrees/environment.pickle
index 53d89c6..37fb3d0 100644
Binary files a/docs/doctrees/environment.pickle and b/docs/doctrees/environment.pickle differ
diff --git a/docs/html/changeloglink.html b/docs/html/changeloglink.html
index 1570a86..e222e08 100644
--- a/docs/html/changeloglink.html
+++ b/docs/html/changeloglink.html
@@ -46,10 +46,10 @@
- Readme
- Changelog
diff --git a/docs/html/searchindex.js b/docs/html/searchindex.js
index eb8e80e..a4ea483 100644
--- a/docs/html/searchindex.js
+++ b/docs/html/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["api/dynamiclinkage", "api/geneticoptimizer", "api/physicsengine", "api/utility", "api/walker", "changeloglink", "index", "readmelink"], "filenames": ["api/dynamiclinkage.rst", "api/geneticoptimizer.rst", "api/physicsengine.rst", "api/utility.rst", "api/walker.rst", "changeloglink.rst", "index.rst", "readmelink.rst"], "titles": ["dynamiclinkage", "geneticoptimizer", "physicsengine", "utility", "walker", "Changelog", "Welcome to LeggedSnake\u2019s documentation!", "leggedsnake"], "terms": {"The": [0, 1, 2, 3, 4, 5, 6, 7], "modul": [0, 1, 2, 3, 4, 5, 7], "i": [0, 1, 2, 3, 4, 5, 6, 7], "an": [0, 1, 3, 5, 6, 7], "between": [0, 4, 5], "pymunk": [0, 2, 5, 6, 7], "kinemat": [0, 4], "linkag": [0, 1, 2, 5, 6, 7], "It": [0, 2, 3, 5], "provid": [0, 1, 3, 6, 7], "variou": [0, 5], "class": [0, 2, 4, 5, 6, 7], "overwrit": 0, "pylinkag": [0, 2, 4, 5, 6, 7], "object": [0, 1, 2, 5, 6, 7], "also": [0, 3, 7], "includ": [0, 5], "inherit": [0, 6, 7], "from": [0, 1, 2, 3, 4, 5, 6, 7], "eventu": [0, 6, 7], "handi": 0, "convert_to_dynamic_linkag": 0, "method": [0, 4, 6, 7], "can": [0, 2, 3, 5, 6, 7], "gener": [0, 1, 2, 4], "leggedsnak": [0, 1, 2, 3, 4, 5], "dynamicjoint": 0, "body0": 0, "none": [0, 1, 2, 3, 4], "body1": 0, "space": [0, 2], "radiu": 0, "0": [0, 1, 6, 7], "3": [0, 1, 6, 7], "densiti": 0, "1": [0, 1, 6, 7], "shape_filt": 0, "base": [0, 1, 2, 4, 5], "abc": 0, "equival": 0, "__init__": [0, 2, 5], "partial": 0, "A": [0, 2, 3, 4, 5, 6, 7], "handl": [0, 6, 7], "bodi": 0, "paramet": [0, 1, 2, 3, 4, 5, 6, 7], "option": [0, 1, 2, 3, 4], "first": [0, 1, 5, 6, 7], "link": [0, 5], "default": [0, 1, 2, 3, 4], "second": [0, 1, 2, 6, 7], "simul": [0, 4, 5, 6, 7], "which": [0, 2, 6, 7], "exist": [0, 1], "float": [0, 1, 2, 3, 6, 7], "hull": 0, "thi": [0, 1, 2, 3, 5, 6, 7], "mass": [0, 6, 7], "comput": [0, 5, 6, 7], "accordingli": 0, "shape": 0, "shapefilt": 0, "prevent": [0, 6, 7], "collid": 0, "each": [0, 1, 3, 5], "other": [0, 1, 2, 4, 6, 7], "us": [0, 2, 3, 4, 5], "same": [0, 1, 2, 3, 6, 7], "instanc": [0, 5, 6, 7], "_abc_impl": 0, "_abc": 0, "_abc_data": 0, "reload": 0, "coordin": [0, 1, 3], "onli": [0, 1, 2, 3, 5], "depend": [0, 5], "posit": [0, 1, 2, 4, 6, 7], "do": [0, 1, 2, 4, 5, 6, 7], "NOT": 0, "ani": [0, 1, 2, 5, 6, 7], "constraint": [0, 2, 6, 7], "return": [0, 1, 2, 3, 4, 6, 7], "type": [0, 1, 2, 3, 4], "load": 0, "name": [0, 3, 4, 5, 6, 7], "thick": 0, "counterpart": [0, 1], "ha": [0, 5, 6, 7], "sever": [0, 6, 7], "attribut": [0, 1], "its": [0, 6, 7], "natur": 0, "close": [0, 1], "empti": [0, 5], "shell": 0, "wai": [0, 6, 7], "you": [0, 1, 2, 5, 6, 7], "pleas": [0, 3, 5], "note": 0, "carri": 0, "relev": 0, "real": [0, 5, 6, 7], "world": [0, 2, 5, 6, 7], "where": 0, "weight": 0, "leg": [0, 2, 4, 5, 6, 7], "small": [0, 5], "compar": [0, 6, 7], "frame": [0, 2], "instanci": 0, "new": [0, 1, 5, 6, 7], "part": [0, 2, 5, 6, 7], "convert": 0, "should": [0, 1, 4, 5, 6, 7], "instanti": [0, 2], "user": [0, 5], "friendli": 0, "set": [0, 2, 3], "str": [0, 1], "id": 0, "self": 0, "ratio": 0, "bar": [0, 1, 5], "length": [0, 3, 6, 7], "width": [0, 1, 3], "_thick": 0, "build_load": 0, "load_mass": 0, "creat": [0, 1, 2, 3, 4, 6, 7], "have": [0, 2, 5, 6, 7], "convert_to_dynamic_joint": 0, "filter": 0, "height": [0, 3, 5], "joint_to_rigidbodi": 0, "mechanical_energi": 0, "rigidbodi": [0, 2], "dynamicpivot": 0, "x": [0, 6, 7], "y": [0, 6, 7], "joint0": 0, "joint1": 0, "distance0": 0, "distance1": 0, "pivot": 0, "point": [0, 3], "parent": [0, 1, 2, 6, 7], "fix": 0, "turn": [0, 1, 6, 7], "horizont": 0, "axi": 0, "vertic": 0, "o": 0, "human": 0, "readabl": [0, 5], "union": [0, 2, 3], "tupl": [0, 1, 6, 7], "geometr": 0, "distanc": [0, 1, 6, 7], "current": [0, 1, 2], "r0": 0, "r1": 0, "set_anchor_a": 0, "anchor_a": 0, "characterist": [0, 1], "keep": [0, 5], "constant": 0, "set_anchor_b": 0, "anchor_b": 0, "motor": [0, 6, 7], "angl": [0, 6, 7], "crank": [0, 4, 6, 7], "make": [0, 3, 5, 6, 7], "attach": 0, "them": [0, 3], "pivotjoint": 0, "add": [0, 2, 4, 6, 7], "simplemotor": 0, "over": [0, 6, 7], "ar": [0, 1, 2, 3, 4, 5, 6, 7], "now": [0, 1, 5, 6, 7], "constrain": 0, "rotat": 0, "around": 0, "one": [0, 1, 2, 6, 7], "place": 0, "extrem": 0, "defin": [0, 5], "circular": 0, "initi": [0, 1, 2, 6, 7], "won": 0, "t": [0, 1, 2, 3, 6, 7], "thereaft": 0, "refer": 0, "radian": 0, "trigonometr": 0, "order": [0, 1, 4, 5], "r": [0, 6, 7], "nail": 0, "static": [0, 6, 7], "simpl": [0, 1, 4, 6, 7], "follow": [0, 1, 6, 7], "special": 0, "sinc": 0, "doe": 0, "anchor": 0, "kind": 0, "view": 0, "engin": [0, 2, 6, 7], "term": 0, "pinup": 0, "two": [0, 1, 6, 7], "pm": 0, "segment": 0, "fulli": 0, "error": [0, 5], "call": [0, 5], "befor": [0, 1], "properli": [0, 5], "side": 0, "effect": [0, 5], "kinematic_linkag": 0, "classic": [0, 6, 7], "wrapper": 1, "As": 1, "didn": 1, "try": [1, 6, 7], "convinc": 1, "librari": [1, 6, 7], "why": [1, 2, 5, 6, 7], "built": [1, 5, 6, 7], "here": [1, 5, 6, 7], "feel": [1, 6, 7], "free": [1, 6, 7], "propos": 1, "copyleft": 1, "github": [1, 5, 6, 7], "thu": [1, 4], "jun": [1, 4], "10": [1, 4, 6], "21": [1, 4, 6], "20": [1, 3], "47": 1, "2021": [1, 4, 6], "author": [1, 2, 3, 4], "hugofara": [1, 2, 3, 4, 5, 6, 7], "birth": 1, "par1": 1, "par2": 1, "prob": 1, "individu": 1, "sequenc": 1, "child": 1, "uniform": 1, "crossov": 1, "random": [1, 6, 7], "reset": 1, "mutat": 1, "gene": 1, "normal": 1, "law": 1, "come": [1, 6, 7], "randomli": 1, "list": [1, 3, 4, 5, 6, 7], "dna": 1, "probabl": 1, "evaluate_individu": 1, "fit": [1, 6, 7], "fitness_arg": 1, "evalu": [1, 5, 6, 7], "singl": 1, "callabl": 1, "function": [1, 5, 6, 7], "signatur": 1, "addit": 1, "argument": [1, 5, 6, 7], "pass": [1, 3, 6, 7], "usual": 1, "joint": [1, 2, 4, 6, 7], "score": [1, 6, 7], "evaluate_popul": 1, "entir": 1, "popul": 1, "pop": 1, "verbos": [1, 5], "true": [1, 3, 5], "process": [1, 5], "whole": 1, "bool": [1, 2, 3], "To": [1, 6, 7], "displai": [1, 2, 5], "inform": [1, 5], "about": [1, 6, 7], "int": [1, 4, 6, 7], "number": [1, 4, 5, 6, 7], "involv": 1, "multiprocessor": 1, "evolutionary_optim": [1, 5], "iter": [1, 5], "07": [1, 6], "kwarg": 1, "run": [1, 5, 6, 7], "procedur": [1, 6, 7], "darwinian": 1, "evolut": 1, "model": [1, 2], "todai": 1, "still": 1, "becaus": [1, 5, 6, 7], "we": [1, 2, 3, 5, 6, 7], "mai": [1, 2, 6, 7], "implement": 1, "anoth": [1, 6, 7], "format": [1, 5], "dimens": [1, 6, 7], "maximis": [1, 6, 7], "problem": [1, 5, 6, 7], "must": 1, "dict": 1, "max_pop": 1, "maximum": 1, "11": 1, "init_pop": [1, 5], "wider": 1, "divers": 1, "max_genetic_dist": 1, "cannot": [1, 3], "reproduc": 1, "separ": [1, 6, 7], "speci": 1, "7": [1, 5], "startnstop": 1, "abil": 1, "program": 1, "without": [1, 4], "loos": 1, "If": [1, 2, 3, 6, 7], "verifi": [1, 6, 7], "data": [1, 3, 5], "file": [1, 2, 3, 5, 6, 7], "save": [1, 2, 5, 6, 7], "everi": 1, "250": 1, "fals": [1, 2, 3, 5], "send": 1, "sent": 1, "level": 1, "print": [1, 6, 7], "anyth": 1, "show": [1, 5], "progress": [1, 5], "2": [1, 4, 6], "complet": [1, 5, 6, 7], "report": 1, "best": [1, 5], "evolutionary_optimization_builtin": [1, 5], "good": [1, 2, 6, 7], "transmiss": 1, "keyword": 1, "sort": 1, "kwargs_switch": 1, "arg_nam": 1, "element": [1, 3, 6, 7], "load_popul": 1, "file_path": [1, 3], "given": 1, "make_children": 1, "inf": [1, 6, 7], "loc": [], "scale": [], "size": 5, "draw": [2, 6, 7], "sampl": [], "gaussian": [], "distribut": [], "deriv": [], "de": [], "moivr": [], "200": [], "year": [], "later": [], "both": [], "gauss": [], "laplac": [], "independ": [], "often": [6, 7], "bell": [], "curv": [], "see": 2, "exampl": [5, 6, 7], "below": [], "occur": [], "For": [3, 6, 7], "describ": [6, 7], "commonli": [], "influenc": 4, "larg": [], "tini": [], "disturb": [], "own": [], "uniqu": [], "code": [5, 6, 7], "numpi": [5, 6, 7], "instead": 5, "quick": 5, "start": [5, 6, 7], "array_lik": [], "mean": [6, 7], "centr": [], "standard": [3, 6, 7], "deviat": [], "spread": [], "non": [], "neg": [], "output": 1, "e": [], "g": [], "m": [6, 7], "n": [6, 7], "k": [], "drawn": [], "valu": [1, 3, 6, 7], "scalar": [], "otherwis": [3, 6, 7], "np": [], "broadcast": [], "out": [6, 7], "parameter": [], "ndarrai": [], "scipi": [], "stat": [], "norm": [], "cumul": [], "etc": [6, 7], "p": [], "frac": [], "sqrt": [], "pi": [], "sigma": [], "mu": [], "squar": [], "varianc": [], "peak": [], "increas": 5, "reach": [], "607": [], "time": [6, 7], "impli": [], "more": [5, 6, 7], "like": [6, 7], "ly": [], "rather": [], "than": 2, "those": [], "far": [], "awai": [], "wikipedia": [], "http": [6, 7], "en": [], "org": [], "wiki": [], "normal_distribut": [], "peebl": [], "jr": [], "central": [], "limit": 3, "theorem": [], "variabl": 5, "signal": [], "principl": [], "4th": [], "ed": [], "2001": [], "pp": [], "51": [], "125": [], "": [3, 5, 7], "1000": [], "ab": [], "vari": [], "std": [], "ddof": [], "histogram": [], "along": [], "import": [5, 6, 7], "matplotlib": [2, 5, 6, 7], "pyplot": [], "plt": 5, "count": [], "bin": [], "ignor": 5, "hist": [], "30": 2, "plot": [], "exp": [], "linewidth": [], "color": [], "four": [6, 7], "arrai": [], "5": [2, 5], "4": [1, 6], "49401501": [], "00950034": [], "81814867": [], "29718677": [], "39924804": [], "68456316": [], "99394529": [], "84057254": [], "rand": [], "d0": [], "d1": [], "dn": [], "conveni": [], "port": [], "matlab": [], "wrap": [], "random_sampl": [], "That": [], "take": 3, "specifi": 1, "consist": 5, "zero": [], "ones": [], "python": [5, 6, 7], "14022471": [], "96360618": [], "37601032": [], "25528411": [], "49313049": [], "94909878": [], "randint": [], "low": [], "high": [], "dtype": [], "integ": [], "inclus": [], "exclus": [], "discret": [], "half": [6, 7], "open": [], "interv": [], "result": [3, 6, 7], "lowest": 3, "sign": [], "unless": [], "case": 5, "abov": [], "highest": [], "largest": [], "behavior": 2, "contain": [2, 3, 5], "desir": [], "byteord": [], "nativ": 5, "version": [5, 6, 7], "appropri": 2, "random_integ": [], "similar": [], "omit": [], "differ": 3, "upper": [], "bound": 2, "9": 5, "lower": [], "8": 5, "uint8": [], "6": 5, "16": [], "12": [4, 6], "save_popul": 1, "data_descriptor": [1, 5], "json": [1, 5], "want": [1, 2, 5, 6, 7], "select_par": 1, "select": [1, 5], "tqdm_verbos": 1, "arg": 1, "tqdm": [1, 5], "let": [1, 5, 6, 7], "give": [2, 4, 6, 7], "mechan": [2, 3, 4, 6, 7], "2d": 2, "physic": [2, 5, 6, 7], "chipmunk": 2, "planar": [2, 3, 6, 7], "In": [2, 6, 7], "theori": 2, "practic": 2, "road": [2, 5], "some": [2, 4, 5, 6, 7], "graviti": [2, 6, 7], "so": [2, 6, 7], "difficult": 2, "test": [2, 5], "someth": [2, 6, 7], "walker": [2, 5], "sat": [2, 3], "25": [2, 6], "2019": 2, "14": [2, 6], "56": 2, "01": 2, "visualworld": 2, "road_i": [2, 5], "ordin": [2, 3], "ground": [2, 5, 6, 7], "when": [2, 5, 6, 7], "likag": 2, "long": [2, 5, 6, 7], "add_linkag": [2, 6, 7], "artist": [2, 6, 7], "draw_linkag": 2, "hi": 2, "state": [2, 5], "updat": [2, 5, 6, 7], "least": [2, 5], "intend": [2, 6, 7], "render": [2, 5], "visual": 2, "per": 2, "se": 2, "purpos": [2, 5], "dynamiclinkag": [2, 5, 6], "build_road": 2, "build": [2, 6, 7], "ad": 2, "left": 2, "im_debug": 2, "debug": [2, 5], "linkage_bb": 2, "box": 2, "form": 2, "min_i": 2, "max_x": 2, "max_i": 2, "min_x": 2, "get": [2, 6, 7], "recalc_linkag": 2, "assign": 2, "all": [2, 5, 6, 7], "set_space_constraint": 2, "solver": 2, "thei": [2, 4, 5, 6, 7], "mani": [2, 5, 6, 7], "video": [2, 5], "durat": [2, 6, 7], "launch": [2, 5], "40": [2, 6, 7], "mp4": 2, "video_debug": 2, "known": [3, 5], "walkerutil": 3, "aim": 3, "simplifi": 3, "studi": 3, "walk": [3, 6, 7], "easi": [3, 6, 7], "nov": 3, "17": 3, "2018": 3, "35": 3, "39": 3, "ggb_extractor": 3, "geogebra": [3, 5], "dictionari": 3, "slider": 3, "item": 3, "step": [3, 5, 6, 7], "return_r": [3, 5], "y_min": 3, "acc": 3, "cross": 3, "obstacl": [3, 6, 7], "dure": [3, 5], "locu": 3, "slower": [3, 5, 6, 7], "faster": [3, 6, 7], "subset": [3, 4], "abl": [3, 6, 7], "intern": 3, "stride": [3, 5, 6, 7], "higher": 3, "adjac": 3, "inclin": 3, "irrelev": [3, 6, 7], "dirac": 3, "interfac": [4, 5, 6], "understood": 4, "dynam": [4, 5], "13": 4, "_crank": 4, "_solve_ord": 4, "add_leg": [4, 6, 7], "mostli": 4, "whose": 4, "get_foot": 4, "foot": [4, 6, 7], "formal": 4, "children": 4, "candid": 4, "termin": 4, "feet": [4, 6, 7], "notabl": 5, "document": [5, 7], "project": [5, 6, 7], "adher": 5, "semant": 5, "requir": 5, "dev": [5, 6, 7], "txt": [5, 6, 7], "contribut": 5, "easier": 5, "pycharm": 5, "configur": 5, "anim": 5, "store": 5, "local": 5, "longer": [5, 6, 7], "global": 5, "main": [5, 6, 7], "strider": [5, 6, 7], "py": [5, 6, 7], "wa": 5, "subprocess": 5, "consid": 5, "execut": 5, "last": 5, "were": 5, "line": [5, 6, 7], "geneticoptim": [5, 6], "multipl": [5, 6, 7], "grammar": 5, "correct": 5, "physicsengin": [5, 6], "crash": 5, "multiprocess": 5, "genet": 5, "optim": 5, "parallel": 5, "perform": 5, "got": 5, "improv": 5, "65": 5, "slow": 5, "relax": [5, 6, 7], "stop": 5, "sidebar": 5, "bit": 5, "Not": 5, "caus": 5, "except": 5, "support": [5, 6, 7], "pygad": 5, "present": 5, "evolutionnary_optim": 5, "replac": [5, 6, 7], "old": 5, "ite": 5, "renam": 5, "nice": 5, "noth": 5, "solut": [5, 6, 7], "well": [5, 6, 7], "typo": 5, "clean": 5, "up": 5, "doc": [5, 6, 7], "evolutionnary_optimization_legaci": 5, "explicit": 5, "There": [5, 6, 7], "annoi": 5, "messag": 5, "instal": 5, "possibl": 5, "advis": 5, "path": [1, 5], "manual": 5, "silent": 5, "stuff": 5, "bump2vers": [5, 6, 7], "mainten": 5, "custom": 5, "been": 5, "latest": [5, 6, 7], "full": 5, "swarm": 5, "represent": 5, "polar": 5, "graph": 5, "repair": 5, "could": [5, 6, 7], "appear": 5, "through": 5, "napoleon": 5, "style": 5, "integr": 5, "packag": [5, 6, 7], "lack": 5, "sphinx": [5, 6, 7], "websit": 5, "host": [5, 6, 7], "page": [5, 6], "check": [5, 6, 7], "io": [5, 6, 7], "expand": 5, "readm": [5, 6], "section": [5, 6, 7], "move": 5, "my": [5, 6, 7], "big": 5, "mess": 5, "sorri": 5, "inconveni": 5, "lot": [5, 6, 7], "outdat": 5, "url": 5, "broken": 5, "setup": 5, "cfg": 5, "secur": 5, "tox": 5, "ini": 5, "flake": 5, "speed": 5, "witdh": 5, "pypi": [5, 6, 7], "incompat": 5, "suit": [5, 6, 7], "unus": 5, "ga": 5, "ship": 5, "automat": 5, "switch": 5, "algorithm": 5, "metadata": 5, "vulner": 5, "imag": 5, "reform": 5, "convent": 5, "md": 5, "enorm": 5, "system": 5, "break": 5, "your": [5, 6, 7], "cpu": 5, "walkthrough": 5, "demo": [5, 6, 7], "releas": 5, "action": 5, "absent": 5, "due": 5, "gitignor": 5, "misconfigur": 5, "folder": [5, 6, 7], "environ": 5, "yml": [5, 6, 7], "flexibl": 5, "superior": 5, "util": [5, 6, 7], "zipfil": 5, "xml": 5, "encapsul": 5, "compat": [5, 6], "mail": 5, "explicitli": 5, "sai": [5, 6, 7], "markdown": 5, "conserv": 5, "basic": 5, "code_of_conduct": 5, "help": 5, "commun": 5, "licens": [5, 6, 7], "mit": [5, 6, 7], "manifest": 5, "veri": 5, "minim": [5, 6, 7], "show_evolut": 5, "just": [5, 6, 7], "legaci": 5, "test_util": 5, "untest": 5, "pyproject": 5, "toml": 5, "changelog": 6, "unreleas": 6, "beta": 6, "alpha": 6, "06": 6, "26": 6, "23": 6, "22": 6, "sourc": [6, 7], "download": [6, 7], "discuss": [6, 7], "sister": 6, "backend": 6, "fast": [6, 7], "believ": [6, 7], "fun": [6, 7], "our": [6, 7], "philosophi": [6, 7], "three": [6, 7], "concept": [6, 7], "reli": [6, 7], "chill": [6, 7], "look": [6, 7], "strive": [6, 7], "surviv": [6, 7], "join": [6, 7], "contributor": [6, 7], "conda": [6, 7], "env": [6, 7], "develop": [6, 7], "repo": [6, 7], "under": [6, 7], "nutshel": [6, 7], "git": [6, 7], "clone": [6, 7], "com": [6, 7], "cd": [6, 7], "script": [6, 7], "demonstr": [6, 7], "techniqu": [6, 7], "need": [6, 7], "onc": [6, 7], "l": [6, 7], "center": [6, 7], "b": [6, 7], "31": [6, 7], "my_walk": [6, 7], "behav": [6, 7], "quit": [6, 7], "No": [6, 7], "chang": [6, 7], "rule": [6, 7], "work": [6, 7], "rebuild": [6, 7], "rais": [6, 7], "unbuildableerror": [6, 7], "certain": [6, 7], "measur": [6, 7], "weird": [6, 7], "sens": [6, 7], "while": [6, 7], "heavili": [6, 7], "thank": [6, 7], "howev": [6, 7], "calcul": [6, 7], "much": [6, 7], "million": [6, 7], "fewer": [6, 7], "everyth": [6, 7], "almost": [6, 7], "definit": [6, 7], "convers": [6, 7], "apart": [6, 7], "revolut": [6, 7], "def": [6, 7], "dynamic_linkage_fit": [6, 7], "yield": [6, 7], "somm": [6, 7], "tot": [6, 7], "dur": [6, 7], "param": [6, 7], "camera": [6, 7], "fp": [6, 7], "time_coef": [6, 7], "po": [6, 7], "j": [6, 7], "rang": [6, 7], "effici": [6, 7], "energi": [6, 7], "100": [6, 7], "averag": [6, 7], "final": [6, 7], "And": [6, 7], "civil": [6, 7], "machin": [6, 7], "focu": [6, 7], "cool": [6, 7], "oop": [6, 7], "what": [6, 7], "forget": [6, 7], "danger": [6, 7], "crawl": [6, 7], "crawler": [6, 7], "goal": [6, 7], "pair": [6, 7], "less": [6, 7], "intens": [6, 7], "On": [6, 7], "hand": [6, 7], "alwai": [6, 7], "begin": [6, 7], "lift": [6, 7], "front": [6, 7], "doesn": [6, 7], "ahead": [6, 7], "fall": [6, 7], "nose": [6, 7], "With": [6, 7], "snoop": [6, 7], "shorter": [6, 7], "total": [6, 7], "minimum": [6, 7], "unoptim": [6, 7], "my_linkag": [6, 7], "visualis": [6, 7], "tool": [6, 7], "better": [6, 7], "might": [6, 7], "expect": [6, 7], "tailor": [6, 7], "go": [6, 7], "risk": [6, 7], "quickli": [6, 7], "suboptim": [6, 7], "impact": [6, 7], "rest": [6, 7], "properti": [6, 7], "reduc": [6, 7], "axial": [6, 7], "symmetri": [6, 7], "either": [6, 7], "pyswarm": [6, 7], "complex": [6, 7], "modern": [6, 7], "laptop": [6, 7], "enough": [6, 7], "made": [6, 7], "victor": [6, 7], "blomqvist": [6, 7], "home": [6, 7], "extern": [6, 7], "index": 6, "search": 6, "welcom": 7, "unittest": [6, 7], "python3": [6, 7], "discov": [6, 7], "mainli": [6, 7], "maintain": [6, 7], "fell": [6, 7], "necessari": [6, 7], "publish": [6, 7], "minor": [6, 7], "regener": [6, 7], "html": [6, 7], "write": 1, "enabl": 1, "success": 1}, "objects": {"leggedsnake": [[0, 0, 0, "-", "dynamiclinkage"], [1, 0, 0, "-", "geneticoptimizer"], [2, 0, 0, "-", "physicsengine"], [3, 0, 0, "-", "utility"], [4, 0, 0, "-", "walker"]], "leggedsnake.dynamiclinkage": [[0, 1, 1, "", "DynamicJoint"], [0, 1, 1, "", "DynamicLinkage"], [0, 1, 1, "", "DynamicPivot"], [0, 1, 1, "", "Motor"], [0, 1, 1, "", "Nail"], [0, 1, 1, "", "PinUp"], [0, 4, 1, "", "convert_to_dynamic_linkage"]], "leggedsnake.dynamiclinkage.DynamicJoint": [[0, 2, 1, "", "__init__"], [0, 3, 1, "", "_abc_impl"], [0, 2, 1, "", "reload"]], "leggedsnake.dynamiclinkage.DynamicLinkage": [[0, 2, 1, "", "__init__"], [0, 3, 1, "", "_thickness"], [0, 3, 1, "", "body"], [0, 2, 1, "", "build_load"], [0, 2, 1, "", "convert_to_dynamic_joints"], [0, 3, 1, "", "density"], [0, 3, 1, "", "filter"], [0, 3, 1, "", "height"], [0, 3, 1, "", "joint_to_rigidbodies"], [0, 3, 1, "", "mass"], [0, 3, 1, "", "mechanical_energy"], [0, 3, 1, "", "rigidbodies"], [0, 3, 1, "", "space"]], "leggedsnake.dynamiclinkage.DynamicPivot": [[0, 2, 1, "", "__init__"], [0, 3, 1, "", "_abc_impl"], [0, 3, 1, "", "r0"], [0, 3, 1, "", "r1"], [0, 2, 1, "", "reload"], [0, 2, 1, "", "set_anchor_a"], [0, 2, 1, "", "set_anchor_b"]], "leggedsnake.dynamiclinkage.Motor": [[0, 2, 1, "", "__init__"], [0, 3, 1, "", "_abc_impl"], [0, 3, 1, "", "angle"], [0, 3, 1, "", "r"], [0, 2, 1, "", "reload"], [0, 2, 1, "", "set_anchor_a"]], "leggedsnake.dynamiclinkage.Nail": [[0, 2, 1, "", "__init__"], [0, 3, 1, "", "_abc_impl"], [0, 2, 1, "", "reload"]], "leggedsnake.dynamiclinkage.PinUp": [[0, 2, 1, "", "__init__"], [0, 3, 1, "", "_abc_impl"], [0, 3, 1, "", "angle"], [0, 3, 1, "", "r"], [0, 2, 1, "", "reload"], [0, 2, 1, "", "set_anchor_a"], [0, 2, 1, "", "set_anchor_b"]], "leggedsnake.geneticoptimizer": [[1, 4, 1, "", "birth"], [1, 4, 1, "", "evaluate_individual"], [1, 4, 1, "", "evaluate_population"], [1, 4, 1, "", "evolutionary_optimization"], [1, 4, 1, "", "evolutionary_optimization_builtin"], [1, 4, 1, "", "kwargs_switcher"], [1, 4, 1, "", "load_population"], [1, 4, 1, "", "make_children"], [1, 4, 1, "", "save_population"], [1, 4, 1, "", "select_parents"], [1, 4, 1, "", "tqdm_verbosity"]], "leggedsnake.physicsengine": [[2, 1, 1, "", "VisualWorld"], [2, 1, 1, "", "World"], [2, 4, 1, "", "im_debug"], [2, 4, 1, "", "linkage_bb"], [2, 4, 1, "", "recalc_linkage"], [2, 4, 1, "", "set_space_constraints"], [2, 4, 1, "", "video"], [2, 4, 1, "", "video_debug"]], "leggedsnake.physicsengine.VisualWorld": [[2, 2, 1, "", "__init__"], [2, 2, 1, "", "add_linkage"], [2, 2, 1, "", "draw_linkage"], [2, 2, 1, "", "update"]], "leggedsnake.physicsengine.World": [[2, 2, 1, "", "__init__"], [2, 2, 1, "", "add_linkage"], [2, 2, 1, "", "build_road"], [2, 2, 1, "", "update"]], "leggedsnake.utility": [[3, 4, 1, "", "ggb_extractor"], [3, 4, 1, "", "step"], [3, 4, 1, "", "stride"]], "leggedsnake.walker": [[4, 1, 1, "", "Walker"]], "leggedsnake.walker.Walker": [[4, 3, 1, "", "_cranks"], [4, 3, 1, "", "_solve_order"], [4, 2, 1, "", "add_legs"], [4, 2, 1, "", "get_foots"], [4, 3, 1, "", "joints"], [4, 3, 1, "", "name"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:attribute", "4": "py:function"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "attribute", "Python attribute"], "4": ["py", "function", "Python function"]}, "titleterms": {"dynamiclinkag": 0, "interfac": 0, "dynam": [0, 2, 6, 7], "compat": 0, "joint": 0, "geneticoptim": 1, "optim": [1, 6, 7], "us": [1, 6, 7], "genet": [1, 6, 7], "algorithm": [1, 6, 7], "ga": [1, 6, 7], "physicsengin": 2, "simul": 2, "util": 3, "function": 3, "walker": [3, 4, 6, 7], "inherit": 4, "linkag": 4, "changelog": 5, "unreleas": 5, "ad": 5, "chang": 5, "fix": 5, "0": 5, "3": 5, "beta": 5, "2021": 5, "07": 5, "21": 5, "remov": 5, "2": 5, "alpha": 5, "14": 5, "deprec": 5, "1": 5, "4": 5, "12": 5, "10": 5, "06": 5, "26": 5, "25": 5, "23": 5, "22": 5, "welcom": 6, "leggedsnak": [6, 7], "": 6, "document": 6, "introduct": 6, "modul": 6, "quick": [6, 7], "link": [6, 7], "see": 6, "also": 6, "instal": [6, 7], "pip": [6, 7], "set": [6, 7], "up": [6, 7], "virtual": [6, 7], "environ": [6, 7], "contribut": [6, 7], "usag": [6, 7], "defin": [6, 7], "kinemat": [6, 7], "particl": [6, 7], "swarm": [6, 7], "pso": [6, 7], "visual": [6, 7], "advic": [6, 7], "requir": [6, 7], "indic": 6, "tabl": 6, "test": [6, 7], "releas": [6, 7]}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx": 57}, "alltitles": {"dynamiclinkage": [[0, "dynamiclinkage"]], "Interface to dynamic compatible joints": [[0, "module-leggedsnake.dynamiclinkage"]], "physicsengine": [[2, "physicsengine"]], "Dynamic Simulator": [[2, "module-leggedsnake.physicsengine"]], "utility": [[3, "utility"]], "Utility functions for Walkers": [[3, "module-leggedsnake.utility"]], "walker": [[4, "walker"]], "Inheritance for Linkages": [[4, "module-leggedsnake.walker"]], "Changelog": [[5, "changelog"]], "[Unreleased]": [[5, "unreleased"]], "Added": [[5, "added"]], "Changed": [[5, "changed"]], "Fixed": [[5, "fixed"]], "[0.3.0-beta] - 2021-07-21": [[5, "beta-2021-07-21"]], "Added in 0.3.0": [[5, "added-in-0-3-0"]], "Changed in 0.3.0": [[5, "changed-in-0-3-0"]], "Fixed in 0.3.0": [[5, "fixed-in-0-3-0"]], "Removed in 0.3.0": [[5, "removed-in-0-3-0"]], "[0.2.0-alpha] - 2021-07-14": [[5, "alpha-2021-07-14"]], "Added in 0.2.0": [[5, "added-in-0-2-0"]], "Changed in 0.2.0": [[5, "changed-in-0-2-0"]], "Deprecated in 0.2.0": [[5, "deprecated-in-0-2-0"]], "Removed in 0.2.0": [[5, "removed-in-0-2-0"]], "[0.1.4-alpha] - 2021-07-12": [[5, "alpha-2021-07-12"]], "Added in 0.1.4": [[5, "added-in-0-1-4"]], "Changed in 0.1.4": [[5, "changed-in-0-1-4"]], "Fixed in 0.1.4": [[5, "fixed-in-0-1-4"]], "[0.1.3-alpha] - 2021-07-10": [[5, "alpha-2021-07-10"]], "Added in 0.1.3": [[5, "added-in-0-1-3"]], "Changed in 0.1.3": [[5, "changed-in-0-1-3"]], "Fixed in 0.1.3": [[5, "fixed-in-0-1-3"]], "[0.1.2-alpha] - 2021-07-07": [[5, "alpha-2021-07-07"]], "Added in 0.1.2": [[5, "added-in-0-1-2"]], "Changed in 0.1.2": [[5, "changed-in-0-1-2"]], "Fixed in 0.1.2": [[5, "fixed-in-0-1-2"]], "[0.1.1-alpha] - 2021-06-26": [[5, "alpha-2021-06-26"]], "Added in 0.1.1": [[5, "added-in-0-1-1"]], "Changed in 0.1.1": [[5, "changed-in-0-1-1"]], "[0.1.0-alpha] - 2021-06-25": [[5, "alpha-2021-06-25"]], "Added in 0.1.0": [[5, "added-in-0-1-0"]], "Changed in 0.1.0": [[5, "changed-in-0-1-0"]], "Fixed in 0.1.0": [[5, "fixed-in-0-1-0"]], "[0.0.3-alpha] - 2021-06-23": [[5, "alpha-2021-06-23"]], "Added in 0.0.3": [[5, "added-in-0-0-3"]], "Fixed in 0.0.3": [[5, "fixed-in-0-0-3"]], "[0.0.2-alpha] - 2021-06-22": [[5, "alpha-2021-06-22"]], "Added in 0.0.2": [[5, "added-in-0-0-2"]], "Changed in 0.0.2": [[5, "changed-in-0-0-2"]], "Fixed in 0.0.2": [[5, "fixed-in-0-0-2"]], "[0.0.1-alpha] - 2021-06-22": [[5, "id1"]], "Added in 0.0.1": [[5, "added-in-0-0-1"]], "Welcome to LeggedSnake\u2019s documentation!": [[6, "welcome-to-leggedsnake-s-documentation"]], "Introduction": [[6, null]], "Modules": [[6, null]], "Quick Links": [[6, null]], "See Also": [[6, null]], "leggedsnake": [[6, "leggedsnake"], [7, "leggedsnake"]], "Quick links": [[6, "quick-links"], [7, "quick-links"]], "Installation": [[6, "installation"], [7, "installation"]], "Using pip": [[6, "using-pip"], [7, "using-pip"]], "Setting up Virtual Environment": [[6, "setting-up-virtual-environment"], [7, "setting-up-virtual-environment"]], "Contribute": [[6, "contribute"], [7, "contribute"]], "Testing": [[6, "testing"], [7, "testing"]], "Release": [[6, "release"], [7, "release"]], "Usage": [[6, "usage"], [7, "usage"]], "Defining a Walker": [[6, "defining-a-walker"], [7, "defining-a-walker"]], "Kinematic optimization using Particle Swarm Optimization (PSO)": [[6, "kinematic-optimization-using-particle-swarm-optimization-pso"], [7, "kinematic-optimization-using-particle-swarm-optimization-pso"]], "Dynamic Optimization using Genetic Algorithm (GA)": [[6, "dynamic-optimization-using-genetic-algorithm-ga"], [7, "dynamic-optimization-using-genetic-algorithm-ga"]], "Visualization": [[6, "visualization"], [7, "visualization"]], "Advice": [[6, "advice"], [7, "advice"]], "Requirements": [[6, "requirements"], [7, "requirements"]], "Indices and tables": [[6, "indices-and-tables"]], "geneticoptimizer": [[1, "geneticoptimizer"]], "Optimization using Genetic Algorithms (GA)": [[1, "module-leggedsnake.geneticoptimizer"]]}, "indexentries": {"birth() (in module leggedsnake.geneticoptimizer)": [[1, "leggedsnake.geneticoptimizer.birth"]], "evaluate_individual() (in module leggedsnake.geneticoptimizer)": [[1, "leggedsnake.geneticoptimizer.evaluate_individual"]], "evaluate_population() (in module leggedsnake.geneticoptimizer)": [[1, "leggedsnake.geneticoptimizer.evaluate_population"]], "evolutionary_optimization() (in module leggedsnake.geneticoptimizer)": [[1, "leggedsnake.geneticoptimizer.evolutionary_optimization"]], "evolutionary_optimization_builtin() (in module leggedsnake.geneticoptimizer)": [[1, "leggedsnake.geneticoptimizer.evolutionary_optimization_builtin"]], "kwargs_switcher() (in module leggedsnake.geneticoptimizer)": [[1, "leggedsnake.geneticoptimizer.kwargs_switcher"]], "leggedsnake.geneticoptimizer": [[1, "module-leggedsnake.geneticoptimizer"]], "load_population() (in module leggedsnake.geneticoptimizer)": [[1, "leggedsnake.geneticoptimizer.load_population"]], "make_children() (in module leggedsnake.geneticoptimizer)": [[1, "leggedsnake.geneticoptimizer.make_children"]], "module": [[1, "module-leggedsnake.geneticoptimizer"]], "save_population() (in module leggedsnake.geneticoptimizer)": [[1, "leggedsnake.geneticoptimizer.save_population"]], "select_parents() (in module leggedsnake.geneticoptimizer)": [[1, "leggedsnake.geneticoptimizer.select_parents"]], "tqdm_verbosity() (in module leggedsnake.geneticoptimizer)": [[1, "leggedsnake.geneticoptimizer.tqdm_verbosity"]]}})
\ No newline at end of file
+Search.setIndex({"docnames": ["api/dynamiclinkage", "api/geneticoptimizer", "api/physicsengine", "api/utility", "api/walker", "changeloglink", "index", "readmelink"], "filenames": ["api/dynamiclinkage.rst", "api/geneticoptimizer.rst", "api/physicsengine.rst", "api/utility.rst", "api/walker.rst", "changeloglink.rst", "index.rst", "readmelink.rst"], "titles": ["dynamiclinkage", "geneticoptimizer", "physicsengine", "utility", "walker", "Changelog", "Welcome to LeggedSnake\u2019s documentation!", "leggedsnake"], "terms": {"The": [0, 1, 2, 3, 4, 5, 6, 7], "modul": [0, 1, 2, 3, 4, 5, 7], "i": [0, 1, 2, 3, 4, 5, 6, 7], "an": [0, 1, 3, 5, 6, 7], "between": [0, 4, 5], "pymunk": [0, 2, 5, 6, 7], "kinemat": [0, 4], "linkag": [0, 1, 2, 5, 6, 7], "It": [0, 2, 3, 5], "provid": [0, 1, 3, 6, 7], "variou": [0, 5], "class": [0, 2, 4, 5, 6, 7], "overwrit": 0, "pylinkag": [0, 2, 4, 5, 6, 7], "object": [0, 1, 2, 5, 6, 7], "also": [0, 3, 7], "includ": [0, 5], "inherit": [0, 6, 7], "from": [0, 1, 2, 3, 4, 5, 6, 7], "eventu": [0, 6, 7], "handi": 0, "convert_to_dynamic_linkag": 0, "method": [0, 4, 6, 7], "can": [0, 2, 3, 5, 6, 7], "gener": [0, 1, 2, 4], "leggedsnak": [0, 1, 2, 3, 4, 5], "dynamicjoint": 0, "body0": 0, "none": [0, 1, 2, 3, 4], "body1": 0, "space": [0, 2], "radiu": 0, "0": [0, 1, 6, 7], "3": [0, 1, 6, 7], "densiti": 0, "1": [0, 1, 6, 7], "shape_filt": 0, "base": [0, 1, 2, 4, 5], "abc": 0, "equival": 0, "__init__": [0, 2, 5], "partial": 0, "A": [0, 2, 3, 4, 5, 6, 7], "handl": [0, 6, 7], "bodi": 0, "paramet": [0, 1, 2, 3, 4, 5, 6, 7], "option": [0, 1, 2, 3, 4], "first": [0, 1, 5, 6, 7], "link": [0, 5], "default": [0, 1, 2, 3, 4], "second": [0, 1, 2, 6, 7], "simul": [0, 4, 5, 6, 7], "which": [0, 2, 6, 7], "exist": [0, 1], "float": [0, 1, 2, 3, 6, 7], "hull": 0, "thi": [0, 1, 2, 3, 5, 6, 7], "mass": [0, 6, 7], "comput": [0, 5, 6, 7], "accordingli": 0, "shape": 0, "shapefilt": 0, "prevent": [0, 6, 7], "collid": 0, "each": [0, 1, 3, 5], "other": [0, 1, 2, 4, 6, 7], "us": [0, 2, 3, 4, 5], "same": [0, 1, 2, 3, 6, 7], "instanc": [0, 5, 6, 7], "_abc_impl": 0, "_abc": 0, "_abc_data": 0, "reload": 0, "coordin": [0, 1, 3], "onli": [0, 1, 2, 3, 5], "depend": [0, 5], "posit": [0, 1, 2, 4, 6, 7], "do": [0, 1, 2, 4, 5, 6, 7], "NOT": 0, "ani": [0, 1, 2, 5, 6, 7], "constraint": [0, 2, 6, 7], "return": [0, 1, 2, 3, 4, 6, 7], "type": [0, 1, 2, 3, 4], "load": 0, "name": [0, 3, 4, 5, 6, 7], "thick": 0, "counterpart": [0, 1], "ha": [0, 5, 6, 7], "sever": [0, 6, 7], "attribut": [0, 1], "its": [0, 6, 7], "natur": 0, "close": [0, 1], "empti": [0, 5], "shell": 0, "wai": [0, 6, 7], "you": [0, 1, 2, 5, 6, 7], "pleas": [0, 3, 5], "note": 0, "carri": 0, "relev": 0, "real": [0, 5, 6, 7], "world": [0, 2, 5, 6, 7], "where": 0, "weight": 0, "leg": [0, 2, 4, 5, 6, 7], "small": [0, 5], "compar": [0, 6, 7], "frame": [0, 2], "instanci": 0, "new": [0, 1, 5, 6, 7], "part": [0, 2, 5, 6, 7], "convert": 0, "should": [0, 1, 4, 5, 6, 7], "instanti": [0, 2], "user": [0, 5], "friendli": 0, "set": [0, 2, 3], "str": [0, 1], "id": 0, "self": 0, "ratio": 0, "bar": [0, 1, 5], "length": [0, 3, 6, 7], "width": [0, 1, 3], "_thick": 0, "build_load": 0, "load_mass": 0, "creat": [0, 1, 2, 3, 4, 6, 7], "have": [0, 2, 5, 6, 7], "convert_to_dynamic_joint": 0, "filter": 0, "height": [0, 3, 5], "joint_to_rigidbodi": 0, "mechanical_energi": 0, "rigidbodi": [0, 2], "dynamicpivot": 0, "x": [0, 6, 7], "y": [0, 6, 7], "joint0": 0, "joint1": 0, "distance0": 0, "distance1": 0, "pivot": 0, "point": [0, 3], "parent": [0, 1, 2, 6, 7], "fix": 0, "turn": [0, 1, 6, 7], "horizont": 0, "axi": 0, "vertic": 0, "o": 0, "human": 0, "readabl": [0, 5], "union": [0, 2, 3], "tupl": [0, 1, 6, 7], "geometr": 0, "distanc": [0, 1, 6, 7], "current": [0, 1, 2], "r0": 0, "r1": 0, "set_anchor_a": 0, "anchor_a": 0, "characterist": [0, 1], "keep": [0, 5], "constant": 0, "set_anchor_b": 0, "anchor_b": 0, "motor": [0, 6, 7], "angl": [0, 6, 7], "crank": [0, 4, 6, 7], "make": [0, 3, 5, 6, 7], "attach": 0, "them": [0, 3], "pivotjoint": 0, "add": [0, 2, 4, 6, 7], "simplemotor": 0, "over": [0, 6, 7], "ar": [0, 1, 2, 3, 4, 5, 6, 7], "now": [0, 1, 5, 6, 7], "constrain": 0, "rotat": 0, "around": 0, "one": [0, 1, 2, 6, 7], "place": 0, "extrem": 0, "defin": [0, 5], "circular": 0, "initi": [0, 1, 2, 6, 7], "won": [0, 5], "t": [0, 1, 2, 3, 5, 6, 7], "thereaft": 0, "refer": 0, "radian": 0, "trigonometr": 0, "order": [0, 1, 4, 5], "r": [0, 6, 7], "nail": 0, "static": [0, 6, 7], "simpl": [0, 1, 4, 6, 7], "follow": [0, 1, 6, 7], "special": 0, "sinc": 0, "doe": 0, "anchor": 0, "kind": 0, "view": 0, "engin": [0, 2, 6, 7], "term": 0, "pinup": 0, "two": [0, 1, 6, 7], "pm": 0, "segment": 0, "fulli": 0, "error": [0, 5], "call": [0, 5], "befor": [0, 1], "properli": [0, 5], "side": 0, "effect": [0, 5], "kinematic_linkag": 0, "classic": [0, 6, 7], "wrapper": 1, "As": 1, "didn": 1, "try": [1, 6, 7], "convinc": 1, "librari": [1, 6, 7], "why": [1, 2, 5, 6, 7], "built": [1, 5, 6, 7], "here": [1, 5, 6, 7], "feel": [1, 6, 7], "free": [1, 6, 7], "propos": 1, "copyleft": 1, "github": [1, 5, 6, 7], "thu": [1, 4], "jun": [1, 4], "10": [1, 4, 6], "21": [1, 4, 6], "20": [1, 3], "47": 1, "2021": [1, 4, 6], "author": [1, 2, 3, 4], "hugofara": [1, 2, 3, 4, 5, 6, 7], "birth": 1, "par1": 1, "par2": 1, "prob": 1, "individu": 1, "sequenc": 1, "child": 1, "uniform": 1, "crossov": 1, "random": [1, 6, 7], "reset": 1, "mutat": 1, "gene": 1, "normal": 1, "law": 1, "come": [1, 6, 7], "randomli": 1, "list": [1, 3, 4, 5, 6, 7], "dna": 1, "probabl": 1, "evaluate_individu": 1, "fit": [1, 6, 7], "fitness_arg": 1, "evalu": [1, 5, 6, 7], "singl": 1, "callabl": 1, "function": [1, 5, 6, 7], "signatur": 1, "addit": 1, "argument": [1, 5, 6, 7], "pass": [1, 3, 6, 7], "usual": 1, "joint": [1, 2, 4, 6, 7], "score": [1, 6, 7], "evaluate_popul": 1, "entir": 1, "popul": 1, "pop": 1, "verbos": [1, 5], "true": [1, 3, 5], "process": [1, 5], "whole": 1, "bool": [1, 2, 3], "To": [1, 6, 7], "displai": [1, 2, 5], "inform": [1, 5], "about": [1, 6, 7], "int": [1, 4, 6, 7], "number": [1, 4, 5, 6, 7], "involv": 1, "multiprocessor": 1, "evolutionary_optim": [1, 5], "iter": [1, 5], "07": [1, 6], "kwarg": 1, "run": [1, 5, 6, 7], "procedur": [1, 6, 7], "darwinian": 1, "evolut": 1, "model": [1, 2], "todai": 1, "still": 1, "becaus": [1, 5, 6, 7], "we": [1, 2, 3, 5, 6, 7], "mai": [1, 2, 6, 7], "implement": 1, "anoth": [1, 6, 7], "format": [1, 5], "dimens": [1, 6, 7], "maximis": [1, 6, 7], "problem": [1, 5, 6, 7], "must": 1, "dict": 1, "max_pop": 1, "maximum": 1, "11": 1, "init_pop": [1, 5], "wider": 1, "divers": 1, "max_genetic_dist": 1, "cannot": [1, 3], "reproduc": 1, "separ": [1, 6, 7], "speci": 1, "7": [1, 5], "startnstop": 1, "abil": 1, "program": 1, "without": [1, 4], "loos": 1, "If": [1, 2, 3, 6, 7], "verifi": [1, 6, 7], "data": [1, 3, 5], "file": [1, 2, 3, 5, 6, 7], "save": [1, 2, 5, 6, 7], "everi": 1, "250": 1, "fals": [1, 2, 3, 5], "send": 1, "sent": 1, "level": 1, "print": [1, 6, 7], "anyth": 1, "show": [1, 5], "progress": [1, 5], "2": [1, 4, 6], "complet": [1, 5, 6, 7], "report": 1, "best": [1, 5], "evolutionary_optimization_builtin": [1, 5], "good": [1, 2, 6, 7], "transmiss": 1, "keyword": 1, "sort": 1, "kwargs_switch": 1, "arg_nam": 1, "element": [1, 3, 6, 7], "load_popul": 1, "file_path": [1, 3], "given": 1, "make_children": 1, "inf": [1, 6, 7], "loc": [], "scale": [], "size": 5, "draw": [2, 6, 7], "sampl": [], "gaussian": [], "distribut": [], "deriv": [], "de": [], "moivr": [], "200": [], "year": [], "later": [], "both": [], "gauss": [], "laplac": [], "independ": [], "often": [6, 7], "bell": [], "curv": [], "see": 2, "exampl": [5, 6, 7], "below": [], "occur": [], "For": [3, 6, 7], "describ": [6, 7], "commonli": [], "influenc": 4, "larg": [], "tini": [], "disturb": [], "own": [], "uniqu": [], "code": [5, 6, 7], "numpi": [5, 6, 7], "instead": 5, "quick": 5, "start": [5, 6, 7], "array_lik": [], "mean": [6, 7], "centr": [], "standard": [3, 6, 7], "deviat": [], "spread": [], "non": [], "neg": [], "output": 1, "e": [], "g": [], "m": [6, 7], "n": [6, 7], "k": [], "drawn": [], "valu": [1, 3, 6, 7], "scalar": [], "otherwis": [3, 6, 7], "np": [], "broadcast": [], "out": [6, 7], "parameter": [], "ndarrai": [], "scipi": [], "stat": [], "norm": [], "cumul": [], "etc": [6, 7], "p": [], "frac": [], "sqrt": [], "pi": [], "sigma": [], "mu": [], "squar": [], "varianc": [], "peak": [], "increas": 5, "reach": [], "607": [], "time": [6, 7], "impli": [], "more": [5, 6, 7], "like": [6, 7], "ly": [], "rather": [], "than": 2, "those": [], "far": [], "awai": [], "wikipedia": [], "http": [6, 7], "en": [], "org": [], "wiki": [], "normal_distribut": [], "peebl": [], "jr": [], "central": [], "limit": 3, "theorem": [], "variabl": 5, "signal": [], "principl": [], "4th": [], "ed": [], "2001": [], "pp": [], "51": [], "125": [], "": [3, 5, 7], "1000": [], "ab": [], "vari": [], "std": [], "ddof": [], "histogram": [], "along": [], "import": [5, 6, 7], "matplotlib": [2, 5, 6, 7], "pyplot": [], "plt": 5, "count": [], "bin": [], "ignor": 5, "hist": [], "30": 2, "plot": [], "exp": [], "linewidth": [], "color": [], "four": [6, 7], "arrai": [], "5": [2, 5], "4": [1, 6], "49401501": [], "00950034": [], "81814867": [], "29718677": [], "39924804": [], "68456316": [], "99394529": [], "84057254": [], "rand": [], "d0": [], "d1": [], "dn": [], "conveni": [], "port": [], "matlab": [], "wrap": [], "random_sampl": [], "That": [], "take": 3, "specifi": 1, "consist": 5, "zero": [], "ones": [], "python": [5, 6, 7], "14022471": [], "96360618": [], "37601032": [], "25528411": [], "49313049": [], "94909878": [], "randint": [], "low": [], "high": [], "dtype": [], "integ": [], "inclus": [], "exclus": [], "discret": [], "half": [6, 7], "open": [], "interv": [], "result": [3, 6, 7], "lowest": 3, "sign": [], "unless": [], "case": 5, "abov": [], "highest": [], "largest": [], "behavior": 2, "contain": [2, 3, 5], "desir": [], "byteord": [], "nativ": 5, "version": [5, 6, 7], "appropri": 2, "random_integ": [], "similar": [], "omit": [], "differ": 3, "upper": [], "bound": 2, "9": 5, "lower": [], "8": 5, "uint8": [], "6": 5, "16": [], "12": [4, 6], "save_popul": 1, "data_descriptor": [1, 5], "json": [1, 5], "want": [1, 2, 5, 6, 7], "select_par": 1, "select": [1, 5], "tqdm_verbos": 1, "arg": 1, "tqdm": [1, 5], "let": [1, 5, 6, 7], "give": [2, 4, 6, 7], "mechan": [2, 3, 4, 6, 7], "2d": 2, "physic": [2, 5, 6, 7], "chipmunk": 2, "planar": [2, 3, 6, 7], "In": [2, 6, 7], "theori": 2, "practic": 2, "road": [2, 5], "some": [2, 4, 5, 6, 7], "graviti": [2, 6, 7], "so": [2, 6, 7], "difficult": 2, "test": [2, 5], "someth": [2, 6, 7], "walker": [2, 5], "sat": [2, 3], "25": [2, 6], "2019": 2, "14": [2, 6], "56": 2, "01": 2, "visualworld": 2, "road_i": [2, 5], "ordin": [2, 3], "ground": [2, 5, 6, 7], "when": [2, 5, 6, 7], "likag": 2, "long": [2, 5, 6, 7], "add_linkag": [2, 6, 7], "artist": [2, 6, 7], "draw_linkag": 2, "hi": 2, "state": [2, 5], "updat": [2, 5, 6, 7], "least": [2, 5], "intend": [2, 6, 7], "render": [2, 5], "visual": 2, "per": 2, "se": 2, "purpos": [2, 5], "dynamiclinkag": [2, 5, 6], "build_road": 2, "build": [2, 6, 7], "ad": 2, "left": 2, "im_debug": 2, "debug": [2, 5], "linkage_bb": 2, "box": 2, "form": 2, "min_i": 2, "max_x": 2, "max_i": 2, "min_x": 2, "get": [2, 6, 7], "recalc_linkag": 2, "assign": 2, "all": [2, 5, 6, 7], "set_space_constraint": 2, "solver": 2, "thei": [2, 4, 5, 6, 7], "mani": [2, 5, 6, 7], "video": [2, 5], "durat": [2, 6, 7], "launch": [2, 5], "40": [2, 6, 7], "mp4": 2, "video_debug": 2, "known": [3, 5], "walkerutil": 3, "aim": 3, "simplifi": 3, "studi": 3, "walk": [3, 6, 7], "easi": [3, 6, 7], "nov": 3, "17": 3, "2018": 3, "35": 3, "39": 3, "ggb_extractor": 3, "geogebra": [3, 5], "dictionari": 3, "slider": 3, "item": 3, "step": [3, 5, 6, 7], "return_r": [3, 5], "y_min": 3, "acc": 3, "cross": 3, "obstacl": [3, 6, 7], "dure": [3, 5], "locu": 3, "slower": [3, 5, 6, 7], "faster": [3, 6, 7], "subset": [3, 4], "abl": [3, 6, 7], "intern": 3, "stride": [3, 5, 6, 7], "higher": 3, "adjac": 3, "inclin": 3, "irrelev": [3, 5, 6, 7], "dirac": 3, "interfac": [4, 5, 6], "understood": 4, "dynam": [4, 5], "13": 4, "_crank": 4, "_solve_ord": 4, "add_leg": [4, 6, 7], "mostli": 4, "whose": 4, "get_foot": 4, "foot": [4, 6, 7], "formal": 4, "children": 4, "candid": 4, "termin": 4, "feet": [4, 6, 7], "notabl": 5, "document": [5, 7], "project": [5, 6, 7], "adher": 5, "semant": 5, "requir": 5, "dev": [5, 6, 7], "txt": [5, 6, 7], "contribut": 5, "easier": 5, "pycharm": 5, "configur": 5, "anim": 5, "store": 5, "local": 5, "longer": [5, 6, 7], "global": 5, "main": [5, 6, 7], "strider": [5, 6, 7], "py": [5, 6, 7], "wa": 5, "subprocess": 5, "consid": 5, "execut": 5, "last": 5, "were": 5, "line": [5, 6, 7], "geneticoptim": [5, 6], "multipl": [5, 6, 7], "grammar": 5, "correct": 5, "physicsengin": [5, 6], "crash": 5, "multiprocess": 5, "genet": 5, "optim": 5, "parallel": 5, "perform": 5, "got": 5, "improv": 5, "65": 5, "slow": 5, "relax": [5, 6, 7], "stop": 5, "sidebar": 5, "bit": 5, "Not": 5, "caus": 5, "except": 5, "support": [5, 6, 7], "pygad": 5, "present": 5, "evolutionnary_optim": 5, "replac": [5, 6, 7], "old": 5, "ite": 5, "renam": 5, "nice": 5, "noth": 5, "solut": [5, 6, 7], "well": [5, 6, 7], "typo": 5, "clean": 5, "up": 5, "doc": [5, 6, 7], "evolutionnary_optimization_legaci": 5, "explicit": 5, "There": [5, 6, 7], "annoi": 5, "messag": 5, "instal": 5, "possibl": 5, "advis": 5, "path": [1, 5], "manual": 5, "silent": 5, "stuff": 5, "bump2vers": [5, 6, 7], "mainten": 5, "custom": 5, "been": 5, "latest": [5, 6, 7], "full": 5, "swarm": 5, "represent": 5, "polar": 5, "graph": 5, "repair": 5, "could": [5, 6, 7], "appear": 5, "through": 5, "napoleon": 5, "style": 5, "integr": 5, "packag": [5, 6, 7], "lack": 5, "sphinx": [5, 6, 7], "websit": 5, "host": [5, 6, 7], "page": [5, 6], "check": [5, 6, 7], "io": [5, 6, 7], "expand": 5, "readm": [5, 6], "section": [5, 6, 7], "move": 5, "my": [5, 6, 7], "big": 5, "mess": 5, "sorri": 5, "inconveni": 5, "lot": [5, 6, 7], "outdat": 5, "url": 5, "broken": 5, "setup": 5, "cfg": 5, "secur": 5, "tox": 5, "ini": 5, "flake": 5, "speed": 5, "witdh": 5, "pypi": [5, 6, 7], "incompat": 5, "suit": [5, 6, 7], "unus": 5, "ga": 5, "ship": 5, "automat": 5, "switch": 5, "algorithm": 5, "metadata": 5, "vulner": 5, "imag": 5, "reform": 5, "convent": 5, "md": 5, "enorm": 5, "system": 5, "break": 5, "your": [5, 6, 7], "cpu": 5, "walkthrough": 5, "demo": [5, 6, 7], "releas": 5, "action": 5, "absent": 5, "due": 5, "gitignor": 5, "misconfigur": 5, "folder": [5, 6, 7], "environ": 5, "yml": [5, 6, 7], "flexibl": 5, "superior": 5, "util": [5, 6, 7], "zipfil": 5, "xml": 5, "encapsul": 5, "compat": [5, 6], "mail": 5, "explicitli": 5, "sai": [5, 6, 7], "markdown": 5, "conserv": 5, "basic": 5, "code_of_conduct": 5, "help": 5, "commun": 5, "licens": [5, 6, 7], "mit": [5, 6, 7], "manifest": 5, "veri": 5, "minim": [5, 6, 7], "show_evolut": 5, "just": [5, 6, 7], "legaci": 5, "test_util": 5, "untest": 5, "pyproject": 5, "toml": 5, "changelog": 6, "unreleas": [], "beta": 6, "alpha": 6, "06": 6, "26": 6, "23": 6, "22": 6, "sourc": [6, 7], "download": [6, 7], "discuss": [6, 7], "sister": 6, "backend": 6, "fast": [6, 7], "believ": [6, 7], "fun": [6, 7], "our": [6, 7], "philosophi": [6, 7], "three": [6, 7], "concept": [6, 7], "reli": [6, 7], "chill": [6, 7], "look": [6, 7], "strive": [6, 7], "surviv": [6, 7], "join": [6, 7], "contributor": [6, 7], "conda": [6, 7], "env": [6, 7], "develop": [6, 7], "repo": [6, 7], "under": [6, 7], "nutshel": [6, 7], "git": [6, 7], "clone": [6, 7], "com": [6, 7], "cd": [6, 7], "script": [6, 7], "demonstr": [6, 7], "techniqu": [6, 7], "need": [6, 7], "onc": [6, 7], "l": [6, 7], "center": [6, 7], "b": [6, 7], "31": [6, 7], "my_walk": [6, 7], "behav": [6, 7], "quit": [6, 7], "No": [6, 7], "chang": [6, 7], "rule": [6, 7], "work": [6, 7], "rebuild": [6, 7], "rais": [6, 7], "unbuildableerror": [6, 7], "certain": [6, 7], "measur": [6, 7], "weird": [6, 7], "sens": [6, 7], "while": [6, 7], "heavili": [6, 7], "thank": [6, 7], "howev": [6, 7], "calcul": [6, 7], "much": [6, 7], "million": [6, 7], "fewer": [6, 7], "everyth": [6, 7], "almost": [6, 7], "definit": [6, 7], "convers": [6, 7], "apart": [6, 7], "revolut": [6, 7], "def": [6, 7], "dynamic_linkage_fit": [6, 7], "yield": [6, 7], "somm": [6, 7], "tot": [6, 7], "dur": [6, 7], "param": [6, 7], "camera": [6, 7], "fp": [6, 7], "time_coef": [6, 7], "po": [6, 7], "j": [6, 7], "rang": [6, 7], "effici": [6, 7], "energi": [6, 7], "100": [6, 7], "averag": [6, 7], "final": [6, 7], "And": [6, 7], "civil": [6, 7], "machin": [6, 7], "focu": [6, 7], "cool": [6, 7], "oop": [6, 7], "what": [6, 7], "forget": [6, 7], "danger": [6, 7], "crawl": [6, 7], "crawler": [6, 7], "goal": [6, 7], "pair": [6, 7], "less": [6, 7], "intens": [6, 7], "On": [6, 7], "hand": [6, 7], "alwai": [6, 7], "begin": [6, 7], "lift": [6, 7], "front": [6, 7], "doesn": [6, 7], "ahead": [6, 7], "fall": [6, 7], "nose": [6, 7], "With": [6, 7], "snoop": [6, 7], "shorter": [6, 7], "total": [6, 7], "minimum": [6, 7], "unoptim": [6, 7], "my_linkag": [6, 7], "visualis": [6, 7], "tool": [6, 7], "better": [6, 7], "might": [6, 7], "expect": [6, 7], "tailor": [6, 7], "go": [6, 7], "risk": [6, 7], "quickli": [6, 7], "suboptim": [6, 7], "impact": [6, 7], "rest": [6, 7], "properti": [6, 7], "reduc": [6, 7], "axial": [6, 7], "symmetri": [6, 7], "either": [6, 7], "pyswarm": [6, 7], "complex": [6, 7], "modern": [6, 7], "laptop": [6, 7], "enough": [6, 7], "made": [6, 7], "victor": [6, 7], "blomqvist": [6, 7], "home": [6, 7], "extern": [6, 7], "index": 6, "search": 6, "welcom": 7, "unittest": [6, 7], "python3": [6, 7], "discov": [6, 7], "mainli": [6, 7], "maintain": [6, 7], "fell": [6, 7], "necessari": [6, 7], "publish": [6, 7], "minor": [6, 7], "regener": [6, 7], "html": [6, 7], "write": 1, "enabl": 1, "success": 1, "scheme": 5, "2023": 6}, "objects": {"leggedsnake": [[0, 0, 0, "-", "dynamiclinkage"], [1, 0, 0, "-", "geneticoptimizer"], [2, 0, 0, "-", "physicsengine"], [3, 0, 0, "-", "utility"], [4, 0, 0, "-", "walker"]], "leggedsnake.dynamiclinkage": [[0, 1, 1, "", "DynamicJoint"], [0, 1, 1, "", "DynamicLinkage"], [0, 1, 1, "", "DynamicPivot"], [0, 1, 1, "", "Motor"], [0, 1, 1, "", "Nail"], [0, 1, 1, "", "PinUp"], [0, 4, 1, "", "convert_to_dynamic_linkage"]], "leggedsnake.dynamiclinkage.DynamicJoint": [[0, 2, 1, "", "__init__"], [0, 3, 1, "", "_abc_impl"], [0, 2, 1, "", "reload"]], "leggedsnake.dynamiclinkage.DynamicLinkage": [[0, 2, 1, "", "__init__"], [0, 3, 1, "", "_thickness"], [0, 3, 1, "", "body"], [0, 2, 1, "", "build_load"], [0, 2, 1, "", "convert_to_dynamic_joints"], [0, 3, 1, "", "density"], [0, 3, 1, "", "filter"], [0, 3, 1, "", "height"], [0, 3, 1, "", "joint_to_rigidbodies"], [0, 3, 1, "", "mass"], [0, 3, 1, "", "mechanical_energy"], [0, 3, 1, "", "rigidbodies"], [0, 3, 1, "", "space"]], "leggedsnake.dynamiclinkage.DynamicPivot": [[0, 2, 1, "", "__init__"], [0, 3, 1, "", "_abc_impl"], [0, 3, 1, "", "r0"], [0, 3, 1, "", "r1"], [0, 2, 1, "", "reload"], [0, 2, 1, "", "set_anchor_a"], [0, 2, 1, "", "set_anchor_b"]], "leggedsnake.dynamiclinkage.Motor": [[0, 2, 1, "", "__init__"], [0, 3, 1, "", "_abc_impl"], [0, 3, 1, "", "angle"], [0, 3, 1, "", "r"], [0, 2, 1, "", "reload"], [0, 2, 1, "", "set_anchor_a"]], "leggedsnake.dynamiclinkage.Nail": [[0, 2, 1, "", "__init__"], [0, 3, 1, "", "_abc_impl"], [0, 2, 1, "", "reload"]], "leggedsnake.dynamiclinkage.PinUp": [[0, 2, 1, "", "__init__"], [0, 3, 1, "", "_abc_impl"], [0, 3, 1, "", "angle"], [0, 3, 1, "", "r"], [0, 2, 1, "", "reload"], [0, 2, 1, "", "set_anchor_a"], [0, 2, 1, "", "set_anchor_b"]], "leggedsnake.geneticoptimizer": [[1, 4, 1, "", "birth"], [1, 4, 1, "", "evaluate_individual"], [1, 4, 1, "", "evaluate_population"], [1, 4, 1, "", "evolutionary_optimization"], [1, 4, 1, "", "evolutionary_optimization_builtin"], [1, 4, 1, "", "kwargs_switcher"], [1, 4, 1, "", "load_population"], [1, 4, 1, "", "make_children"], [1, 4, 1, "", "save_population"], [1, 4, 1, "", "select_parents"], [1, 4, 1, "", "tqdm_verbosity"]], "leggedsnake.physicsengine": [[2, 1, 1, "", "VisualWorld"], [2, 1, 1, "", "World"], [2, 4, 1, "", "im_debug"], [2, 4, 1, "", "linkage_bb"], [2, 4, 1, "", "recalc_linkage"], [2, 4, 1, "", "set_space_constraints"], [2, 4, 1, "", "video"], [2, 4, 1, "", "video_debug"]], "leggedsnake.physicsengine.VisualWorld": [[2, 2, 1, "", "__init__"], [2, 2, 1, "", "add_linkage"], [2, 2, 1, "", "draw_linkage"], [2, 2, 1, "", "update"]], "leggedsnake.physicsengine.World": [[2, 2, 1, "", "__init__"], [2, 2, 1, "", "add_linkage"], [2, 2, 1, "", "build_road"], [2, 2, 1, "", "update"]], "leggedsnake.utility": [[3, 4, 1, "", "ggb_extractor"], [3, 4, 1, "", "step"], [3, 4, 1, "", "stride"]], "leggedsnake.walker": [[4, 1, 1, "", "Walker"]], "leggedsnake.walker.Walker": [[4, 3, 1, "", "_cranks"], [4, 3, 1, "", "_solve_order"], [4, 2, 1, "", "add_legs"], [4, 2, 1, "", "get_foots"], [4, 3, 1, "", "joints"], [4, 3, 1, "", "name"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:attribute", "4": "py:function"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "attribute", "Python attribute"], "4": ["py", "function", "Python function"]}, "titleterms": {"dynamiclinkag": 0, "interfac": 0, "dynam": [0, 2, 6, 7], "compat": 0, "joint": 0, "geneticoptim": 1, "optim": [1, 6, 7], "us": [1, 6, 7], "genet": [1, 6, 7], "algorithm": [1, 6, 7], "ga": [1, 6, 7], "physicsengin": 2, "simul": 2, "util": 3, "function": 3, "walker": [3, 4, 6, 7], "inherit": 4, "linkag": 4, "changelog": 5, "unreleas": [], "ad": 5, "chang": 5, "fix": 5, "0": 5, "3": 5, "beta": 5, "2021": 5, "07": 5, "21": 5, "remov": 5, "2": 5, "alpha": 5, "14": 5, "deprec": 5, "1": 5, "4": 5, "12": 5, "10": 5, "06": 5, "26": 5, "25": 5, "23": 5, "22": 5, "welcom": 6, "leggedsnak": [6, 7], "": 6, "document": 6, "introduct": 6, "modul": 6, "quick": [6, 7], "link": [6, 7], "see": 6, "also": 6, "instal": [6, 7], "pip": [6, 7], "set": [6, 7], "up": [6, 7], "virtual": [6, 7], "environ": [6, 7], "contribut": [6, 7], "usag": [6, 7], "defin": [6, 7], "kinemat": [6, 7], "particl": [6, 7], "swarm": [6, 7], "pso": [6, 7], "visual": [6, 7], "advic": [6, 7], "requir": [6, 7], "indic": 6, "tabl": 6, "test": [6, 7], "releas": [6, 7], "2023": 5}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx": 57}, "alltitles": {"dynamiclinkage": [[0, "dynamiclinkage"]], "Interface to dynamic compatible joints": [[0, "module-leggedsnake.dynamiclinkage"]], "physicsengine": [[2, "physicsengine"]], "Dynamic Simulator": [[2, "module-leggedsnake.physicsengine"]], "utility": [[3, "utility"]], "Utility functions for Walkers": [[3, "module-leggedsnake.utility"]], "walker": [[4, "walker"]], "Inheritance for Linkages": [[4, "module-leggedsnake.walker"]], "Welcome to LeggedSnake\u2019s documentation!": [[6, "welcome-to-leggedsnake-s-documentation"]], "Introduction": [[6, null]], "Modules": [[6, null]], "Quick Links": [[6, null]], "See Also": [[6, null]], "leggedsnake": [[6, "leggedsnake"], [7, "leggedsnake"]], "Quick links": [[6, "quick-links"], [7, "quick-links"]], "Installation": [[6, "installation"], [7, "installation"]], "Using pip": [[6, "using-pip"], [7, "using-pip"]], "Setting up Virtual Environment": [[6, "setting-up-virtual-environment"], [7, "setting-up-virtual-environment"]], "Contribute": [[6, "contribute"], [7, "contribute"]], "Testing": [[6, "testing"], [7, "testing"]], "Release": [[6, "release"], [7, "release"]], "Usage": [[6, "usage"], [7, "usage"]], "Defining a Walker": [[6, "defining-a-walker"], [7, "defining-a-walker"]], "Kinematic optimization using Particle Swarm Optimization (PSO)": [[6, "kinematic-optimization-using-particle-swarm-optimization-pso"], [7, "kinematic-optimization-using-particle-swarm-optimization-pso"]], "Dynamic Optimization using Genetic Algorithm (GA)": [[6, "dynamic-optimization-using-genetic-algorithm-ga"], [7, "dynamic-optimization-using-genetic-algorithm-ga"]], "Visualization": [[6, "visualization"], [7, "visualization"]], "Advice": [[6, "advice"], [7, "advice"]], "Requirements": [[6, "requirements"], [7, "requirements"]], "Indices and tables": [[6, "indices-and-tables"]], "geneticoptimizer": [[1, "geneticoptimizer"]], "Optimization using Genetic Algorithms (GA)": [[1, "module-leggedsnake.geneticoptimizer"]], "Changelog": [[5, "changelog"]], "[0.3.1] - 2023-06-14": [[5, "id1"]], "Added in 0.3.1": [[5, "added-in-0-3-1"]], "Changed in 0.3.1": [[5, "changed-in-0-3-1"]], "Fixed in 0.3.1": [[5, "fixed-in-0-3-1"]], "[0.3.0-beta] - 2021-07-21": [[5, "beta-2021-07-21"]], "Added in 0.3.0": [[5, "added-in-0-3-0"]], "Changed in 0.3.0": [[5, "changed-in-0-3-0"]], "Fixed in 0.3.0": [[5, "fixed-in-0-3-0"]], "Removed in 0.3.0": [[5, "removed-in-0-3-0"]], "[0.2.0-alpha] - 2021-07-14": [[5, "alpha-2021-07-14"]], "Added in 0.2.0": [[5, "added-in-0-2-0"]], "Changed in 0.2.0": [[5, "changed-in-0-2-0"]], "Deprecated in 0.2.0": [[5, "deprecated-in-0-2-0"]], "Removed in 0.2.0": [[5, "removed-in-0-2-0"]], "[0.1.4-alpha] - 2021-07-12": [[5, "alpha-2021-07-12"]], "Added in 0.1.4": [[5, "added-in-0-1-4"]], "Changed in 0.1.4": [[5, "changed-in-0-1-4"]], "Fixed in 0.1.4": [[5, "fixed-in-0-1-4"]], "[0.1.3-alpha] - 2021-07-10": [[5, "alpha-2021-07-10"]], "Added in 0.1.3": [[5, "added-in-0-1-3"]], "Changed in 0.1.3": [[5, "changed-in-0-1-3"]], "Fixed in 0.1.3": [[5, "fixed-in-0-1-3"]], "[0.1.2-alpha] - 2021-07-07": [[5, "alpha-2021-07-07"]], "Added in 0.1.2": [[5, "added-in-0-1-2"]], "Changed in 0.1.2": [[5, "changed-in-0-1-2"]], "Fixed in 0.1.2": [[5, "fixed-in-0-1-2"]], "[0.1.1-alpha] - 2021-06-26": [[5, "alpha-2021-06-26"]], "Added in 0.1.1": [[5, "added-in-0-1-1"]], "Changed in 0.1.1": [[5, "changed-in-0-1-1"]], "[0.1.0-alpha] - 2021-06-25": [[5, "alpha-2021-06-25"]], "Added in 0.1.0": [[5, "added-in-0-1-0"]], "Changed in 0.1.0": [[5, "changed-in-0-1-0"]], "Fixed in 0.1.0": [[5, "fixed-in-0-1-0"]], "[0.0.3-alpha] - 2021-06-23": [[5, "alpha-2021-06-23"]], "Added in 0.0.3": [[5, "added-in-0-0-3"]], "Fixed in 0.0.3": [[5, "fixed-in-0-0-3"]], "[0.0.2-alpha] - 2021-06-22": [[5, "alpha-2021-06-22"]], "Added in 0.0.2": [[5, "added-in-0-0-2"]], "Changed in 0.0.2": [[5, "changed-in-0-0-2"]], "Fixed in 0.0.2": [[5, "fixed-in-0-0-2"]], "[0.0.1-alpha] - 2021-06-22": [[5, "id2"]], "Added in 0.0.1": [[5, "added-in-0-0-1"]]}, "indexentries": {}})
\ No newline at end of file