12.3.1 移动机器人SLAM调试技巧(Tips)

12.3.1.1 算力

需要考虑系统算力,然后配置诸如地图分辨率等相关参数。

可以通过系统负载确定,方法是只打开move_base 节点但是不发送导航目标,这样
Navi 只运行costmap,此时通过top 指令即可查看负载水平,通过附加参数'1' 查看
多核的具体cpu,重点关注average load 指标:

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 14706
ubuntu 20 0 296736 212296 5564 R 71.5 11.0 1:51.56 amcl 14245
ubuntu 20 0 79408 5592 4792 S 47.0 0.3 2:30.72 laser_node 14250
ubuntu 20 0 105876 5348 4616 S 3.0 0.3 0:09.73 lpms_imu_node
23344 ubuntu 20 0 91032 6960 6140 S 4.0 0.4 0:00.77
robot_pose_ekf

如果计算能力较弱还可以考虑关闭map_update_rate 参数,这将导致传感器数据进
入costmap 的速度放缓,从而减慢机器人对障碍物的反应速度。
此外,还要关注内存情况:

$ free -m

以及磁盘介质:

$ df -h
$ du -h --max-depth=1

12.3.1.2 里程计

机器人定位不准,原因可能在Odom,需要做两个检查:
1)确定 odom 旋转的可靠性。在rVIZ 中设置为 odom 框架, 打开激光scan, 执行原
地旋转,观察彼匹配程度,应不超过1/2 度的偏差
2)确定odom 平移的可靠性。距离墙体x 米, 通过rVIZ 对墙进行垂直行进. 墙壁厚
度由激光雷达确定, 如果把车开到离墙一米远的地方,得到的扫描结果却超过了例
如半米,那么里程表很可能出了问题。
根据检查情况,可能需要做两个校准:
1)线速度的校准。发送指令,控制机器人前进指定距离例如1m,使用软尺测量机
器人的实际前进距离与指定距离是否一致。校准策略是,如果实际前进距离大于指
定距离,则调大 wheel_diameter 参数,反之调小。
2)角速度的校准。影响角速度的主要参数有轮子直径和轮子间距,在线速度校准
完成后,只需调整轮子间距即wheel_track 参数。校准策略是,如果实际旋转角度
大于指定角度,则调大 wheel_track 参数,反之调小。

12.2.1.3 发行版本

使用Release 可以获得数量级的性能提升。
如果没有使用-DCMAKE BUILD TYPE=Release,则默认是未经优化的Debug 版本,
其性能很差。

$ catkin make -DCMAKE BUILD TYPE=Release

12.2.1.4 地图尺寸

基于ROS 的SLAM 框架的地图受限于OpenCV 视觉库,地图最大尺寸为8192x8192,
如果超出map_server 将抛出"Out of memory"错误。所以,对于0.02m 的分辨率,最
大地图尺寸约为160mx160m,即40000 平方米。
如果需要地图文件变小,可以通过更改数据类型实现。

// Description for a single map cell.
typedef struct
{
// Occupancy state (-1 = free, 0 = unknown, +1 = occ)
int occ_state;
// Distance to the nearest occupied cell
double occ_dist;
// Wifi levels
//int wifi_levels[MAP_WIFI_MAX_LEVELS];
} map_cell_t;

将double 改为int8:

// Description for a single map cell.
typedef struct
{
// Occupancy state (-1 = free, 0 = unknown, +1 = occ)
int8_t occ_state;
// Distance to the nearest occupied cell
float occ_dist;
// Wifi levels
//int wifi_levels[MAP_WIFI_MAX_LEVELS];
} map_cell_t;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天涯明月楼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值