WiFi SLAM包配置记录

SLAM论文精读系列:(第二篇)通过Wi-Fi传感增强视觉SLAM的室内应用 本篇博文由 南湖游子 原创,转载请注明出处! 文献来源: Zakieh H, Charuvahan A, Anand B, et al. Augmenting visual SLAM with Wi-Fi sensing for indoor applications[J]. Autonomous Robots (2019) 43:2245–2260. 文献内容 : 通过Wi-Fi传感增强视觉SLAM的室内应用 阅读笔记: 标题:通过Wi-Fi传感增强视觉SLAM的室内应用 一、对Wi-Fi传感进行 阅读详情

WiFi SLAM包配置记录

readme的内容:

1. go to src/exlib/carmen/src and run ./configure,
2. when asked to select the laser info, please use NO,
3. when asked to choose the robot, select 6
4. compile this folder
5. go back to exlib and try to compile the rest #编译剩下的其他包 
6. wifi slam is located in carmenx/ambisense_slam/example_wifi_slam

编译顺序:

wifislam-src-exlib-carmen
安装csparse
wifislam-src-exlib-g2o
wifislam-src-exlib-GeographicLib-1.44
wifislam-src-exlib-gzstream
wifislam-src-exlib-libdistance-0.2.2

wifislam-src-exlib-newmat
#这个包会遇到缺少文件的问题,缺少的文件放在missingfiles里了
wifislam-src-exlib-xstream 
# 这个包刘老师给的编译不了,修改不来makefile 找了一个可以编译的版本放在missingfiles里了
wifislam-src-exlib
wifislam-src-utils
#这里编译完之后,会在wifislam-lib里出现一个静态库需要放到/usr/local/lib/下
wifislam-src
# 不用管编译是否成功 虽然写文章的时候编译成功了 但是不能install
wifislam-src-carmenx # 好像上面的编译成功了这条就编译成功了

1.carmen

在这里插入图片描述在这个界面运行./configure

新系统会需要安装几个包:GTK2.0 、Canlib
GTK2.0安装:

sudo apt-get install build-essential
#非必须 sudo apt-get install gnome-core-devel 
sudo apt-get install pkg-config
sudo apt-get install devhelp
sudo apt-get install libglib2.0-doc libgtk2.0-doc
apt-get install glade libglade2-dev #非必须
sudo apt-get install libgtk2.0-dev
# 或者 apt-get install libgtk2.0*,

安装Kvaser Canlib:

sudo apt-get install build-essential 
wget --content-disposition "https://www.kvaser.com/downloads-kvaser/?utm_source=software&utm_ean=7330130980754&utm_status=latest"
# 把这个包加入到MissingFiles里了
tar xvzf linuxcan.tar.gz
cd linuxcan
make 
sudo make install 

然后会提示你有些库还是没有,其实不安装也可以,如果非要安装就按照下面的步骤一步一步来:
在这里插入图片描述

首先是 tcpd.h :

sudo apt-get install libwrap0-dev

然后是 jpeglib.h:
下载地址 选择 jpegsrc.v9e.tar.gz 我也放入MissingFiles里了
然后解压后:

./configure
sudo make
sudo make install

Wand库:

sudo apt-get install libmagickwand-dev

Java库安装了也不行不知道怎么安装所以跳过…
安装之前需要先安装bison、FLEX:
先bison再FLEX
bison:

# 法1:
sudo apt-get install bison

# 法2: 下载后编译安装

FLEX:

#法1:
sudo apt-get install flex

#法2:下载解压编译
./autogen.sh
./configure
sudo make
sudo make install

doxygen:

sudo apt-get install git
sudo apt install cmake
git clone https://github.com/doxygen/doxygen.git
# 我也把这个包放进MissingFiles了
# 在doxygen解压的目录下:
cd doxygen/
mkdir build
cd build
cmake -G "Unix Makefiles" ..
make -j12
make install

然后是SWIG:
需要先安装pcre:

# 文件在missingfiles里,需要下载的话用迅雷打开ftp链接即可
./configure
sudo make 
sudo make install

swig:

# 文件在missingfiles里,也可以自己下载
./configure
sudo make 
sudo make install

其他前置库:
boost库:

sudo apt-get install libboost-all-dev

mysql库:

sudo apt-get install libmysql++-dev

这个包其实挺好编译的:

