U盘中调试Linux下ROS程序

本文介绍如何在U盘中存放ROS项目源代码,通过特定配置在电脑上进行编译和调试,实现无需频繁拷贝代码即可高效开发。适用于临时更新样机程序场景。

在U盘中调试Ros程序

通常在工作的过程中,有时需要临时到样机中更新程序,但出于各种原因不方便将程序拷贝到本地主机中运行。而可以将程序放在U盘中,在U盘中进行调试、修改,而将可执行程序生成在本地主机中。

目标

将ROS项目(推广到任何cmake qmake管理的项目)文件放在U盘中,不需要拷贝到电脑上进行调试和编译。能够直接在U盘中进行运行和调试,并且不需要重复的从电脑上拷贝代码、删除源代码。

方法

  • 1、 在u盘中根据ROS建立工作空间和package的方法建立一个空文件夹,用作存放源代码。
    文件目录
    初始化和建立ros的工作空间
    在这里插入图片描述
  • 2、 放入package源码
    在这里插入图片描述
  • 3、下面是最重要的一步。
    这也是和建立普通空间不同的地方,我们需要把生成的编译文件和可执行文件都放到电脑中去,而不是存放在u盘里面(如果u盘读写足够快,也能够把编译文件放在u盘,仅仅把可执行文件放在电脑里,但是这种大量反复的读写对u盘长久使用不太适合?)
    为达到这个目的,在使用catkin_make时选择了其他位置。
    首先查看到catkin_make中能够选择源文件的位置,而后将编译文件和可执行文件放在执行catkin_make的目录下。查看help如下:
    cmakehelp
    我们会用到--source,用来指定源文件的位置(U盘中)。
    home下建立个空文件夹,用来存储编译生成的文件和可执行文件。
    home
    在该位置打开终端,执行如下:
catkin_make --source /media/qy/NameQi/test_catkin_in_u/  #指定源文件在U盘中

后面的目录就是我在u盘里面的目录。
如果编译出现如下错误cmake error at /opt/ros/kinetic/share/catkin/cmake/safe_execute_process.cmake:11(message):execute_process...
在这里插入图片描述
按下图进行操作,用cmake图形界面打开cmakecache.txt,增加一条CMAKE_PREFIX_PATH为ros的路径
在这里插入图片描述
如此编译后,源代码在u盘中,但可执行程序和编译文件均在电脑中。

  • 4、IDE/Qt设置
    但是这样总是容易导致在qt中打开的时候,devel跑到build下面去,使得调试的时候总要再多编译一遍。这个问题可以通过设置devel路径来解决。
    在这里插入图片描述
    所以可以打开qt或者cmake增加这一条信息。而后就完成了u盘放项目,qt方便编译的整个过程了。
    好了,总之这么多就总结为在u盘中放文件,在电脑里生成编译和执行文件。编译时候执行如下这个方便的指令:为方便增加以上两个cmake的环境变量,我们再次更改catkin_make时的编译语句如下:
catkin_make --source /media/qy/NameQi/test_catkin_in_u/ --cmake-args -DCATKIN_DEVEL_PREFIX=/home/qy/test_upan_catkin/devel -DCMAKE_PREFIX_PATH=/opt/ros/kinetic

其中涉及到的目录需要修成成自己的u盘目录,或者是文件目录。

  • 5、程序执行方式
    非qt中程序执行方式,在u盘没拔掉前可以通过以下ros指令进行程序的执行:在这里插入图片描述
    在u盘拔掉后需要直接执行devel/lib/ab下面的可执行程序。
    建议不管有无u盘都执行devel/lib/ab下面的可执行程序。如果项目程序允许的话
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值