update
This commit is contained in:
parent
93e9cf8edc
commit
47d80e562d
@ -1,26 +0,0 @@
|
|||||||
# docker-bake.hcl
|
|
||||||
group "default" {
|
|
||||||
targets = ["base", "overlay_arm64", "overlay_amd64"]
|
|
||||||
}
|
|
||||||
|
|
||||||
target "base" {
|
|
||||||
dockerfile = "docker/Dockerfile"
|
|
||||||
tags = ["ghcr.io/bjoernellens1/ros2_rmp/rmp:base"]
|
|
||||||
}
|
|
||||||
|
|
||||||
target "overlay_arm64" {
|
|
||||||
inherits = ["base"]
|
|
||||||
dockerfile = "docker/Dockerfile.arm64"
|
|
||||||
platforms = ["linux/arm64"]
|
|
||||||
}
|
|
||||||
|
|
||||||
target "overlay_amd64" {
|
|
||||||
inherits = ["base"]
|
|
||||||
dockerfile = "docker/Dockerfile.amd64"
|
|
||||||
platforms = ["linux/amd64"]
|
|
||||||
}
|
|
||||||
|
|
||||||
target "db" {
|
|
||||||
dockerfile = "Dockerfile.db"
|
|
||||||
tags = ["docker.io/username/db"]
|
|
||||||
}
|
|
@ -7,6 +7,8 @@ services:
|
|||||||
build:
|
build:
|
||||||
context: .
|
context: .
|
||||||
dockerfile: docker/Dockerfile
|
dockerfile: docker/Dockerfile
|
||||||
|
tags:
|
||||||
|
- ghcr.io/bjoernellens1/ros2_rmp/rmp:base
|
||||||
args:
|
args:
|
||||||
ROS_DISTRO: humble
|
ROS_DISTRO: humble
|
||||||
target: base
|
target: base
|
||||||
@ -286,8 +288,6 @@ services:
|
|||||||
# Networking
|
# Networking
|
||||||
ports:
|
ports:
|
||||||
- 8080:8080
|
- 8080:8080
|
||||||
profiles:
|
|
||||||
- robot
|
|
||||||
|
|
||||||
# USB Camera Stream
|
# USB Camera Stream
|
||||||
cam:
|
cam:
|
||||||
@ -304,4 +304,41 @@ services:
|
|||||||
- RMW_IMPLEMENTATION=rmw_cyclonedds_cpp
|
- RMW_IMPLEMENTATION=rmw_cyclonedds_cpp
|
||||||
devices:
|
devices:
|
||||||
- /dev/video0:/dev/video0
|
- /dev/video0:/dev/video0
|
||||||
|
|
||||||
|
|
||||||
|
#ROS1 Bridge
|
||||||
|
ros1bridge:
|
||||||
|
image: ghcr.io/bjoernellens1/ros2_rmp/ros1bridge
|
||||||
|
command: >
|
||||||
|
ros2 run ros1_bridge dynamic_bridge --bridge-all-2to1-topics
|
||||||
|
build:
|
||||||
|
context: .
|
||||||
|
dockerfile: docker/Dockerfile
|
||||||
|
tags:
|
||||||
|
- ghcr.io/bjoernellens1/ros2_rmp/ros1bridge
|
||||||
|
args:
|
||||||
|
ROS_DISTRO: humble
|
||||||
|
target: bridge
|
||||||
|
x-bake:
|
||||||
|
platforms:
|
||||||
|
#- linux/arm64
|
||||||
|
- linux/amd64
|
||||||
|
# Networking and IPC for ROS 2
|
||||||
|
network_mode: host
|
||||||
|
ipc: host
|
||||||
|
environment:
|
||||||
|
- ROS_DOMAIN_ID=5
|
||||||
|
- RMW_IMPLEMENTATION=rmw_cyclonedds_cpp
|
||||||
|
- ROS_MASTER_URI=http://localhost:11311 # is configured to run roscore on the robot but could change to local ros1 machine here
|
||||||
|
|
||||||
|
#ROS1 roscore
|
||||||
|
roscore:
|
||||||
|
command: >
|
||||||
|
roscore
|
||||||
|
extends: ros1bridge
|
||||||
|
network_mode: host
|
||||||
|
ipc: host
|
||||||
|
environment:
|
||||||
|
- ROS_DOMAIN_ID=5
|
||||||
|
- RMW_IMPLEMENTATION=rmw_cyclonedds_cpp
|
||||||
|
- ROS_MASTER_URI=http://localhost:11311 # is configured to run roscore on the robot but could change to local ros1 machine here
|
@ -112,4 +112,139 @@ RUN source /rmp_ws/install/setup.bash \
|
|||||||
# Set up the entrypoint
|
# Set up the entrypoint
|
||||||
ENTRYPOINT [ "/entrypoint.sh" ]
|
ENTRYPOINT [ "/entrypoint.sh" ]
|
||||||
|
|
||||||
LABEL org.opencontainers.image.source=https://github.com/bjoernellens1/ros2_rmp
|
LABEL org.opencontainers.image.source=https://github.com/bjoernellens1/ros2_rmp
|
||||||
|
|
||||||
|
|
||||||
|
### Added for bridging
|
||||||
|
# FROM ubuntu:focal as bridge
|
||||||
|
|
||||||
|
# SHELL ["/bin/bash", "-c"]
|
||||||
|
|
||||||
|
# ENV DEBIAN_FRONTEND noninteractive
|
||||||
|
# ENV ROS_DISTRO=foxy
|
||||||
|
|
||||||
|
# RUN locale
|
||||||
|
# RUN apt-get update && apt-get install -y locales
|
||||||
|
# RUN locale-gen en_US en_US.UTF-8
|
||||||
|
# RUN update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8
|
||||||
|
|
||||||
|
# ENV LANG=en_US.UTF-8
|
||||||
|
|
||||||
|
# RUN locale
|
||||||
|
|
||||||
|
# RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||||
|
# curl \
|
||||||
|
# gnupg2 \
|
||||||
|
# lsb-release \
|
||||||
|
# software-properties-common \
|
||||||
|
# && add-apt-repository universe
|
||||||
|
|
||||||
|
# RUN curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg
|
||||||
|
# RUN echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(. /etc/os-release && echo $UBUNTU_CODENAME) main" | tee /etc/apt/sources.list.d/ros2.list > /dev/null
|
||||||
|
|
||||||
|
# # Install common packages
|
||||||
|
# RUN apt-get update && apt-get install -y \
|
||||||
|
# python3-flake8-docstrings \
|
||||||
|
# python3-pip \
|
||||||
|
# python3-pytest-cov \
|
||||||
|
# ros-dev-tools
|
||||||
|
|
||||||
|
# RUN mkdir -p /root/ros2_foxy/src
|
||||||
|
# WORKDIR /root/ros2_foxy
|
||||||
|
# RUN vcs import --input https://raw.githubusercontent.com/ros2/ros2/${ROS_DISTRO}/ros2.repos src
|
||||||
|
# #&& vcs import --input https://raw.githubusercontent.com/ros2/rmw_fastrtps/${ROS_DISTRO}/rmw_fastrtps.repos ~/ros2_humble/src \
|
||||||
|
# #&& vcs import --input https://raw.githubusercontent.com/ros2/rmw_cyclonedds/${ROS_DISTRO}/rmw_cyclonedds.repos ~/ros2_humble/src
|
||||||
|
|
||||||
|
# ARG RTI_NC_LICENSE_ACCEPTED=yes # must accept license agreement for RTI Connext DDS
|
||||||
|
|
||||||
|
# RUN apt-get update && apt-get upgrade -y \
|
||||||
|
# && rosdep init \
|
||||||
|
# && rosdep update \
|
||||||
|
# && rosdep install --from-paths src --ignore-src --rosdistro ${ROS_DISTRO} -y --skip-keys "console_bridge fastcdr fastrtps rti-connext-dds-5.3.1 urdfdom_headers"
|
||||||
|
|
||||||
|
# RUN colcon build --symlink-install
|
||||||
|
|
||||||
|
# # Create Colcon workspace with external dependencies
|
||||||
|
# RUN mkdir -p /rmp_ws/src
|
||||||
|
# WORKDIR /rmp_ws/src
|
||||||
|
# COPY dependencies.arm64.repos .
|
||||||
|
# COPY dependencies.amd64.repos .
|
||||||
|
|
||||||
|
# # Choose correct sources for architecture:
|
||||||
|
# # Copy platform-specific files
|
||||||
|
# # Use if condition to copy different files for different platforms
|
||||||
|
# #RUN echo "TARGETPLATFORM is $TARGETPLATFORM"
|
||||||
|
# RUN echo "Hardware platform is: $(uname -m)"
|
||||||
|
# RUN uname -a
|
||||||
|
|
||||||
|
# RUN if [ "$(uname -m)" = "x86_64" ]; then \
|
||||||
|
# echo "Copying files for linux/amd64"; \
|
||||||
|
# mv dependencies.amd64.repos dependencies.repos; \
|
||||||
|
# else \
|
||||||
|
# echo "Copying files for linux/arm64"; \
|
||||||
|
# mv dependencies.arm64.repos dependencies.repos; \
|
||||||
|
# fi
|
||||||
|
|
||||||
|
# #RUN vcs import < dependencies.repos
|
||||||
|
# RUN vcs import < dependencies.repos;
|
||||||
|
|
||||||
|
# # Build the base Colcon workspace, installing dependencies first.
|
||||||
|
# WORKDIR /rmp_ws
|
||||||
|
# RUN source /home/root/ros2_foxy/install/setup.bash \
|
||||||
|
# && apt-get update -y \
|
||||||
|
# && rosdep install --from-paths src --ignore-src --rosdistro ${ROS_DISTRO} -y
|
||||||
|
|
||||||
|
# RUN source /opt/ros/${ROS_DISTRO}/setup.bash \
|
||||||
|
# && colcon build --symlink-install
|
||||||
|
|
||||||
|
# ENV RMW_IMPLEMENTATION=rmw_cyclonedds_cpp
|
||||||
|
|
||||||
|
# # Set up the entrypoint
|
||||||
|
# COPY ./docker/entrypoint.sh /
|
||||||
|
# RUN chmod +x /entrypoint.sh
|
||||||
|
|
||||||
|
# ENTRYPOINT [ "/entrypoint.sh" ]
|
||||||
|
|
||||||
|
# This is an auto generated Dockerfile for ros:ros1-bridge
|
||||||
|
# generated from docker_images_ros2/ros1_bridge/create_ros_ros1_bridge_image.Dockerfile.em
|
||||||
|
FROM ros:eloquent-ros-base-bionic AS bridge
|
||||||
|
|
||||||
|
RUN apt update && apt install -y curl gnupg2 lsb-release
|
||||||
|
|
||||||
|
# setup sources.list
|
||||||
|
RUN echo "deb http://packages.ros.org/ros/ubuntu bionic main" > /etc/apt/sources.list.d/ros1-latest.list
|
||||||
|
|
||||||
|
# setup keys
|
||||||
|
# RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
|
||||||
|
RUN curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | apt-key add -
|
||||||
|
|
||||||
|
ENV ROS1_DISTRO melodic
|
||||||
|
ENV ROS2_DISTRO eloquent
|
||||||
|
|
||||||
|
# install ros packages
|
||||||
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||||
|
ros-${ROS1_DISTRO}-ros-comm \
|
||||||
|
ros-${ROS1_DISTRO}-roscpp-tutorials \
|
||||||
|
ros-${ROS1_DISTRO}-rospy-tutorials \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
# install ros2 packages
|
||||||
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||||
|
ros-${ROS2_DISTRO}-ros1-bridge \
|
||||||
|
ros-${ROS2_DISTRO}-demo-nodes-cpp \
|
||||||
|
ros-${ROS2_DISTRO}-demo-nodes-py \
|
||||||
|
ros-${ROS2_DISTRO}-rmw-cyclonedds-cpp \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
# install downstream packages
|
||||||
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||||
|
python-rosdep \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
RUN echo "update 04.09.2023-2"
|
||||||
|
# setup entrypoint
|
||||||
|
COPY ./docker/bridge_entrypoint.sh /
|
||||||
|
RUN chmod +x /bridge_entrypoint.sh
|
||||||
|
|
||||||
|
# Set up the entrypoint
|
||||||
|
ENTRYPOINT [ "/bridge_entrypoint.sh" ]
|
39
docker/bridge_entrypoint.sh
Normal file
39
docker/bridge_entrypoint.sh
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# Basic entrypoint for ROS / Colcon Docker containers
|
||||||
|
|
||||||
|
UNDERLAY_WS=/rmp_ws
|
||||||
|
|
||||||
|
# Source ROS 2
|
||||||
|
source /opt/ros/${ROS_DISTRO}/setup.bash
|
||||||
|
echo "Sourced ROS 2 ${ROS_DISTRO}"
|
||||||
|
|
||||||
|
# Source the base workspace, if built
|
||||||
|
if [ -f ${UNDERLAY_WS}/install/setup.bash ]
|
||||||
|
then
|
||||||
|
source ${UNDERLAY_WS}/install/setup.bash
|
||||||
|
#export GAZEBO_MODEL_PATH=$GAZEBO_MODEL_PATH:$(ros2 pkg prefix turtlebot3_gazebo)/share/turtlebot3_gazebo/models
|
||||||
|
echo "Sourced CPS RMP 220 base workspace"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Source the overlay workspace, if built
|
||||||
|
if [ -f /overlay_ws/install/setup.bash ]
|
||||||
|
then
|
||||||
|
source /overlay_ws/install/setup.bash
|
||||||
|
echo "Sourced CPS RMP 220 Overlay workspace"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Source the bridge workspace, if built
|
||||||
|
if [ -f /opt/ros/melodic/local_setup.bash ]
|
||||||
|
then
|
||||||
|
source /opt/ros/melodic/local_setup.bash
|
||||||
|
echo "Sourced melodic distribution"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -f /opt/ros/eloquent/local_setup.bash ]
|
||||||
|
then
|
||||||
|
source /opt/ros/eloquent/local_setup.bash
|
||||||
|
echo "Sourced eloquent distribution"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Execute the command passed into this entrypoint
|
||||||
|
exec "$@"
|
@ -23,5 +23,13 @@ then
|
|||||||
echo "Sourced CPS RMP 220 Overlay workspace"
|
echo "Sourced CPS RMP 220 Overlay workspace"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Source the bridge workspace, if built
|
||||||
|
if [ -f ~/ros2_humble/install/setup.bash ]
|
||||||
|
then
|
||||||
|
source ~/ros2_humbleinstall/setup.bash
|
||||||
|
#export GAZEBO_MODEL_PATH=$GAZEBO_MODEL_PATH:$(ros2 pkg prefix turtlebot3_gazebo)/share/turtlebot3_gazebo/models
|
||||||
|
echo "Sourced CPS RMP 220 base workspace"
|
||||||
|
fi
|
||||||
|
|
||||||
# Execute the command passed into this entrypoint
|
# Execute the command passed into this entrypoint
|
||||||
exec "$@"
|
exec "$@"
|
7
maps/map.yaml
Normal file
7
maps/map.yaml
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
image: map_floor_mainb_full_save.pgm
|
||||||
|
mode: trinary
|
||||||
|
resolution: 0.05
|
||||||
|
origin: [-66.2, -24.5, 0]
|
||||||
|
negate: 0
|
||||||
|
occupied_thresh: 0.65
|
||||||
|
free_thresh: 0.25
|
7
maps/map.yaml.bak
Normal file
7
maps/map.yaml.bak
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
image: map_floor_mainb_save.pgm
|
||||||
|
mode: trinary
|
||||||
|
resolution: 0.05
|
||||||
|
origin: [-20.9, -7.03, 0]
|
||||||
|
negate: 0
|
||||||
|
occupied_thresh: 0.65
|
||||||
|
free_thresh: 0.25
|
BIN
maps/map_floor_mainb_full_save.pgm
Normal file
BIN
maps/map_floor_mainb_full_save.pgm
Normal file
Binary file not shown.
5
maps/map_floor_mainb_save.pgm
Normal file
5
maps/map_floor_mainb_save.pgm
Normal file
File diff suppressed because one or more lines are too long
BIN
maps/map_floor_save.pgm
Normal file
BIN
maps/map_floor_save.pgm
Normal file
Binary file not shown.
7
maps/map_floor_save.yaml
Normal file
7
maps/map_floor_save.yaml
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
image: map_floor_save.pgm
|
||||||
|
mode: trinary
|
||||||
|
resolution: 0.05
|
||||||
|
origin: [-13.7, -5.57, 0]
|
||||||
|
negate: 0
|
||||||
|
occupied_thresh: 0.65
|
||||||
|
free_thresh: 0.25
|
Loading…
Reference in New Issue
Block a user