Papyrus/customizations/robotics/installation
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.
- RCPs
- Release RCPs for 2023-03
- Nightly RCPs for 2023-03.
- If want to extend an existing Eclipse, add the update-site via Help->Install New Software->Add
- Release update-site (v0.9, for 2022-06 or newer)
- Release update-site (v0.8, for 2020-06)
- Nightly update site (for 2023-03)
Source code 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
Window
→Preferences
- Then type
ros 2
in the preference filter text box on top left and add the path above using theNew
button. Then press theApply and Close
button (green).
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 theNavigateToPose
action, all the corresponding callbacks and data types), except for the usage of classnav2_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 thebt_sequencer
node.