-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #26 from PickNikRobotics/v4.0
v4.0 updates
- Loading branch information
Showing
13 changed files
with
643 additions
and
33 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 |
---|---|---|
|
@@ -9,3 +9,6 @@ | |
path = src/external_dependencies/picknik_accessories | ||
url = [email protected]:PickNikRobotics/picknik_accessories.git | ||
branch = kinova-main | ||
[submodule "src/external_dependencies/serial"] | ||
path = src/external_dependencies/serial | ||
url = [email protected]:PickNikRobotics/serial.git |
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,119 @@ | ||
# Docker image for extending MoveIt Pro with a custom overlay. | ||
# | ||
# Example build command (with defaults): | ||
# | ||
# docker build -f ./Dockerfile . | ||
# | ||
|
||
# Specify the MoveIt Pro release to build on top of. | ||
ARG MOVEIT_STUDIO_BASE_IMAGE | ||
ARG USERNAME=studio-user | ||
ARG USER_UID=1000 | ||
ARG USER_GID=1000 | ||
|
||
################################################## | ||
# Starting from the specified MoveIt Pro release # | ||
################################################## | ||
# The image tag is specified in the argument itself. | ||
# hadolint ignore=DL3006 | ||
FROM ${MOVEIT_STUDIO_BASE_IMAGE} as base | ||
|
||
# Create a non-root user | ||
ARG USERNAME | ||
ARG USER_UID | ||
ARG USER_GID | ||
|
||
# Copy source code from the workspace's ROS 2 packages to a workspace inside the container | ||
ARG USER_WS=/home/${USERNAME}/user_ws | ||
ENV USER_WS=${USER_WS} | ||
RUN mkdir -p ${USER_WS}/src ${USER_WS}/build ${USER_WS}/install ${USER_WS}/log | ||
COPY ./src ${USER_WS}/src | ||
|
||
# Also mkdir with user permission directories which will be mounted later to avoid docker creating them as root | ||
WORKDIR $USER_WS | ||
# hadolint ignore=DL3008 | ||
RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \ | ||
--mount=type=cache,target=/var/lib/apt,sharing=locked \ | ||
groupadd --gid $USER_GID ${USERNAME} && \ | ||
useradd --uid $USER_UID --gid $USER_GID --shell /bin/bash --create-home ${USERNAME} && \ | ||
apt-get update && \ | ||
apt-get install -q -y --no-install-recommends sudo && \ | ||
echo ${USERNAME} ALL=\(root\) NOPASSWD:ALL > /etc/sudoers.d/${USERNAME} && \ | ||
chmod 0440 /etc/sudoers.d/${USERNAME} && \ | ||
cp -r /etc/skel/. /home/${USERNAME} && \ | ||
mkdir -p \ | ||
/home/${USERNAME}/.ccache \ | ||
/home/${USERNAME}/.config \ | ||
/home/${USERNAME}/.ignition \ | ||
/home/${USERNAME}/.colcon \ | ||
/home/${USERNAME}/.ros && \ | ||
chown -R $USER_UID:$USER_GID /home/${USERNAME} /opt/overlay_ws/ | ||
|
||
# Install additional Kortex Vision dependencies | ||
# NOTE: The /opt/overlay_ws folder contains MoveIt Pro binary packages and the source file. | ||
# hadolint ignore=DL3008, SC1091 | ||
RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \ | ||
--mount=type=cache,target=/var/lib/apt,sharing=locked \ | ||
. /opt/overlay_ws/install/setup.sh && \ | ||
apt-get update && \ | ||
apt-get install -y --no-install-recommends \ | ||
gstreamer1.0-tools \ | ||
gstreamer1.0-libav \ | ||
libgstreamer1.0-dev \ | ||
libgstreamer-plugins-base1.0-dev \ | ||
libgstreamer-plugins-good1.0-dev \ | ||
gstreamer1.0-plugins-good \ | ||
gstreamer1.0-plugins-base | ||
|
||
# Install additional dependencies | ||
# You can also add any necessary apt-get install, pip install, etc. commands at this point. | ||
# NOTE: The /opt/overlay_ws folder contains MoveIt Pro binary packages and the source file. | ||
# hadolint ignore=SC1091 | ||
RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \ | ||
--mount=type=cache,target=/var/lib/apt,sharing=locked \ | ||
. /opt/overlay_ws/install/setup.sh && \ | ||
apt-get update && \ | ||
rosdep install -q -y \ | ||
--from-paths src \ | ||
--ignore-src | ||
|
||
################################################################### | ||
# Target for the developer build which does not compile any code. # | ||
################################################################### | ||
FROM base as user-overlay-dev | ||
|
||
ARG USERNAME | ||
ARG USER_WS=/home/${USERNAME}/user_ws | ||
ENV USER_WS=${USER_WS} | ||
|
||
# Install any additional packages for development work | ||
# hadolint ignore=DL3008 | ||
RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \ | ||
--mount=type=cache,target=/var/lib/apt,sharing=locked \ | ||
apt-get update && \ | ||
apt-get install -y --no-install-recommends \ | ||
less \ | ||
gdb \ | ||
nano | ||
|
||
# Set up the user's .bashrc file and shell. | ||
CMD ["/usr/bin/bash"] | ||
|
||
######################################### | ||
# Target for compiled, deployable image # | ||
######################################### | ||
FROM base as user-overlay | ||
|
||
ARG USERNAME | ||
ARG USER_WS=/home/${USERNAME}/user_ws | ||
ENV USER_WS=${USER_WS} | ||
|
||
# Compile the workspace | ||
WORKDIR $USER_WS | ||
# hadolint ignore=SC1091 | ||
RUN --mount=type=cache,target=/home/${USERNAME}/.ccache \ | ||
. /opt/overlay_ws/install/setup.sh && \ | ||
colcon build | ||
|
||
# Set up the user's .bashrc file and shell. | ||
CMD ["/usr/bin/bash"] |
Submodule ros2_kortex
updated
6 files
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.