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

windows build fail #509

Open
xbkaishui opened this issue Aug 24, 2024 · 15 comments
Open

windows build fail #509

xbkaishui opened this issue Aug 24, 2024 · 15 comments

Comments

@xbkaishui
Copy link

Hello:

I am building planning master branch on win11, follow the build instruction in github action windows.yml, failed at build tesseract_task_composer

details as follows:
command

colcon build --packages-select tesseract_task_composer --packages-up-to tesseract_python --merge-install --cmake-force-configure --event-handlers console_cohesion+ --packages-ignore tesseract_examples trajopt_ifopt trajopt_sqp gtest --cmake-args -GNinja -DBUILD_IPOPT=OFF -DBUILD_SNOPT=OFF -DTESSERACT_BUILD_TRAJOPT_IFOPT=OFF -DVCPKG_APPLOCAL_DEPS=OFF -DTESSERACT_BUILD_DESCARTES=OFF -DCMAKE_BUILD_TYPE=Release -DPYTHON_EXECUTABLE="C:\Users\xxkai\miniconda3\envs\rac\python.exe" -DTESSERACT_PYTHON_BUILD_WHEEL=ON -DTESSERACT_ENABLE_EXAMPLES=OFF -DTESSERACT_PLUGIN_FACTORY_CALLBACKS=ON -DVCPKG_APPLOCAL_DEPS=OFF -DTESSERACT_BUILD_TRAJOPT_IFOPT=OFF

error log

-- Generating done (0.3s)
-- Build files have been written to: C:/dev/tract/build/tesseract_task_composer
[1/12] Building CXX object planning\CMakeFiles\tesseract_task_composer_planning_factories.dir\src\factories\planning_task_composer_ruckig_plugin_factory.cpp.obj
FAILED: planning/CMakeFiles/tesseract_task_composer_planning_factories.dir/src/factories/planning_task_composer_ruckig_plugin_factory.cpp.obj
C:\PROGRA2\MICROS2\2019\PROFES1\VC\Tools\MSVC\14291.301\bin\Hostx64\x64\cl.exe /nologo /TP -DBOOST_ALL_NO_LIB -DBOOST_ATOMIC_DYN_LINK -DBOOST_ATOMIC_NO_LIB -DBOOST_CHRONO_DYN_LINK -DBOOST_CHRONO_NO_LIB -DBOOST_CONTAINER_DYN_LINK -DBOOST_CONTAINER_NO_LIB -DBOOST_DATE_TIME_DYN_LINK -DBOOST_DATE_TIME_NO_LIB -DBOOST_FILESYSTEM_DYN_LINK=1 -DBOOST_FILESYSTEM_NO_LIB -DBOOST_GRAPH_DYN_LINK -DBOOST_GRAPH_NO_LIB -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_IOSTREAMS_NO_LIB -DBOOST_PROGRAM_OPTIONS_DYN_LINK -DBOOST_PROGRAM_OPTIONS_NO_LIB -DBOOST_RANDOM_DYN_LINK -DBOOST_RANDOM_NO_LIB -DBOOST_SERIALIZATION_DYN_LINK -DBOOST_SERIALIZATION_NO_LIB -DBOOST_STACKTRACE_DYN_LINK -DBOOST_STACKTRACE_NO_LIB -DBOOST_THREAD_DYN_LINK -DBOOST_THREAD_NO_LIB -DBOOST_THREAD_USE_DLL -DBT_USE_DOUBLE_PRECISION -DBoost_USE_MULTITHREADED=ON -DBoost_USE_STATIC_LIBS=OFF -DBoost_USE_STATIC_RUNTIME=OFF -DEIGEN_HAS_CXX17_OVERALIGN=0 -DKISSFFT_DLL_IMPORT=1 -DTESSERACT_ASSIMP_USE_PBRMATERIAL=1 -DTESSERACT_PARSE_POINT_CLOUDS="ON" -DTESSERACT_TASK_COMPOSER_DIR="C:/dev/tract/install/share/tesseract_task_composer" -DTINYXML2_IMPORT -DTRAJOPT_DATA_DIR="C:/dev/tract/install/share/trajopt_common/data" -D_FILE_OFFSET_BITS=64 -D_USE_MATH_DEFINES -D_USE_MATH_DEFINES=ON -D__SSE2__ -D__SSE3__ -D__SSE4_1__ -D__SSE4_2__ -D__SSE__ -D__SSSE3__ -Dkiss_fft_scalar=double -Dtesseract_task_composer_planning_factories_EXPORTS -IC:\dev\tract\tesseract_planning\tesseract_task_composer\planning\include -IC:\dev\tract\tesseract_planning\tesseract_task_composer\core\include -IC:\dev\tract\build\tesseract_task_composer.. -external:I"C:\Program Files\PCL 1.14.0\3rdParty\Eigen3\include\eigen3" -external:IE:\programs\vcpkg\installed\x64-windows\include -external:IC:\dev\tract\install\include -external:IE:\programs\vcpkg\installed\x64-windows\include\eigen3 -external:IE:\programs\vcpkg\installed\x64-windows\include\bullet -external:I"C:\Program Files\OpenNI2\Include" -external:I"C:\Program Files\PCL 1.14.0\include\pcl-1.14" -external:I"C:\Program Files\PCL 1.14.0\3rdParty\VTK\include\vtk-9.3" -external:I"C:\Program Files\PCL 1.14.0\3rdParty\VTK\include\vtk-9.3\vtknlohmannjson\include" -external:I"C:\Program Files\PCL 1.14.0\3rdParty\VTK\include\vtk-9.3\vtkfreetype\include" -external:W0 /DWIN32 /D_WINDOWS /GR /EHsc /O2 /Ob2 /DNDEBUG -std:c++17 -MD -openmp /arch:AVX2 /showIncludes /Foplanning\CMakeFiles\tesseract_task_composer_planning_factories.dir\src\factories\planning_task_composer_ruckig_plugin_factory.cpp.obj /Fdplanning\CMakeFiles\tesseract_task_composer_planning_factories.dir\ /FS -c C:\dev\tract\tesseract_planning\tesseract_task_composer\planning\src\factories\planning_task_composer_ruckig_plugin_factory.cpp
C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.29.30133\include\memory(3089): error C2027: 使用了未定义类型“tesseract_planning::TaskComposerNodeInfo”
C:\dev\tract\tesseract_planning\tesseract_task_composer\core\include\tesseract_task_composer/core/task_composer_node.h(56): note: 参见“tesseract_planning::TaskComposerNodeInfo”的 声明
C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.29.30133\include\memory(3088): note: 在编译 类 模板 成员函数“void std::default_delete<tesseract_planning::TaskComposerNodeInfo>::operator ()(_Ty *) noexcept const”时
with
[
_Ty=tesseract_planning::TaskComposerNodeInfo
]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.29.30133\include\memory(3198): note: 查看对正在编译的函数 模板 实例化“void std::default_delete<tesseract_planning::TaskComposerNodeInfo>::operator ()(_Ty *) noexcept const”的引用
with
[
_Ty=tesseract_planning::TaskComposerNodeInfo
]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.29.30133\include\memory(3125): note: 查看对正在编译的 类 模板 实例化“std::default_delete<tesseract_planning::TaskComposerNodeInfo>”的引用
C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.29.30133\include\utility(325): note: 查看对正在编译的 类 模板 实例化“std::unique_ptr<tesseract_planning::TaskComposerNodeInfo,std::default_delete<tesseract_planning::TaskComposerNodeInfo>>”的引用
C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.29.30133\include\xtree(331): note: 查看对正在编译的 类 模板 实例化“std::pair<const boost::uuids::uuid,std::unique_ptr<tesseract_planning::TaskComposerNodeInfo,std::default_delete<tesseract_planning::TaskComposerNodeInfo>>>”的引用
C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.29.30133\include\xtree(752): note: 查看对正在编译的 类 模板 实例化“std::_Tree_node<std::pair<const boost::uuids::uuid,std::unique_ptr<tesseract_planning::TaskComposerNodeInfo,std::default_delete<tesseract_planning::TaskComposerNodeInfo>>>,std::_Default_allocator_traits<_Alloc>::void_pointer>”的引用

