BY YangLuoNouWRITTEN ON HALO7 MIN READ

[番外]fast_livo2复刻

教程链接 gitee fastlivo2地址 自动联合标定 推荐的手动加自动标定 硬件接线

教程链接

gitee
fastlivo2地址
自动联合标定
推荐的手动加自动标定

硬件接线

image
8 接STM32的PB5引脚,获取1HZ的PWM信号
image
2 接STM32的PA1引脚,获取外部10HZ的PWM信号
5 接STM32的GND

连接wsl与USB设备

教程,需要执行完附加USB设备

安装HIKROBOT-MVS-CAMERA-ROS编译时报错 (海康相机ros包建议安装老版本 https://github.com/luckyluckydadada/HIKROBOT-MVS-ROS-package.git 新版会有色彩问题,暂无解决方法-2025.7.4)

注意海康机器人工业相机要安装客户端MVS(不要装成runtime sdk)
1.opencv版本报错(cmakelist文件内改版本)
2.显示找不到文件

/usr/bin/ld: 找不到 -lGCBase_gcc421_v3_0
/usr/bin/ld: 找不到 -lGenApi_gcc421_v3_0
/usr/bin/ld: 找不到 -llog4cpp_gcc421_v3_0
/usr/bin/ld: 找不到 -lLog_gcc421_v3_0
/usr/bin/ld: 找不到 -lMathParser_gcc421_v3_0
/usr/bin/ld: 找不到 -lNodeMapData_gcc421_v3_0
/usr/bin/ld: 找不到 -lXmlParser_gcc421_v3_0

解决方法:
对于新版的海康SDK,首先查看你的链接库版本:
ls /opt/MVS/lib/64/
查看名称,如:libLog_gcc485_v3_0.so,注意其中的485
然后打开CMakeList
vi src/HIKROBOT-MVS-CAMERA-ROS/CMakeLists.txt
在第36行:

target_link_libraries(
${PROJECT_NAME}
${catkin_LIBRARIES}
${OpenCV_LIBRARIES}
GCBase_gcc485_v3_0
MvCameraControl
#GenApi_gcc485_v3_0
MVGigEVisionSDK
log4cpp_gcc485_v3_0 MVRender
Log_gcc485_v3_0 MvUsb3vTL
#MathParser_gcc485_v3_0
#NodeMapData_gcc485_v3_0
MediaProcess
#XmlParser_gcc485_v3_0 X11
)

注释掉Genapi、MathParser、NodeMapData、XmlParser,然后将其他的gcc后面的三位数字改成之前看到的三位数字,我的是485。
退出,重新make就可以了

HIKROBOT-MVS-CAMERA-ROS修改硬件触发

@@修改hikrobot_camera.hpp可以改变ros中的相机触发方式

//软件触发  
// ********** frame **********/
nRet = MV_CC_SetEnumValue(handle, "TriggerMode", 0);//0-不使用外部触发;1-使用外部触发

然后重新catkin_make
来源

安装无目标标定环境Ceres一定要使用2.0.0及以下版本

2.0.0版本链接
wget http://ceres-solver.org/ceres-solver-2.0.0.tar.gz

安装无目标标定(lidar_camera_calib)环境Ceres Solver时报错

CMake Error at CMakeLists.txt:173 (find_package):
  By not providing "Findabsl.cmake" in CMAKE_MODULE_PATH this project has
  asked CMake to find a package configuration file provided by "absl", but
  CMake did not find one.

  Could not find a package configuration file provided by "absl" with any of
  the following names:

    abslConfig.cmake
    absl-config.cmake

  Add the installation prefix of "absl" to CMAKE_PREFIX_PATH or set
  "absl_DIR" to a directory containing one of the above files.  If "absl"
  provides a separate development package or SDK, be sure it has been
  installed.


-- Configuring incomplete, errors occurred!

解决方法:
源码安装

git clone https://github.com/abseil/abseil-cpp.git
cd abseil-cpp
mkdir build && cd build
cmake .. -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_INSTALL_PREFIX=/usr/local
make -j$(nproc)
sudo make install

无目标标定(lidar_camera_calib)catkin_make出错

[ 66%] Linking CXX executable /home/yangluonou/livox_camera_calib/devel/lib/livox_camera_calib/bag_to_pcd
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libpcl_io.so: undefined reference to `libusb_set_option'
collect2: error: ld returned 1 exit status
make[2]: *** [livox_camera_calib/CMakeFiles/bag_to_pcd.dir/build.make:452: /home/yangluonou/livox_camera_calib/devel/lib/livox_camera_calib/bag_to_pcd] Error 1
make[1]: *** [CMakeFiles/Makefile2:2551: livox_camera_calib/CMakeFiles/bag_to_pcd.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....

这个链接错误是由于 libpcl_io.so 在链接时引用了 libusb_set_option 函数,但你当前系统中的 libusb 版本可能较旧(比如 1.0.23),而不包含这个函数。libusb_set_option 是从 libusb 1.0.26 才引入的。

sudo apt install libudev-dev
wget https://github.com/libusb/libusb/releases/download/v1.0.26/libusb-1.0.26.tar.bz2
tar -xjf libusb-1.0.26.tar.bz2
cd libusb-1.0.26
./configure --prefix=/usr/local
make -j$(nproc)
sudo make install

libusb_set_option报错

这个链接错误是由于 libpcl_io.so 在链接时引用了 libusb_set_option 函数,但你当前系统中的 libusb 版本可能较旧(比如 1.0.23),而不包含这个函数。libusb_set_option 是从 libusb 1.0.26 才引入的。

  • 检查当前版本:
    pkg-config --modversion libusb-1.0
  • 下载源码并编译新版本 libusb:
    sudo apt remove libusb-1.0-0-dev
    
    wget https://github.com/libusb/libusb/releases/download/v1.0.26/libusb-1.0.26.tar.bz2
    tar -xjf libusb-1.0.26.tar.bz2
    cd libusb-1.0.26
    
    sudo apt install libudev-dev
    
    ./configure --prefix=/usr/local
    make -j$(nproc)
    sudo make install
  • 确保新版本被使用:
    export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH
    export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
    如果你使用 catkin 编译,建议在 CMakeLists.txt 中指定 libusb 路径:
    link_directories(/usr/local/lib)
    include_directories(/usr/local/include/libusb-1.0)

mid360无需连接stm32 PA9进行卫星授时

否则会出现时间对不齐问题

lidar_camera_calib自动标参

环境要求比较苛刻,要有横竖两种边界明显,无杂乱纹理,光影充足的大柱子是最好的场地 拍照脚本及mid360获取录制点云pcd文件详见scripts文件夹

相机内参标定说明:

e4bd69f68ac8a5ea7febed3b1d6661b1

联合标定参数说明

9246ceb8_506465
2dff288fecf491ed168da8f1c13722ce