一、初识SLAM-VINSmono在VSCode上调试设置

一、初识SLAM——VINSmono在VSCode上调试设置

  • 对于ROS的调试,必须安装ROS插件,由Microsoft开发,官方参考链接vscode-ros
  • 本文在调试前已经按照教程能完全运行官方示例,参照

1 配置文件

  • 使用code .打开目录时,xxx_ws目录下已经包含了**.vscode目录,该.vscode目录包含c_cpp_properties.jsonsettings.json**文件
c_cpp_properties.json
  • 该文件主要包括"includePath"头文件目录

在这里插入图片描述

settings.json

在这里插入图片描述

launch.json
  • launch.json在调试单独的C++可执行文件和ROS中的C++可执行文件都是必需的,里面的必填的选项是program,设置可执行文件的路径
  • 可通过“preLaunchTask"选项,设置tasks.json文件的路径,达到按F5同时编译和调试的功能
tasks.json
  • 可设置该文件自动编译代码生成可执行文件,在里面包含可以是任何需要运行的命令

2 xxx.launch

在本例中编写了一个euroc_union.launch文件,用于把VINSmono示例中要运行的三个窗口写入一个.launch文件中

touch ./src/VINS-Mono/vins_estimator/launch/euroc_union.launch

## 添加下列内容
<launch>
    <include file="$(find vins_estimator)/launch/euroc.launch"/>
    <include file="$(find vins_estimator)/launch/vins_rviz.launch"/>
    <node pkg="rosbag" type="play" name="play" args="/home/mu/Desktop/slamdata/Euroc/MH_01_easy.bag"/>
</launch>

3 流程

3.1 设置BUILD_TYPE

## 1 查看CMakeLists.txt中BUILD_TYPE类型,发现其都为set(CMAKE_BUILD_TYPE "Release"),要设置其为Debug才能进行调试 
cd VINSmono_ws
grep -r "CMAKE_BUILD_TYPE" *	

## 2 替换为Debug
find . -name "CMakeLists.txt" | xargs sed -i 's/set(CMAKE_BUILD_TYPE "Release")/set(CMAKE_BUILD_TYPE "Debug")/g'

3.2 设置c_cpp_properties.json和settings.json

  • ctrl+shift+p打开命令面板,执行“ROS:Update C++ Proterties”,会更新两个文件
  • c_cpp_properties.json 内容参照c_cpp_properties.json
  • settings.json内容参照settings.json

3.3 设置launch.json

  • 关闭所有打开的文档——在左侧Run and Debug——create a launch.json file——ROS:Launch[ROS:Attach]——vins_estimator——euroc_union.launch

  • 说明:

    • 关闭打开的文档是防止vscode误认为你要为.cpp文件创建launch.json
    • 关于第四个选项,ROS:Launch是给roslaunch命令来调试,而xxx.launch是为了一次性启动多个节点,所以ROS:Launch用来调试多个节点选择,而ROS:Attach是给rosrun命令来调试P,所以ROS:Attach用来调试一个节点选择

3.4 Debug

  • rqt_graph可以查看节点之间的关系,由此,得知从feature_tracker节点开始

  • 在feature_tracker_node.cpp的mian函数里打个断点,F5就可以调试运行了

备忘

VSCODE快捷键

F2变量统一重命名后,Shift+Enter预览变量重命名的效果

Ctrl+Enter在下方一行插入

自定义copy line downCtrl+d

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值