aboutsummaryrefslogtreecommitdiff
path: root/Tools/ros/docker/px4-ros-full
diff options
context:
space:
mode:
authorLorenz Meier <lorenz@px4.io>2015-01-24 15:24:38 +0100
committerLorenz Meier <lorenz@px4.io>2015-01-24 15:24:38 +0100
commitd74b81ba4f44db0e50e4eb491ca7941bb1aceec2 (patch)
tree354f2fcf3566e0dbaff879221209205aaab65ce5 /Tools/ros/docker/px4-ros-full
parent8e15a5b9d0400707f539703d01f702bee03a10db (diff)
parent8194cb107169d7c1a642e7bbcbade92879da6c9b (diff)
downloadpx4-firmware-d74b81ba4f44db0e50e4eb491ca7941bb1aceec2.tar.gz
px4-firmware-d74b81ba4f44db0e50e4eb491ca7941bb1aceec2.tar.bz2
px4-firmware-d74b81ba4f44db0e50e4eb491ca7941bb1aceec2.zip
Merge pull request #1693 from UAVenture/ros-automation
Ros automation
Diffstat (limited to 'Tools/ros/docker/px4-ros-full')
-rw-r--r--Tools/ros/docker/px4-ros-full/Dockerfile56
-rw-r--r--Tools/ros/docker/px4-ros-full/README.md10
-rw-r--r--Tools/ros/docker/px4-ros-full/scripts/setup-workspace.sh43
3 files changed, 109 insertions, 0 deletions
diff --git a/Tools/ros/docker/px4-ros-full/Dockerfile b/Tools/ros/docker/px4-ros-full/Dockerfile
new file mode 100644
index 000000000..9c0fbc688
--- /dev/null
+++ b/Tools/ros/docker/px4-ros-full/Dockerfile
@@ -0,0 +1,56 @@
+#
+# PX4 full ROS container
+#
+
+FROM ubuntu:14.04.1
+MAINTAINER Andreas Antener <andreas@uaventure.com>
+
+# Install basics
+## Use the "noninteractive" debconf frontend
+ENV DEBIAN_FRONTEND noninteractive
+
+RUN apt-get update \
+ && apt-get -y install wget git mercurial
+
+# Main ROS Setup
+# Following http://wiki.ros.org/indigo/Installation/Ubuntu
+# Also adding dependencies for gazebo http://gazebosim.org/tutorials?tut=drcsim_install
+
+## add ROS repositories and keys
+## install main ROS pacakges
+RUN echo "deb http://packages.ros.org/ros/ubuntu trusty main" > /etc/apt/sources.list.d/ros-latest.list \
+ && wget https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -O - | apt-key add - \
+ && apt-get update \
+ && apt-get -y install ros-indigo-desktop-full
+
+RUN rosdep init \
+ && rosdep update
+
+## setup environment variables
+RUN echo "source /opt/ros/indigo/setup.bash" >> ~/.bashrc
+
+## get rosinstall
+RUN apt-get -y install python-rosinstall
+
+## additional dependencies
+RUN apt-get -y install ros-indigo-octomap-msgs ros-indigo-joy
+
+## install drcsim
+RUN echo "deb http://packages.osrfoundation.org/drc/ubuntu trusty main" > /etc/apt/sources.list.d/drc-latest.list \
+ && wget http://packages.osrfoundation.org/drc.key -O - | apt-key add - \
+ && apt-get update \
+ && apt-get -y install drcsim
+
+# Install x11-utils to get xdpyinfo, for X11 display debugging
+# mesa-utils provides glxinfo, handy for understanding the 3D support
+RUN apt-get -y install x11-utils mesa-utils
+
+# Some QT-Apps/Gazebo don't not show controls without this
+ENV QT_X11_NO_MITSHM 1
+
+# FIXME: this doesn't work when building from vagrant
+COPY scripts/setup-workspace.sh /root/scripts/
+RUN chmod +x -R /root/scripts/*
+RUN chown -R root:root /root/scripts/*
+
+CMD ["/usr/bin/xterm"]
diff --git a/Tools/ros/docker/px4-ros-full/README.md b/Tools/ros/docker/px4-ros-full/README.md
new file mode 100644
index 000000000..7d75754d9
--- /dev/null
+++ b/Tools/ros/docker/px4-ros-full/README.md
@@ -0,0 +1,10 @@
+# PX4 ROS #
+
+Full desktop ROS container.
+
+**TODO:**
+
+- use https://github.com/phusion/baseimage-docker as base
+- add user, best synced with host
+- configure ssh to work with vagrant out of the box
+
diff --git a/Tools/ros/docker/px4-ros-full/scripts/setup-workspace.sh b/Tools/ros/docker/px4-ros-full/scripts/setup-workspace.sh
new file mode 100644
index 000000000..231166e27
--- /dev/null
+++ b/Tools/ros/docker/px4-ros-full/scripts/setup-workspace.sh
@@ -0,0 +1,43 @@
+#!/bin/sh
+#
+# Create workspace at current location and fetch source repositories
+#
+
+WDIR=`pwd`
+WORKSPACE=$WDIR/catkin_ws
+
+# Setup workspace
+mkdir -p $WORKSPACE/src
+cd $WORKSPACE/src
+catkin_init_workspace
+cd $WORKSPACE
+catkin_make
+echo "source $WORKSPACE/devel/setup.bash" >> ~/.bashrc
+
+# PX4 Firmware
+cd $WORKSPACE/src
+git clone https://github.com/PX4/Firmware.git \
+ && cd Firmware \
+ && git checkout ros
+
+# euroc simulator
+cd $WORKSPACE/src
+git clone https://github.com/PX4/euroc_simulator.git \
+ && cd euroc_simulator \
+ && git checkout px4_nodes
+
+# mav comm
+cd $WORKSPACE/src
+git clone https://github.com/PX4/mav_comm.git
+
+# glog catkin
+cd $WORKSPACE/src
+git clone https://github.com/ethz-asl/glog_catkin.git
+
+# catkin simple
+cd $WORKSPACE/src
+git clone https://github.com/catkin/catkin_simple.git
+
+cd $WORKSPACE
+catkin_make
+