OverviewFilesCommitsIssuesDocsReleasesPeers

opencog-docker / indigo / eva-silent / Dockerfile

77 lines · text ref:
#
# Container for the OpenCog-based Hanson Robotics Eva mute robot.
# No chatbot; she merely reacts to your presence or absence, as seen
# by the webcam.
#
# To build:
# sudo docker build -t opencog/eva-silent .
#
FROM opencog/ros-incog-blender
MAINTAINER Linas Vepštas "linasvepstas@gmail.com"

# Install required packages
ENV LAST_OS_UPDATE 2015-02-16
RUN apt-get -y update
RUN apt-get -y upgrade
# The perception node needs ros-indigo-dynamixel-msgs and
# the joint/robot-state publishers
RUN apt-get -y install ros-indigo-tf ros-indigo-driver-common \
 ros-indigo-cv-bridge ros-indigo-image-transport \
 ros-indigo-openni-camera ros-indigo-mjpeg-server \
 ros-indigo-usb-cam \
 ros-indigo-dynamixel-msgs \
 ros-indigo-robot-state-publisher \
 ros-indigo-joint-state-publisher

# Install catkinized packages
WORKDIR /catkin_ws/src

RUN git clone https://github.com/hansonrobotics/pi_vision.git
RUN git clone https://github.com/hansonrobotics/perception.git
RUN git clone https://github.com/hansonrobotics/blender_api_msgs.git
RUN git clone https://github.com/hansonrobotics/blender_api.git

# The pau2motors package defines the PAU messages, which are
# needed by the perception (vision-geometry) module.
RUN git clone https://github.com/hansonrobotics/pau2motors.git
RUN git clone https://github.com/hansonrobotics/robots_config.git

# The OpenCog github account mirrors all of the Hanson Robotics
# software.  At this time, the two are in sync with each-other.
# RUN git clone https://github.com/opencog/pi_vision.git
# RUN git clone https://github.com/opencog/perception.git
# RUN git clone https://github.com/opencog/blender_api_msgs.git
# RUN git clone https://github.com/opencog/blender_api.git
# RUN git clone https://github.com/opencog/pau2motors.git
# RUN git clone https://github.com/opencog/robots_config.git

RUN cd /opencog && git clone https://github.com/opencog/ros-behavior-scripting.git

# Change line below on rebuild. Will use cache up to this line
ENV LAST_SOFTWARE_UPDATE 2016-02-19

# Git pull for all packages
RUN cd /catkin_ws/src/ && find . -maxdepth 1 -mindepth 1 -type d \
	-execdir git --git-dir=$PWD/{}/.git --work-tree=$PWD/{} pull \;

# The blender API has not been fully catkinized yet.
RUN pip3 install ./blender_api_msgs/

# Some versions of ros_pololu_server will fail during build; the
# work-around for this is to build twice (This because the missing
# files are autogened, and the pololu Cmakefiles fail to list them as
# dependencies.)
WORKDIR /catkin_ws
RUN bash -l -c "/opt/ros/indigo/bin/catkin_make" || true
RUN bash -l -c "/opt/ros/indigo/bin/catkin_make"

RUN echo source /catkin_ws/devel/setup.bash >> ~/.bashrc

COPY /scripts/eva.sh /catkin_ws/eva.sh

# Ports exposed
# 11311 is roscore
EXPOSE 11311

ENTRYPOINT bash -l -c "./eva.sh; bash"