forked from commaai/openpilot
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
dockerize carla + openpilot (commaai#2011)
* dockerize carla + openpilot * separate dockerfile * bring back CI dockerfile * cleanup bridge * add op docker build and start script * build container in CI * fix camerad hack * remove most magic numbers from bridge.py * openpilot-sim docker build and run scripts * fix dmonitoring hacks * revert controlsd hacks * clean up build scripts * singular * fix path * fix image name * modify sim readme * sim readme and start script changes * dockerfile with working opengl * working opengl + passing panda build_st in docker * fix bug in sim docker file * bugfix sim docker file * bugfix all op-sim docker issues * modify readme + run script * IT DRIVES * clean this up * more cleanup * cleanup docker stuff * more cleanup * start with openpilot-base * install carla python package * Script is not in lib * chmod * everything should be running in docker now, the code may not be nice though * works locally... * rhdChecked is deprecated * Checkout using git lfs when building sim container * try to pass the tests * pull latest docker * gps should not throw an error on openpilot launch in bridge.py * fixed a coding style error * Only start ubloxd in car * fixed more style problems * revert typo * Use enviromental variable to prevent errors in a simulator * Remove unused import * Attempt to fix missing enviromental variable * fix typo * less work for users, auto tmux engagement * less work for users, auto tmux engagement * fix check for nvidia * clean up nvidia check * remove typo, shorted dockerfile Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com> Co-authored-by: Willem Melching <willem.melching@gmail.com> Co-authored-by: Bruce Wayne <batman@workstation-eu-gregor.eu.local> Co-authored-by: Gregor Kikelj <gregor1234567890@gmail.com> old-commit-hash: c5dfbe7
- Loading branch information
1 parent
6aebe5f
commit db0a4ef
Showing
19 changed files
with
450 additions
and
199 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -38,3 +38,5 @@ xx/projects | |
!xx/projects/map3d | ||
xx/ops | ||
xx/junk | ||
tools/sim/carla | ||
tools/sim/*.tar.gz |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
name: simulator | ||
on: | ||
push: | ||
|
||
# TODO: remove the push trigger, and only run on schedule | ||
#schedule: | ||
#- cron: '0 * * * *' | ||
|
||
jobs: | ||
docker_build: | ||
name: build container | ||
runs-on: ubuntu-16.04 | ||
timeout-minutes: 50 | ||
steps: | ||
- uses: actions/checkout@v2 | ||
with: | ||
submodules: true | ||
lfs: true | ||
- name: Docker build | ||
run: | | ||
tools/sim/build_container.sh | ||
- name: Push to dockerhub | ||
run: | | ||
docker login -u wmelching -p ${{ secrets.COMMA_DOCKERHUB_TOKEN }} | ||
docker tag commaai/openpilot-sim docker.io/commaai/openpilot-sim:latest | ||
docker push docker.io/commaai/openpilot-sim:latest |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,8 +1,7 @@ | ||
#!/bin/sh | ||
if [ -d /system ]; then | ||
export LD_LIBRARY_PATH="/data/pythonpath/phonelibs/snpe/aarch64/:$LD_LIBRARY_PATH" | ||
export LD_LIBRARY_PATH="/data/pythonpath/phonelibs/snpe/aarch64/:$LD_LIBRARY_PATH" | ||
else | ||
export LD_LIBRARY_PATH="/usr/lib/aarch64-linux-gnu:/data/pythonpath/phonelibs/snpe/larch64:$HOME/openpilot/phonelibs/snpe/x86_64-linux-clang:$LD_LIBRARY_PATH" | ||
export LD_LIBRARY_PATH="/usr/lib/aarch64-linux-gnu:/data/pythonpath/phonelibs/snpe/larch64:$HOME/openpilot/phonelibs/snpe/x86_64-linux-clang:/openpilot/phonelibs/snpe/x86_64:$HOME/openpilot/phonelibs/snpe/x86_64:$LD_LIBRARY_PATH" | ||
fi | ||
exec ./_modeld | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,104 @@ | ||
FROM commaai/openpilot-base:latest | ||
#Carla | ||
|
||
COPY ./tools/sim/install_carla.sh /tmp | ||
RUN /tmp/install_carla.sh | ||
|
||
#Intel openCL- run openCL on CPU | ||
RUN apt-get update && apt-get install -y \ | ||
apt-utils \ | ||
unzip \ | ||
tar \ | ||
curl \ | ||
xz-utils \ | ||
|
||
beignet-opencl-icd \ | ||
|
||
alien \ | ||
clinfo \ | ||
dbus \ | ||
gcc-arm-none-eabi \ | ||
tmux \ | ||
vim \ | ||
|
||
# libglvnd dependencies | ||
automake \ | ||
libtool \ | ||
libxext-dev \ | ||
libx11-dev \ | ||
x11proto-gl-dev \ | ||
libpng16-16 \ | ||
&& rm -rf /var/lib/apt/lists/* | ||
|
||
|
||
ARG INTEL_DRIVER=opencl_runtime_16.1.1_x64_ubuntu_6.4.0.25.tgz | ||
ARG INTEL_DRIVER_URL=http://registrationcenter-download.intel.com/akdlm/irc_nas/9019 | ||
RUN mkdir -p /tmp/opencl-driver-intel | ||
WORKDIR /tmp/opencl-driver-intel | ||
RUN echo INTEL_DRIVER is $INTEL_DRIVER; \ | ||
curl -O $INTEL_DRIVER_URL/$INTEL_DRIVER; \ | ||
if echo $INTEL_DRIVER | grep -q "[.]zip$"; then \ | ||
unzip $INTEL_DRIVER; \ | ||
mkdir fakeroot; \ | ||
for f in intel-opencl-*.tar.xz; do tar -C fakeroot -Jxvf $f; done; \ | ||
cp -R fakeroot/* /; \ | ||
ldconfig; \ | ||
else \ | ||
tar -xzf $INTEL_DRIVER; \ | ||
for i in $(basename $INTEL_DRIVER .tgz)/rpm/*.rpm; do alien --to-deb $i; done; \ | ||
dpkg -i *.deb; \ | ||
rm -rf $INTEL_DRIVER $(basename $INTEL_DRIVER .tgz) *.deb; \ | ||
mkdir -p /etc/OpenCL/vendors; \ | ||
echo /opt/intel/*/lib64/libintelocl.so > /etc/OpenCL/vendors/intel.icd; \ | ||
fi; \ | ||
rm -rf /tmp/opencl-driver-intel; | ||
|
||
|
||
#Open[GL,CL] for gpu | ||
ENV NVIDIA_DRIVER_CAPABILITIES ${NVIDIA_DRIVER_CAPABILITIES},display | ||
RUN apt-get update && apt-get install -y --no-install-recommends \ | ||
mesa-utils \ | ||
ocl-icd-libopencl1 \ | ||
clinfo && \ | ||
rm -rf /var/lib/apt/lists/* | ||
RUN mkdir -p /etc/OpenCL/vendors && \ | ||
echo "libnvidia-opencl.so.1" > /etc/OpenCL/vendors/nvidia.icd | ||
ENV NVIDIA_VISIBLE_DEVICES all | ||
ENV NVIDIA_DRIVER_CAPABILITIES compute,utility,display | ||
|
||
#Python | ||
ENV PYTHONPATH $HOME/openpilot:${PYTHONPATH} | ||
RUN dbus-uuidgen > /etc/machine-id | ||
|
||
# we can apt-get after moving to a newer ubuntu | ||
WORKDIR /opt/libglvnd | ||
RUN git clone --branch="0.1.1" https://github.com/NVIDIA/libglvnd.git . && \ | ||
./autogen.sh && \ | ||
./configure --prefix=/usr/local --libdir=/usr/local/lib/x86_64-linux-gnu && \ | ||
make -j"$(nproc)" install-strip && \ | ||
find /usr/local/lib/x86_64-linux-gnu -type f -name 'lib*.la' -delete | ||
|
||
ENV LD_LIBRARY_PATH /usr/local/lib/x86_64-linux-gnu:/usr/local/lib/i386-linux-gnu${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}} | ||
|
||
# get same tmux config used on NEOS for debugging | ||
RUN cd $HOME && \ | ||
wget https://raw.githubusercontent.com/commaai/eon-neos-builder/master/devices/eon/home/.tmux.conf | ||
|
||
RUN mkdir -p $HOME/openpilot | ||
|
||
COPY SConstruct $HOME/openpilot/ | ||
|
||
COPY ./phonelibs $HOME/openpilot/phonelibs | ||
COPY ./laika $HOME/openpilot/laika | ||
COPY ./laika_repo $HOME/openpilot/laika_repo | ||
COPY ./rednose $HOME/openpilot/rednose | ||
COPY ./common $HOME/openpilot/common | ||
COPY ./models $HOME/openpilot/models | ||
COPY ./opendbc $HOME/openpilot/opendbc | ||
COPY ./cereal $HOME/openpilot/cereal | ||
COPY ./panda $HOME/openpilot/panda | ||
COPY ./selfdrive $HOME/openpilot/selfdrive | ||
COPY ./tools $HOME/openpilot/tools | ||
|
||
WORKDIR $HOME/openpilot | ||
RUN scons -j40 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.