./congfigure
# 让你选是否安装python二进制文件时选否
# 让你选是否安装python二进制文件时选否
# 让你选是否安装python二进制文件时选否 否则会报错
# 然后激光巴拉巴拉也选否
# 然后机器人型号选6
sudo make ##这里尽量不要多线程make 会报错
sudo make install

其它的也可以按照他们的指定的readme就编译好了
但是就是newmat包 太老了 很多文件缺失 而且编译会出错
在这里插入图片描述

2.g2o

先安装依赖:

sudo apt-get install cmake
sudo apt-get install libeigen3-dev
sudo apt-get install libsuitesparse-dev
sudo apt-get install qtdeclarative5-dev
sudo apt-get install qt5-qmake
sudo apt-get install libqglviewer-dev #换成了 libqglviewer-headers

然后安装csparse:
去下载一个 suitesparse包:下载地址 也可以用missingfiles里的
下载下来之后 只在csparse包里 编译
在这里插入图片描述编译命令:

make library
# 然后进入 Lib文件夹
cd Lib/
sudo cp libcsparse.a /usr/local/lib/

这样可以只编译源文件 就会快一些 编译完之后 会生成

mkdir build
cd build
cmake ../
sudo make -j6 #加速编译
sudo make install

偶尔会出现的问题:
1.如果没有安装libsuitesparse-dev 或 csparse包 可能会导致最后编译不通过
解决方法:重新安装一遍依赖然后重新编译一次g2o
2.编译时出现c++: internal compiler error: Killed (program cc1plus)
问题分析:Ubuntu虚拟机内存不足
解决办法:加内存

3.GeographicLib-1.44

./congfigure
sudo make -j6 
sudo make install

4.gzstream

sudo make 
sudo cp libgzstream.a /usr/local/lib/

5.libdistance-0.2.2

sudo make
sudo cp libdistance.a /usr/local/lib/

6.xstream

# 使用missingfiles里的替换掉原来工程里的
sudo make
cd src/.lib/
sudo cp libxstream.a /usr/local/lib/

7.newmat

安装gcc4.8因为需要

sudo apt-get install gcc-4.8   
sudo apt-get install g++-4.8  

首先补充缺失的文件:

sudo apt-get install libnewlib-dev
sudo ln -s /usr/include/locale.h /usr/include/xlocale.h
sudo ln -s /usr/include/newlib/sys/_sigset.h /usr/include/x86_64-linux-gnu/bits/sigset.h
sudo cp huge_val.h huge_valf.h huge_vall.h inf.h nan.h /usr/include/x86_64-linux-gnu/bits/

然后再把几个特定文件编译好:

g++ -c newmat9.cpp -o newmat9.o
g++ -c newfft.cpp -o newfft.o
g++ -c myexcept.cpp -o myexcept.o
g++ -c newmatex.cpp -o newmatex.o
sudo cp newmat9.o newfft.o myexcept.o newmatex.o .obj/
### 编译好之后放进`/.obj`文件夹

编译好之后的静态库文件会出现在:/wifislam/lib/文件夹下

sudo cp libnewmat.a /usr/local/lib/

至此,exlib下的全部编译安装完了,因此需要到exlib下make一下,不管成功或失败


然后,按照前面编译顺序,依次往下编译即可,编译完成之后就可以使用wifislam了

关于 global.h没有的方法:

是因为在deepin下 没有mysql的包导致的,解决方法:
利用apt-cache search libmysql 检查安装源中类似的包
然后安装libmysql++-dev即可 :sudo apt-get install libmysql++-dev

关于编译WiFislam时 缺少libcsparse包

关于xstream.a

法1:直接下载一个可以编译的包 直接去github上好像就可以搜到 然后把编译成功的 .a文件放到/usr/local/lib里面
补充:已经把可以编译通过的包放进missingfiles了
法2:直接下载.a文件放到文件夹/usr/local/lib下

最后编译

在这里插入图片描述
大功告成。

总结

后来发现,主要的方法就是把各个小包编译成功后生成的库文件放到/usr/local/lib 文件夹下 就可以编译成功了。

其他:有缺失的linux文件(库)可以上这个链接寻找一下

