- make sure you have VRX installed somewhere: https://bitbucket.org/osrf/vrx/wiki/tutorials/SystemSetupInstall Including the location of the file.
- Get docker: https://docs.docker.com/install/linux/docker-ce/ubuntu/ (note: its not as easy as sudo apt install docker!)
- Make yourself part of the docker group:
sudo usermod -a -G docker $USER
- Logout and login so that it updates your groups. type in
groups
to confirm you are in the docker group. - hg clone this: https://bitbucket.org/osrf/vrx-docker/src/default/
- Create a dockerhub account: https://hub.docker.com/
- Login with your dockerhub on the command line:
docker login -u username -p password
- Follow
Submitting from scratch
orsubmitting from tisbutascratch
(below) - follow these instructions: https://bitbucket.org/osrf/vrx-docker/src/default/ from 'Quick Start Instructions For a Single Trial - Setting up workspace to run automated evaluation'.
- A sample fileset is in
vrx_tasks/usyd_Team
. You can just copy the entire folder intovrx-docker/team_config
. - Everyting will take AGES. this is normal. (there are 919 get's if you want some sort of progress indicator, you'll get it when you see it)
- Before running, goto
vrx-docker/task_config
and uncomment the data from the trials you are trying to run. - Login for tisbutascratch is u:
tisbutascratch
pw:PGjpFUjUfE3RBd9
- To debug: You can find the ros-master-uri (i think by default
ROS_MASTER_URI=http://172.16.0.22:11311
) by inspecting the run command. Thenexport ROS_MASTER_URI=http://172.16.0.22:11311
in another terminal, then runrviz
as normal.
- Pull a branch you want to submit into some folder
<USYD VRX>
. - run
docker run <name_of_your_container>
- run
docker ps
to find your container name under the NAMES Column: - open a bash in the docker with
docker exec -it <container_name> bash
- Make sure you have sourced the ros melodic files, so you can call catkin_make
source /opt/ros/melodic/setup.bash
- create a catkin workspace: http://wiki.ros.org/catkin/Tutorials/create_a_workspace
- pull our files:
git clone https://github.com/USYD-RowBot/usyd_vrx.git
- IF YOU'RE WORKING ON A BRANCH: checkout to and fetch the branch:
git checkout --track origin/stable_steven
- Install dependencies:
apt install ros-melodic-tf apt install ros-melodic-robot-state-publisher apt install ros-melodic-geographic-msgs apt install python-pip && pip install pyproj apt install ros-melodic-pointcloud-to-laserscan apt install ros-melodic-global-planner api install ros-melodic-cv-bridge apt install ros-melodic-interactive-markers apt install ros-melodic-robot-localization
- catkin_make and make sure everything is ok.
- change the run file
~/run_my_system.bash
to whatever script you want to run. An example is included invrx_tasks/sampleRunbash.sh
. - Make sure it works :3 by running
./run_my_system.bash
. - N.B. robot-state-publisher will probably fail. That's ok. the robot-description argument will be presented in the sim.
- Save your work: first
docker ps
to find your container ID, thendocker commit <containerID> <name_of_your_container>
. - go to here: https://bitbucket.org/osrf/vrx/wiki/tutorials/Creating%20a%20Dockerhub%20image%20for%20submission
- Follow steps in
option 1
- Go to
testing
.
- run
docker run tisbutascratch/usyd_vrx:v2
for the latest version. - Go back to System setup.
- To check what docker processes are running:
docker ps
- ENSURE YOUR ENTRYPOINT IS CORRECT, by running
docker inspect <containername>
and searching for theentrypoint
datum. It should say./ros_entrypoint.sh
. If it doesn't, rundocker run ---entrypoint ./ros_entrypoint.sh yourdockerfilename
.
- get docker
- Get the docker image:
docker run -it bash tisbutascratch/usyd_vrx:v1
(this ensures you run bash instead of just running the launch file) - NOTE THAT THIS WILL OVERWRITE THE ENTRYPOINT, SCREWING UP YOUR DOCKER IMAGE. To fix this, follow the step after saving your work.
- do what you need to do
- Save your work: first
docker ps
to find your container ID, thendocker commit <containerID> <name_of_your_container>
. - Change the entrypoint: run
docker run <yourcontainername> --entrypoint './ros_entrypoint.sh
and then recommit your work. Then usedocker inspect
and check theentrypoint
datum to ensure that this has worked.