70 lines
3.5 KiB
Docker
70 lines
3.5 KiB
Docker
FROM ros:humble
|
|
ENV DEBIAN_FRONTEND noninteractive
|
|
ARG CONDA_VER=latest
|
|
ARG OS_TYPE=x86_64
|
|
|
|
RUN apt-get update && apt-get install -y -qq --no-install-recommends \
|
|
libglvnd-dev \
|
|
libgl1-mesa-dev \
|
|
libegl1-mesa-dev \
|
|
libgles2-mesa-dev \
|
|
libxext6 \
|
|
libx11-6 \
|
|
freeglut3-dev \
|
|
git \
|
|
python3-pip \
|
|
python3-tk \
|
|
curl \
|
|
vim \
|
|
libcgal-dev \
|
|
libcgal-demo \
|
|
ros-humble-rmw-cyclonedds-cpp ros-humble-rosidl-generator-dds-idl \
|
|
libyaml-cpp-dev \
|
|
ros-humble-xacro \
|
|
libboost-all-dev\
|
|
build-essential \
|
|
cmake \
|
|
git \
|
|
wget \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
RUN curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | bash
|
|
RUN apt-get install git-lfs
|
|
# Install Miniconda
|
|
RUN wget https://github.com/conda-forge/miniforge/releases/${CONDA_VER}/download/Miniforge3-Linux-${OS_TYPE}.sh -O ~/miniconda.sh \
|
|
&& /bin/bash ~/miniconda.sh -b -p /opt/conda \
|
|
&& rm ~/miniconda.sh \
|
|
&& ln -s /opt/conda/etc/profile.d/conda.sh /etc/profile.d/conda.sh \
|
|
&& echo ". /opt/conda/etc/profile.d/conda.sh" >> ~/.bashrc \
|
|
&& echo "conda activate base" >> ~/.bashrc
|
|
|
|
ENV PATH /opt/conda/bin:$PATH
|
|
SHELL ["conda", "run", "-n", "base", "/bin/bash", "-c"]
|
|
ENV CONDA_PREFIX /opt/conda
|
|
|
|
# Cheange the ROS2 RMW to CycloneDDS as instructed by Unitree
|
|
# RUN cd / && git clone https://github.com/unitreerobotics/unitree_ros2 && cd /unitree_ros2/cyclonedds_ws/src && \
|
|
# git clone https://github.com/ros2/rmw_cyclonedds -b humble && git clone https://github.com/eclipse-cyclonedds/cyclonedds -b releases/0.10.x &&\
|
|
# cd .. && colcon build --packages-select cyclonedds && source /opt/ros/humble/setup.bash && colcon build
|
|
|
|
# Install Python dependencies
|
|
RUN pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
|
|
RUN pip install matplotlib opencv-python proxsuite scipy isort black
|
|
RUN pip install warp-lang scikit-learn casadi
|
|
RUN pip install onnx onnxruntime
|
|
# RUN pip install cyclonedds pygame pynput jupyter ipykernel
|
|
RUN pip install meshcat mujoco
|
|
RUN conda install -y -c conda-forge \
|
|
pinocchio \
|
|
crocoddyl \
|
|
mim-solvers
|
|
|
|
# Set environmental variables required for using ROS
|
|
RUN echo 'source /opt/ros/humble/setup.bash' >> ~/.bashrc
|
|
RUN echo 'source /unitree_ros2/cyclonedds_ws/install/setup.bash' >> ~/.bashrc
|
|
RUN echo 'export RMW_IMPLEMENTATION=rmw_cyclonedds_cpp' >> ~/.bashrc
|
|
RUN echo 'export CYCLONEDDS_URI=file:///home/Go2py/Go2Py/assets/cyclonedds.xml' >> ~/.bashrc
|
|
|
|
# Env vars for the nvidia-container-runtime.
|
|
ENV NVIDIA_VISIBLE_DEVICES all
|
|
ENV NVIDIA_DRIVER_CAPABILITIES graphics,utility,compute |