TX1安装Cartographer

http://note.youdao.com/noteshare?id=ee5bb74186ffba38783a050a9040b8d5

2018.8.16 TX1安装Cartographer(最新版本的Cartographer存在各依赖库版本要求变化,所以安装以前的版本(有基本的语义数据通路))

1.TX1上Eigen版本低于3.3.4,不能安装ceres-solver库,参照网址https://www.cnblogs.com/newneul/p/8256803.html 安装3.3.4版本Eigen

2.安装1.13.0版本ceres-solver,参照网址https://blog.youkuaiyun.com/xiat5/article/details/79164059

3.安装googletest(包含gmock),github安装包https://github.com/google/googletest

4.再次编译(sh build_cartographer.bash)出现错误未识别的proto3,安装较高版本的Protobuf(3以上版本),参照github上google/protobuf及安装说明

5.修改fixed_ratio_sample.cc Line27:改为最大采样频率1 -> 1.5

6.rplidar包中rplidar.launch需要添加tf变换

7.编译cartographer和cartographer_ros,前者用catkin_carto中脚本完成——sh build_cartographer.bash,后者用catkin_make——cd catkin_ws , catkin_make

8.编译过程中可能出现c++编译内部错误,初步判断由内存不够导致,按照网址https://blog.youkuaiyun.com/fenglailea/article/details/78852236增加交换空间,首先在板子上留出2G以上空间

 

运行cartographer,打开kobuki底盘电源,连接雷达、底盘与终端,终端输入:

roslaunch cartographer_turtlebot turtlebot_lidar_2d.launch (包含底盘启动文件、雷达启动文件、Cartographer启动文件)

 

最后嵌入式机器上可能在编译cc的时候一直提示c++ 错误,大概是内存不够的意思,这个时候建议切换到具体源码下,直接用ninja来编译,出错就重启,重复此操作,直到单一源码编译通过,,不过后来网上查了下有个方法可增加虚拟内存,亲测有效:

1. 创建分区文件,大小 2G
dd if=/dev/zero of=/swapfile bs=1k count=2048000
2. 生成 swap 文件系统
mkswap /swapfile
3. 激活 swap 文件
swapon /swapfile
4. 修改 /etc/fstab 文件,新增如下内容:
/swapfile swap swap defaults 0 0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值