关于slam 什么是SLAM?机器人在未知环境中,要实现智能化需要完成三个任务,第一个是定位(Localization),第二个是建图(Mapping),第三个则是随后的路径规划(Navigation)。   之前地平线的高翔博士用这样一句话概括SLAM的释义。不过实际生活中的SLAM都是和激光雷达或者单目/双目摄像头结合的形式出现在我们面前的,有时甚至跟更多的传感器融合,这让很多人觉得这个技术不是一两句话能 阅读详情

相关推荐

树莓派4安装ros和opencv以及添加包的终极教程

现在是2019年10月,由于项目需要要在一个小型机器上跑ros,由于3b+的性能跑SLAM还是不太够,于是给老板申请了树莓派4,准备在这上面把项目环境搭起来,于是开启了一周的噩梦,因为树莓派4居然不能装Ubuntu mate,于是只能在debianpi这个蛋疼系统下从源安装ros,最后终于历经九九八十一难把ros加opencv和其他一些包搭好了,特此记录! I have suffered it, ...

Supdan的技术博客 2549

Wifi个人定位系统的二次革命

相信谷歌纵横Latitude不少朋友已经玩过了,可以让您更方便地查找到他们的位置,更容易地与朋友们交通与沟通。然而,GPS卫星定位的精确度一直不如人意,几十米的误差,足以让您错过重要的约会。如果说GPS卫星定位,是一次科技的进化,那么接下来您看到的Wifi个人定位系统,将是定位的再一次革命。在Wifi个人定位之前,国内的网络运营商曾经推出过AGPS定位,依靠手机基站,进一步提升定位的精

兼容并蓄终宽阔,若谷虚怀鱼自游 921

【智能小车】一、树莓派与STM32的配置

0、整体结构与功能模块 1、树莓派刷写镜像 2、无显示器配置wifi并开启ssh 3、配置samba 4、配置STM32控制板 5、底盘结构

PoBH的博客 7582

WiFiSLAM技术的特点

[导读]如果能将WiFiSLAM技术应用于iPhone,内置的传感器可对行走和转弯路线进行测量,就可以绘制出建筑物内地图。 几天前,苹果收购了室内地理位置服务创业公司WiFiSLAM。由于这家公司迅速关闭了自己的网站,苹果也没有立即公布收购之后的计划,因此这笔交易引起了广泛的猜测。 不过幸好我们找到了WiFiSLAM在一次Geo Meetup活动上发布的视频介绍片,获得了W

myxmu的专栏 3588

SIwave学习记录:电热耦合仿真

SIwave电热耦合仿真

m0_68174736的博客 2333

No Target Connected 错误时的一种情况

STM32的SWD烧录模式No Target Connected 错误的一种情况 STM32的SWD烧录模式No Target Connected 错误时的一种处理情况 这是我第一次烧板子的时候遇到的问题,在给板子download的时候出现了“No Target Connected”的错误,这里讲一种解决方法。不一定适用于全部状况,但是可以作为一种纠错方法。 打开 Options for Target… 1.首先点击Options for Target…这个像魔棒一样的按键打开,会出现这个页面 2.点击

Logan_CodeGou的博客 1万+

tcpwrap.c:16:20: fatal error: tcpd.h: 没有那个文件或目录

手工编译vsftpd报错,提示tcpwrap.c:16:20: fatal error: tcpd.h: 没有那个文件或目录 gcc -c postprivparent.c -idirafter dummyinc gcc -c logging.c -idirafter dummyinc gcc -c str.c -idirafter dummyinc gcc -c netstr.c -idirafter dummyinc gcc -c sysstr.c -idirafter dummyinc gc

elimuzi的博客 1923

双翌视觉系统配合机械手大视野定位案例(单目标带角度抓取)

一、定位原理概述 1.系统构架 视觉定位系统采用正向打光方式,光源在机械手上方,CCD从上往下拍摄,进行图像分析定位。相机将计算出的像素坐标转换为机械手的物理坐标,视觉软件与机械手进行网口通讯,将视野内物料的物理坐标发送给机械手,机械手抓取物料放在指定工位。 2.相机标定概述 系统采用宫格标定确定像素坐标和物理坐标一一对应关系,同时利用3点或者多点旋转标定求出旋转中心 系统采用宫格标定,自定义行列数和间距及旋转角度,通过机械手发送的当...

weixin_51554164的博客 2170

智能手机基于众包的室内定位

