ROS实体机器人 导航中遇到的问题及解决方案(更新中)

问        题1:

ROS小车不按规划的路径走,而是原地乱打转

原因及方案:

1.雷达放的太低,小车后面的屏幕遮挡住了雷达视线,误认为小车身处障碍物中,升高雷    达 使其不被挡住

2.实验场地太小,局部代价地图尺寸太大,周围的人,让它以为小车被障碍物包围,所以不定打转,换个大点的空旷的实验场地,同时把局部代价地图的尺寸调小

问        题2:

[ERROR] [1630928351.568545312]: None of the 21 first of 21 (21) points of the global plan were in the local costmap and free
[ERROR] [1630928351.568712400]: None of the points of the global plan were in the local costmap, global plan points too far from robot

解决方案:

local_costmap_params.yaml 文件中,局部地图宽度至少为0.5m才不会报错

问        题3:

解决  问题1 的基础上, 小车终于跑起来,但是还是不按规划的路径跑,而是往相反的方向跑,而且不会停止,也不会避障

原因及方案:  

参考古月居 《ROS机器人开发实践》中 机器人SLAM自主助导航  部分  ,不构建地图,而是直接导入 

问题4:

JESON NANO 总是无缘无故黑屏重启,而切无法进入ubuntu桌面   或者总是停在LOGO界面,

原因:

是烧录系统的TF卡松动,重新插拔即可

问题5:

amcl不起作用,雷达点云无法显示,rviz中设置初始位置的2D无效

No laser scan received (and thus no pose updates have been published) for 34139472.000000 seconds.  Verify that data is being published on the /scan topic.

原因:

查看tf树,发现没有base_link 到 laser 的tf坐标变换,在设置坐标系的launch文件中加上

<!-- 设置一个 baselink与 laser之间的静态坐标变换 -->

<node pkg="tf" type="static_transform_publisher" name="base_to_laser_broadcaster" args="0 0 0 0 0 0 /base_link /laser 100"/>

问题6:

rviz中的模型小车来回跳动,设置初始位姿,也是来会跳动,

原因:

发生tf冲突,

<!-- 设置一个/odom与/map之间的静态坐标变换 -->

<!--

<node pkg="tf" type="static_transform_publisher" name="map_odom_broadcaster" args="0 0 0 0 0 0 /map /odom 100" />

-->

<!-- 设置一个 baselink与 laser之间的静态坐标变换 -->

<node pkg="tf" type="static_transform_publisher" name="base_to_laser_broadcaster" args="0 0 0 0 0 0 /base_link /laser 100"/>

把map_odom_broadcaster 的注释调,二选一,这样小车就不再乱跳

问题7:

出现如图所示警告:

 上图所示:控制频率太高了,要降低频率, 解决方法如下图所示:

问题8:

如图所示,地图花了 而且扫面出来的点云 跟着小车乱跑

 

方法: 1.把amcl.launch文件中use_map_topic 由false 改成 true 

        2.把 配置文件local_costmap_param.yaml中的global_frame改回odom

问题9:

雷达tf坐标系方向反了,导致如下图所示:

上图中雷达点云和实际导入的地图反了,tf坐标的红色轴,代表x轴的正方向,黑色阴影为小车正前方的箱子,正常情况下,X轴正方向应该对着黑色的阴影,相差180度,只要把雷达坐标系tf,绕着z轴旋转180度即可,本人nav09_demo.launch文件中,修改laser到底盘的坐标变换,

<node pkg="tf" type="static_transform_publisher" name="base_link_to_laser" args="0.0 0.0 0.0 3.14 0.0 0.0 /base_link /lidar 100" />

把上述第四个数字,改成3.14 ,因为180度对应的弧度是3.1415925,参数具体含义如下图

 注意:在vscode软件中更改,需要保存(cpp等文件代码更改,要编译才能生效,launch文件中修改时,只需保存即可)     改完,保存之后 打开RVIZ查看tf的情况,是否绕着Z轴旋转了180度 ,tf只留,base_link和laser即可,然后查看

 地图中白色方框所在的,是小车位置,(远程无法显示小车模型,有些问题) 黑色阴影是小车正前方的,雷达点云也和地图基本匹配! 下方有个小点,是放电脑的位置

问        题1:

[ WARN] [1630552558.739541370]: global_costmap: Parameter "plugins" not provided, loading pre-Hydro parameters

解决方案:

问        题2:

[ WARN] [1630552559.863283514]: local_costmap: Parameter "plugins" not provided, loading pre-Hydro parameters

解决方案:

问        题3:

[ WARN] [1630630722.985943190]: Shutdown request received.
[ WARN] [1630630723.051932412]: Reason given for shutdown: [[/robot_state_publisher] Reason: new node registered with same name]

解决方案:

问        题4:

[ WARN] [1630630728.680599740]: Timed out waiting for transform from base_footprint to map to become available before running costmap, tf error: canTransform: target_frame map does not exist. canTransform: source_frame base_footprint does not exist.. canTransform returned after 0.100192 timeout was 0.1.
 

解决方案:

问        题5:

[ INFO] [1630909388.170392503]: lookupTransform base_footprint to laser timed out. Could not transform laser scan into base_frame.

解决方案:

评论 40
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值