carto 调试记录

2020、5、14 cartographer amcl 栅格地图统一 文章中介绍了carto 修改地图格式。

2020/5/1
比较amcl / cartographer, 过缝隙能力没本质区别(阳台小场景测试)。
将车体外形设置为实际外形,膨胀距离0.15, 车子过缝隙,两边间距不
一样。设置为圆形也一样。
后调整,速度、加速度等,效果不明显,或者没效果。
思考:两边间距不一样,dwa 算法估计就是这样,当实在过不了缝隙,
就靠近掌握无体积小的。
后来干脆把碰撞距离改为0.05,过缝隙能力提高,也比较靠近缝隙中间
走。
最后:外形为多边形,碰撞0.05, 速度、加速度未改变,受困判断时间
减小。继续测试。

1)参数调整-------
map_frame = “map”,
tracking_frame = “imu”,
published_frame = “base_link”,
odom_frame = “odom”,
provide_odom_frame = true,
publish_frame_projected_to_2d = false,
use_odometry = true,

<node pkg="tf" type="static_transform_publisher" name="base_link_to_imu" 
	args="-0.18 0 0.2 0 0 0  base_link imu  200"/>

private_nh.param<std::string>("frame_id", frame_id, "imu");
rviz 内车辆坐标会闪烁,应该是提供了ODOM,有冲突。感觉超声坐标错位。

2) 关闭了 provide_odom_frame 坐标很稳定,但超声还是错位。
tracking_frame意思应该是车辆旋转中心点,猜测。

3)将tracking_frame 改为baselink,运行出错。

W1213 22:31:49.000000 25551 tf_bridge.cc:52] Lookup would require extrapolation at time
1576247508.997519700, but only time 1576247509.057197289 is in the buffer, when looking
up transform from frame [imu] to frame [base_link]

4)将imu启动改为最后启动,还是出错。

[FATAL] [1576247665.980126613]: F1213 22:34:25.000000 26406 sensor_bridge.cc:126] Check
failed: sensor_to_tracking->translation().norm() < 1e-5 The IMU frame must be colocated
with the tracking frame. Transforming linear acceleration into the tracking frame will
otherwise be imprecise.

5)将改为无偏移
运行正常。 而且超声坐标不再错位。结论:跟踪帧必须为车辆正中心,IMU TF 与tracking_frame 不能有偏移。
但rviz 报错:Error transforming from frame ‘imu’ to frame ‘map’

6)删除

警告:W1213 22:42:13.000000 28475 tf_bridge.cc:52] “imu” passed to lookupTransform
argument source_frame does not exist.

7)恢复IMU的静态TF,imu启动放在最前。
警告一段后正常。
W1213 22:44:25.000000 29382 tf_bridge.cc:52] Lookup would require extrapolation at
time 1576248265.169298900, but only time 1576248265.172302289 is in the buffer, when
looking up transform from frame [imu] to frame [base_link]

8)将IMU 的 frameid 改为base_link,删除imu静态TF。
无报错和警告,启动正常。

2-------
用ODOM建图,感觉比IMU在细节上更清晰些,不过在建图过程中出现混乱现象,
   一会又恢复了。可能与IMU不准有关,lpms运行一圈,回来误差21度。

3----
   只用IMU,用手搬离车辆,定位还算准确,比用ODOM好。搬离3米后,还是
   能定位准确。感觉比AMCL定位准确。
     恢复用ODOM,手动搬离3米,位置丢失,不过转动一圈就恢复了准确位置。

map to base_link TF平均速度227hz,比amcl快很多。
     cpu 占用率好高,达到338%,与昨天测的差异巨大。是因为没加ODOM的原因么?
     改用增加ODOM,CPU占用还是高。
     差异巨大原因:应该是改了num_accumulated_range_data 由10改为1.
说明carto有很大的优化空间。

关闭了部分CARTO信息显示,可以在2d.lua文件内设置。
     感觉采用carto后,move——base 报警少了很多。

  1. 调整了激光SCAN角度,如果角度不准,激光被遮挡,虽然影响不大,但会留隐患。
    const static int16_t START_A1 = 43;
    const static int16_t END_A1 = 75;
    const static int16_t START_A2 = 285;
    const static int16_t END_A2 = 317;

5)采用odom建图,后用IMU导航,在慢速时还行,但速度快了,位置容易丢失,有时候,丢的
不多,有时丢位置严重,虽然一会能找回准确位置,但不好用,到达目标点时,容易来回震荡,飘忽。
用ODOM,就好很多,不会丢失位置,即使速度快。
但M1M1,没这问题,应该是陀螺仪有问题或,或carto还没优化调参。

6)关闭了my_serial_node 的tf监听,改用socket_node 监听,未发现问题。2019-12-15

7)move_base 有时候报错或警告,监听不到map 到 base_link 变换,或不能得到ROBOT位置。
   但还不影响使用,偶尔报警(将firstdev内的静态TF发送速度提高一倍,有改善。
[ERROR] [1576341411.340288323]: Connectivity Error looking up robot pose: Could
not find a connection between ‘map’ and ‘base_link’ because they are not part of
the same tree.Tf has two or more unconnected trees.

[ WARN] [1576341411.340395584]: Could not get robot pose, cancelling reconfiguration
[ERROR] [1576341411.342385924]: Could not get robot pose
[ERROR] [1576341411.342579628]: Could not get robot pose
[ WARN] [1576341411.342932266]: Unable to get starting pose of robot, unable to
create global plan

8)hi216陀螺仪,运行一段时间后,偏了7度。

9)有时候andriod 上dwa模式无法显示车辆位置,需要重新建图后,才能恢复。感觉发生在重新建图
虽未保存,但还是影响了相关参数,特别是在建不同大小的图时。

2-------
用ODOM建图,感觉比IMU在细节上更清晰些,不过在建图过程中出现混乱现象,
   一会又恢复了。可能与IMU不准有关,lpms运行一圈,回来误差21度。

3----
   只用IMU,用手搬离车辆,定位还算准确,比用ODOM好。搬离3米后,还是
   能定位准确。感觉比AMCL定位准确。
     恢复用ODOM,手动搬离3米,位置丢失,不过转动一圈就恢复了准确位置。

map to base_link TF平均速度227hz,比amcl快很多。
     cpu 占用率好高,达到338%,与昨天测的差异巨大。是因为没加ODOM的原因么?
     改用增加ODOM,CPU占用还是高。
     差异巨大原因:应该是改了num_accumulated_range_data 由10改为1.
说明carto有很大的优化空间。

关闭了部分CARTO信息显示,可以在2d.lua文件内设置。
     感觉采用carto后,move——base 报警少了很多。

2019-12-30
采用边建图,边导航模式,将DWA配置文件复制一份,修改最大速度后,出现路径规划
正常,但开始就后退,不按规划轨迹走,估计是复制并修改文件后,文件被破坏,再次复制并
修改后,无此问题,边建图边导航调试成功。
    将A1雷达设置为8k,感觉建图更加精细。
    修改了图像压缩模式,解决了建大图过程中,APP地图刷新卡,或完全不更新的问题。
原因:图像太大,压缩前1.5M,压缩后也有800k,WIFI传输速度不够,其他信息也
卡顿,修改压缩后,800K变为64K,解决了问题。

2020-1-1
建图导航过程中,避免穿越未知区域,如下设置:
    1、在global_planner_paras.yaml
    GlobalPlanner:
    allow_unknown: false 关闭全局规划穿未知区域
    NavfnROS:
    allow_unknown: false  关闭老式导航穿越未知区域
2、在global_costmap_params.yaml
track_unknown_space: true (这个地方设置为true , 有点奇怪,意思规划轨迹
       不经过未知区域)
    3、在local_costmap_params.yaml
track_unknown_space: false (如果设置为true, 有时候激光未扫到的间隙,为未知区域,
     导致行走卡顿。
如果设置为真,会发现在rviz的代价地图上多了一层很浅的颜色底,标示了本地地图的已知与未知
       区域。

将本地代价地图调整为0.02,RVIZ 中地图很细腻,感觉对于碰撞几乎没改善,也未出现超时警报。

全局规划的路径有点切角,还需优化。

修改/etc/hosts 为笔记本的地址,但4200和笔记本能同时开启rviz都能收到信息。

t2.bag 文件的scan为7.5hz, 回放也是7.5hz,未出现上次TOF的10hz,回放
    仅5hz的问题。

设置机器人外形,用多边形方法,感觉不太准确,撞车严重,应该是有BUG,或者使用方法有问题。

2020-1-2

1、人为挡住车辆路径,车辆会被逼到撞墙,感觉DWA不停的驱动车辆,即使被挡住撞墙也不停止,
      撞墙后,就无视障碍物的存在,这点需改进。
  2、全局路径频率为5HZ,/move_base/GlobalPlanner/plan,在planner_frequency: 5.0
      文件move_base 内设置。
  3、/move_base/DWAPlannerROS/global_plan,这个是DWA局部路径规划产生的,用于追踪
      全局规划。
  4、两种规划都带方位指示,记得原来是没有的,不知是否跟设置有关。 是否与此相关?orientation_mode: 1
  将mode 改为0后,确实没方向信息了。但导航还是正常。

5、在全局规划里neutral_cost: 50 cost_factor: 3.0 这两个参数,一个设置为66,和0.55
      图示轨迹更平滑些。

2020-1-4
1、在建大图时,app错误死机,将地图发送分块由65535改为512,成功。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值