@xbkaishui
Copy link
Author

hello, any update on this

@Levi-Armstrong
Copy link
Contributor

Unfortunately, I am unable to assist with windows related as I only develop on linux. @johnwason are you able to help?

@johnwason
Copy link
Contributor

I can't read the error messages because they are not in English but I suspect there is a version mismatch with tesseract_python and the other packages. Because the tesseract API is unstable tesseract_python needs to use specific versions.

@xbkaishui
Copy link
Author

hello:

thanks for your quickly response. there is an issue related to tesseract_python package. one question is can I use latest tesseract repo on tesseract_python?

@johnwason
Copy link
Contributor

No, because the API has changed the SWIG wrappers will need to be updated. This is often a time consuming process and I don’t have funding right now.

@xbkaishui
Copy link
Author

ok, I can submit a pr, can you give a summary about which api is changed ?

@xbkaishui
Copy link
Author

I have readed tesseract code, this is a great project. thanks

@johnwason
Copy link
Contributor

What issue are you having? It may be easier to cherrypick the fix than update the python code.

@xbkaishui
Copy link
Author

the kdl IK solver success rate is too low for 6 axis arm. I am using aubo i5, I want to upgrade the ik sovler to kdl-RR (random restart), implement by track_ik.

@johnwason
Copy link
Contributor

That looks like a UR clone. There is an analytical UR solver available in the Python package.

@xbkaishui
Copy link
Author

sorry, I don't got it. can you explain more

@johnwason
Copy link
Contributor

@Levi-Armstrong can you help set up the UR invkin plugin configuration? The aubo i5 looks like a UR clone. Not sure about the kinematic parameters.

@johnwason
Copy link
Contributor

@xbkaishu the solver you are trying to use is a numeric solver that iteratively tries to find a solution. For special robot designs like "spherical wrist"/OPW robots, and Universal Robots Tesseract has a closed-form analytical solution that can directly compute the kinematics without needing to use an iterative solution.

@xbkaishui
Copy link
Author

Got it @johnwason Thanks, @Levi-Armstrong please help

@xbkaishui
Copy link
Author

@xbkaishu the solver you are trying to use is a numeric solver that iteratively tries to find a solution. For special robot designs like "spherical wrist"/OPW robots, and Universal Robots Tesseract has a closed-form analytical solution that can directly compute the kinematics without needing to use an iterative solution.

by the way, can i submit a pr for new implement kdl-RR (random restart), I test it the success rate is higher than kdl-nr and kdl-lma

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants