ros移植别人的工作空间出现问题及解决方法汇总
error1
exec: /home/kobe/mbot_ws/src/navigation/costmap_2d/cfg/Costmap2D.cfg: Permission denied exec: /home/kobe/mbot_ws/src/navigation/amcl/cfg/AMCL.cfg: Permission denied exec: /home/kobe/mbot_ws/src/navigation/costmap_2d/cfg/InflationPlugin.cfg: Permission denied exec: /home/kobe/mbot_ws/src/navigation/costmap_2d/cfg/Costmap2D.cfg: Permission denied exec: /home/kobe/mbot_ws/src/navigation/costmap_2d/cfg/GenericPlugin.cfg: Permission denied exec: /home/kobe/mbot_ws/src/navigation/dwa_local_planner/cfg/DWAPlanner.cfg: Permission denied
原因是权限错误 首先查看有没有执行权限 ls +文件名 添加可执行权限
chmod +x /home/kobe/mbot_ws/src/navigation/amcl/cfg/AMCL.cfg chmod +x /home/kobe/mbot_ws/src/navigation/base_local_planner/cfg/BaseLocalPlanner.cfg /chmod +x /home/kobe/mbot_ws/src/navigation/costmap_2d/cfg/InflationPlugin.cfg chmod +x /home/kobe/mbot_ws/src/navigation/costmap_2d/cfg/Costmap2D.cfg chmod +x /home/kobe/mbot_ws/src/navigation/costmap_2d/cfg/GenericPlugin.cfg chmod +x /home/kobe/mbot_ws/src/navigation/dwa_local_planner/cfg/DWAPlanner.cfg
如果在文件夹及其子文件夹中包含多个需要添加执行的文件,可以使用下面的指令来给该文件夹下的所有文件添加权限 chmod -R +x 文件夹
error2
[robot_pose_ekf-9] process has died [pid 31024, exit code -6, cmd /home/kobe/mbot_ws/devel/lib/robot_pose_ekf/robot_pose_ekf /imu_data:=/imu_data __name:=robot_pose_ekf __log:=/home/kobe/.ros/log/8ee0ed74-f672-11eb-8f55-b89a2a2631d5/robot_pose_ekf-9.log]. log file: /home/kobe/.ros/log/8ee0ed74-f672-11eb-8f55-b89a2a2631d5/robot_pose_ekf-9*.log
原因 下载的ekf包可能launch文件没有修改,是launch里面的话题名称错误了,因为一个是odom,一个是odom_combined
error3
Could not find the required component 'mavros_msgs'. The following CMake error indicates that you either need to install the package with the same
出现这个情况,是因为缺少 manipulation_msgs sudo apt-get install ros-kinetic-manipulation-msgs
error4
mavros_msgsConfig.cmake sudo apt-get install ros-kinetic-mavros-msgs
这个是因为缺少了对应的包,安装即可
sudo apt-get install ros-kinetic-mavros-msgs
mavros_msgs
error5
WARN] [1522398152.672156241]: Timed out waiting for transform from base_footprint to map to become available before running costmap, tf error: Could not find a connection between ‘map’ and ‘base_footprint’ because they are not part of the same tree.Tf has two or more unconnected trees… canTransform returned after 0.105784 timeout was 0.1.
这个错误是tf树从map到base_footprint断开了,
一般来说tf_tree为:map->odom->base_footprint。其中odom->base_footprint理解为激光模拟的里程计信息,map->odom理解为对里程计数据的补偿,如消除累积误差等。在应用中推荐把provide_odom_frame参数置为false。当该参数为true时,其发布的数据为map->odom的tf,而非机器人的位姿。当将provide_odom_frame参数置为false时,可以获得map->base_footprint的tf数据,即机器人相对于map的位姿。
这其中可能的原因有:1. 雷达信息不正确,所以导致出现这种错误,单独测试雷达数据,查看topic是否正确。2.USB端口供电不足(很少的原因,可以换台电脑测一下)3.tf转换延迟
而在我这里,原因是我launch文件中tf配置不正确。
error6
这个错误是因为ekf那个包的版本不同导致的,替换成相应版本才可以。。。
总结:
直接移植别人工程,主要存在问题:
1 文件权限问题
2 ros功能包的版本问题
3 环境依赖不完整
4 tf树和源码方面的适配,tf树决定了运行是否正常
5 话题方面是否对应。
- 点赞
- 收藏
- 关注作者
评论(0)