Skip to content

Commit

Permalink
[doc] Updated installation notes after f942031
Browse files Browse the repository at this point in the history
Also mention the change in RELEASE_NOTES
  • Loading branch information
skadge authored and Arnaud Degroote committed Apr 29, 2015
1 parent c1ccfec commit 5dd7633
Show file tree
Hide file tree
Showing 6 changed files with 107 additions and 87 deletions.
4 changes: 3 additions & 1 deletion RELEASE_NOTES
Expand Up @@ -3,7 +3,9 @@ What's new in MORSE 1.3?

General
-------

- MORSE now installs by default support for almost all its supported
middlewares (ROS, YARP, MOOS, HLA, and (partially) pocolibs). This should
improve end-users' first experience with MORSE (it 'just works')
- new sandbox environment. Check `the doc for a screenshot <https://www.openrobots.org/morse/doc/latest/quickstart.html>`_.

Components
Expand Down
11 changes: 11 additions & 0 deletions doc/morse/user/faq.rst
Expand Up @@ -86,6 +86,17 @@ When running morse
your computer for all Python 3 libraries.


- ``urandom error`` : make sure your ``python3`` version is equal to the one in
Blender.

- :tag:`ros` ``No module named 'rospkg'`` : install ``rospkg`` with Python 3
support, *ie* ``sudo apt-get install python3-rospkg``

- :tag:`ros` ``No module named 'roslib'`` : ``source /opt/ros/***/setup.bash``.

- ``No module named 'error'`` : ``Yaml`` for Python2 is running instead of
Python 3, install ``python3-yaml`` and/or fix your ``PYTHONPATH``.

Developer specific
------------------

Expand Down
118 changes: 64 additions & 54 deletions doc/morse/user/installation.rst
Expand Up @@ -15,20 +15,27 @@ Here you are!
.. image:: ../../media/initial_sim.jpg
:align: center

Note however that, **since Debian does not package ROS (or any other robotic
middleware), MORSE does not come with ROS support when installed this way!**
Installing this package also directly give you full support for :tag:`ros`,
:tag:`yarp`, :tag:`moos`, and in fact, :doc:`all of the middlewares supported by
MORSE <../user/integration>` (with a few corner cases for the :tag:`pocolibs`
middleware that may require manual compilation. Read on).

Read on to install support for your favorite middleware, or head to the
:doc:`Quickstart<../quickstart>` tutorial.
.. note::
Automatic installation of middlewares' support requires MORSE >=1.3! **Ubuntu =<
15.04 and Debian Wheezy/Jessie only ship MORSE 1.2.2**: in that case, you
still need to install MORSE manually if you want to use MORSE with
ROS/YARP/MOOS/pocolibs. Read on.

You can now head to the :doc:`Quickstart<../quickstart>` tutorial!

General pre-requisites
----------------------
System requirements
-------------------

Supported operating systems
+++++++++++++++++++++++++++

Only Linux (x86, x86_64) is currently officially supported. MORSE is mainly
developed on Fedora and Ubuntu, but we don't expect problems on other
Only Linux (``x86``, ``x86_64``) is currently officially supported. MORSE is
mainly developed on Fedora and Ubuntu, but we don't expect problems on other
distributions.

Other UNIXes systems probably work as well, like FreeBSD or Apple MacOSX.
Expand Down Expand Up @@ -61,8 +68,7 @@ API <../user/builder>`) for vastly improved loading time and performances.
Packaged versions
-----------------


MORSE is available on Debian Wheezy/Ubuntu >= 13.04. You can install
MORSE is available on Debian >= Wheezy and Ubuntu >= 13.04. You can install
the package ``morse-simulator`` with your favorite software manager::

$ sudo apt-get install morse-simulator
Expand All @@ -72,13 +78,12 @@ You can also install the Python bindings with::
$ sudo apt-get install python3-morse-simulator

.. warning::
Since the standard robotic middlewares (like ROS or Yarp) are **not** packaged
in Debian, the Debian/Ubuntu ``morse-simulator`` package comes **without**
support for robot middlewares!

If you want to use MORSE with a robotic middleware, you **must** install it
manually (see next section) or by using a robotic-specific package manager
like ``robotpkg`` (see below).

Automatic installation of middlewares' support requires MORSE >=1.3! **Ubuntu =<
15.04 and Debian Wheezy/Jessie only ship MORSE 1.2.2**: in that case, you
need to install MORSE manually if you want to use MORSE with
ROS/YARP/MOOS/pocolibs. Continue to next section.


You can also easily install MORSE with:

Expand Down Expand Up @@ -106,27 +111,8 @@ Prerequisites
- Blender (>= 2.65) build with Python >= 3.3. You can simply get a binary from
`Blender website <http://www.blender.org/download/get-blender/>`_


Middleware-specific instructions
++++++++++++++++++++++++++++++++

