Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge current state of hd map to main #171

Draft
wants to merge 163 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
163 commits
Select commit Hold shift + click to select a range
95d6436
Added CARLA server
shahanneda Jan 29, 2023
176790d
Started on carla-ros-bridge
shahanneda Jan 29, 2023
983e692
WIP: Working on ROS bridge
shahanneda Jan 31, 2023
12ab129
Integrated carla ros bridge
VishGit1234 Feb 1, 2023
1c5d645
Fixed carla_ros_bridge not being able to be run
VishGit1234 Feb 3, 2023
f2f9594
Added flag to edit host name for carla ros bridge
VishGit1234 Feb 5, 2023
a5a257e
Fixed connection issue by changing timeout
VishGit1234 Feb 8, 2023
e63fbf2
Merge remote-tracking branch 'origin/main' into simulation
shahanneda Feb 12, 2023
75d1727
Fixed VNC with simulation repos
shahanneda Feb 15, 2023
fdee4db
Edited dockerfiles
VishGit1234 Feb 19, 2023
45ba6f5
Tried to setup mounted rviz configs volume
shahanneda Feb 25, 2023
5f654df
Added rviz config
VishGit1234 Mar 4, 2023
f8064e0
created world modeling package and added sample nodes for hd map, lo…
OLeather Mar 4, 2023
21fa1ea
added rclcpp info logs to each world modeling sample node to verify i…
OLeather Mar 4, 2023
ff3b2e7
Added test lidar node
VishGit1234 Mar 8, 2023
d5ca2b9
Removed lidar node to prepare for pr
VishGit1234 Mar 12, 2023
452ca8d
Removed not needed files
VishGit1234 Mar 12, 2023
5ba182d
Removed unneeded lines of code
VishGit1234 Mar 12, 2023
5706c83
Removed comment
shahanneda Mar 15, 2023
d3a34e6
Merge remote-tracking branch 'origin/main' into simulation
shahanneda Mar 15, 2023
ee0737a
Reverted humble changes
shahanneda Mar 25, 2023
1dc6f6f
Changed default rviz config
shahanneda Mar 28, 2023
9d4d949
Added cache for carla server image
VishGit1234 Mar 29, 2023
db2cfed
Added cache for ros bridge image
VishGit1234 Mar 30, 2023
26f5ff0
merged world modeling directories into single packages and rearranged…
OLeather Apr 15, 2023
3f1aec6
fixed cmake lists typo
OLeather Apr 15, 2023
4962e62
added voxel grid msg and setup occupancy package with voxel segmentat…
OLeather May 16, 2023
60640df
Merge pull request #23 from WATonomous/world-modeling-voxel
OLeather May 16, 2023
144d75a
renamed world_modeling_msgs to world_modeling
OLeather May 16, 2023
ae0d224
Merge pull request #24 from WATonomous/world-modeling-voxel
OLeather May 16, 2023
8241ad7
added foxglove bridge to occupancy node (TODO: Make dedicated gloxglo…
OLeather May 16, 2023
cbd442b
working on lanelet visualization test
OLeather May 18, 2023
b07389e
lanelet to ros marker visualization tools
OLeather May 20, 2023
d4e05a0
Merge branch 'world-modeling-hd-map' of github.com:WATonomous/wato_mo…
OLeather May 20, 2023
87d7364
added camera compression node
OLeather May 22, 2023
15cdd62
added camera compression node
OLeather May 22, 2023
89cb173
Merge branch 'simulation-camera-compression' into world-modeling-hd-map
OLeather May 23, 2023
67248cf
removed foxglove from occupancy and changed lanelet vis example to to…
OLeather May 23, 2023
3b716d5
removed foxglove from occupancy and changed lanelet vis example to to…
OLeather May 23, 2023
ca8210e
Merge branch 'foxglove' into world-modeling-hd-map
OLeather May 23, 2023
1708e18
Merge branch 'foxglove' into world-modeling-hd-map
OLeather Jun 29, 2023
6b4f877
setup new infastructure for hd map, added routing class and basic hd …
OLeather Jun 30, 2023
f59ac3d
router modified
k-kaps Jul 2, 2023
d575b10
added lanelet2_routing to cmake
OLeather Jul 2, 2023
4d874a2
completed hd map router functions
k-kaps Sep 23, 2023
5ead0fe
competed hd map router functions
k-kaps Sep 23, 2023
7451363
Created get osm map from coords func using hashmap
Sep 23, 2023
f1a2100
converted gps point to point3d for closest lanelet distance function …
OLeather Sep 27, 2023
d5ef78b
Merge pull request #41 from WATonomous/world-modelling-hd-map-router
OLeather Oct 24, 2023
48bf23c
created stop sign cpp and header files and outlined functions
k-kaps Nov 3, 2023
1070f7d
process obstacle msg created
k-kaps Nov 15, 2023
b8bb97e
merged common_msgs from origin/main
k-kaps Nov 16, 2023
18ece50
edited world modeling dockerfile to build common_msgs
k-kaps Nov 16, 2023
416a5cf
fixed obstacle msg subscription errors and added files for reg elems
k-kaps Nov 16, 2023
220f706
fixed minor errors and added lane change visualization
OLeather Nov 24, 2023
c9db574
Added basic ped elem functions
Nov 26, 2023
03940d7
Merge branch 'world-modeling-hd-map' of github.com:WATonomous/wato_mo…
Nov 26, 2023
105a783
updated process obstacle msg function
k-kaps May 10, 2024
8470a63
merged 'main' branch infra with the hd-map stack
k-kaps May 16, 2024
d51bb09
top 10 stupidest moments of all time
k-kaps Jun 25, 2024
1984c79
created LaneletInfo service + other bs fixes
k-kaps Jun 26, 2024
6a744f5
created basic structure for reg elems
k-kaps Jul 1, 2024
76979c9
feat: Handling adding/updating/removing pedestrian regulatory element…
Dygitz Jul 7, 2024
a8b0b60
feat: add traffic lights reg elem to hd map
shendrew Jul 9, 2024
d9cd768
fix: pedestrian msg namespace
shendrew Jul 9, 2024
96b51e2
add carla_notebooks
shendrew Jul 30, 2024
d4790f2
temp
shendrew Aug 6, 2024
07f8ae1
test traffic lights s wh carla node
shendrew Aug 28, 2024
aa5a74f
fix: traffic light element bounding box calculation
shendrew Aug 28, 2024
8db3c9c
fix: change Carla sim environment to Town05 to match localization
shendrew Oct 1, 2024
4e8bb92
Merge branch 'hd-map-carla' into world-modeling-hd-map
shendrew Oct 1, 2024
d108776
fix: hd-map import headers
shendrew Oct 2, 2024
b77d5f9
Cleanup branch
VishGit1234 Oct 3, 2024
0cfa0d6
Merge branch 'main' into world-modeling-hd-map
VishGit1234 Oct 3, 2024
4ed1112
fix: dereference traffic_light_msg_ptr
shendrew Oct 2, 2024
0723a03
fix: traffic light ptr types
shendrew Oct 9, 2024
ff5a470
Fix pedestrian reg elem
VishGit1234 Oct 12, 2024
d3fd6c3
fix: traffic light reg elem
shendrew Oct 9, 2024
71f0e4b
fix: hd map router (still need to fix lanelet map remove)
shendrew Oct 16, 2024
0c0b4b5
Get hd_map to build
VishGit1234 Oct 17, 2024
294ea9f
Changed map
Oct 27, 2024
ae6b6af
Visualized traffic lights
Nov 8, 2024
8e20a8f
FIxed traffic lights viz
JStephenHuang Nov 11, 2024
7d369ee
Changed carla sim topic subscriber to general name
JStephenHuang Nov 11, 2024
0891d7a
added service to interface between hd-map and behaviour tree
Nov 27, 2024
422dda6
Completed and fixed the reg elem visualization (#168)
JStephenHuang Jan 8, 2025
e63c695
created world modeling package and added sample nodes for hd map, lo…
OLeather Mar 4, 2023
af94c77
added rclcpp info logs to each world modeling sample node to verify i…
OLeather Mar 4, 2023
f1d69a8
merged world modeling directories into single packages and rearranged…
OLeather Apr 15, 2023
7ed61d0
fixed cmake lists typo
OLeather Apr 15, 2023
6affecf
added voxel grid msg and setup occupancy package with voxel segmentat…
OLeather May 16, 2023
9e6bb83
renamed world_modeling_msgs to world_modeling
OLeather May 16, 2023
531a9a3
added foxglove bridge to occupancy node (TODO: Make dedicated gloxglo…
OLeather May 16, 2023
cc939b8
working on lanelet visualization test
OLeather May 18, 2023
cb3ca94
lanelet to ros marker visualization tools
OLeather May 20, 2023
4e68d19
Added CARLA server
shahanneda Jan 29, 2023
6f08564
Started on carla-ros-bridge
shahanneda Jan 29, 2023
ce82e66
WIP: Working on ROS bridge
shahanneda Jan 31, 2023
098acbe
Integrated carla ros bridge
VishGit1234 Feb 1, 2023
c70bf5b
Fixed carla_ros_bridge not being able to be run
VishGit1234 Feb 3, 2023
b0d46f4
Added flag to edit host name for carla ros bridge
VishGit1234 Feb 5, 2023
4e9d9d5
Fixed connection issue by changing timeout
VishGit1234 Feb 8, 2023
351cd3b
Fixed VNC with simulation repos
shahanneda Feb 15, 2023
393f22c
Edited dockerfiles
VishGit1234 Feb 19, 2023
aa63856
Tried to setup mounted rviz configs volume
shahanneda Feb 25, 2023
80ca2d5
Added rviz config
VishGit1234 Mar 4, 2023
eeb3ffb
Added test lidar node
VishGit1234 Mar 8, 2023
bdd3a41
Removed lidar node to prepare for pr
VishGit1234 Mar 12, 2023
63f4527
Removed not needed files
VishGit1234 Mar 12, 2023
b74a482
Removed unneeded lines of code
VishGit1234 Mar 12, 2023
f91d29f
Removed comment
shahanneda Mar 15, 2023
2ae699d
Reverted humble changes
shahanneda Mar 25, 2023
7980520
Changed default rviz config
shahanneda Mar 28, 2023
805f251
Added cache for carla server image
VishGit1234 Mar 29, 2023
bc4a2a0
Added cache for ros bridge image
VishGit1234 Mar 30, 2023
1978037
added camera compression node
OLeather May 22, 2023
e2cda79
removed foxglove from occupancy and changed lanelet vis example to to…
OLeather May 23, 2023
8df6183
removed foxglove from occupancy and changed lanelet vis example to to…
OLeather May 23, 2023
825a267
setup new infastructure for hd map, added routing class and basic hd …
OLeather Jun 30, 2023
8beec2b
Created get osm map from coords func using hashmap
Sep 23, 2023
e3e5d28
router modified
k-kaps Jul 2, 2023
fbbb85f
completed hd map router functions
k-kaps Sep 23, 2023
6e51f2b
converted gps point to point3d for closest lanelet distance function …
OLeather Sep 27, 2023
7109746
created stop sign cpp and header files and outlined functions
k-kaps Nov 3, 2023
93a01da
Added basic ped elem functions
Nov 26, 2023
3f74b5a
process obstacle msg created
k-kaps Nov 15, 2023
1b6ca86
merged common_msgs from origin/main
k-kaps Nov 16, 2023
a8033f8
edited world modeling dockerfile to build common_msgs
k-kaps Nov 16, 2023
7f58ea7
fixed obstacle msg subscription errors and added files for reg elems
k-kaps Nov 16, 2023
a1df7c6
fixed minor errors and added lane change visualization
OLeather Nov 24, 2023
05f6450
updated process obstacle msg function
k-kaps May 10, 2024
cd3aa7c
top 10 stupidest moments of all time
k-kaps Jun 25, 2024
be1599b
created LaneletInfo service + other bs fixes
k-kaps Jun 26, 2024
4df2d49
created basic structure for reg elems
k-kaps Jul 1, 2024
aa1daa1
feat: Handling adding/updating/removing pedestrian regulatory element…
Dygitz Jul 7, 2024
6c02297
feat: add traffic lights reg elem to hd map
shendrew Jul 9, 2024
5f40caa
fix: pedestrian msg namespace
shendrew Jul 9, 2024
fba0a29
fix: traffic light element bounding box calculation
shendrew Aug 28, 2024
71bc25d
add carla_notebooks
shendrew Jul 30, 2024
d7d39ce
temp
shendrew Aug 6, 2024
0c9cb31
test traffic lights s wh carla node
shendrew Aug 28, 2024
03f2e57
fix: hd-map import headers
shendrew Oct 2, 2024
c6ff445
Cleanup branch
VishGit1234 Oct 3, 2024
a76d3cf
fix: dereference traffic_light_msg_ptr
shendrew Oct 2, 2024
2153fba
fix: traffic light ptr types
shendrew Oct 9, 2024
df19f08
Fix pedestrian reg elem
VishGit1234 Oct 12, 2024
7bdd329
fix: traffic light reg elem
shendrew Oct 9, 2024
d04a775
fix: hd map router (still need to fix lanelet map remove)
shendrew Oct 16, 2024
6895a3a
Get hd_map to build
VishGit1234 Oct 17, 2024
d2a77fe
Changed map
Oct 27, 2024
fe26ac6
Visualized traffic lights
Nov 8, 2024
ccab5de
Fixed traffic visualization
Nov 9, 2024
8fb2265
FIxed traffic lights viz
JStephenHuang Nov 11, 2024
2cfa67c
Changed carla sim topic subscriber to general name
JStephenHuang Nov 11, 2024
c1e67ef
added service to interface between hd-map and behaviour tree
Nov 27, 2024
b8356a9
Completed and fixed the reg elem visualization (#168)
JStephenHuang Jan 8, 2025
66a8bfc
cleaned up hd-map
Jan 21, 2025
ac6e6c5
cleaned up hd-map
Jan 21, 2025
ee62b7d
Merge branch 'world-modeling-hd-map' of github.com:WATonomous/wato_mo…
Jan 21, 2025
237e36e
Fixed rebase issues and behaviour msgs
Jan 21, 2025
27b7402
Merge branch 'world-modeling-hd-map' of github.com:WATonomous/wato_mo…
Jan 21, 2025
fadb01e
fixed merge issues; cleaned up hd_map; works!
Jan 21, 2025
b68ee13
updated lanelet msg
Jan 22, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,6 @@ code_server_config/*/start_code_server.sh
.env
.vscode/
ssh_config/
logs/

watod-config.local.sh
124 changes: 124 additions & 0 deletions dev_config.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,124 @@
#!/bin/bash

# This script generates a .env file to be used with docker-compose
# To override any of the variables in this script, create dev_config.local.sh
# in the same directory and populate it with variables
# e.g. `COMPOSE_PROJECT_NAME=<NAME>`.

if [ -f /.dockerenv ]; then
echo "Please run this in the host machine (not in the Docker container)"
exit 1
fi

SCRIPT_DIR="$(dirname "$(realpath "$0")")"
PROFILES_DIR="$SCRIPT_DIR/profiles"

# Allow for local overrides of any of the below parameters
if [ -f "$SCRIPT_DIR/dev_config.local.sh" ]; then
source "$SCRIPT_DIR/dev_config.local.sh"
fi

if ! [ -x "$(command -v git)" ]; then
echo 'Error: git is not installed.' >&2
else
BRANCH=${BRANCH:-$(git branch --show-current)}
fi
# replace / with -
BRANCH=${BRANCH/\//-}

## ----------------------- Configuration ----------------------------
COMPOSE_PROJECT_NAME=${COMPOSE_PROJECT_NAME:-watod_$USER}

# Docker build stage to build or run. Typically our dockerfiles have two main stages:
# repo (minimal) and debug (containing debug tools, eg code-server)
TARGET_STAGE=${TARGET_STAGE:-"debug"}

# Tag to use. Images as formatted as <IMAGE_NAME>:<TARGET_STAGE>-<TAG> with forward slashes replaced with dashes
TAG=$(echo ${TAG:-$BRANCH} | tr / -)

# Additional tag to cache from
CACHE_FROM_TAG=${CACHE_FROM_TAG:-$([[ $TAG != "develop" ]] && echo $TAG || echo "__develop_ignore_tag_cache__")}

# ROS hostname + URI for the production profile
# ROS_IP is the IP that nodes will publish as (client's hostname)
ROS_HOSTNAME=${ROS_HOSTNAME:-"localhost"}
ROS_IP=${ROS_IP:-"127.0.0.1"}

## ----------------- Profile Configuration --------------------

# List of active profiles to run, defined in docker-compose.yaml.
# Possible values:
# - vis_tools : starts visualization tools (vnc and foxglove)
# - production : configs for all containers required in production
# - samples : starts sample ROS2 pubsub nodes
ACTIVE_PROFILES=${ACTIVE_PROFILES:-""}

# List of profiles to IGNORE when using the --all flag
PROFILE_BLACKLIST=${PROFILE_BLACKLIST:-"production"}

## --------------------------- Images -------------------------------

# ROS2 C++ Samples
SAMPLES_CPP_AGGREGATOR_IMAGE=${SAMPLES_CPP_AGGREGATOR_IMAGE:-"git.uwaterloo.ca:5050/watonomous/wato_monorepo/samples_cpp_aggregator"}
SAMPLES_CPP_PRODUCER_IMAGE=${SAMPLES_CPP_PRODUCER_IMAGE:-"git.uwaterloo.ca:5050/watonomous/wato_monorepo/samples_cpp_producer"}
SAMPLES_CPP_TRANSFORMER_IMAGE=${SAMPLES_CPP_TRANSFORMER_IMAGE:-"git.uwaterloo.ca:5050/watonomous/wato_monorepo/samples_cpp_transformer"}

# World Modeling Images
WORLD_MODELING_HD_MAP_IMAGE=${WORLD_MODELING_HD_MAP_IMAGE:-"git.uwaterloo.ca:5050/watonomous/wato_monorepo/world_modeling_hd_map"}
WORLD_MODELING_LOCALIZATION_IMAGE=${WORLD_MODELING_LOCALIZATION_IMAGE:-"git.uwaterloo.ca:5050/watonomous/wato_monorepo/world_modeling_localization"}
WORLD_MODELING_OCCUPANCY_IMAGE=${WORLD_MODELING_OCCUPANCY_IMAGE:-"git.uwaterloo.ca:5050/watonomous/wato_monorepo/world_modeling_occupancy"}

# Infrastructure
INFRASTRUCTURE_VIS_TOOLS_VNC_IMAGE=${INFRASTRUCTURE_VIS_TOOLS_VNC_IMAGE:-"git.uwaterloo.ca:5050/watonomous/wato_monorepo/infrastructure_vis_tools_vnc"}
INFRASTRUCTURE_DATA_STREAM_IMAGE=${DATA_STREAM_IMAGE:-"git.uwaterloo.ca:5050/watonomous/wato_monorepo/infrastructure_data_stream"}

# Simulation
CARLA_SERVER_IMAGE=${CARLA_SERVER_IMAGE:-"git.uwaterloo.ca:5050/watonomous/wato_monorepo/carla_server_image"}
CARLA_ROS2_BRIDGE_IMAGE=${CARLA_ROS2_BRIDGE_IMAGE:-"git.uwaterloo.ca:5050/watonomous/wato_monorepo/carla_ros2_bridge_image"}
SIMULATION_CAMERA_COMPRESSION_IMAGE=${SIMULATION_CAMERA_COMPRESSION_IMAGE:-"git.uwaterloo.ca:5050/watonomous/wato_monorepo/simulation_camera_compression"}
## -------------------------- User ID -----------------------------

FIXUID=$(id -u)
FIXGID=$(id -g)

## --------------------------- Ports ------------------------------

BASE_PORT=${BASE_PORT:-$(($(id -u)*20))}
GUI_TOOLS_VNC_PORT=${GUI_TOOLS_VNC_PORT:-$((BASE_PORT++))}

## -------------------- Environment Variables -------------------------

echo "# Auto-generated by ${BASH_SOURCE[0]}. Please do not edit." > "$PROFILES_DIR/.env"
echo "ACTIVE_PROFILES=\"$ACTIVE_PROFILES\"" > "$PROFILES_DIR/.env"
echo "PROFILE_BLACKLIST=\"$PROFILE_BLACKLIST\"" >> "$PROFILES_DIR/.env"

echo "COMPOSE_DOCKER_CLI_BUILD=1" >> "$PROFILES_DIR/.env"
echo "COMPOSE_PROJECT_NAME=$COMPOSE_PROJECT_NAME" >> "$PROFILES_DIR/.env"

echo "ROS_IP=$ROS_IP" >> "$PROFILES_DIR/.env"
echo "ROS_HOSTNAME=$ROS_HOSTNAME" >> "$PROFILES_DIR/.env"

echo "INFRASTRUCTURE_VIS_TOOLS_VNC_IMAGE=$INFRASTRUCTURE_VIS_TOOLS_VNC_IMAGE" >> "$PROFILES_DIR/.env"

echo "SAMPLES_CPP_AGGREGATOR_IMAGE=$SAMPLES_CPP_AGGREGATOR_IMAGE" >> "$PROFILES_DIR/.env"
echo "SAMPLES_CPP_PRODUCER_IMAGE=$SAMPLES_CPP_PRODUCER_IMAGE" >> "$PROFILES_DIR/.env"
echo "SAMPLES_CPP_TRANSFORMER_IMAGE=$SAMPLES_CPP_TRANSFORMER_IMAGE" >> "$PROFILES_DIR/.env"
echo "WORLD_MODELING_HD_MAP_IMAGE=$WORLD_MODELING_HD_MAP_IMAGE" >> "$PROFILES_DIR/.env"
echo "WORLD_MODELING_LOCALIZATION_IMAGE=$WORLD_MODELING_LOCALIZATION_IMAGE" >> "$PROFILES_DIR/.env"
echo "WORLD_MODELING_OCCUPANCY_IMAGE=$WORLD_MODELING_OCCUPANCY_IMAGE" >> "$PROFILES_DIR/.env"
echo "INFRASTRUCTURE_DATA_STREAM_IMAGE=$INFRASTRUCTURE_DATA_STREAM_IMAGE" >> "$PROFILES_DIR/.env"

echo "CARLA_SERVER_IMAGE=$CARLA_SERVER_IMAGE" >> "$PROFILES_DIR/.env"
echo "CARLA_ROS2_BRIDGE_IMAGE=$CARLA_ROS2_BRIDGE_IMAGE" >> "$PROFILES_DIR/.env"
echo "SIMULATION_CAMERA_COMPRESSION_IMAGE=$SIMULATION_CAMERA_COMPRESSION_IMAGE" >> "$PROFILES_DIR/.env"

echo "TAG=$TAG" >> "$PROFILES_DIR/.env"
echo "TARGET_STAGE=$TARGET_STAGE" >> "$PROFILES_DIR/.env"
echo "CACHE_FROM_TAG=$CACHE_FROM_TAG" >> "$PROFILES_DIR/.env"

echo "FIXUID=$FIXUID" >> "$PROFILES_DIR/.env"
echo "FIXGID=$FIXGID" >> "$PROFILES_DIR/.env"

echo "BASE_PORT=$BASE_PORT" >> "$PROFILES_DIR/.env"
echo "GUI_TOOLS_VNC_PORT=$GUI_TOOLS_VNC_PORT" >> "$PROFILES_DIR/.env"
cat $PROFILES_DIR/.env
8 changes: 8 additions & 0 deletions docker/infrastructure/vnc/supervisord.conf
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,14 @@ environment=DISPLAY=":1"
stdout_logfile=/tmp/openbox.log
redirect_stderr=true

[program:pp_rviz2]
command=/bin/bash -c "rviz2 -d /home/docker/ament_ws/src/simulation_rviz_configs/default.rviz"
autostart=true
autorestart=false
stdout_logfile=/dev/fd/1
stdout_logfile_maxbytes=0
redirect_stderr=true

[program:lxpanel]
priority=15
command=/usr/bin/lxpanel --profile LXDE
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,10 @@ RUN apt-get -qq update && rosdep update && \
################################# Dependencies ################################
FROM ${BASE_IMAGE} as dependencies

RUN apt-get update && \
apt-get install -y \
ros-humble-vision-msgs

# Install Rosdep requirements
COPY --from=source /tmp/colcon_install_list /tmp/colcon_install_list
RUN apt-fast install -qq -y --no-install-recommends $(cat /tmp/colcon_install_list)
Expand Down
64 changes: 64 additions & 0 deletions docker/world_modeling/hd_map.Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
# ================= Dependencies ===================
FROM ros:humble AS base

RUN apt-get update && apt-get install -y curl && \
rm -rf /var/lib/apt/lists/*

# Set up apt repo
RUN apt-get update && apt-get install -y lsb-release software-properties-common apt-transport-https && \
apt-add-repository universe

# Install Dependencies
RUN apt-get update && \
apt-get install -y \
ros-humble-lanelet2


# Add a docker user so that created files in the docker container are owned by a non-root user
RUN addgroup --gid 1000 docker && \
adduser --uid 1000 --ingroup docker --home /home/docker --shell /bin/bash --disabled-password --gecos "" docker && \
echo "docker ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers.d/nopasswd

# Remap the docker user and group to be the same uid and group as the host user.
# Any created files by the docker container will be owned by the host user.
RUN USER=docker && \
GROUP=docker && \
curl -SsL https://github.com/boxboat/fixuid/releases/download/v0.4/fixuid-0.4-linux-amd64.tar.gz | tar -C /usr/local/bin -xzf - && \
chown root:root /usr/local/bin/fixuid && \
chmod 4755 /usr/local/bin/fixuid && \
mkdir -p /etc/fixuid && \
printf "user: $USER\ngroup: $GROUP\npaths:\n - /home/docker/" > /etc/fixuid/config.yml

USER docker:docker

ENV DEBIAN_FRONTEND noninteractive
RUN sudo chsh -s /bin/bash
ENV SHELL=/bin/bash

# ================= Repositories ===================
FROM base as repo

RUN mkdir -p ~/ament_ws/src
WORKDIR /home/docker/ament_ws/src

# Download maps
ENV MAPS_DIR="/home/docker/ament_ws/src/maps"
RUN git clone https://docker-image:[email protected]/WATonomous/map_data.git $MAPS_DIR

COPY src/world_modeling/hd_map hd_map
COPY src/wato_msgs/sample_msgs sample_msgs
COPY src/wato_msgs/common_msgs common_msgs
COPY src/wato_msgs/world_modeling world_modeling_msgs

WORKDIR /home/docker/ament_ws
RUN . /opt/ros/$ROS_DISTRO/setup.sh && \
rosdep update && \
rosdep install -i --from-path src --rosdistro $ROS_DISTRO -y && \
colcon build \
--cmake-args -DCMAKE_BUILD_TYPE=Release

# Entrypoint will run before any CMD on launch. Sources ~/ament_ws/install/setup.bash
COPY docker/wato_ros_entrypoint.sh /home/docker/wato_ros_entrypoint.sh
COPY docker/.bashrc /home/docker/.bashrc
ENTRYPOINT ["/usr/local/bin/fixuid", "-q", "/home/docker/wato_ros_entrypoint.sh"]
CMD ["ros2", "launch", "hd_map", "hd_map.launch.py"]
16 changes: 14 additions & 2 deletions docker/world_modeling/hd_map/hd_map.Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@ WORKDIR ${AMENT_WS}/src
# Copy in source code
COPY src/world_modeling/hd_map hd_map
COPY src/wato_msgs/sample_msgs sample_msgs
COPY src/wato_msgs/common_msgs common_msgs
COPY src/wato_msgs/world_modeling_msgs world_modeling_msgs

# Scan for rosdeps
RUN apt-get -qq update && rosdep update && \
Expand All @@ -19,9 +21,19 @@ RUN apt-get -qq update && rosdep update && \
################################# Dependencies ################################
FROM ${BASE_IMAGE} as dependencies

# Download Maps from the GitLab
# IMPORTANT NOTE : Downloaded maps are stored in the etc/maps directory
ENV MAPS_DIR="${AMENT_WS}/etc/maps/"
RUN git clone https://github.com/WATonomous/map_data.git $MAPS_DIR
RUN chmod -R 755 $MAPS_DIR

# Install Rosdep requirements
COPY --from=source /tmp/colcon_install_list /tmp/colcon_install_list
RUN apt-fast install -qq -y --no-install-recommends $(cat /tmp/colcon_install_list)
RUN apt-get update && apt-fast install -qq -y --no-install-recommends $(cat /tmp/colcon_install_list)

RUN apt-get update && \
apt-get install -y \
ros-humble-lanelet2 ros-humble-vision-msgs

# Copy in source code from source stage
WORKDIR ${AMENT_WS}
Expand All @@ -38,7 +50,7 @@ FROM dependencies as build
# Build ROS2 packages
WORKDIR ${AMENT_WS}
RUN . /opt/ros/$ROS_DISTRO/setup.sh && \
colcon build \
colcon build --packages-skip hd_map \
--cmake-args -DCMAKE_BUILD_TYPE=Release

# Entrypoint will run before any CMD on launch. Sources ~/opt/<ROS_DISTRO>/setup.bash and ~/ament_ws/install/setup.bash
Expand Down
48 changes: 48 additions & 0 deletions docker/world_modeling/localization.Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
# ================= Dependencies ===================
FROM ros:humble AS base

RUN apt-get update && apt-get install -y curl && \
rm -rf /var/lib/apt/lists/*

# Add a docker user so we that created files in the docker container are owned by a non-root user
RUN addgroup --gid 1000 docker && \
adduser --uid 1000 --ingroup docker --home /home/docker --shell /bin/bash --disabled-password --gecos "" docker && \
echo "docker ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers.d/nopasswd

# Remap the docker user and group to be the same uid and group as the host user.
# Any created files by the docker container will be owned by the host user.
RUN USER=docker && \
GROUP=docker && \
curl -SsL https://github.com/boxboat/fixuid/releases/download/v0.4/fixuid-0.4-linux-amd64.tar.gz | tar -C /usr/local/bin -xzf - && \
chown root:root /usr/local/bin/fixuid && \
chmod 4755 /usr/local/bin/fixuid && \
mkdir -p /etc/fixuid && \
printf "user: $USER\ngroup: $GROUP\npaths:\n - /home/docker/" > /etc/fixuid/config.yml

USER docker:docker

ENV DEBIAN_FRONTEND noninteractive
RUN sudo chsh -s /bin/bash
ENV SHELL=/bin/bash

# ================= Repositories ===================
FROM base as repo

RUN mkdir -p ~/ament_ws/src
WORKDIR /home/docker/ament_ws/src

COPY src/world_modeling/localization localization
COPY src/wato_msgs/sample_msgs sample_msgs

WORKDIR /home/docker/ament_ws
RUN . /opt/ros/$ROS_DISTRO/setup.sh && \
rosdep update && \
rosdep install -i --from-path src --rosdistro $ROS_DISTRO -y && \
colcon build \
--cmake-args -DCMAKE_BUILD_TYPE=Release

# Entrypoint will run before any CMD on launch. Sources ~/opt/<ROS_DISTRO>/setup.bash and ~/ament_ws/install/setup.bash
COPY docker/wato_ros_entrypoint.sh /home/docker/wato_ros_entrypoint.sh
COPY docker/.bashrc /home/docker/.bashrc
ENTRYPOINT ["/usr/local/bin/fixuid", "-q", "/home/docker/wato_ros_entrypoint.sh"]
CMD ["ros2", "launch", "localization", "localization.launch.py"]
2 changes: 2 additions & 0 deletions docker/world_modeling/localization/localization.Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@ WORKDIR ${AMENT_WS}/src
# Copy in source code
COPY src/world_modeling/localization localization
COPY src/wato_msgs/sample_msgs sample_msgs
COPY src/wato_msgs/common_msgs common_msgs
COPY src/wato_msgs/world_modeling_msgs world_modeling_msgs

# Scan for rosdeps
RUN apt-get -qq update && rosdep update && \
Expand Down
49 changes: 49 additions & 0 deletions docker/world_modeling/occupancy.Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
# ================= Dependencies ===================
FROM ros:humble AS base

RUN apt-get update && apt-get install -y curl && \
rm -rf /var/lib/apt/lists/*

# Add a docker user so that created files in the docker container are owned by a non-root user
RUN addgroup --gid 1000 docker && \
adduser --uid 1000 --ingroup docker --home /home/docker --shell /bin/bash --disabled-password --gecos "" docker && \
echo "docker ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers.d/nopasswd

# Remap the docker user and group to be the same uid and group as the host user.
# Any created files by the docker container will be owned by the host user.
RUN USER=docker && \
GROUP=docker && \
curl -SsL https://github.com/boxboat/fixuid/releases/download/v0.4/fixuid-0.4-linux-amd64.tar.gz | tar -C /usr/local/bin -xzf - && \
chown root:root /usr/local/bin/fixuid && \
chmod 4755 /usr/local/bin/fixuid && \
mkdir -p /etc/fixuid && \
printf "user: $USER\ngroup: $GROUP\npaths:\n - /home/docker/" > /etc/fixuid/config.yml

USER docker:docker

ENV DEBIAN_FRONTEND noninteractive
RUN sudo chsh -s /bin/bash
ENV SHELL=/bin/bash

# ================= Repositories ===================
FROM base as repo

RUN mkdir -p ~/ament_ws/src
WORKDIR /home/docker/ament_ws/src

COPY src/world_modeling/occupancy occupancy
COPY src/wato_msgs/sample_msgs sample_msgs
COPY src/wato_msgs/world_modeling world_modeling_msgs

WORKDIR /home/docker/ament_ws
RUN . /opt/ros/$ROS_DISTRO/setup.sh && \
rosdep update && \
rosdep install -i --from-path src --rosdistro $ROS_DISTRO -y && \
colcon build \
--cmake-args -DCMAKE_BUILD_TYPE=Release

# Entrypoint will run before any CMD on launch. Sources ~/opt/<ROS_DISTRO>/setup.bash and ~/ament_ws/install/setup.bash
COPY docker/wato_ros_entrypoint.sh /home/docker/wato_ros_entrypoint.sh
COPY docker/.bashrc /home/docker/.bashrc
ENTRYPOINT ["/usr/local/bin/fixuid", "-q", "/home/docker/wato_ros_entrypoint.sh"]
CMD ["ros2", "launch", "occupancy", "occupancy.launch.py"]
2 changes: 2 additions & 0 deletions docker/world_modeling/occupancy/occupancy.Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@ WORKDIR ${AMENT_WS}/src
# Copy in source code
COPY src/world_modeling/occupancy occupancy
COPY src/wato_msgs/sample_msgs sample_msgs
COPY src/wato_msgs/common_msgs common_msgs
COPY src/wato_msgs/world_modeling_msgs world_modeling_msgs

# Scan for rosdeps
RUN apt-get -qq update && rosdep update && \
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,9 @@ WORKDIR ${AMENT_WS}/src

# Copy in source code
COPY src/world_modeling/occupancy_segmentation occupancy_segmentation
COPY src/wato_msgs/sample_msgs sample_msgs
COPY src/wato_msgs/common_msgs common_msgs
COPY src/wato_msgs/world_modeling_msgs world_modeling_msgs

# Scan for rosdeps
RUN apt-get -qq update && rosdep update && \
Expand Down
Loading