1、跟换数据线,有些数据线是仅充电的,没有数据传输功能
2、没有CH340或CP2102驱动。
CH340驱动下载:http://www.wch.cn/download/CH341SER_LINUX_ZIP.html
CP2102驱动下载:https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers
exit code -9含义:
错误码为linux系统的错误码,并非ros系统的,-9含义为memory使用相关的错误。
使用 htop
命令检测运行 roslaunch 时的内容占用情况,监测内存状态,如果内存爆满,那就是内存不够而造成的
解决:可以扩大swap虚拟内存。参考教程:点这里。
解决:把C:\Users\ASUS\.ssh
路径下的config
文件删掉,然后在vscode重新ssh,这个时候会自动重新创建config
文件。
如果还是不能ssh,或者弹出operation not permitted
错误提示,就右键config文件->属性->安全
,查看当前用户是否有权限,如下图:
如果没有,点击编辑->添加
,把你的用户名称添加进去,然后确定,如下图:
添加完成后,把权限全部勾选:
然后确定就可以了。
这是因为AMCL需要订阅map话题,尽管你通过rostopic list
看到map话题已经被发布,也会弹出这个错误。
解决:使用map_saver保存地图文件(保存的这个地图可以是通过gmapping建立的),并使用map_server导入地图,就可以解决这个错误了。
可能是map话题订阅失败(即上一问题),需要启动map_server节点导入地图才可以看到粒子分布。
因为gmapping节点与AMCL节点都可以对机器人进行定位,如果同时运行了gmapping节点与AMCL定位节点的话,出现这种情况是由于tf坐标变换冲突导致的。因为gmapping节点会发布map->odom的tf坐标变换,而AMCL节点都会发布odom->map的tf坐标变换,所以在rviz中的机器人模型会一直变化。
解决方法:建图时只使用gmapping节点,地图构建完毕后通过map_saver节点保存地图。而在导航时,通过map_server节点导入地图,仅使用AMCL节点进行定位。
[ WARN] [1444300130.237434289]: MessageFilter [target=odom ]: Dropped 100.00% of messages so far. Please turn the [ros.gmapping.message_notifier] rosconsole logger to DEBUG for more information.
出现了MessageFilter警告,如下图所示:
警告提示:有100条消息被隐藏了,并引导我们要到rosconsole logger处查看详细的DEBUG信息。
所以我们运行下面命令:
rosrun rqt_logger_level rqt_logger_level
改为Debug,如下图:
看回到终端,详细信息显示出来了,如下图:
[DEBUG] [1444300178.106273471]: MessageFilter [target=odom ]: Added message in frame laser at time 1444300192.911, count now 5
[DEBUG] [1444300178.210528915]: MessageFilter [target=odom ]: Removed oldest message because buffer is full, count now 5 (frame_id=laser, stamp=1444300192.508830)
大概意思就是,在launch文件中提及到了frame_id为laser的语句,但是laser的坐标变换不存在。
这个时候在rviz中,如果TF->tree处确实没有laser的话,或者laser没有跟其他坐标建立联系的,那就说明你的确缺了laser的TF坐标变换,添加上即可。
但是,如果在坐标树中显示有laser并且TF坐标变换正常的话(如下图),那可能是节点运行顺序的问题。比如说,在gmapping节点中,需要odom坐标系,所以一定要在gmapping节点运行之前建立好odom坐标系并且进行正确的TF变化,否则有可能就会报错。
解决:安全重启
首先,无论Ubuntu出现什么状况,千万不要强制重启,可以尝试以下步骤进行安全重启。
同时按住 Ctrl 和 Alt 键,按住不要放
按一下 SysRq 键(有的键盘是PrtSc,也有的是PS)
依次按下 R, E, I , S , U , B 键
这些步骤做完后,系统就会安全重启。