ch4 报错修正 Sophus使用

news/2024/5/22 3:08:01/文章来源:https://blog.csdn.net/weixin_50862344/article/details/126633519

ch4 报错& 修正

(1)

# 添加Eigen头文件
include_directories( "/usr/include/eigen3" )

(2)

#include "sophus/so3.hpp"
#include "sophus/se3.hpp"

(3)
请添加图片描述

大量报错但都与SO3,SE3有关

error: missing template arguments before ‘SO3_R’ error: ‘SO3_R’ was not declared in this scope
error: missing template arguments before‘SO3_updated’
error: ‘template<class Scalar_, int Options> classSophus::SE3’ used without template arguments

SO3这种数据类型应该是不存在的,可以声明为Sophus::SO3d 或者 Sophus::SO3.
SE3同理

(4)

error: no matching function for call to ‘Sophus::SO3::SO3(int, int, double)’

Sophus::SO3d SO3_v( 0, 0, M_PI/2 );  // 亦可从旋转向量构造

似乎是这种构造方式没有了

(5)

cout<<"SO(3) from matrix: "<<SO3_R<<endl;

上面这个代码

error: no match for ‘operator<<(operand types are ‘std::basic_ostream<char>and ‘Sophus::SO3d’ {aka ‘Sophus::SO3<double>})

修改成:

cout<<"SO(3) from matrix: "<<SO3_R.log()<<endl;

总之<<SO3_R之类的全部加上.log()即可,输出SO(3)时,以so(3)形式输出

(6)
请添加图片描述

在CMakeLists.txt加入

target_link_libraries( useSophus ${Sophus_LIBRARIES} fmt)

应该要放到add_executable( useSophus useSophus.cpp )后面不然会报这种错

CMake Error at CMakeLists.txt:4 (target_link_libraries):
Cannot specify link libraries for target “useSophus” which is not built by
this project.

Sophus使用

ch4代码可以学习这篇,重复的内容、就不写了
在CMakeLists.txt中

# 为使用 sophus,您需要使用find_package命令找到它
find_package( Sophus REQUIRED )
include_directories( ${Sophus_INCLUDE_DIRS} )
target_link_libraries( 程序名 ${Sophus_LIBRARIES} fmt)

1.hat 为向量到反对称矩阵

Sophus::SO3d::hat(so3)

2.vee为反对称到向量

Sophus::SO3d::vee( Sophus::SO3d::hat(so3) )

3.增量扰动模型的更新

Eigen::Vector3d update_so3(1e-4, 0, 0); //假设更新量为这么多
Sophus::SO3d SO3_updated = Sophus::SO3d::exp(update_so3)*SO3_R;

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

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

定制qga(作业截图)

文章目录一、qga介绍二、证明qga命令可以正常使用三、创建qga安装包四、总步骤一、qga介绍 qemu guest agent简称qga&#xff0c; 是运行在虚拟机内部的一个守护程序&#xff08;qemu-guest-agent.service&#xff09;&#xff0c; 他可以管理应用程序&#xff0c;执行宿主机发…

声呐直线阵正交混频实验(HEU信息与信号处理创新实践项目一)

写在前面 这个实验原要求是要实现 969696 通道的正交混频变换&#xff08;后来老师说只要不是单通道都行&#xff09;&#xff0c;因此必须使用 FIRFIRFIR IP核&#xff08;手搓FIR一两个通道还行&#xff0c;96通道就太费劲了&#xff09;&#xff0c;所以实验成功的关键就是…

BNU002期-学术沙龙-写好综述

文章目录综述的介绍什么是综述为什么要读综述为什么要写综述怎样写综述综述案例中的问题对于综述写作问题的分类如何避免综述写作问题讨论综述问题框架环节并完善做个升华&#xff1a;谈谈科研和读综述的乐趣本文引用资料的链接补充综述的介绍 本文围绕 什么是综述 我创设这…

微服务基础---认识微服务

1.1认识微服务 1.1.1微服务架构演变 单体架构 将业务的所有功能都集中在一个项目中进行开发&#xff0c;打成一个包部署. 优点&#xff1a;架构简单、部署成本低缺点&#xff1a;耦合度高 分布式架构 根据业务功能对系统进行拆分&#xff0c;每个业务模块作为独立项目开发&am…

软件流程和管理(八):Ethics

目录 1. Ethics 1.1 道德&#xff08;Ethics&#xff09;是什么&#xff1f; 1.2 关于计算机伦理的错误假设 1.3 为什么你要关心建立道德技能和知识 1.4 信息技术的道德责任 1.5 澳大利亚计算机协会的道德准则 1.6 组织中的道德是很重要的 1.7 道德&#xff1a;实用指…

zephyr线程生命周期

ephyr中线程是使用CPU的最小单位&#xff0c;线程从创建后由zephyr内核进行调度&#xff0c;根据运行和等待资源的状况在几个状态中切换&#xff0c;直到线程终止退出生命周期。 线程状态 线程在其生命周期中有下面6种状态&#xff1a; New 创建&#xff1a;线程被创建起来但…

实验2:Open vSwitch虚拟交换机实践

(一)基本要求1.ovs-vsctl基础操作实践:创建OVS交换机,以ovs-xxxxxxxxx命名,其中xxxxxxxxx为本人学号。在创建的交换机上增加端口p0和p1,设置p0的端口号为100,p1的端口号为101,类型均为internal;为了避免网络接口上的地址和本机已有网络地址冲突,需要创建虚拟网络空间…

