[C++]octomap安装后测试

news2025/1/6 20:50:06

测试环境:

vs2019

octomap==1.9.6

release x64

代码:

#include <octomap/octomap.h>
#include <octomap/OcTree.h>

using namespace std;
using namespace octomap;
void print_query_info(point3d query, OcTreeNode* node) {
    if (node != NULL) {
        cout << "occupancy probability at " << query << ":\t " << node->getOccupancy() << endl;
    }
    else
        cout << "occupancy probability at " << query << ":\t is unknown" << endl;
}
int main(int argc, char** argv) {

    cout << endl;
    cout << "generating example map" << endl;
    OcTree tree(0.1);  // create empty tree with resolution 0.1
    // insert some measurements of occupied cells
    for (int x = -20; x < 20; x++) {
        for (int y = -20; y < 20; y++) {
            for (int z = -20; z < 20; z++) {
                point3d endpoint((float)x * 0.05f, (float)y * 0.05f, (float)z * 0.05f);
                tree.updateNode(endpoint, true); // integrate 'occupied' measurement
            }
        }
    }
    // insert some measurements of free cells
    for (int x = -30; x < 30; x++) {
        for (int y = -30; y < 30; y++) {
            for (int z = -30; z < 30; z++) {
                point3d endpoint((float)x * 0.02f - 1.0f, (float)y * 0.02f - 1.0f, (float)z * 0.02f - 1.0f);
                tree.updateNode(endpoint, false);  // integrate 'free' measurement
            }
        }
    }
    cout << endl;
    cout << "performing some queries:" << endl;
    point3d query(0., 0., 0.);
    OcTreeNode* result = tree.search(query);
    print_query_info(query, result);
    query = point3d(-1., -1., -1.);
    result = tree.search(query);
    print_query_info(query, result);
    query = point3d(1., 1., 1.);
    result = tree.search(query);
    print_query_info(query, result);
    cout << endl;
    tree.writeBinary("simple_tree.bt");
    cout << "wrote example file simple_tree.bt" << endl << endl;
    cout << "now you can use octovis to visualize: octovis simple_tree.bt" << endl;
    cout << "Hint: hit 'F'-key in viewer to see the freespace" << endl << endl;
}
 

结果:

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/567899.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

使用JS来实现轮播图的效果

最好今天分享一个使用JS制作的轮播图效果 个人名片&#xff1a; &#x1f60a;作者简介&#xff1a;一名大一在校生&#xff0c;web前端开发专业 &#x1f921; 个人主页&#xff1a;几何小超 &#x1f43c;座右铭&#xff1a;懒惰受到的惩罚不仅仅是自己的失败&#xff0c;…

mjpg-streamer实现细节分析

mjpg-streamer实现细节分析 文章目录 mjpg-streamer实现细节分析输入初始化input_initinit_videoIninit_v4l2 启动摄像头输入线程cam_threaduvcGrabcompress_yuyv_to_jpegmemcpy_picture 输出初始化output_init启动摄像头输出线程server_thread设置 SO_REUSEADDR 选项。设置 IP…

数据库 查询执行(1) 多路归并

用户输入一个sql语句 sql解析器 将sql语句转换成一个 关系代数 但是同时也会附加一些 操作 (下方未体现)。 外存排序 原理 外部数据元素太多无法一次性的读入内存 通常设计者 会让磁盘块的大小和缓冲区的大小相等 。 首先构造初始的归并段 分别从横向和纵向 体会这…

单片机GD32F303RCT6 (Macos环境)开发 (二十七)—— 蓝牙透传模块HC-08的调试

蓝牙透传模块HC-08的调试 1、模块为汇承HC-08&#xff0c;GD32我们之前已经把usart1 配置成了dmaidle的方式接收数据&#xff0c;我们的hc-08模块连接的就是这一路usart。 所以&#xff0c;与GD32的连接比较简单&#xff0c;如下图&#xff1a; GD32 HC-08 TX(PA2 ) RX RX(PA3…

弘基笔记本电脑怎么使用U盘重装系统?

弘基笔记本电脑怎么使用U盘重装系统&#xff1f;有的用户的弘基笔记本电脑使用过程中出现了蓝屏的情况&#xff0c;系统频繁的出现蓝屏问题导致自己的使用受到了影响&#xff0c;那么这个情况怎么去进行问题的解决呢&#xff1f;一起来看看以下的解决方法吧。 准备工作&#xf…

挂耳式蓝牙耳机排行,四款挂耳式耳机盘点

现在耳机的更新换代也是相当快的&#xff0c;普通的入耳式耳机在长期佩戴的舒适度方面饱受诟病&#xff0c;所以新近流行的开放式耳机很好的避免这个问题&#xff0c;它拥有不入耳不伤耳佩戴设计&#xff0c;解放双耳的同时也更不易丢失。面对市面上款式多样的开放式耳机&#…

Qt基础 自定义消息框

ps&#xff1a;忘记copy那位大佬tip代码了&#xff0c;后面新增可以点选的控件 #pragma once#include <QWidget> #include <QHBoxLayout>#define SHADOW_WIDTH 15 // 窗口阴影宽度; #define TRIANGLE_WIDTH 15 // 小三角的宽度; #de…

优化 docker 容器性能慢问题