If you plan to use the simulator with raw sockets or text files as interface
(for instance, to use the :doc:`Python bindings <../pymorse>` :tag:`pymorse` or
to use MORSE from MatLab or other specific applications), you do not need
to install anything specific, and you can jump to the next section.

Otherwise, check MORSE's installation notes for each of the desired middleware(s):

.. toctree::
:glob:
:maxdepth: 1

installation/mw/*


- MORSE is also known to work with `OpenRTM
<http://www.aisl.ics.tut.ac.jp/RTC/en/morse.html>`_.

.. note::
If you plan to build packages for MORSE, please read the notes on packaging below.

Installation
++++++++++++
Expand All @@ -136,29 +122,21 @@ Clone with ``git`` or download the latest version of the source code::

$ git clone https://github.com/morse-simulator/morse.git
(the lastest revision is always reasonably stable, and we recommend you to use it. However, if you prefer to use the stable branch, you can checkout the `1.2_STABLE` branch or download it `from here <https://github.com/morse-simulator/morse/releases/tag/1.2.2>`_.
(the lastest revision is always reasonably stable, and we recommend you to use
it. However, if you prefer to use the stable branch, you can checkout the
``1.2_STABLE`` branch or download it `from here
<https://github.com/morse-simulator/morse/releases/latest>`_.

MORSE relies on a standard `CMake` workflow: go to the directory where you
downloaded the MORSE source and type::

$ mkdir build && cd build
$ cmake ..


Several options (in particular to select the desired middlewares) can be passed
to ``cmake``. For instance, to build and install MORSE with ROS support, you
need something like::

$ cmake -DBUILD_ROS_SUPPORT=ON -DCMAKE_BUILD_TYPE=Release ..

We recommend you to use ``ccmake ..`` to inspect (and modify) all the available
options. For instance, you may also want to set ``PYMORSE_SUPPORT`` to ``ON`` to install
the MORSE Python bindings.

Finally, compile with::

$ sudo make install

While the default set of options should cover the needs of most users, you can
use ``ccmake ..`` to inspect (and modify) all the available options.

The optional ``$MORSE_BLENDER`` environment variable can be set to let the
simulator know where to look for Blender if it is not accessible from the
path.
Expand All @@ -176,6 +154,24 @@ You can check your configuration is ok with::

Time to jump to MORSE's :doc:`Quickstart<../quickstart>` tutorial!

Middleware-specific notes
+++++++++++++++++++++++++

- :tag:`ros` Since MORSE runs with Python 3, you need to install the packages
``python3-rospkg``, ``python3-catkin-tools`` and ``python3-yaml``. If these
packages are not available for your distribution, :doc:`check the manual
instructions <installation/mw/ros>`.
- :tag:`yarp` If needed, instructions to install YARP on your system are :doc:`available here <installation/mw/yarp>`.
- :tag:`moos` If needed, instructions to install MOOS on your system are :doc:`available here <installation/mw/moos>`.
- :tag:`pocolibs` ``pocolibs`` support requires specific steps (some bindings require a compilation). Instructions are :doc:`available here <installation/mw/pocolibs>`.



.. note::
While not officially supported, MORSE is also known to work with `OpenRTM
<http://www.aisl.ics.tut.ac.jp/RTC/en/morse.html>`_.



Advanced components
-------------------
Expand All @@ -190,9 +186,23 @@ you want to use HLA, you have to first install the CERTI and ``PyHLA`` packages:

installation/mw/hla

Notes for packaging
-------------------


By default, MORSE automatically installs support for every supported middlewares
as well as the python bindings ``pymorse``.

To package MORSE, you may want however to split the support for the various
middlewares from the core of the simulator. This can be easily achieved by
passing options to `CMake` like ``-DBUILD_ROS_SUPPORT=OFF`` or
``PYMORSE_SUPPORT=OFF``.

``-DBUILD_CORE_SUPPORT=OFF`` disables the installation of the core of the
simulator. This way, you can easily package separately the support for the various middlewares/bindings.

Installation troubleshooting
----------------------------

In case of problems installing MORSE, verify the
In case of problems installing/running MORSE, check the
:doc:`list of Frequently Asked Questions <faq>`.
6 changes: 2 additions & 4 deletions doc/morse/user/installation/mw/hla.rst
Expand Up @@ -41,8 +41,6 @@ Using robotpkg, you can simply::
Back to Morse
+++++++++++++

Once you have installed pyHLA, you can build the HLA support for Morse. Make
sure your PYTHONPATH is configured properly so the python interpreter can find
pyHLA. To build HLA support on Morse, you just need to add
``-DBUILD_HLA_SUPPORT=ON`` to the cmake invocation.
MORSE installs by default HLA support, so as long as pyHLA is accessible from
your `PYTHONPATH`, you should be able to run HLA based simulation.

21 changes: 15 additions & 6 deletions doc/morse/user/installation/mw/moos.rst
@@ -1,11 +1,18 @@
MOOS
~~~~

To build the MOOS middleware, you need to install MOOS and pymoos (MOOS Python bindings) on your system.
To build the MOOS middleware, you need to install MOOS and ``pymoos`` (MOOS Python bindings) on your system.

The instructions below install the new MOOS V10 release. Information on installing previous versions of MOOS and pymoos can be found on their respective homepages: `MOOS homepage <http://www.robots.ox.ac.uk/~mobile/MOOS/wiki/pmwiki.php>`_ and `pymoos homepage <http://pymooos.sourceforge.net/>`_.
The instructions below install the new MOOS V10 release. Information on
installing previous versions of MOOS and ``pymoos`` can be found on their respective
homepages: `MOOS homepage
<http://www.robots.ox.ac.uk/~mobile/MOOS/wiki/pmwiki.php>`_ and `pymoos homepage
<http://pymooos.sourceforge.net/>`_.

The pymoos bindings require at a minimum that the core MOOS packages be installed. Pymoos is curently written for the pre-V10 header structure and so MOOS must be compiled with the ENABLE_V10_COMPATIBILITY flag set. To install the core MOOS components to your home directory::
The ``pymoos`` bindings require at a minimum that the core MOOS packages be
installed. ``pymoos`` is curently written for the pre-V10 header structure and so
MOOS must be compiled with the ``ENABLE_V10_COMPATIBILITY`` flag set. To install the
core MOOS components to your home directory::

$ cd ~/
$ git clone https://github.com/themoos/core-moos.git
Expand All @@ -15,14 +22,14 @@ The pymoos bindings require at a minimum that the core MOOS packages be installe
$ cmake ../ -DENABLE_V10_COMPATIBILITY=ON
$ make
Pymoos also requires the Boost Python library compiled for Python 3. The Boost versions shipped with newer versions of Ubuntu include both 2.7 and 3.2 versions of the Boost Python library and CMake will select the appropriate version.
``pymoos`` also requires the Boost Python library compiled for Python 3. The Boost versions shipped with newer versions of Ubuntu include both 2.7 and 3.2 versions of the Boost Python library and CMake will select the appropriate version.

For older versions of Ubuntu (or other OS's), the latest version of the Boost source code can be downloaded from `Boost <http://http://www.boost.org>`_. To install, extract the contents of the archive and run::

$ ./bootstrap.sh --prefix=path/to/installation/prefix --with-python-version=3.2
$ ./b2 install

Finally pymoos can be installed by::
Finally ``pymoos`` can be installed by::

$ git clone git@github.com:davidhodo/pymoos.git
$ cd pymoos
Expand All @@ -31,4 +38,6 @@ Finally pymoos can be installed by::
$ make
$ sudo make install

The installation can be verified by running 'import pymoos.MOOSCommClient' from a Python3 interpreter.
The installation can be verified by running ``import pymoos.MOOSCommClient``
from a Python3 interpreter.

34 changes: 12 additions & 22 deletions doc/morse/user/installation/mw/ros.rst
@@ -1,15 +1,17 @@
ROS Installation Notes
~~~~~~~~~~~~~~~~~~~~~~

MORSE is based on Blender and requires Python 3. Python 3 is
partially supported by **ROS**.
**These ROS installation notes are only useful if the default installation does
not work for you** (for instance, you are running on an older version of Ubuntu
or Debian).

First, install MORSE using the
:doc:`installation instructions <../../installation>`.
Make sure to set the **BUILD_ROS_SUPPORT** parameter to **ON** when
calling cmake! *eg.*::
If the packages ``python3-rospkg``, ``python3-catkin-tools`` and
``python3-yaml`` are available for your distribution, install them, and you
should be done. Head to :doc:`the ROS + MORSE tutorial
<../../../user/beginner_tutorials/ros_tutorial>`.

cmake -DBUILD_ROS_SUPPORT=ON ..

Otherwise, follow these steps to install them manually:

#. Install ROS and run ``sudo rosdep init`` and ``rosdep update``
as mentionned in the `installation wiki <http://wiki.ros.org/indigo/Installation/Ubuntu#Initialize_rosdep>`_
Expand Down Expand Up @@ -66,20 +68,8 @@ calling cmake! *eg.*::

``* Your environment is correctly setup to run MORSE.``

#. Done. You can start having fun with MORSE and ROS!


Troubleshooting
---------------

- ``urandom error`` : make sure your ``python3`` version is equal to the one in
Blender.
- ``No module named 'rospkg'`` : install rospkg with Python 3 as in #4
- ``No module named 'roslib'`` : ``source /opt/ros/***/setup.bash``.
- ``No module named 'error'`` : Yaml for Python2 is running instead of Python 3,
fix your ``PYTHONPATH``.
#. Done. You can start having fun with MORSE and ROS! Check :doc:`the ROS +
MORSE tutorial <../../../user/beginner_tutorials/ros_tutorial>`, for
instance.

Resources
---------

- http://wiki.ros.org

0 comments on commit 5dd7633

Please sign in to comment.