![426c0f7207f49af97305ec7b2825b73e.png](https://i-blog.csdnimg.cn/blog_migrate/31e0bbce22a8a7d5c63e89cd6e026a1f.jpeg)
最近尝试自己写一遍基于优化的视觉惯性SLAM,先从简单的入手,通过识别Aruco标签作为视觉测量特征。本篇介绍了Gazebo仿真模型的搭建。
基于turtlebot3仿真世界模型进行了改动,在环境中加入Aruco标签。turtlebot3相关的仿真软件包安装参考[1]。
turtlebot3仿真软件包安装好之后,下一步制作aruco标签模型,这里参考了github上的一个模型[2],该模型中只提供了几个aruco标签,因此还需要根据他的模型制作自己的模型,主要是更换模型上的纹理图片,放上自己的aruco标签图片,然后改动模型中的一些参数名即可。
首先需要生成aruco标签码,opencv中包含了aruco标签的生成和检测。生成aruco标签的代码如下:
#include <opencv2/aruco.hpp>
#include <opencv2/opencv.hpp>
#include <sstream>
using namespace std;
int main()
{
for(int i=0; i < 20; i++)
{
cv::Mat markerImage;
cv::Ptr<cv::aruco::Dictionary> dictionary = cv::aruco::getPredefi