Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Papyrus/customizations/robotics/installation

< Papyrus‎ | customizations/robotics
Revision as of 10:55, 29 July 2023 by Matteo.morelli.cea.fr (Talk | contribs) (Installation)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Installation instructions

Installation through the Virtual Box Appliance

We provide a virtual machine that comes with everything needed pre-installed to develop ROS 2 applications using Papyrus for Robotics.

For this virtual machine, username is “user” and password is “p”. User “user” is allowed to use “sudo”.

Manual Installation

Binary installation

Alternatively, Papyrus for Robotics can be installed either in form of an RCP (a self contained Eclipse installation) or added to an existing Eclipse installation by using an update site. Both can be downloaded from eclipse.org/papyrus/components/robotics referring to the current 0.9 release.

Source code installation

See Developer installation.

ROS 2 Dependencies

ROS 2 Environment

If you plan to use Papyrus for Robotics to design and deploy ROS 2-based systems, you need to install ROS 2. The current release 0.9 supports all the ROS 2 distributions from ROS 2 Foxy Fitzroy and successive. Most tested distributions are ROS 2 Humble Hawksbill and Foxy.

In case you have a source installation of ROS 2, you need configure Papyrus for Robotics to include your custom ROS 2 installation path to the list of paths to source (see below).

Behavior Tree Execution

In addition to ROS 2, if you plan to use Papyrus for Robotics to execute task specifications in form of behavior trees, you need to install the bt_sequencer package, a companion sequencing framework which is responsible for behavior-tree based task execution.

Installation

First install the nav2_behavior_tree package from Navigation2, then download and build the bt_sequencer, e.g., as shown below. (Remember to replace <your-distribution> with humble or foxy.)

sudo apt-get install ros-<your-distribution>-nav2-behavior-tree
mkdir -p ~/ros2_ws/sequencer_ws/src
cd ~/ros2_ws/sequencer_ws/src
wget -q -O tmp.zip ftp://ftp.cea.fr/pub/lise/p4r/bt_sequencer_<your-distribution>.zip && unzip tmp.zip && rm tmp.zip
cd ~/ros2_ws/sequencer_ws
colcon build --symlink-install --packages-up-to bt_sequencer

Then configure Papyrus for Robotics to include the bt_sequencer installation path (here ~/ros2_ws/sequencer_ws/install) in the list of paths to source.

  • In Papyrus for Robotics, click on WindowPreferences
  • Then type ros 2 in the preference filter text box on top left and add the path above using the New button. Then press the Apply and Close button (green).

Papyrus-customizations-robotics-ConfigureBtSequencer.png


In case you have a source installation of the nav2_behavior_tree package (including its dependencies — nav2_common, nav2_msgs, nav2_util and behaviortree_cpp_v3), just add its installation path as well, to the list of paths to source.

Note on Licensing

The bt_sequencer is a slightly modified version of Nav2's nav2_bt_navigator package and it is licensed under the Apache License, Version 2.0 as the original package (Copyright (c) 2018 Intel Corporation). The bt_sequencer includes the following changes:

  • all the Nav2 specificities are removed (inheritance from nav2_util::LifecycleNode, simple action server that implements the NavigateToPose action, all the corresponding callbacks and data types), except for the usage of class nav2_behavior_tree::BehaviorTreeEngine
  • a ZMQ logger is added from BehaviorTree.CPP
  • an action server is added that triggers the execution of a BT at each bt_sequencer_msgs::action::ExecuteBt goal requests. The BT to be executed must be provided as parameter of the bt_sequencer node.

Back to the top