vslame 14讲学习 1 ----sophus安装

博客作者在学习SLAM相关课程时遇到Sophus库编译问题,具体错误为在SO2构造函数中尝试对复数成员进行赋值操作时,编译器报'lvalue required as left operand of assignment'错误。通过查阅资料找到了解决方案,只需将源代码中的赋值语句改为方法调用形式即可修复。修改前后的代码对比展示了问题的解决办法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在学习14讲的时候第4讲安装sophus函数,使用书籍自带的3rd party的时候有错误
error: lvalue required as left operand of assignment 网上搜索碰到了靠谱的答案:

/home/xxx/Documents/vslam/slambook/slambook/3rdparty/Sophus/sophus/so2.cpp: In constructor ‘Sophus::SO2::SO2()’:
/home/xxx/Documents/vslam/slambook/slambook/3rdparty/Sophus/sophus/so2.cpp:32:26:
error: lvalue required as left operand of assignment
   unit_complex_.real() = 1.;
                          ^~
/home/xxx/Documents/vslam/slambook/slambook/3rdparty/Sophus/sophus/so2.cpp:33:26: 
error: lvalue required as left operand of assignment
   unit_complex_.imag() = 0.;

打开 Sophus/sophus/so2.cpp文件。

将:

 SO2::SO2() 
{ 
 unit_complex_.real() = 1.; 
 unit_complex_.imag() = 0.; 
 }

改成:

 SO2::SO2() 
{ 
   unit_complex_.real(1.); 
   unit_complex_.imag(0.); 
 }

这里主要是一个赋值的问题

原文链接:https://blog.youkuaiyun.com/Robot_Starscream/article/details/88132050

安装ROS Humble版(Software Foundation Release,通常指Hydro、Indigo、Jade等较早版本)的Sophus库,需要遵循一些基本步骤,因为Sophus是一个用于机器人学的外部开源库,不是ROS的核心包。以下是针对Ubuntu系统的一个简要指南: 1. **更新系统**: 首先,确保你的Ubuntu是最新的,运行 `sudo apt-get update` 和 `sudo apt-get upgrade`。 2. **安装必要的依赖**: 安装ROS Humble所需的开发工具和依赖项,比如: ``` sudo apt-get install ros-${distro}-desktop ros-${distro}-common ``` 将`${distro}`替换为你实际使用的ROS发行版名称,如`hydro`、`indigo`等。 3. **获取Sophus源码**: 由于Sophus不在标准的ROS仓库中,你需要从GitHub或其他官方源获取源码。访问 Sophus GitHub页面(https://github.com/orocos/orocos_kinematics_dynamics),克隆或下载最新版本的代码。 4. **构建安装**: 进入Sophus目录,然后按照项目的README文件指示配置CMake并编译。通常需要创建一个`ament_cmake`化的项目,例如: ``` cd /path/to/sophus mkdir build cd build colcon build --symlink-install ``` 5. **将 Sophus 添加到ROS路径**: 如果你想让ROS能够自动找到Sophus,需要将其添加到`AMENT_PACKAGE_PATH`环境变量中。你可以编辑`~/.bashrc`或`~/.bash_profile`,添加如下行: ```bash export AMENT_PACKAGE_PATH=$AMENT_PACKAGE_PATH:/path/to/sophus/build/install ``` 6. **重启终端**: 最后,关闭当前终端窗口,然后打开一个新的,以应用新设置。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值