- FROM tiryoh/ros-desktop-vnc:kinetic
- ENV DEBCONF_NOWARNINGS=yes
- ENV DEBIAN_FRONTEND noninteractive
- ENV ROS_PYTHON_VERSION 1
- SHELL ["/bin/bash", "-c"]
- RUN sed -i 's@archive.ubuntu.com@ftp.jaist.ac.jp/pub/Linux@g' /etc/apt/sources.list
- RUN apt-get update && \
- apt-get upgrade -y && \
- apt-get install --no-install-recommends -y \
- build-essential \
- dkms \
- openssh-server && \
- apt-get -y clean && \
- rm -rf /var/lib/apt/lists/*
- RUN mkdir /var/run/sshd && \
- echo 'root:ubuntu' | chpasswd && \
- sed -i 's/PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config && \
- sed 's@session\s*required\s*pam_loginuid.so@session optional pam_loginuid.so@g' -i /etc/pam.d/sshd
- EXPOSE 22
- RUN apt-get update && \
- apt-get upgrade -y && \
- apt-get install --no-install-recommends -y \
- python-catkin-tools \
- python-rosdep \
- openssh-server \
- ros-kinetic-driver-base \
- ros-kinetic-move-base-msgs \
- ros-kinetic-octomap \
- ros-kinetic-octomap-msgs \
- ros-kinetic-humanoid-msgs \
- ros-kinetic-humanoid-nav-msgs \
- ros-kinetic-camera-info-manager \
- ros-kinetic-camera-info-manager-py \
- libccd-dev \
- libccd2 \
- libfcl-0.5-dev \
- libfcl0.5 \
- libglew-dev \
- libglew1.13 \
- python-bs4 \
- python-html5lib \
- python-lxml \
- ros-kinetic-ackermann-steering-controller \
- ros-kinetic-chomp-motion-planner \
- ros-kinetic-combined-robot-hw \
- ros-kinetic-combined-robot-hw-tests \
- ros-kinetic-control-toolbox \
- ros-kinetic-controller-interface \
- ros-kinetic-controller-manager \
- ros-kinetic-controller-manager-msgs \
- ros-kinetic-controller-manager-tests \
- ros-kinetic-diff-drive-controller \
- ros-kinetic-effort-controllers \
- ros-kinetic-force-torque-sensor-controller \
- ros-kinetic-forward-command-controller \
- ros-kinetic-gazebo-ros-control \
- ros-kinetic-gripper-action-controller \
- ros-kinetic-hardware-interface \
- ros-kinetic-imu-sensor-controller \
- ros-kinetic-joint-limits-interface \
- ros-kinetic-joint-state-controller \
- ros-kinetic-joint-trajectory-controller \
- ros-kinetic-moveit-core \
- ros-kinetic-moveit-fake-controller-manager \
- ros-kinetic-moveit-kinematics \
- ros-kinetic-moveit-msgs \
- ros-kinetic-moveit-planners-ompl \
- ros-kinetic-moveit-ros-move-group \
- ros-kinetic-moveit-ros-perception \
- ros-kinetic-moveit-ros-planning \
- ros-kinetic-moveit-simple-controller-manager \
- ros-kinetic-naoqi-bridge-msgs \
- ros-kinetic-naoqi-dcm-driver \
- ros-kinetic-naoqi-driver \
- ros-kinetic-naoqi-driver-py \
- ros-kinetic-naoqi-libqi \
- ros-kinetic-naoqi-libqicore \
- ros-kinetic-naoqi-pose \
- ros-kinetic-naoqi-sensors-py \
- ros-kinetic-object-recognition-msgs \
- ros-kinetic-ompl \
- ros-kinetic-pepper-bringup \
- ros-kinetic-pepper-control \
- ros-kinetic-pepper-dcm-bringup \
- ros-kinetic-pepper-description \
- ros-kinetic-pepper-gazebo-plugin \
- ros-kinetic-pepper-moveit-config \
- ros-kinetic-pepper-robot \
- ros-kinetic-pepper-sensors-py \
- ros-kinetic-position-controllers \
- ros-kinetic-realtime-tools \
- ros-kinetic-rgbd-launch ros-kinetic-ros-control \
- ros-kinetic-ros-controllers \
- ros-kinetic-rqt-joint-trajectory-controller \
- ros-kinetic-srdfdom \
- ros-kinetic-transmission-interface \
- ros-kinetic-urdfdom-py \
- ros-kinetic-velocity-controllers \
- libgflags2v5 \
- tmux \
- python-pyassimp \
- ros-kinetic-dsr-description \
- ros-kinetic-eigenpy \
- ros-kinetic-graph-msgs \
- ros-kinetic-moveit \
- ros-kinetic-moveit-chomp-optimizer-adapter \
- ros-kinetic-moveit-commander \
- ros-kinetic-moveit-config-m0609 \
- ros-kinetic-moveit-config-m0617 \
- ros-kinetic-moveit-config-m1013 \
- ros-kinetic-moveit-config-m1509 \
- ros-kinetic-moveit-controller-manager-example \
- ros-kinetic-moveit-experimental \
- ros-kinetic-moveit-opw-kinematics-plugin \
- ros-kinetic-moveit-planners \
- ros-kinetic-moveit-planners-chomp \
- ros-kinetic-moveit-plugins \
- ros-kinetic-moveit-pr2 ros-kinetic-moveit-python \
- ros-kinetic-moveit-resources \
- ros-kinetic-moveit-ros \
- ros-kinetic-moveit-ros-benchmarks \
- ros-kinetic-moveit-ros-control-interface \
- ros-kinetic-moveit-ros-manipulation \
- ros-kinetic-moveit-ros-planning-interface \
- ros-kinetic-moveit-ros-robot-interaction \
- ros-kinetic-moveit-ros-visualization \
- ros-kinetic-moveit-ros-warehouse \
- ros-kinetic-moveit-runtime \
- ros-kinetic-moveit-setup-assistant \
- ros-kinetic-moveit-sim-controller \
- ros-kinetic-moveit-visual-tools \
- ros-kinetic-pr2-controllers-msgs \
- ros-kinetic-pr2-description \
- ros-kinetic-pr2-mechanism-msgs \
- ros-kinetic-pr2-moveit-config \
- ros-kinetic-pr2-moveit-plugins \
- ros-kinetic-ros-control-boilerplate \
- ros-kinetic-rosparam-shortcuts \
- ros-kinetic-rviz-visual-tools \
- ros-kinetic-warehouse-ros \
- iputils-ping \
- ros-kinetic-joint-trajectory-* \
- ros-kinetic-move-base \
- ros-kinetic-teleop-twist-keyboard && \
- apt-get -y clean && \
- rm -rf /var/lib/apt/lists/*
- RUN mkdir -p /home/ubuntu/catkin_ws/src && \
- /bin/bash -c "source /opt/ros/kinetic/setup.bash ; cd /home/ubuntu/catkin_ws/src ; catkin_init_workspace" && \
- /bin/bash -c "source /opt/ros/kinetic/setup.bash ; cd /home/ubuntu/catkin_ws && catkin build" && \
- echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc && \
- echo "source /home/ubuntu/catkin_ws/devel/setup.bash" >> ~/.bashrc && \
- echo "export ROS_PACKAGE_PATH=\${ROS_PACKAGE_PATH}:/home/ubuntu/catkin_ws" >> ~/.bashrc && \
- echo "export ROS_WORKSPACE=/home/ubuntu/catkin_ws" >> ~/.bashrc && \
- echo "alias cm='cd ~/catkin_ws;catkin build'" >> ~/.bashrc && \
- echo "alias cs='cd ~/catkin_ws/src'" >> ~/.bashrc
- RUN apt-get update && \
- apt-get upgrade -y && \
- cd /home/ubuntu/catkin_ws && \
- catkin build && \
- cd /home/ubuntu/catkin_ws/src && \
- git clone https://github.com/ros-naoqi/naoqi_driver.git && \
- rosdep install -i --from-paths . --ignore-src --rosdistro kinetic -y ./naoqi_driver && \
- git clone https://github.com/SoftbankRoboticsChina/pepper-ros-navigation.git && \
- rosdep install -i --from-paths . --ignore-src --rosdistro kinetic -y ./pepper-ros-navigation && \
- cd /home/ubuntu/catkin_ws && \
- catkin build && \
- cd /home/ubuntu/catkin_ws/src && \
- catkin_create_pkg create_speech rospy std_msgs --rosdistro kinetic && \
- cd create_speech && \
- curl -o create_speech.py https://raw.githubusercontent.com/ykoga-kyutech/pepper_ros_handson/master/scripts/create_speech_template.py && \
- chmod +x create_speech.py && \
- cd /home/ubuntu/catkin_ws && \
- catkin build && \
- apt-get autoremove -y && \
- apt-get clean && \
- rm -rf /var/lib/apt/lists/*
- # Install pynaoqi 2.5.5 library
- COPY ./scripts/pynaoqi-python2.7-2.5.5.5-linux64.tar.gz /home/ubuntu/pynaoqi-python2.7-2.5.5.5-linux64.tar.gz
- COPY ./scripts/naoqi-sdk-2.5.5.5-linux64.tar.gz /home/ubuntu/naoqi-sdk-2.5.5.5-linux64.tar.gz
- RUN tar -xvzf /home/ubuntu/pynaoqi-python2.7-2.5.5.5-linux64.tar.gz -C /home/ubuntu/ && \
- rm /home/ubuntu/pynaoqi-python2.7-2.5.5.5-linux64.tar.gz && \
- tar -xvzf /home/ubuntu/naoqi-sdk-2.5.5.5-linux64.tar.gz -C /home/ubuntu/ && \
- rm /home/ubuntu/naoqi-sdk-2.5.5.5-linux64.tar.gz && \
- echo "export PYTHONPATH=\${PYTHONPATH}:/home/ubuntu/naoqi-sdk-2.5.5.5-linux64/lib" >> ~/.bashrc && \
- echo "export PYTHONPATH=\${PYTHONPATH}:/home/ubuntu/pynaoqi-python2.7-2.5.5.5-linux64/lib/python2.7/site-packages" >> ~/.bashrc && \
- echo "export NAOqi_DIR=/home/ubuntu/naoqi-sdk-2.5.5.5-linux64" >> ~/.bashrc
- COPY ./scripts/startup.sh /startup.sh
- COPY ./scripts/connectPEPPER.sh /home/ubuntu/connectPEPPER.sh
- COPY ./scripts/pepper.rviz /home/ubuntu/pepper.rviz
- COPY ./scripts/launchdemo.txt /home/ubuntu/launchdemo.txt