diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000000000000000000000000000000000000..6f362d2c6ff83eb71ee36dce6051c0f49e7d6d2f --- /dev/null +++ b/Dockerfile @@ -0,0 +1,42 @@ +FROM osrf/ros:melodic-desktop-full + +# nvidia-container-runtime +ENV NVIDIA_VISIBLE_DEVICES \ + ${NVIDIA_VISIBLE_DEVICES:-all} +ENV NVIDIA_DRIVER_CAPABILITIES \ + ${NVIDIA_DRIVER_CAPABILITIES:+$NVIDIA_DRIVER_CAPABILITIES,}graphics + +RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections +##Add IRI repository +RUN apt-get update && apt-get install -y apt-utils +RUN apt-get install -y vim wget ca-certificates xsdcxx +RUN sudo sh -c 'echo "deb [arch=amd64] https://labrepo.iri.upc.edu/packages $(lsb_release -cs) main" > /etc/apt/sources.list.d/labrobotica_repo.list' +RUN wget -q -O - https://labrepo.iri.upc.edu/labrobotica_repo.gpg.key | sudo apt-key add - + +RUN apt-get update && apt-get install -y iri-iriutils-dev + +RUN cd /root +WORKDIR /root + +RUN mkdir -p catkin_ws/src + +##Meanwhile, copy workspace with repositories +COPY catkin_ws catkin_ws +##TODO Uncomment when repos are public +#RUN cd /root/catkin_ws/src && wstool init ; wstool merge -y -r /root/catkin_ws/adc_https.rosinstall ; wstool update + + +##TODO Uncomment when libraries are paquetized +#RUN apt-get update && apt-get install -y iri-opendrive-to-gazebo-dev iri-autonomous-driving-tools-dev iri-opendrive-road-map-dev +##Meanwhile, manually compile and install the ones copied in the workspace +##TODO: remove libraries from rosinstall when paquetized +RUN cd /root/catkin_ws/src/adc/libraries/autonomous_driving_tools && mkdir -p build && cd build && cmake .. && make && make install +RUN cd /root/catkin_ws/src/adc/libraries/opendrive_road_map && mkdir -p build && cd build && cmake .. && make && make install +RUN cd /root/catkin_ws/src/adc/libraries/opendrive_to_gazebo && mkdir -p build && cd build && cmake .. && make +RUN cd /root/catkin_ws/src && rosdep install -y -i -r --from-paths . +RUN /bin/bash -c "source /opt/ros/melodic/setup.bash && cd /root/catkin_ws && catkin_make -DCATKIN_BLACKLIST_PACKAGES='iri_model_car_driver_battery;iri_model_car_driver_ultrasounds;iri_model_car_driver_egomotion;iri_opendrive_global_planner'" +RUN echo "source /root/catkin_ws/devel/setup.bash" >> /root/.bashrc +RUN /bin/bash -c "cd /root && source .bashrc" + +#Fix gazebo error/warning: [Err] [REST.cc:205] Error in REST request +#RUN cd && sed -i 's/ignitionfuel/ignitionrobotics/g' .ignition/fuel/config.yaml