问题&#xff1a; 部署环境下tomcat容器启动缓慢&#xff0c;耗时10多分钟&#xff0c;性能较差&#xff0c;同时后端服务响应较慢。 排查&#xff1a; 宿主环境&#xff1a; docker使用情况&#xff1a; 对比结果CPU、内存使用率都不高。 针对docker环境进行检查&#xff…

浅析变电站无人值守管理的模式与特点

安科瑞虞佳豪 近年来&#xff0c;随着电网的发展&#xff0c;变电站实行无人值班管理模式已成为电网的发展方向。自1998年始&#xff0c;辉县市就开始了变电站综合自动化改造&#xff0c;截止目前全局所属24座变电站&#xff08;其中35kV19座、110kV5座&#xff09;已全部实现…

对话 ONES 联合创始人兼 CTO 冯斌:技术管理者如何打造一支自驱型团队?

熟悉冯斌的人&#xff0c;大都直接称呼其网名 Kid&#xff0c;包括他在 ONES 的同事。人如其名&#xff0c;Kid 的寓意就是「用孩子的眼光看世界」&#xff0c;返璞归真的思维方式才能发现新大陆。正如毕加索说的&#xff1a;「我一生都在向孩子学习。」 在 ONES 联合创始人兼…

基因注释R包——annotatr介绍

目录 简介安装annotatr包使用annotatr进行注释CpG注释基因注释自定义注释读取基因组区域注释区域 简介 下一代测序实验和生物信息学管道产生的基因组区域在注释基因组特征时更有意义。出现在外显子或增强子中的SNP可能比出现在基因间区域的SNP更令人感兴趣。有趣的是&#xff…

Tomcat安装与启动和配置

目录 Tomcat 简介 Tomcat 安装 Tomcat 启动和配置 文件夹作用 启动&#xff0c;关闭Tomcat&#xff1b; 常见问题 配置 环境变量 IDEA中配置Tomcat Tomcat 简介 Tomcat 服务器是一个免费的开放源代码的Web 应用服务器&#xff0c;属于轻量级应用服务器&#xff0c;在…

CSDN铁粉攻略

欢迎关注博主 Mindtechnist 或加入【Linux C/C/Python社区】一起学习和分享Linux、C、C、Python、Matlab&#xff0c;机器人运动控制、多机器人协作&#xff0c;智能优化算法&#xff0c;滤波估计、多传感器信息融合&#xff0c;机器学习&#xff0c;人工智能等相关领域的知识和…

DataX-一款稳定高效的数据同步工具-从安装、启动、配置、使用总结,看这篇让你一步到位

前言 大数据部门现阶段ETL按同步方式分为两种&#xff1a; 实时同步&#xff1a;DTS、CloudCanal离线同步&#xff1a;dataworks-DI节点 但CloudCanal在使用中出现了部分问题&#xff0c;归纳总结后主要为以下几点&#xff1a; 部分使用场景获取不到binlog点位停止任务&…

【面试题】中高级前端工程师都需要熟悉的技能--前端缓存

前端缓存 一、前言二、web缓存分类1. HTTP缓存&#xff1a;2. 浏览器缓存&#xff1a;3. Service Worker&#xff1a;4. Web Storage缓存&#xff1a;5. 内存缓存&#xff1a; 三、http缓存详解1、http缓存类型a. 基于有效时间的缓存控制&#xff1a;b. 基于资源标识的缓存&…

从复杂到简单:通用CRM客户管理系统改变企业管理方式

一、概述 CRM客户管理系统是通过对客户生命周期的有效管理&#xff0c;是一种重要的客户管理工具&#xff0c;可以帮助企业更好的了解客户的需求&#xff0c;提升客户满意度&#xff0c;优化销售流程、提高销售业绩等&#xff0c;随着数字经济的不断发展和普及&#xff0c;CRM…

挂耳式蓝牙耳机什么牌子好?口碑最好的挂耳式耳机

耳机的种类型号越来越繁杂&#xff0c;相比头戴式耳机和入耳式耳机&#xff0c;现在最流行的开放式耳机在减轻机体重量的同时更考量到佩戴舒适度&#xff0c;特别是运动时候&#xff0c;因其不入耳不伤耳设计&#xff0c;既稳固又舒适。考虑到大家想挑选到自己的心仪款式又能顾…

分享5个堪称神器的效率软件

今天再来推荐5个超级好用的效率软件&#xff0c;无论是对你的学习还是办公都能有所帮助&#xff0c;每个都堪称神器中的神器&#xff0c;用完后觉得不好用你找我。 1.键盘映射工具——KeyTweak KeyTweak是一款键盘映射工具&#xff0c;它可以让你自定义键盘上的每一个按键&am…

由于找不到vcomp110.dll无法继续执行此代码怎么修复

vcomp110.dll是Microsoft Visual C的一个库文件。这个库文件是在安装了Microsoft Visual C 2012 Redistributable Package之后自动安装的。vcomp110.dll是编写多线程程序所必需的&#xff0c;它包含了相关的函数和数据结构&#xff0c;可以帮助开发人员更好地利用计算机的多核处…

优质财务共享产品的十大特征

特征一&#xff1a;中台化应用 多业务系统数据源&#xff0c;包括交易平台、业务云、其他来源加全面事项库&#xff0c;综合实现能力复用、数据资源共享&#xff0c;为数据服务打基础。 特征二&#xff1a;多模式业务接入 统一业务数据采集入口、开放灵活的特性、支持多模式接…