ubuntu20.04下编译仿真智能车racecar的错误解决汇总

一、运行环境

Ubuntu 20.04  Ros noetic

二、下载源码包

  • 先创建ros的工作区域catkin_racecar

mkdir -p ~/catkin_racecar/src
 

  • 并转换到工作区域目录,

  • cd ~/catkin_racecar/src

  • 把当前目录初始化为一个ROS工作空间

  • catkin_init_workspace

  • 开始下载Gazebo搭建赛道功能包racecar(这里使用的别人github上开源出来的代码)

1

git clone https://github.com/xmy0916/racecar.git

三、安装本次运行需要的控件

1
2
3
4
5
6
7

sudo apt-get install ros-noetic-driver-base
sudo apt-get install ros--noetic-gazebo-ros-control
sudo apt-get install ros--noetic-effort-controllers
sudo apt-get install ros--noetic-joint-state-controller
sudo apt-get install ros-noetic-ackermann-msgs
sudo apt-get install ros-noetic-global-planner
sudo apt-get install ros-noetic-teb-local-planner

四、racecar功能包编译

1
2

cd ~/catkin_racecar
catkin_make


 

遇见的问题及解决办法

  • 问题一
    CMake Error at /opt/ros/noetic/share/catkin/cmake/catkinConfig.cmake:83 (find_package):
    Could not find a package configuration file provided by “driver_base” with
    any of the following names:

    driver_baseConfig.cmake
    driver_base-config.cmake

Add the installation prefix of “driver_base” to CMAKE_PREFIX_PATH or set
“driver_base_DIR” to a directory containing one of the above files. If
“driver_base” provides a separate development package or SDK, be sure it
has been installed.
Call Stack (most recent call first):
racecar/system/hokuyo_node/CMakeLists.txt:13 (find_package)

– Configuring incomplete, errors occurred!
See also “/home/bcsf/catkin_racecar/build/CMakeFiles/CMakeOutput.log”.
See also “/home/bcsf/catkin_racecar/build/CMakeFiles/CMakeError.log”.
Invoking “cmake” failed

解决办法:
原因是确少driver_base功能包,安上它就好了

sudo apt-get install ros-noetic-driver-base

  • 问题二
    CMake Error at /opt/ros/noetic/share/catkin/cmake/catkinConfig.cmake:83 (find_package):
    Could not find a package configuration file provided by “OpenCV” with any
    of the following names:

    OpenCVConfig.cmake
    opencv-config.cmake

Add the installation prefix of “OpenCV” to CMAKE_PREFIX_PATH or set
“OpenCV_DIR” to a directory containing one of the above files. If “OpenCV”
provides a separate development package or SDK, be sure it has been
installed.
Call Stack (most recent call first):
racecar/racecar_gazebo/CMakeLists.txt:8 (find_package)

– Configuring incomplete, errors occurred!
See also “/home/bcsf/catkin_racecar/build/CMakeFiles/CMakeOutput.log”.
See also “/home/bcsf/catkin_racecar/build/CMakeFiles/CMakeError.log”.
Invoking “cmake” failed

解决办法:

首先使用指令搜索OpenCVConfig.cmake文件的路径:

locate OpenCVConfig.cmake

得到

/usr/lib/x86_64-linux-gnu/cmake/opencv4/OpenCVConfig.cmake


 

在racecar中把racecar/racecar_gazebo/CMakeLists.txt:中的

set(OpenCV_DIR /opt/ros/kinetic/share/OpenCV-3.3.1-dev/)改成

set(OpenCV_DIR /usr/lib/x86_64-linux-gnu/cmake/opencv4/)


 

  • 问题三
    /home/bcsf/catkin_racecar/src/racecar/racecar_gazebo/src/findLine.cpp:7:10: fatal e
    rror: ackermann_msgs/AckermannDrive.h: 没有那个文件或目录
    #include “ackermann_msgs/AckermannDrive.h”
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    compilation terminated.
    racecar/racecar_gazebo/CMakeFiles/findLine.dir/build.make:62: recipe for target
    ‘racecar/racecar_gazebo/CMakeFiles/findLine.dir/src/findLine.cpp.o’ failed
    make[2]: *** [racecar/racecar_gazebo/CMakeFiles/findLine.dir/src/findLine.cpp.o]
    Error 1
    CMakeFiles/Makefile2:4559: recipe for target ‘racecar/racecar_gazebo/CMakeFiles/
    findLine.dir/all’ failed
    make[1]: *** [racecar/racecar_gazebo/CMakeFiles/findLine.dir/all] Error 2
    Makefile:140: recipe for target ‘all’ failed
    make: *** [all] Error 2
    Invoking “make -j1 -l1” failed


解决办法:
这主要是缺少相关的包导致的,安装就可以了

1

sudo apt-get install ros-noetic-ackermann-msgs

问题四:

findLine.cpp:10:10: fatal error: opencv/highgui.h: No such file or directory

解决办法:

在根目录下搜索 highgui.h,发现OpenCV4中没有 highgui.h。将OpenCV3中 的opencv/highgui.h文件拷贝到/usr/include/opencv4/opencv2下。

所以将源程序中 #include <opencv/highgui.h>修改为:#include <opencv2/highgui.h>

问题五:

运行python文件时出现

/usr/bin/env: ‘python’: No such file or directory

解决办法:

将python 改为 python3

ubuntu20.04的环境与低版本的环境有一些区别,所以在配置时注意一下就好啦。

运行时的问题:

仿真模型加载不出来:

解决办法:

将模型和世界文件分别拷入/usr/share/gazebo-11/models和/usr/share/gazebo-11/worlds文件夹。

  • 1
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值