将ros包移植到Windows 10系统
在移植之初,读者需要先在Windows系统中安装好ROS系统,本教程安装的melodic版本,为 Windows 构建 ROS 项目需要 Visual Studio,这里安装的是 Visual Studio 2017 (Community)。
具体安装过程可以参考以下两个连接
温馨提示
按照Ros 用于 Windows 移植说明书,需要将ROS的工作区放到C盘的根目录。因为Visual Studio 2017体积过于庞大,我这里安装在D盘,在运行ros程序的时候只要在创建 ROS 命令窗口快捷方式时修改好相应的路径,也能够使得程序正常运行。
例如我在创建ROS命令窗口快捷方式时的设置:
1、Windows系统中创建ROS工作空间
在Windows系统和在Linux系统创建功能包没有太大区别,我这里将catkin_ws设置在c盘的根目录下。
2、Windows系统中编译ROS工作空间
输入以下两条指令,这个时候虽然没有功能包,但是是可以正常编译的。
结果如下:
3、创建功能包
4、在learning_topic中的创建一个c++文件,输入以下代码。(有古月居21讲的例程代码,可以直接将learning_topic中的velocity_publisher.cpp文件复制过来。)
如果是新手,不知道这部分代码什么意思可以去看这个视频。古月居21讲https://www.bilibili.com/video/BV1zt411G7Vn?p=10
5、配置CMakeLists.txt中的编译规则
设置需要编译的代码和生成的可执行文件,设置链接库。
这里执行的操作是将以下两句话拷贝到learning_topic目录下的CMakeLists.txt中照片所示的位置。
6、再次进行编译
再次执行编译出现了如下报错:
解决这个问题需要使用Visual Studio 2017打开我们创建的(或者直接复制过来的)velocity_publisher.cpp文件,点击"文件",点击"高级保存选项",在编码这栏中选择Unicode(UTF-8 带签名)- 代码页65001,然后点击确定即可
再次保存文件,再次执行catkin_make指令。
7、在执行程序之前,需要设置坏境变量
在Linux系统中执行要运行这个发布者的程序需要进行以下步骤
在Windows系统中只有第三行命令的执行的方式不同,在cmd中不能识别source这个命令,而且在Windows系统中在devel文件中生成的是setup.bat文件,windows系统中与source devel/setup.bash
执行相同效果的是,进入到devel文件,并执行setup.bat文件。
这就走完了在windows下执行一个发布者程序的所有坑。
实验过程
1、双击ROS命令窗口快捷方式,输入roscore。
2、运行海龟仿真器
3、运行自己功能包指令
直接在命令窗口输入指令的话他会出现错误提示。
我们需要先执行以下命令,才能让小海龟顺利跑起来。
##存在的问题
在linux中,每次执行source devel/setup.bash
会很麻烦,一般会将该命令加入到隐藏文件.bashrc文件中,这样就不用每次在终端执行这条指令。
在Windows中,我考虑的解决办法是右击ROS命令窗口快解方式,点击属性,在目标那一栏加入&& c:\catkin_ws\devel\setup.bat
,这样可以起到相同的效果。
————————————————
版权声明:本文为CSDN博主「寻找灵魂的机器狗」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_41802388/article/details/112865672
————————————————
本篇由bciduino机器人开源项目转载,欢迎关注我们公众号:机器人开源项目。
欢迎采购相关BCI脑电模块及机器人设备。
公众号:机器人开源项目
添加微信:18810997748魏先生