学习文档
我是根据autolabor的文档一步步跟着autolabor学习ROS
记录学习过程及文档中的一些补充~
学习过程用python来学习ROS,平时自己写C++代码,也当了解熟悉一下python语言了~
虚拟机Ubuntu22.04
使用的是VirtualBox
语言:autolabor的文档中有C++和python两种版本
题外话:Virtual Box真的好用!!我之前用过VMware Workstation Pro,可能我电脑太拉,贼卡,但Virtual Box不会,爱了爱了
VSCode安装
Ubuntu安装VScode,见文章如何下载使用Ubuntu(附加安装VSCode)
VSCode上的必备插件
- C/C++
- Python
- Chinese(Simplified)
- CMake Tools
- ROS
VSCode的编译配置文件
在.vscode下修改/添加tasks.json,内容如下:
(注:该代码复制自学习ROS)
{
// 有关 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"
}
]
}
运行python代码
- 创建ROS工作空间
mkdir -p 工作空间名/src
cd 工作空间名
catkin_make
- 用VScode打开工作空间
cd 工作空间名
code .
- VSCode中编译ROS
见上文的VSCode配置文件 - 在自定义的功能包下新建scripts文件夹,新建python文件内容
- 将scripts下的python文件加可执行权限,*.py表示scripts下的所有以py结尾的文件
chmod +x *.py
- 打开CmakeLists.txt 大概163行,修改scripts/后面的内容
比如,我的python文件为hello.py
catkin_install_python(PROGRAMS
scripts/hello.py
DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
)
-
编译
- VSCode编译 Ctrl+Shift+B编译,编译文件配置如上task.json
- 在命令行手动编译
cd 自定义的工作空间(即最外层文件夹)#在VSCode新建终端就是工作空间啦 catkin_make
-
运行
打开两个终端…
终端1:roscore
终端2:
cd 自定义的工作空间(即最外层文件夹) source ./devel/setup.bash rosrun 自定义包名 自定义文件名.py