在DJI无人机上运行VINS-FUISON(PSDK 转 ROS)

安装ceres出现以下报错,将2版本的ceres换成1版本的ceres

复制代码
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.

衔接桥梁

dajiang SDK psdk
https://developer.dji.com/doc/payload-sdk-api-reference/cn/

psdk->ros2
https://github.com/umdlife/psdk_ros2
https://umdlife.github.io/psdk_ros2/api/library_root.html

ros2 <-> ros1

ros1_bridge

ROS 1 和 ROS 2 的环境变量不能同时写入 .bashrc 文件中,因为它们的环境变量会相互冲突=>>手动切换环境

复制代码
sudo apt update
sudo apt install ros-galactic-ros1-bridge

https://blog.csdn.net/2302_80225397/article/details/141167175

开启录制

bash 复制代码
# 1
screen
sudo su

cd /home/nvidia/psdk_ros2
sh /home/nvidia/change_device_mode.sh 

source /opt/ros/galactic/setup.bash 
source install/setup.bash 
ros2 launch psdk_wrapper wrapper.launch.py 

# 2
screen 
cd /home/nvidia/psdk_ros2
source /opt/ros/galactic/setup.bash 
source install/setup.bash 
ros2 service call /wrapper/psdk_ros2/start_perception psdk_interfaces/srv/PerceptionStereoVisionSetup \
    "{stereo_cameras_direction: 'FRONT', start_stop: true}"

DATE_STR=$(date +%Y%m%d_%H%M%S)

ros2 bag record -o outputs/$DATE_STR \
    /wrapper/psdk_ros2/acceleration_body_raw \
    /wrapper/psdk_ros2/angular_rate_body_raw \
    /wrapper/psdk_ros2/perception_stereo_left_stream \
    /wrapper/psdk_ros2/perception_stereo_right_stream 

## ros2 bag to ros1
rosbags-convert outputs/$DATE_STR --dst $DATE_STR.bag

标定

  • IMU标定

IMU标定参考港科大imu_utils框架:https://blog.csdn.net/qq_35616298/article/details/116190164

要先下载code_util编译,再下载imu_utils

code_util可能出现opencv版本号不符合的报错,更换opencv写法

注意:当工作空间里面有非ros包时,要用catkin_make_isolated,而非catkin_make

编译imu_utils出现以下报错,在mu_an.cpp加入#include <fstream>的头文件

bash 复制代码
/home/liuchengyi/imuCali_ws/src/imu_utils/src/imu_an.cpp:90:19: error: aggregate 'std::ofstream out_t' has incomplete type and cannot be defined
   90 |     std::ofstream out_t;
  • screen是后台运行一个终端

查看所有后台的终端

c 复制代码
screen -ls 

关闭某个名为172199.pts-1.nvidia-desktop的终端

c 复制代码
screen -X -S 172199.pts-1.nvidia-desktop quit  
  • 远程拷贝录制bag
c 复制代码
scp 20250103_102425.bag liuchengyi@192.168.111.171:/home/liuchengyi/Desktop
  • vscode远程连接断掉
c 复制代码
fn + f1重启
  • roscore端口占用

查看端口占用情况

c 复制代码
sudo lsof -i :11311

终止占用端口的进程

c 复制代码
sudo kill <PID>
  • 双目标定

https://blog.csdn.net/m0_71523511/article/details/139969032

