add ros_cpp
This commit is contained in:
@@ -13,19 +13,17 @@ services:
|
|||||||
build:
|
build:
|
||||||
context: . # 上下文设为根目录,这样才能同时访问 rk3588 文件夹
|
context: . # 上下文设为根目录,这样才能同时访问 rk3588 文件夹
|
||||||
dockerfile: ${PLATFORM}/Dockerfile.cc_${PLATFORM}
|
dockerfile: ${PLATFORM}/Dockerfile.cc_${PLATFORM}
|
||||||
args:
|
|
||||||
- BASE_TAG=latest
|
|
||||||
image: cc-${PLATFORM}:latest
|
image: cc-${PLATFORM}:latest
|
||||||
depends_on:
|
depends_on:
|
||||||
- cc-base
|
- cc-base
|
||||||
|
|
||||||
# 第三步:编译最终的供应商包镜像
|
# 第三步:编译最终的供应商包镜像
|
||||||
vendor_packages:
|
vendor-packages:
|
||||||
build:
|
build:
|
||||||
context: .
|
context: .
|
||||||
dockerfile: vendor_packages/Dockerfile.vendor_packages
|
dockerfile: vendor_packages/Dockerfile.vendor_packages
|
||||||
args:
|
args:
|
||||||
- BASE_IMAGE=cc-${PLATFORM}:latest
|
CC_PLATFORM_IMAGE: cc-${PLATFORM}:latest
|
||||||
image: vendor-packages:${PLATFORM}
|
image: vendor-packages:${PLATFORM}
|
||||||
depends_on:
|
depends_on:
|
||||||
- cc-platform
|
- cc-platform
|
||||||
@@ -35,10 +33,10 @@ services:
|
|||||||
context: .
|
context: .
|
||||||
dockerfile: ros2/Dockerfile.ros_${ROS_DISTRO}
|
dockerfile: ros2/Dockerfile.ros_${ROS_DISTRO}
|
||||||
args:
|
args:
|
||||||
- ROS_DISTRO=rolling
|
ROS_DISTRO: rolling
|
||||||
- PLATFORM=${PLATFORM}
|
PLATFORM: ${PLATFORM}
|
||||||
- CC_PLATFORM_IMAGE=cc-${PLATFORM}:latest
|
CC_PLATFORM_IMAGE: cc-${PLATFORM}:latest
|
||||||
- VENDOR_PACKAGES=vendor-packages:${PLATFORM}
|
VENDOR_PACKAGES_IMAGE: vendor-packages:${PLATFORM}
|
||||||
image: cc-ros-${ROS_DISTRO}:${PLATFORM}
|
image: cc-ros-${ROS_DISTRO}:${PLATFORM}
|
||||||
depends_on:
|
depends_on:
|
||||||
- vendor_packages
|
- vendor-packages
|
||||||
|
|||||||
@@ -1,8 +1,7 @@
|
|||||||
ARG CC_PLATFORM_IMAGE
|
ARG CC_PLATFORM_IMAGE
|
||||||
ARG VENDOR_PACKAGES
|
ARG VENDOR_PACKAGES_IMAGE
|
||||||
ARG PLATFORM
|
|
||||||
|
|
||||||
FROM ${CC_PLATFORM_IMAGE} as ros_src
|
FROM ${CC_PLATFORM_IMAGE} AS ros_src
|
||||||
|
|
||||||
ARG ROS_DISTRO
|
ARG ROS_DISTRO
|
||||||
|
|
||||||
@@ -12,9 +11,28 @@ COPY ros2/ros_rolling.repos .
|
|||||||
RUN vcs import --input ros_${ROS_DISTRO}.repos src
|
RUN vcs import --input ros_${ROS_DISTRO}.repos src
|
||||||
RUN echo "Build ros ${ROS_DISTRO}"
|
RUN echo "Build ros ${ROS_DISTRO}"
|
||||||
|
|
||||||
FROM vendor-packages:${PLATFORM} AS vendor_images
|
FROM ${VENDOR_PACKAGES_IMAGE} AS vendor_images
|
||||||
|
|
||||||
FROM ${CC_PLATFORM_IMAGE} as ros_builder
|
FROM ${CC_PLATFORM_IMAGE} AS ros_builder
|
||||||
|
|
||||||
COPY --from=ros_src /workspace /workspace
|
COPY --from=ros_src /workspace /workspace
|
||||||
COPY --from=vendor_images ${TARGET_SYSROOT} ${TARGET_SYSROOT}
|
COPY --from=vendor_images ${TARGET_SYSROOT} ${TARGET_SYSROOT}
|
||||||
|
|
||||||
|
RUN touch src/ros2/geometry2/tf2_bullet/COLCON_IGNORE \
|
||||||
|
&& touch src/ros2/rosbag2/rosbag2_storage_sqlite3/COLCON_IGNORE
|
||||||
|
|
||||||
|
RUN MAKEFLAGS="-j6" colcon build \
|
||||||
|
--executor parallel \
|
||||||
|
--parallel-workers 6 \
|
||||||
|
--install-base ${TARGET_SYSROOT} \
|
||||||
|
--merge-install \
|
||||||
|
--packages-up-to ros_cpp \
|
||||||
|
--cmake-force-configure \
|
||||||
|
--cmake-args \
|
||||||
|
--no-warn-unused-cli \
|
||||||
|
-DCMAKE_BUILD_TYPE=Release \
|
||||||
|
-DCMAKE_TOOLCHAIN_FILE=${CC_TOOLCHAIN_FILE} \
|
||||||
|
-DCMAKE_EXPORT_COMPILE_COMMANDS=ON \
|
||||||
|
-DBUILD_TESTING=OFF \
|
||||||
|
-DTRACETOOLS_DISABLED=ON \
|
||||||
|
-DCV_BRIDGE_DISABLE_PYTHON=ON
|
||||||
|
|||||||
@@ -0,0 +1,6 @@
|
|||||||
|
cmake_minimum_required(VERSION 3.8)
|
||||||
|
project(ros_cpp)
|
||||||
|
|
||||||
|
find_package(ament_cmake REQUIRED)
|
||||||
|
|
||||||
|
ament_package()
|
||||||
@@ -0,0 +1,94 @@
|
|||||||
|
<?xml version="1.0"?>
|
||||||
|
<?xml-model href="http://download.ros.org/schema/package_format3.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?>
|
||||||
|
<package format="3">
|
||||||
|
<name>ros_cpp</name>
|
||||||
|
<version>0.0.0</version>
|
||||||
|
<description>TODO: Package description</description>
|
||||||
|
<maintainer email="ericzhao0325@163.com">ericx</maintainer>
|
||||||
|
<license>TODO: License declaration</license>
|
||||||
|
|
||||||
|
<buildtool_depend>ament_cmake</buildtool_depend>
|
||||||
|
|
||||||
|
<depend>ament_cmake_auto</depend>
|
||||||
|
|
||||||
|
<!-- <depend>tinyxml2</depend>
|
||||||
|
<depend>eigen3_vendor</depend>
|
||||||
|
<depend>ceres_vendor</depend>
|
||||||
|
<depend>opencv_vendor</depend> -->
|
||||||
|
<depend>console_bridge_vendor</depend>
|
||||||
|
|
||||||
|
<depend>rcl_lifecycle</depend>
|
||||||
|
|
||||||
|
<!-- rcl repo -->
|
||||||
|
<depend>rcl_lifecycle</depend>
|
||||||
|
|
||||||
|
<!-- rclcpp repo -->
|
||||||
|
<depend>rclcpp</depend>
|
||||||
|
<depend>rclcpp_action</depend>
|
||||||
|
<depend>rclcpp_lifecycle</depend>
|
||||||
|
|
||||||
|
<!-- rclpy repo -->
|
||||||
|
<depend>rclpy</depend>
|
||||||
|
|
||||||
|
<!-- rosidl_defaults repo -->
|
||||||
|
<depend>rosidl_default_generators</depend>
|
||||||
|
<depend>rosidl_default_runtime</depend>
|
||||||
|
|
||||||
|
<!-- ros_environment repo -->
|
||||||
|
<depend>ros_environment</depend>
|
||||||
|
|
||||||
|
<!-- common_interfaces repo -->
|
||||||
|
<depend>common_interfaces</depend>
|
||||||
|
|
||||||
|
<!-- launch repo -->
|
||||||
|
<depend>launch</depend>
|
||||||
|
<depend>launch_testing</depend>
|
||||||
|
<depend>launch_testing_ament_cmake</depend>
|
||||||
|
<depend>launch_xml</depend>
|
||||||
|
<depend>launch_yaml</depend>
|
||||||
|
|
||||||
|
<!-- launch_ros repo -->
|
||||||
|
<depend>launch_ros</depend>
|
||||||
|
<depend>launch_testing_ros</depend>
|
||||||
|
<depend>ros2launch</depend>
|
||||||
|
|
||||||
|
<!-- ros2cli_common_extensions repo -->
|
||||||
|
<depend>ros2cli_common_extensions</depend>
|
||||||
|
|
||||||
|
<!-- class_loader repo -->
|
||||||
|
<depend>class_loader</depend>
|
||||||
|
<!-- pluginlib repo -->
|
||||||
|
<depend>pluginlib</depend>
|
||||||
|
|
||||||
|
<!-- rosbag2 repo -->
|
||||||
|
<depend>rosbag2</depend>
|
||||||
|
|
||||||
|
<!-- geometry2 repo -->
|
||||||
|
<depend>geometry2</depend>
|
||||||
|
|
||||||
|
<depend>diagnostics</depend>
|
||||||
|
|
||||||
|
<!-- robot_state_publisher repo -->
|
||||||
|
<!-- <depend>robot_state_publisher</depend> -->
|
||||||
|
|
||||||
|
<depend>image_common</depend>
|
||||||
|
<depend>image_pipeline</depend>
|
||||||
|
<depend>image_transport_plugins</depend>
|
||||||
|
|
||||||
|
<!-- No laser_pipeline on ROS 2 yet, break it up -->
|
||||||
|
<!-- <depend>laser_filters</depend>
|
||||||
|
<depend>laser_geometry</depend> -->
|
||||||
|
|
||||||
|
<depend>perception_pcl</depend>
|
||||||
|
<depend>vision_opencv</depend>
|
||||||
|
<depend>vision_msgs</depend>
|
||||||
|
<depend>ffmpeg_image_transport_msgs</depend>
|
||||||
|
<depend>eigen_stl_containers</depend>
|
||||||
|
<depend>angles</depend>
|
||||||
|
<depend>geographic_info</depend>
|
||||||
|
<depend>urdf</depend>
|
||||||
|
|
||||||
|
<export>
|
||||||
|
<build_type>ament_cmake</build_type>
|
||||||
|
</export>
|
||||||
|
</package>
|
||||||
@@ -415,3 +415,7 @@ repositories:
|
|||||||
type: git
|
type: git
|
||||||
url: https://github.com/ros-perception/vision_opencv.git
|
url: https://github.com/ros-perception/vision_opencv.git
|
||||||
version: rolling
|
version: rolling
|
||||||
|
ros2/console_bridge_vendor:
|
||||||
|
type: git
|
||||||
|
url: https://github.com/ros2/console_bridge_vendor.git
|
||||||
|
version: rolling
|
||||||
|
|||||||
Reference in New Issue
Block a user