57 lines
2.2 KiB
Docker
57 lines
2.2 KiB
Docker
FROM osrf/ros:jazzy-desktop-full
|
|
|
|
ENV ROS_DISTRO=jazzy
|
|
RUN apt-get update -y
|
|
#Debugging tools
|
|
RUN apt-get install -y wget lsb-release curl gnupg net-tools inetutils-ping build-essential qterminal
|
|
#Gazebo Install
|
|
RUN curl https://packages.osrfoundation.org/gazebo.gpg --output /usr/share/keyrings/pkgs-osrf-archive-keyring.gpg
|
|
RUN echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/pkgs-osrf-archive-keyring.gpg] http://packages.osrfoundation.org/gazebo/ubuntu-stable $(lsb_release -cs) main" | tee /etc/apt/sources.list.d/gazebo-stable.list > /dev/null
|
|
RUN apt-get update -y
|
|
RUN apt-get install -y nano \
|
|
libgz-sim8-dev \
|
|
rapidjson-dev \
|
|
libopencv-dev \
|
|
libgstreamer1.0-dev \
|
|
libgstreamer-plugins-base1.0-dev \
|
|
gstreamer1.0-plugins-bad \
|
|
gstreamer1.0-libav \
|
|
gstreamer1.0-gl \
|
|
gstreamer1.0-plugins-good \
|
|
gstreamer1.0-plugins-bad \
|
|
gstreamer1.0-plugins-ugly
|
|
|
|
RUN apt-get install -y \
|
|
ros-${ROS_DISTRO}-xacro \
|
|
ros-${ROS_DISTRO}-gazebo-msgs \
|
|
ros-${ROS_DISTRO}-ros-gz
|
|
|
|
|
|
ENV workspace=/home/gz-workspace/ardupilot_gazebo
|
|
WORKDIR ${workspace}/
|
|
#Burak: Copy ardupilot_gazebo files from local to the image.
|
|
# I didn't do git pull because this is working right now.
|
|
# I don't want to pull where github/ardupilot_gazebo might push breaking changes and this sdk would stop working in the next build.
|
|
COPY ./ardupilot_gazebo ${workspace}/
|
|
COPY --link --from=git.spirirobotics.com/spiri/gazebo-resources:main /models /${workspace}/models/
|
|
COPY --link --from=git.spirirobotics.com/spiri/gazebo-resources:main /worlds /${workspace}/worlds/
|
|
RUN echo "source /opt/ros/jazzy/setup.bash" >> ~/.bashrc
|
|
RUN echo "export GZ_SIM_SYSTEM_PLUGIN_PATH=${workspace}/build:$GZ_SIM_SYSTEM_PLUGIN_PATH" >> ~/.bashrc
|
|
RUN echo "export GZ_SIM_RESOURCE_PATH=${workspace}/models:${workspace}/worlds:$GZ_SIM_RESOURCE_PATH" >> ~/.bashrc
|
|
ENV GZ_SIM_SYSTEM_PLUGIN_PATH=${workspace}/build
|
|
ENV GZ_SIM_RESOURCE_PATH=${workspace}/models:/home/gz-workspace/ardupilot_gazebo/worlds
|
|
|
|
WORKDIR ${workspace}/build
|
|
RUN cmake ..
|
|
RUN make -j16
|
|
RUN make install
|
|
WORKDIR ${workspace}
|
|
|
|
COPY ./spawn_drones.sh /spawn_drones.sh
|
|
RUN chmod +x /spawn_drones.sh
|
|
COPY ./launcher.py /launcher.py
|
|
CMD python3 /launcher.py
|
|
|
|
|
|
|