因为记事本写代码过于麻烦,而且ros需要多节点运行,所以需要IDE
sudo apt install terminator
安装完成后
ctrl+alt+t后
可以在一个窗口里水平分割垂直分割
alt+方向键是在窗口间移动
目录
下一步是安装vscode
直接在vscode官网下载
下载好后安装即可
然后等待安装即可
安装进程会跳跃,从0跳到100所以点击安装后等待即可
然后添加到收藏里打开即可
双击打开安装插件
安装这些插件
然后在vscode里配置运行
创建工作空间
catkin_make创建ros工作空间
为了方便这个合并的构建过程,工作空间的src下将包含样板化的top-level cmakelt .txt,它将自动将其下面的所有Catkin CMake项目添加到单个大型CMake项目中。
然后,用户将构建这个项目集合,就像使用一个与标准CMake源外构建工作流类似的工作流的单个统一CMake项目一样。它们都将配置为一次cmake调用,然后使用一次或多次make调用构建目标
为了帮助自动化合并的构建过程,Catkin使用命令行工具catkin_make发布。该命令自动执行上述CMake工作流
初始化后
然后
code .
启动vscode
然后ctrl+shift+b
点击右侧的小齿轮
把这段代码复制进去
{
// 有关 tasks.json 格式的文档,请参见
// https://go.microsoft.com/fwlink/?LinkId=733558
"version": "2.0.0",
"tasks": [
{
"label": "catkin_make:debug", //代表提示的描述性信息
"type": "shell", //可以选择shell或者process,如果是shell代码是在shell里面运行一个命令,如果是process代表作为一个进程来运行
"command": "catkin_make",//这个是我们需要运行的命令
"args": [],//如果需要在命令后面加一些后缀,可以写在这里,比如-DCATKIN_WHITELIST_PACKAGES=“pac1;pac2”
"group": {"kind":"build","isDefault":true},
"presentation": {
"reveal": "always"//可选always或者silence,代表是否输出信息
},
"problemMatcher": "$msCompile"
}
]
}
C++编译
然后右击src选择最下面的选项
然后回车
再回车
创建完成后如果怕有问题可以ctrl+shift+b编译一下看能不能通过
新建完以下文件后然后可以开始写代码
更改这个文件里的标准说明
写完后修改配置文件
对那两处进行更改,改完后ctrl shift b编译一下
如果报错关掉vscode按顺序重头来
没问题后点击右边的+号新建终端
然后再新建终端
然后成功编译
'''
命令用法:
source FileName
作用:在当前bash环境下读取并执行FileName中的命令。
注:该命令通常用命令“.”来替代。
如:source /etc/profile 与 . /etc/profile 是等效的。
注意:source命令与shell scripts的区别是:
source在当前bash环境下执行命令,而scripts是启动一个子shell来执行命令。这样如果把设置环境变量(或alias等等)的命令写进scripts中,就只会影响子shell,无法改变当前的BASH,所以通过文件(命令列)设置环境变量时,要用source 命令。
'''
如果出现中文乱码的情况
备注:如果虚拟机卡死就行,就硬等就行
Python编译
接下来跑python
前面的过程已经完成
直接新建文件夹scripts,并新建代码文件
写完代码后授予权限
在集成终端中打开输入
chmod +x *.py
#为所有python文件添加执行权限
修改配置文件
然后编译执行ctrl shift b
然后添加一个新的终端
roscore
然后再开一个终端回到工作空间
然后运行成功
'''
如果不配置CMakeLists,txt 执行 python时抛出异常
/usr/bin/env: "python": 没有那个文件或者目录
原因:当前ros版本 使用的是python3
解决:
1.直接配置CMakeLists,txt声明解释器为 python
2.通过软链接将 python 链接到 python3
'''
软链接操作:
sudo ln -s /usr/bin/python3 /usr/bin/python
用了上面这步就可以省略配置CMakeLists
launch文件
一个程序可能需要多个节点,每次都逐一启动太麻烦了
通过launch可以一次性启动多个节点
新建好文件夹
这样就完成了乌龟输出的操作,同时输出代码输出的文本
完成多节点操作