bash 复制代码
# d435
kalibr_calibrate_cameras --target checkerboard.yaml --bag mult_cam_d435i.bag 
--models pinhole-radtan pinhole-radtan pinhole-radtan --topics /color /infra_left /infra_right
#t265
kalibr_calibrate_cameras --target checkerboard.yaml --bag camer_t265.bag 
--models omni-radtan omni-radtan --topics /fisheye1 /fisheye2
#stereo
rosrun kalibr kalibr_calibrate_cameras --target src/kalibr/april_6_6.yaml --bag src/kalibr/stereo_4hz.bag 
--models pinhole-radtan pinhole-radtan --topics /image_raw_right /image_raw_right --show-extraction
bash 复制代码
source ~/Desktop/kalibr_ws/devel/setup.bash 
rosrun kalibr kalibr_calibrate_cameras --target ~/Desktop/kalibr_ws/src/apriltag.yaml --bag ~/Desktop/20250103_155443.bag --models pinhole-radtan pinhole-radtan --topics /wrapper/psdk_ros2/perception_stereo_left_stream /wrapper/psdk_ros2/perception_stereo_right_stream  --approx-sync 0.01
c 复制代码
kalibr_calibrate_imu_camera --target ~/Desktop/kalibr_ws/src/apriltag.yaml --cam camchain-mult_cam_d435i.yaml --imu imu.yaml --bag imu_stereo.bag

foxglove
https://foxglove.dev/download

写一个代码,有以下话题liuchengyi@dominant-dev:~/Desktop$ rostopic info /wrapper/psdk_ros2/acceleration_body_raw

Type: geometry_msgs/AccelStamped

Publishers:

Subscribers: None

liuchengyi@dominant-dev:~/Desktop$ rostopic info /wrapper/psdk_ros2/angular_rate_body_raw

Type: geometry_msgs/Vector3Stamped

Publishers:

Subscribers: None

liuchengyi@dominant-dev:~/Desktop$ rostopic info /wrapper/psdk_ros2/perception_stereo_left_stream

Type: sensor_msgs/Image

Publishers:

Subscribers: None

liuchengyi@dominant-dev:~/Desktop$ rostopic info /wrapper/psdk_ros2/perception_stereo_left_stream

Type: sensor_msgs/Image

Publishers:

Subscribers: None

帮我把/wrapper/psdk_ros2/acceleration_body_raw和/wrapper/psdk_ros2/angular_rate_body_raw数据合并成 sensor_msgs/Imu类型的名为/dji/imu话题的数据,并且把/wrapper/psdk_ros2/perception_stereo_left_stream和/wrapper/psdk_ros2/perception_stereo_right_stream分别改名为/dji/left/camera和/dji/right/camera名称的同类型Image话题发布,并且把新生成的三个话题存储到rosbag中,完成python代码

相关推荐
tianxuanjg11 小时前
工业/协作机器人连接法兰采购指南|高精度安装定位零件怎么选
经验分享·机器人·无人机·制造·材质
lin1353806757316 小时前
AH8679 100V低功耗无人机领域 BMS领域专用芯片
无人机
XBWRJ17 小时前
无人机合规改造需求释放,《无人机装调维修师》助力老旧设备升级
无人机
YOLO数据集集合18 小时前
无人机视角简易棚屋检测数据集 | 临时建筑 棚屋检测 城市监管 航拍 农用建筑大棚识别数据集 9042期
无人机·棚屋检测·临时建筑·农村大棚检测·航拍识别·城市监管
HXSYS18 小时前
职业无人机战队竞技,《无人机装调维修师》强化后勤保障实力
无人机
workflower18 小时前
TF-IDF 的基本思想
人工智能·机器学习·机器人·云计算·无人机
灵途科技1 天前
新技术,新突破|灵途科技即将亮相CIOE 2026
科技·无人机
XBWRJ2 天前
低空科普场馆运营,《无人机装调维修师》保障展品体验设备完好
无人机
YOLO数据集集合2 天前
无人机屋顶与地物分割数据集 | 屋顶分割 航拍识别 城市规划 材质分类 实例分割9036期
人工智能·分类·无人机·材质·中国城市建筑·建筑识别
YOLO数据集集合2 天前
无人机型号识别数据集 | 无人机型号识别 细粒度分类 低空安防 无人机机型识别 大疆无人机 低空威胁9039期
目标检测·分类·数据挖掘·无人机·无人机数据集·无人机机型识别·无人机类别