Smartphones based Crowdsourcing for Indoor Localization作者摘要1 介绍2 相关工作无线定位 作者 Chenshu Wu, Student Member, IEEE, Zheng Yang, Member, IEEE, and Yunhao Liu, Senior Member, IEEE 摘要 室内定位对于一系列广泛的应用具有重要意义,在过去...

qq_28032693的博客 1754

【SEW-伺服电机-Profinet-io通讯控制——伺服配置】

SEW-伺服电机-Profinet-io通讯控制——伺服配置一、本次使用配置说明编写经历受国际形式与疫情影响相关资料查询阅读测试验证不易二、伺服配置流程1.基本准备条件2.硬件-电路连接3.设备在线连接4.软件-参数配置5.手动运行测试6.PN-IO自动控制配置8.PLC1200硬件组态9.PLC软件编程10.调试故障分析三、总结四、参考 一、本次使用配置说明编写经历 受国际形式与疫情影响 由于近期受国际形式影响以及全球疫情影响,Siemens等常用产品供货期与供货量严重受限,项目上不得不采取选用其它替代产

qq_39024187的博客 1万+

如何从零开始写小程序

看了这篇文章,即使让我现在就从头写一个能够正常运行的小程序,也没有原本想象中的那么难了。 在本文中,我们将会以一个具体的小程序为例,带领大家从零到一完成一个小程序的开发流程,并将这个小程序上传到 FinClip.com 进行小程序提审与上架操作。 我们新建了一个叫做「HelloWorld」的小程序,FIDE 在初始化小程序项目时,会自动在项目目录中补充对应所需要的项目文件。那不妨让我们先从小程序目录下的配置文件开始,逐渐揭开小程序的面纱。 使用 FIDE 编辑小程序 1. 认识 json 文件 在小程序项目

POHOU23的博客 4393

<<Slam十四讲>> ch13环境安装

笔者自己惨痛经验,系统安装不下10次来回。所以想把这些完整过程记录下来,供大家学习和参考。 1:首先安装git: sudo apt install git 2:下载slam源码: git clone https://github.com/gaoxiang12/slambook2 3:安装IDE工具,clion:(笔者用的,感觉还不错,也可以是其它的) CLion 官方下载地址是:Download CLion: A Smart Cross-Platform IDE for C and C++

weixin_66299220的博客 5843

中国1990-2021连续30年土地利用CLCD数据分享

CLCD(China Land Cover Dataset)数据集是由武汉大学黄昕老师基于Google Earth Engine上的335,709景Landsat数据制作的中国年度土地覆盖数据集。为了提高CLCD的时空一致性,还提出了一种包含时空滤波和逻辑推理的后处理方法。该数据集最大的优势在于每年30米的土地利用分类结果,且连续覆盖了30年时间。相比其他产品如GLC_FCS30、Global30、AGLC2000_2015、FROM-GLC10、ESA10、ESRI10等,CLCD在时间分辨率上更高。

qq_48539301的博客 1万+

SLAM入门+典型SLAM应用及解决方案

本人初入SLAM小白,目前没有能力发表自己的独到见解,但乐于发现一些好的文章供大家参考,希望对大家有帮助。 随着AR/VR行业的兴起,以及智能移动机器人、无人驾驶的发展,行业对SLAM技术的需求出现了井喷。另一方面,随着传感器技术的发展,计算资源的丰富以及算法的进步,SLAM技术本身也进入了一个从算法到产品过渡的阶段。行业中已经出现了一些以SLAM技术为主的产品,但离进入千家万户还有一定的距离。本文将从SLAM的基本技术,典型SLAM的应用以及目前行业中使用的解决方案来介绍。 SLAM技术入门 SLA

努力努力努力 4910

如何在huggingface上申请下载使用llama2/3模型

huggingface-cli download --resume-download 模型名称 --local-dir 存放模型的位置 --local-dir-use-symlinks False --resume-download --token token序列号xxxxxxx。登录huggingface,在模型详情页面上,找到这个表单,填写内容,提交申请。需要使用梯子,country填写梯子的位置吧(比如美国)等待一小时左右,会有邮件通知。

a61022706的博客 1万+

VisionPro 机器视觉案例 之 硬币识别

CogPMAlignTool模板匹配工具 掩模

机器视觉李小白的博客 1892

ORB-SLAM和配置环境,报错即处理

防忘笔记,系统崩了配置ORB-SLAM2环境用。

uzi_ccc的博客 808

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

