This page will describe how to install Nengo-ROS. It should work on almost any Unix-based system with current JDK. It was tested under Ubuntu 12.04LTS, OS X 10.6.8 32-bit and OS X 10.8.2 64-bit, but should generally work also under MS Windows. Not necessarily up-to-date tested configurations are here.


Original Nengo simulator requires scipy and numpy – python libraries. Create virtualenv called “nengoros” under ~/.virtualenvs/. More information here

Nengoros (complete) installation is not dependent on official ROS installation, but is able to cooperate wit it well. Therefore, it can be used in two ways:

  • As a standalone tool without ROS
  • As a component of ROS infrastructure

Standalone Installation

If you can’t or do not want to install entire ROS, you can use only this java implementation of ROS core and almost entire infrastructure called rosjava_core.

In this case, the Nengoros needs only several platform-independent tools from ROS, such is “wstool” at a time. The wstool is python-based utility which simplifies downloading bigger number of repositories. You can install by this command (or see alternatives):

sudo pip install -U wstool

Also, the ROS_PACKAGE_PATH environment variable should be pointed to your workspace directory (correct generating java interfaces for messages), e.g.:

mkdir -p ~/workspace & cd ~/workspace
export ROS_PACKAGE_PATH=~/workspace

ROS-based installation

If you prefer to have ROS installed, you should follow the tutorial for installation of ROS Hydro here. This installs many useful ROS components such as rqt or the wstool mentioned above. Also, the ROS installation sets the PATH correctly.

The rest of installation is the same.

Getting Sources and Installation

To obtain source code, use the repository containing list of packages (.rosinstall file) to be downloaded by wstool:

git clone -b master-v0.0.1

Download all repositories and install everything by the script, which will:

  • download about 480MB from remote github repositories
  • build and install rosjava_core as maven repository for reuse by other components
  • build the entire project tree (jroscore application, all nengo-ros subprojects including Nengo..)
cd nengoros
./tool -unrf

Now, there are two possibilities how to run the Nengo simulator, either install it as an application or (currently more supported possibility) to run the simulator-ui from class files generated by the Eclipse.

Running Nengo from class Files

In Eclipse, import all auto-generated projects from the nengoros folder. It is necessary to check check-box `search for nested projects`. After importing all,  delete the projectTemplate. Now refresh & clean & build everything in eclipse.

Now it should be possible to use nengo and nengo-cl scripts to start the simulator, e.g.:

cd nengo/simulator-ui

Installing Nengo as a Runnable Application

Gradle is able to generate runnable application from the project. Currently, only the GUI version of Nengo is supported, to generate the application under `nengo/simulator-ui/build/install/simulator-ui/bin/` run the following command:

cd nengo/simulator-ui
./gradlew installApp
cd nengo/simulator-ui/build/install/simulator-ui/bin/

Note that the following tutorials expect that Nengo is ran from class files and some features may not be available for this installation.

Running the simulator

Now the simulator can be launched from class files generated by Eclipse. In order to launch GUI, start the script under nengo/simulator-ui:


* In order to use the Nengo command-line interface, you type e.g:

./nengo-cl nr-demo/gates/

Now, continue to the tutorials section.

If there are some problems, see compilation issues, ask a question or leave a comment.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s