Redis实现消息队列(双端队列的模式,发布订阅模式)

文章目录 1 采用双端队列的模式1.1 入队出队操作1.2 生产者编写1.3 消费者编写1.4 测试2 采用发布订阅模式2.1 编写生产者2.2 编写消费者2.3 测试​ 本部分,我们使用 redis实现消息队列的功能,采用 redis实现消息队列主要有两种方式:采用 redis自带双端队列实现;采用 r…

【牛客刷题-算法】NC7 买卖股票的最好时机(一)

个人主页&#xff1a;清风莫追 系列专栏&#xff1a;牛客刷题——数据结构与算法 推荐一款面试、刷题神器牛客网&#xff1a;&#x1f449;点击开始刷题学习&#x1f448; 文章目录1.题目描述2.算法设计思路3.代码实现4.运行结果结束语&#xff1a;1.题目描述 描述 假设你有一…

Android移动应用开发之ImageView、ProgressBar和Notification的一些简单使用

文章目录主要文件目录MainActivity:NotificationActivitya.pngic_baseline_account_box_24.xmlactivity_main运行主要文件目录 MainActivity: 这里主要用于按钮响应处理和通知处理 package zufe.scq.hunter;import androidx.appcompat.app.AppCompatActivity; import android…

Letcode动态规划专题-困难

10. 正则表达式匹配 42. 接雨水 1.传统方式-按照行的方式计算 整个思路就是&#xff0c;求第 i 层的水&#xff0c;遍历每个位置&#xff0c;如果当前的高度小于 i&#xff0c;并且两边有高度大于等于 i 的&#xff0c;说明这个地方一定有水&#xff0c;水就可以加 11。 如…

pytest测试框架2【控制用例的执行顺序】

1.pytest加载所有的测试用例都是乱序的,如果想指定用例的顺序,可以使用pytest-ordering插件,指定用例的执行顺序只需要在测试用例的方法前面加上装饰器@pytest.mark.run(order=[num])设置order的对应的num值,它就可以按照num的大小顺序来执行 应用场景:有时运行测试用例需…

03(C++二级)

1.函数不可嵌套定义,但可以嵌套调用。 2.静态数据成员必须在类外初始化,使用类名调用。 初始化格式: <数据类型><类名>::<静态数据成员名> = <值> 3.C++不能重载的: :: . * ->* ?: 4.

普通人做网赚在网上依旧是个好机会

有一个朋友和我说&#xff0c;现在网上不怎么好赚钱了&#xff0c;我想去干实体赚钱&#xff0c;听他说这个话&#xff0c;我笑了&#xff0c;实体行业才没有你们所看到的那么简单的&#xff01;作为普通人互联网上搞钱&#xff0c;未来几年依旧会是机会的&#xff01;以前我只…

教程图文详解 - 网络互联与互联网(第六章)

一 前言 多个网络相互连接组成范围更大的网络叫互联网。由于各种网络使用的技术不同&#xff0c;所以网络互联技术就是在不改变原来的网络体系结构的前提下&#xff0c;把一些异构型的网络互相连接构成统一的通信系统&#xff0c;实现更大范围的资源共享。 二 网络互联设备 …

org.springframework.core.annotation.AnnotationUtils.clearCache()V 错误解决(SSM项目)

org.springframework.core.annotation.AnnotationUtils.clearCache 错误解决问题描述解决办法方法一方法二Success问题描述 之前在写了一些 SSM 的项目之后, 自己搭了一个简单的 CRUD邮件注册和登录 的脚手架,前几天运行过一次结果良好, 今天想迁移一部分东西到 SpringBoot 的项…

【C++】vector的模拟实现

目录 前言&#xff1a;vector的简单介绍 一、Member variables 二、Iterators 三、Capacity 1、size 2、capacity 3、reserve 4、resize 四、Modifiers 1、push_back 2、pop_back() 3、insert 4、erase 5、swap 六、Element access 1、[ ]操作符重载 2、front …

CentOS 7.6基于Nginx静态服务器搭建个人网站

1 前言 之前文章 建站过程中的踩坑记录&#xff1a;自定义域名、百度收录与备案 中提到&#xff0c;我将会把个人网站从 GitHub Pages 迁移到腾讯云服务器&#xff0c;本文就针对这个过程做个笔记。 备注&#xff1a;我的个人网站是使用 VuePress 生成的静态网页。 2 安装 Ngi…

mysql.help_topic:join后面on居然还可以用 < 连接实现列转行

引言(遇到问题) 今天写代码&#xff0c;看到了如下SQL&#xff0c;直接怀疑他是不是语法错了&#xff0c;on后面不都是等于号吗&#xff1f; SELECTa.bname,SUBSTRING_INDEX( SUBSTRING_INDEX( a.bname, ,, b.help_topic_id 1 ), ,, - 1 ) AS new_book_name FROMbook aJOIN…

手把手教你电机FOC控制【一】

手把手教你电机FOC控制【一】 文章作者: 范子琦 文章链接: https://www.robotsfan.com/posts/d99d1c1a.html 版权声明: 本博客所有文章除特别声明外&#xff0c;均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 范子琦的博客&#xff01; FOC框架引入 三向电机&#xff0c;分…