问 题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.
解决方案: