Я работаю над проектом " Роботизированная 3D регистрация ", в котором используется робот UR5 и 3D-сканер на руке робота, чтобы получить облака точек обзора с несколькими точками зрения неизвестногообъекты и восстанавливаем его с регистрацией ICP .
Я пытаюсь создать визуальный студийный проект и вот мое окружение
Cmake 3.8.0-rc1
Visual studio 2013
библиотека облаков точек 1.8.0
Windows 10
Я завершил установку и компиляцию pcl с использованием исходного кода с помощью https://www.youtube.com/watch?v=0adzJy4-KZg&t=3s
И я закончил несколько уроков по pcl, следуя http://pointclouds.org/documentation/tutorials/
Но в этих руководствах используется только один исходный файл (.cpp) и один исполняемый файл ..
Для моего проекта Мне нужно собрать несколько исходных файлов иэто вопрос.
Я хочу сделать проект с исходными файлами в pcl, как показано ниже.
xyz2pcd.cpp (для преобразования типа данных облака точек)
static_removal.cpp (для устранения выбросов)
moment_of_inertia.cpp (для генерации AABB или OBB)
pairwise_incremental_registration.cpp (для регистрации облаков с несколькими точками обзора)
robot_control.cpp (для связи и управления роботом)
sensor_control.cpp (для связи и управления датчиком)
и основного исполняемого исходного файла, такого как main.cpp
Пока я изучал, я думаю, кромеmain.cpp, все исходные файлы должны быть собраны в виде библиотеки с помощью команды add_library в CMakeLists, чтобы я мог использовать функции из исходного файла в.Кроме того, в main.cpp, я хочу сделать несколько потоков для управления, и отдельно.
Итак, я сделал CMakeLists как это ..
cmake_minimum_required(VERSION 2.6 FATAL_ERROR)
# creat project
project(Project)
# find package
find_package(PCL 1.2 REQUIRED)
set(SYS_NAME project_test)
set(LIB_NAME "pcl_${SYS_NAME}")
include_directories(${PCL_INCLUDE_DIRS})
link_directories(${PCL_LIBRARY_DIRS})
add_definitions(${PCL_DEFINITIONS})
set(srcs
src/tools/xyz2pcd.cpp
src/outlier/statistical_removal.cpp
src/exploration/moment_of_inertia.cpp
src/registration/pairwise_incremental_registration.cpp
src/viewer/cloud_viewer.cpp
)
set(incs
include/pcl/${SYS_NAME}/cloud_viewer.h
include/pcl/${SYS_NAME}/filter.h
include/pcl/${SYS_NAME}/icp.h
include/pcl/${SYS_NAME}/icp_nl.h
include/pcl/${SYS_NAME}/io.h
include/pcl/${SYS_NAME}/moment_of_inertia_estimation.h
include/pcl/${SYS_NAME}/normal_3d.h
include/pcl/${SYS_NAME}/parse.h
include/pcl/${SYS_NAME}/pcd_io.h
include/pcl/${SYS_NAME}/pcl_visualizer.h
include/pcl/${SYS_NAME}/point_cloud.h
include/pcl/${SYS_NAME}/point_representation.h
include/pcl/${SYS_NAME}/point_types.h
include/pcl/${SYS_NAME}/print.h
include/pcl/${SYS_NAME}/statistical_outlier_removal.h
include/pcl/${SYS_NAME}/time.h
include/pcl/${SYS_NAME}/transforms.h
include/pcl/${SYS_NAME}/voxel_grid.h
)
set(impl_incs
include/pcl/${SYS_NAME}/thread.hpp
include/pcl/${SYS_NAME}/make_shared.hpp
)
add_library(${LIB_NAME} STATIC ${srcs} ${incs} ${impl_incs})
add_executable (${SYS_NAME} project_test.cpp)
target_link_libraries (project_test ${PCL_LIBRARIES})
В CMakeLists исходные файлыто же самое с ними в учебниках на сайте pcl. Но я не знаю, как их использовать в project_test.cpp (= main.cpp). Должен ли я сделать еще один файл для прослушивания исходных файлов? Если тогда, как я могу это сделать?связать или собрать их с какой командой в CMake?
Я новичок в CMAKE, Visual Studio, PCL, поэтому я хочу знать веб-сайт руководства или материалы по ним ..
Извините замои английские и сбивающие с толку слова.