ROS 2 移动机器人SLAM实战记录:从底层驱动到构建第一张地图

在移动机器人开发中,让机器人“看见”环境并“知道”自己在哪,是所有高级功能(如导航、避障)的基础。这就涉及到。本文记录了我基于和YDLidar搭建 SLAM 系统的完整过程。从最底层的串口通信,到 TF 坐标变换树的构建,再到最终使用完成建图。这不仅仅是一份操作指南,更是一次对 ROS 2 核心概念(话题、TF、时间同步)的深度复盘。在 RViz2 中将 Fixed Frame 设置为map,添加 RobotModel 和 LaserScan。现象蓝色的机器人模型出现在屏幕中央。

2301_79864034的博客 1554

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

速腾聚创Robosense16线激光雷达SLAM建图(一)————Hector建图

因为最近拿到一个Robosense16线的激光雷达,这是一个三维的激光雷达,所以就拿着这个雷达把一些开源的经典的SLAM算法都跑了一遍,中间也遇到了一些问题,所以就打算在博客上记录下来,供大家交流参考,接下来的一系类文章就是如何配置激光雷达与SLAM算法的连接。今天咱们先讲第一个SLAM算法——Hector。 关于Robosense与Hector算法建图的博文有一篇很详细,详情请参考:https...

qq_27977711的博客 1万+

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

SLAM算法

MulinB按:最近在学习SLAM算法,这里作为阅读笔记记录和总结一下。这里关注的主要是基于视觉的Visual SLAM或Visual Odometry,也包括一部分图像和IMU融合的Visual-Inertial Odometry相关算法。 注:下文中部分链接指向Google Scholar及Youtube,有些用户可能无法访问。 一、概述 Simultaneous Local

北漠苍狼的专栏(QQ:1746430162) 2万+

寿命长性价比高的室内扫地机器人SLAM导航方案

SLAM历史介绍“舟师识地理,夜则观星,昼则观日,阴晦观指南针”,几个世纪以前的古人便利用观星术和指南针实现了大航海中位置和航向的标定,走出世代居住的大陆走向广袤的大海,探索新大陆。 图1 GPS系统卫星示意图上个世纪七十年代由美军研制并投入使用的GPS系统,实现了全球范围内10米的定位精度,综合定位精度在军用领域可达到厘米级和毫米级。有着出色定位性能的GPS技术,在室内却无能为力。由于建筑物遮...

happytofly的博客 3174

关于SLAM

本文转载于http://blog.youkuaiyun.com/yimingsilence/article/details/51701944 什么是SLAM?机器人在未知环境中,要实现智能化需要完成三个任务,第一个是定位(Localization),第二个是建图(Mapping),第三个则是随后的路径规划(Navigation)。   之前地平线的高翔博士用这样一句话概括SLAM的释义。不过实际生活中

武溪嵌人 2593

牛逼哄哄的SLAM技术即将颠覆哪些领域

原标题:牛逼哄哄的SLAM技术即将颠覆哪些领域? 什么是SLAM?机器人在未知环境中,要实现智能化需要完成三个任务,第一个是定位(Localization),第二个是建图(Mapping),第三个则是随后的路径规划(Navigation)。 之前地平线的高翔博士用这样一句话概括SLAM的释义。不过实际生活中的SLAM都是和激光雷达或者单目/双目摄像头结合的形式出现在我们面前的,有时甚至跟更多的...

ctrigger的专栏 687

Jetson NX采集原始SLAM数据的一种思路

Jetson NX采集原始SLAM数据的一种思路,省去了用Putty之类的远程登陆工具,进入Jetson NX终端输入命令

weixin_41648131的博客 618

slam应用及应用

什么是SLAM?机器人在未知环境中,要实现智能化需要完成三个任务,第一个是定位(Localization),第二个是建图(Mapping),第三个则是随后的路径规划(Navigation)。   之前地平线的高翔博士用这样一句话概括SLAM的释义。不过实际生活中的SLAM都是和激光雷达或者单目/双目摄像头结合的形式出现在我们面前的,有时甚至跟更多的传感器融合,这让很多人觉得这个技术不是一两句

danmeng8068的博客 3110
上一篇: 编译时缺少sigset.h xlocal.h huge_val.h等解决办法
下一篇: ubuntu截图保存到剪切板
Kwokyeee
博客等级 码龄8年 24粉丝 40原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值