1. ROS代码编译问题
如果从windows拷贝的源码编译可能遇到以下问题
-
No such file or directory
windows
和Linux
下换行不一致导致的,使用Visual Code
打开pibot\cfg\CalibrateAngular.cfg
右下角点击CRLF
修改为LF
并保存,同样的还有pibot\cfg\CalibrateLinear.cfg
和pibot_bringup\cfg\pibot_parameter.cfg
2. 权限问题
Permission denied
chmod +x pibot\cfg\CalibrateAngular.cfg
同样的还有pibot\cfg\CalibrateLinear.cfg
和pibot_bringup\cfg\pibot_parameter.cfg
3. 参数问题
Invalid arg
设置为支持的选项即可
如:
export PIBOT_LIDAR=rplidar
或者export PIBOT_LIDAR=eai-x4
类似还有
export PIBOT_MODEL=apollo
或者export PIBOT_MODEL=zeus
需要执行
pibot_init_env.sh
设置环境变量
4. 雷达启动不转,health state 异常
多半是你这usb供电问题,或者可能电池电量不足,电池需要充电
5. timeout
- 检查UBS是否插好
ls /dev/pibot
- 另外检查波特率是否正确
roscd pibot_bringup/params
vi base_params.yaml # 包括base_params_xx.yaml
修改波特率,stm32f1/arduino
为115200, stm32f4
都为921600
如果不正确,可以直接通过
pibot_init_env.sh
脚本修改,选择相应的board
类型即可
6. 编译缺少包
如图类似错误,提示
Could not find a package configuration file provided by "xxxx" with any
,缺少ros的相关功能包导致的,需要通过apt-get install
安装,如果不知道具体名称可以使用apt-cache search
查找,
apt-cache search roslint
如选择想要的ros版本包安装即可
sudo apt-get install ros-kinetic-roslint
如果search结果太多可以添加"ros-{ROS_DIST}-xxx"搜索
例如缺少serial
包,如果apt-cache search serial
会显示较多选项,我们可以apt-cache search ros-kinetic-serial
即可以定位准确的安装的包名称
7. 无法启动Rviz
-
QXcbConnection: Could not connect to display
在XShell
等工具ssh登入是无法启动Rviz
(pibot_view
或者roslaunch pibot_navigation view_nav.launch
)的,需要在Ubuntu主机或者虚拟机建立多机通讯后(执行pibot_init_env
),直接在Ubuntu主机或者虚拟机启动