-
Notifications
You must be signed in to change notification settings - Fork 2
Home
This page is mostly deprecated. Most of the STRANDS software stack is available as part of the L-CAS ROS distribution (for ROS kinetic, at the tie of writing). Please read https://github.com/LCAS/rosdistro/wiki to understand how to install the packages.
The STRANDS project is committed to release its outcomes as open source.
Nearly all our software outcomes are available from our github organisation.
To ease use by others and simply installation, we are releasing Ubuntu binary and source packages for most of our software development.
STRANDS software is mostly based on ROS. We actively maintain and support software packages for ROS Indigo on Ubuntu trusty (Indigo is the project's default and only supported distribution since January 2015).
While some more mature packages are directly released in to the ROS universe, most of our software is hosted on our repositories. The binary packages we host ourselves are for 64-bit architectures (amd64
) only, due to limited capacity of our own build farm. Check this up-to-date report for details about packages hosted by us.
Check out our STRANDS Release Status Reports
These steps are for a system administrator who wants to install STRANDS' release packages:
-
Enable the ROS repositories: Accomplish all the steps under
1. Installation
http://wiki.ros.org/indigo/Installation/Ubuntu#Installation. -
Enable the STRANDS repositories:
-
Add the STRANDS public key to verify packages:
curl -s http://lcas.lincoln.ac.uk/repos/public.key | sudo apt-key add -
-
Add the STRANDS repository:
sudo apt-add-repository http://lcas.lincoln.ac.uk/repos/release
-
update your index:
sudo apt-get update
-
install any packages you want using
sudo apt-get install <pkg-name>
- The STRANDS "Desktop" meta package (containing almost all packages that can be run in simulation (see below) or also on other robots than the ones used in STRANDS. This is what most users want!):
sudo apt-get install ros-indigo-strands-desktop
- The STRANDS ROBOT package (similar to "Desktop", but with drivers and utils for the STRANDS Scitos robot and without simulation tools and packages):
sudo apt-get install ros-indigo-strands-robot
Known Issues:
If you see
The following packages have unmet dependencies.
ros-indigo-strands-desktop : Depends: ros-indigo-strands-base but it is not going to be installed
or similar, please uninstall libqwt-dev
as it conflicts with some dependencies, and apt-get
doesn't report that properly:
sudo apt-get autoremove --purge libqwt-dev
(thanks to https://github.com/lucasb-eyer/strands_karl#basics)
To get started with a basic, simulated robot system that includes many of the core STRANDS packages, follow this guide. Please report any problems with the instructions in the issue tracker.
DISCLAIMER: If you just want to use STRANDS software, no need to read further than this. You are ready to go! The following is for people who want to develop and release STRANDS software.
We assume the previous steps of installing packages to have completed successfully here.
In order to resolve packages that are not in the official ROS repositories, but in STRANDS' own, you need to make rosdep
aware of this.
- Initialise the rosdep system globally:
sudo rosdep init
- add STRANDS dependencies
sudo curl -o /etc/ros/rosdep/sources.list.d/50-strands.list https://raw.githubusercontent.com/strands-project/rosdistro/strands-devel/rosdep/sources.list.d/50-strands.list
The ROS index plays a vital role in any ROS system. STRANDS uses its own ROS distro configuration, which is the central configuration place listing all packages available for a ROS distribution. Our STRANDS version of rosdistro is regularly (daily) updated, pulling in changes from the official ROS distro, but has our own packages added.
- Tell ROS to use STRANDS' own ROS index! Put the following in
~/.config/rosdistro/config.yaml
:
index_url: https://raw.github.com/strands-project/rosdistro/strands-devel/index.yaml
- update your rosdep cache:
rosdep update
If your repository has been released before, you can use the "Release Wizard" to re-release the current head of you github repository very easily. Simply navigate to http://strands-project.github.io/rosdistro/, enter the name of the repository (usually the last part of the github URI of the repository, e.g. v4r
for https://github.com/strands-project/v4r) to be re-released and hit "release" (It is normal that this takes you to a blank page. Don't hit the "release" button again, please). You can see the progress on Jenkins of the two step prepare-release
and bloom-release
.
This will trigger our build farm to generate all the required files and open a pull request in https://github.com/strands-project/rosdistro/pulls which, when accepted by one of the integration managers, will automatically (re-)build all Ubuntu packages required (also the ones depending on the repository you re-released). This normally takes some time (an hour or so), after the pull request has been accepted. The integration managers might ask you about the release before accepting the pull request.
If no version of your repository has ever been released yet, get in touch with [email protected].
If no version of your repository has ever been released yet, get in touch with [email protected] (or if you are a STRANDS member read this)
- Make sure you have configured your system to use the STRANDS ROS index (see above).
- simply follow this simple guide to prepare your upstream repository. Usually this involved the following steps:
-
catkin_generate_changelog
to generate Debian Changelogs form git log -
git commit -a -m "updated Changelogs"
to commit the new logs -
catkin_prepare_release
to bump the version number and tag the source with it (with--bump {major|minor|patch}
to choose which version part to increase) - run
bloom-release
as described here, usually something like this:bloom-release mongodb_store -t hydro -r hydro
withhydro
replaced byindigo
where needed andmongodb_store
replaces with the name of you repository as configured in https://github.com/strands-project/rosdistro
Disclaimer: Usually you don't do this, but the software management team will release version that are considered stable to the official repos
Same steps as above, but the bloom-release
command needs another environment variable to be defined:
ROSDISTRO_INDEX_URL=https://raw.github.com/ros/rosdistro/master/index.yaml bloom-release mongodb_store -r indigo -t indigo