首先建立一个工作空间,取名为lf_ws
在里面建立一个src文件夹,src文件夹里面应该包含liorf和liorf_localization这两个文件夹
新建一个终端(Ctrl+Alt+T),依次输入:
cd lf_ws
catkin_make
不出意外,这一步会报错,原因是未下载GTSAM
不过安装GTSAM不麻烦,就是时间有点长:
Clone源码或者直接下载安装包,这里提供直接下载安装包的下载连接:
Releases · borglab/gtsam · GitHub
可以选择自己需要的版本,这里我选择了gtsam-4.2.0
打开终端:
$ cd gtsam-1.X.X #替换成自己的目录
$ mkdir build
$ cd build
$ cmake ..
$ make check
$ sudo make install
漫长的半个小时后……
重新catkin_make,可能还会报错
这里我们需要安装GeographicLib,到网上找个靠谱的教程跟着一步步去做即可
此外,需要修改下源码(false改为ture):
好了,重新catkin_make,编译成功!
接着输入:
source devel/setup.bash
roslaunch liorf run_beidou_six.launch
这时可能会报错process has died
原因是库文件libmetis.so的位置,它是一个运行时库,但是当应用程序查找它时,它的位置不在预期的目录中。所以我们需要把libmetis-gtsam.so复制到ros文件中
cd /usr/local/lib/
sudo cp libmetis-gtsam.so /opt/ros/noetic/lib/
(注:若还是报错,建议重新编译安装GTSAM)
重新执行以下指令:
roslaunch liorf run_beidou_six.launch
接着在all_2023-12-25-02-59-36.bag所在的位置打开终端,运行此bag:
rosbag play all_2023-12-25-02-59-36.bag
OK!跑起来了!
等待其走完所有路线,如下图:
运行完后会自动生成PCD文件
PCD(Point Cloud Data):一种常用的点云数据格式,用于存储和处理三维数据点云
在启动定位之前,需要设置话题的名字,打开终端,输入rostopic list可以找到
在liorf_localization/src/liorf_localization/config/localization.yaml里的topics改为/IMU_data即可
新建终端:
cd lf_ws
catkin_make
source devel/setup.bash
roslaunch liorf_localization run_localization.launch
此时会弹出RViz界面
点击工具栏里的2D Pose Estimate,再点击三维坐标系(即图片中的红绿蓝三个轴),设置初始姿态:
此时终端中会显示原点坐标位置
接着在all_2023-12-25-02-59-36.bag所在的位置打开终端,运行此bag:
rosbag play all_2023-12-25-02-59-36.bag
跑起来后,三维坐标系即按照原来的路线运动
输入rqt_graph,查看ROS计算图(表示各个节点的关系):
待其结束后,ok,finish!