修改编译 ros_bridge docker中的源码
Posted 想游泳的鱼
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了修改编译 ros_bridge docker中的源码相关的知识,希望对你有一定的参考价值。
有时候需要修改一下ros_bridge docker中的源码
这个docker镜像中的源码分为两部分,一部分是autoware的源码,一部分是carla_ros_bridge的,
carla_ros_bridge的源码都是以ros node的形式编写的,存放在carla-autoware-agent 和 ros-bridge两个
目录中,编译是在carla_ws目录中。
整个ros_bridge docker镜像的目录结构如下
- Autoware的源码
- PythonAPI是carla的api库的egg存放的地方
- autoware-contents是Autoware运行的时候需要的一些资源。
- carla-autoware和ros-bridge是ros_bridge的代码存放的地方,本来应该放在carla_ws中的,但是carla_ws只是存放了一个软链接
修改编译Autoware的源码
如果修改了Autoware的源码,就要进入Autoware目录里面,运行如下命令进行编译修改的包
colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release --packages-select "packageName packName"
然后别忘记执行
source install/setup.bash
修改编译ros_bridge的源码
如果要修改编译ros_bridge 的源码或者launch文件,需要进入carla_ws目录,运行如下命令
catkin_make -DCATKIN_WHITELIST_PACKAGES="需要单独编译的包名"
编译运行完毕之后,执行
source devel/setup.bash
PS
有时候编译Autoware的源码或者carla_ros_bridge的源码,需要在root权限,但是坑爹的是这个docker镜像的root环境下居然没有catkin_make命令,这个只能手动安装。这里我用了鱼香ROS的一建工具
wget http://fishros.com/install -O fishros && . fishros
运行后选择4,配置ROS桌面环境,安装好以后就有了这个命令。但是一退出root环境,再进来这个命令就又没有了,我只好再运行一次鱼香的这个命令。这个问题目前还没找到什么好的办法,哪位网友找到了,请在留言区告诉我,感激不禁!
以上是关于修改编译 ros_bridge docker中的源码的主要内容,如果未能解决你的问题,请参考以下文章