Development scripts from the SPQReL team.
Dockerfile
in lcas/spqrel_launch
for reference of all the steps to set up a system from scratch. This Dockerfile
is not meant to be taken verbatim, but it documents all general steps required to get a suitable local workspace. Or, simply use the docker image: docker run --rm -it lcasuol/spqrel_launch
(but only if you understand docker
).nut.yml
$HOME/spqrel/workspace
, so cd $HOME/spqrel/workspace
)git clone --recurse-submodules https://github.com/LCAS/spqrel_launch.git
(this will pull in all submodules as well
<ROOT>
bin/ (where all compiled binaries will end up in)
lib/ (where all compiled libraries will end up in)
worktree/
PetriNetPlans/ (submodule via git clone https://github.com/iocchi/PetriNetPlans.git)
spqrel_navigation/ (submodule via git clone https://github.com/lcas/spqrel_navigation.git)
spqrel_tools/ (submodule via git clone https://github.com/lcas/spqrel_tools.git)
cd worktree/spqrel_tools
setup-local.bash
so that cour SDKs are being found and your top-level SPQReL root is being set (note: Make sure you don't commit you local changes. run git update-index --skip-worktree setup-local.bash
once to avoid it being accidentally committed. It's your own configuration that goes in here only.)spqrel_tools/
), you will notice that the git head is detached (don't worry if you don't know what I'm talking about). Simply check out the branch you want to work on (usually git checkout master
) and you are good to go.spqrel_tools
directory (e.g. cd $HOME/spqrel/workspace/spqrel_launch/worktree/spqrel_tools
)make install
in spqrel_tools
, it should compile all binaries and translate all plans found, and install everything in the respective places. It will find all qibuild workspaces under worktree/
(all submodules configured)Note: do not source setup.bash
or source setup-dev.bash
as they are needed only for running, and somehow get in cmake's way of finding boost.
source setup-dev.bash
(local computer only) and source setup.bash
(both local computer and Pepper robot). If you are using tmule (see below, those will be outloaded).
.bashrc
.fire up TMule as either:
tmule --config spqrel-local-config.yaml server
(if you want to run locally)tmule --config spqrel-pepper-config.yaml server
(this is the config usually run on Pepper)Either will result in the TMule control server being launched and accessible via web browser wherever it was launched (E.g. on Pepper Wifi address) at port 9999, e.g. http://localhost:9999.
In order to make everything is orderly terminated, stop the TMule server with [Ctrl-C]
and follow this by
tmule --config spqrel-local-config.yaml terminate
tmule --config spqrel-pepper-config.yaml terminate
respectively
mkdir -p ~/spqrel
and change into it cd ~/spqrel
pepper
branch of spqrel_launch
to get initial binaries: wget https://github.com/LCAS/spqrel_launch/archive/pepper.zip
and unzip it (will give you directory spqrel_launch-pepper
).export GIT_EXEC_PATH=$HOME/spqrel/spqrel_launch-pepper/libexec/git-core
to make sure git finds its helpers and set PATH=$HOME/spqrel/spqrel_launch-pepper/bin:$PATH
~/spqrel
run git clone --recurse-submodules --depth 1 -b pepper git@github.com:LCAS/spqrel_launch.git
to clone the repository (only shallow clone, we don't need the entire history here)cd spqrel_launch
and run update-all.sh
once to make sure everything is updatedrm -r ~/spqrel/spqrel_launch-pepper
wget -O /tmp/psutil.zip http://lcas.lincoln.ac.uk/owncloud/index.php/s/p57cSlU8588CdUT/download
unzip -d ~ /tmp/psutil.zip
pip install -U --user tmule trollius requests
cd ~/spqrel/spqrel_launch/worktree/spqrel_tools
setup-local.bash
with the correct pathssource setup.bash
setup-local.bash
is not committed: git update-index --skip-worktree setup-local.bash
git config --global user.email "spqrel@googlegroups.com"
git config --global user.name "SPQReL team"
git config --global push.default simple
setup.bash
. This file loads setup-local.bash
if it exists and must respect the variables defined in spqrel-local.bash
. They must always take precendence. setup.bash
is the place to set all required environment variablessetup-dev.bash
. This file also reads setup-local.bash
, but should only be source
-d on development machines (i.e. linux64
) and not on Pepper.setup-local.bash
contains all the local paths you need to configure for your environment. Changes to that file shall not be committed to the repository ever. Hence, it is good practice to configure it in git to be ignored using git update-index --skip-worktree setup-local.bash