Skip to content

extern_nodes

Malte Langosz edited this page Aug 1, 2019 · 1 revision

Create extern nodes

The package bagel/bagel_control includes a collection of extern nodes and graph nodes mainly designed for legged locomotion.

To create a new extern node, the rename_behavior_template.py script can be used.

cd bagel_control/extern_nodes
python rename_behavior_template.py

It will ask for the new library and node name. As example we could have:

Library name: new_node
Beahvior name: NewNode

The script will create a new folder with the library name. Within that folder a yaml file defines the interface of the new node. In our example NewNode.yml:

name: NewNode
inputs:
  - name: x

outputs:
  - name: j1

After changing the interface, to apply the changes call generate_extern_node.py with the node specification file as argument. In our example:

generate_extern_node.py NewNode.yml

Within the src folder that auto subfolder should never be touched because it is overwritten by generate_extern_node.py. There should be a *_private.c file including the implementation of the new node. In that file the new evaluation function can be implemented.

Clone this wiki locally