ros关于使用自己修改的源码

时间:2024-05-22 22:32:02

我们想修改ros的源码,比如说move里面的东西,但又不想改变里面本身安装的源码.

我以turtlesim为例

下载turtlesim的源码包

新建一个新的工作空间

然后修改turtle_frame里面的一点东西

  setFixedSize(1000, 1000);  //把图片由500*500变成1000*1000
  setWindowTitle("FISH");

  srand(time(NULL));

  update_timer_ = new QTimer(this);
  update_timer_->setInterval(16);
  update_timer_->start();

  connect(update_timer_, SIGNAL(timeout()), this, SLOT(onUpdate()));

  nh_.setParam("background_r", 255);//把背景颜色改成黄色
  nh_.setParam("background_g", 255);
  nh_.setParam("background_b", 0);

这个改动这是为了验证我的代码生效了,具体改什么根据自己的需要

然后编译这个工作空间

修改./.bashrc文件

source /opt/ros/kinetic/setup.bash
source /home/whhc/overlay_ws/devel/setup.bash//添加你修改turtlrsim代码的工作空间

关掉终端

rosrun turtlesim turtlesim_node

ros关于使用自己修改的源码

修改后的生效了

综上,

我的理解,不一定对,

就是./.bashrc里面,最后source的优先级最高

对于所有source的工作空间,如果有重名的包.靠后的会起作用!

所以我们把所需要修改的源码包的那部分组成一个工作空间,然后将这个工作空间添加在./.bashrc文件中,就可以了!