Skip to content

Commit

Permalink
Merge pull request #272 from Nova-UTD/feature_dockerfile_update
Browse files Browse the repository at this point in the history
Updated docker system
Cleaned up old packages
Reverted back to foxy
Ready for core development
  • Loading branch information
danielv012 committed Oct 25, 2022
2 parents fdfebe4 + 2872eb1 commit 2dff33c
Show file tree
Hide file tree
Showing 186 changed files with 1,314 additions and 16,376 deletions.
File renamed without changes.
25 changes: 25 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
ARG CARLA_WS=/home/share/carla

# multi-stage for caching
FROM ros:foxy

# clone overlay source
RUN . /opt/ros/$ROS_DISTRO/setup.sh && \
apt-get update && \
apt install -y git cmake python3-pip && \
pip3 install -U colcon-common-extensions vcstool

# This variable tells future scripts that user input isn't available during the Docker build.
ENV DEBIAN_FRONTEND noninteractive

COPY ./docker/install-dependencies.sh /tmp/install-dependencies.sh
RUN apt update && apt install -y software-properties-common
RUN /tmp/install-dependencies.sh && rm -rf /var/lib/apt/lists/*

RUN apt update && apt install -y ros-foxy-rmw-cyclonedds-cpp

ENV ROS_VERSION 2

WORKDIR /navigator
COPY ./docker/entrypoint.sh /opt/entrypoint.sh
ENTRYPOINT [ "/opt/entrypoint.sh" ]
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,4 @@ Navigator is a simple, modular, open-source autonomous driving stack. It's devel

For docs, visit [our documentation site](https://nova-utd.github.io/navigator).

For info about our group, Nova, visit our [group site](https://nova-utd.github.io).
For info about our group, Nova, visit our [group site](https://nova-utd.github.io).
22 changes: 6 additions & 16 deletions carla.launch.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,13 +25,6 @@ def generate_launch_description():
executable='unified_controller_node'
)

# INTERFACE
carla = Node(
package='sim_bridge',
executable='sim_bridge_node',
parameters=['params.yaml']
)

# LOCALIZATION
ndt = Node(
package='ndt_nodes',
Expand Down Expand Up @@ -135,9 +128,9 @@ def generate_launch_description():
path_publisher = Node(
package='path_publisher',
executable='publisher',
parameters=[
(path.join(param_dir,"planning","path_publisher.param.yaml"))
],
# parameters=[
# (path.join(param_dir,"planning","path_publisher.param.yaml"))
# ],
namespace='planning',
output='screen',
respawn=True
Expand All @@ -162,9 +155,9 @@ def generate_launch_description():
namespace='planning',
executable='BehaviorPlannerLaunch',
output='screen',
parameters=[
(path.join(param_dir,"planning","path_publisher.param.yaml"))
],
# parameters=[
# (path.join(param_dir,"planning","path_publisher.param.yaml"))
# ],
remappings=[

]
Expand Down Expand Up @@ -230,9 +223,6 @@ def generate_launch_description():
# CONTROL
unified_controller,

# INTERFACE
carla,

# LOCALIZATION
map_odom_ukf,

Expand Down
Binary file added data/carla-0.9.13-py3.7-linux-x86_64.egg
Binary file not shown.
32 changes: 32 additions & 0 deletions docker-compose.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
version: '1.2'
name: navigator
services:
navigator:
stdin_open: true
tty: true

image: navigator
container_name: navigator_${USER}

volumes:
- type: bind
source: $PWD
target: /navigator
- type: bind
source: /home/share/carla
target: /workspace
- type: bind
source: ${HOME}/.Xauthority
target: /root/.Xauthority
- type: bind
source: /tmp/.X11-unix
target: /tmp/.X11-unix

environment:
- DISPLAY=:1

build:
context: .
dockerfile: Dockerfile

network_mode: "host"
36 changes: 36 additions & 0 deletions docker/entrypoint.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
#!/bin/bash

echo -e "\e[1;33m=====================================================================\e[0m"
echo -e "\e[1;33m▀█▄ ▀█▀ ██ ▄ \e[0m"
echo -e "\e[1;33m █▀█ █ ▄▄▄▄ ▄▄▄▄ ▄▄▄ ▄▄▄ ▄▄▄ ▄ ▄▄▄▄ ▄██▄ ▄▄▄ ▄▄▄ ▄▄ \e[0m"
echo -e "\e[1;33m █ ▀█▄ █ ▀▀ ▄██ ▀█▄ █ ██ ██ ██ ▀▀ ▄██ ██ ▄█ ▀█▄ ██▀ ▀▀ \e[0m"
echo -e "\e[1;33m █ ███ ▄█▀ ██ ▀█▄█ ██ █▀▀ ▄█▀ ██ ██ ██ ██ ██ \e[0m"
echo -e "\e[1;33m▄█▄ ▀█ ▀█▄▄▀█▀ ▀█ ▄██▄ ▀████▄ ▀█▄▄▀█▀ ▀█▄▀ ▀█▄▄█▀ ▄██▄ \e[0m"
echo -e "\e[1;33m ▄█▄▄▄▄▀ \e[0m"
echo -e "\e[1;33m=====================================================================\e[0m"
echo "Developed by Nova, a student-run autonomous driving group at UT Dallas"
echo "Find out more at https://nova-utd.github.io/navigator"
echo "🦊 Sourcing ROS2 Foxy..."
source /opt/ros/foxy/setup.bash

echo "🔗 Configuring the ROS DDS..."
export RMW_IMPLEMENTATION=rmw_cyclonedds_cpp

echo "🧭 Sourcing Navigator..."

echo "🔌 Setting up CARLA API..."
export CARLA_ROOT="/workspace/simulator"
export SCENARIO_RUNNER_ROOT="/workspace/scenario_runner"
export LEADERBOARD_ROOT="/workspace/leaderboard"
export ROS_BRIDGE_ROOT="/workspace/ros-bridge"
export PYTHONPATH="${CARLA_ROOT}/PythonAPI/carla/":"${SCENARIO_RUNNER_ROOT}":"${LEADERBOARD_ROOT}":"${CARLA_ROOT}/PythonAPI/carla/dist/carla-0.9.13-py3.7-linux-x86_64.egg":${PYTHONPATH}
source $ROS_BRIDGE_ROOT/install/setup.bash

if [ -d "/build" ] || [ -d "/install" ]; then
source install/setup.bash
echo "🔍 Found existing build, sourcing existing build"
fi

exec bash

echo "❗ Finished environment setup"
62 changes: 62 additions & 0 deletions docker/install-dependencies.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
#!/bin/sh

apt-get update

apt-get install -y ros-foxy-diagnostic-updater \
ros-foxy-velodyne-msgs \
ros-foxy-velodyne-driver \
ros-foxy-velodyne-laserscan \
ros-foxy-velodyne-pointcloud \
ros-foxy-autoware-auto-msgs \
ros-foxy-lanelet2-core \
ros-foxy-lanelet2-io \
ros-foxy-lanelet2-projection \
ros-foxy-lanelet2 \
ros-foxy-tf-transformations \
ros-foxy-ros-testing \
ros-foxy-lgsvl-msgs \
ros-foxy-vision-opencv \
ros-foxy-pcl-conversions \
software-properties-common \
ros-foxy-ament-cmake-nose \
ros-foxy-cv-bridge \
ros-foxy-pcl-conversions \
ros-foxy-tf-transformations \
ros-foxy-ament-cmake-nose \
python3-nose \
ros-foxy-lgsvl-msgs \
ros-foxy-pcl-conversions \
ros-foxy-ros-testing \
python3-matplotlib \
python3-scipy \
ros-foxy-rviz2 \
ros-foxy-robot-localization \
ros-foxy-derived-object-msgs

pip3 install pymap3d==2.9.1 \
dictor \
requests \
opencv-python==4.2.0.32 \
pygame \
tabulate \
pexpect \
transforms3d \
pep8 \
autopep8 \
cmake_format==0.6.11 \
pylint \
simple-pid \
py-trees==0.8.3 \
networkx==2.2 \
Shapely==1.7.1 \
psutil \
xmlschema==1.0.18 \
ephem \
matplotlib \
six \
simple-watchdog-timer \
numpy==1.18.4 \
distro

# Conflicting dependencies are noted here
Shapely==1.6.4.post2
89 changes: 0 additions & 89 deletions legacy/Dockerfile

This file was deleted.

77 changes: 0 additions & 77 deletions legacy/Dockerfile_Jetson

This file was deleted.

Loading

0 comments on commit 2dff33c

Please sign in to comment.