所用的学习链接:
【奥特学园】ROS机器人入门课程《ROS理论与实践》零基础教程P23-29
【以上视频笔记见http://www.autolabor.com.cn/book/ROSTutorials/】
在 ROS 中,需要频繁的使用到终端,且可能需要同时开启多个窗口,为了方便操作而下载:Terminator
安装过程和使用方式详见Terminal 终端终结者——安装和使用快捷键
①直接在软件安装里搜索VSCode进行安装
②网页安装包下载
下载链接:Documentation for Visual Studio Code,右上角download
【历史版本下载链接: Visual Studio Code March 2022】
可以直接安装
也可以下载好之后运行
sudo dpkg -i xxxx.deb
# 卸载
# sudo dpkg --purge code
安装完成后可以添加到收藏夹
【【
这里下载完可能会发现不能运行安装,其实是权限问题,在该目录下打开终端给予权限
# 给予权限
# sudo chown 用户名 文件名
sudo chown netceor_ros code_1.58.0-1625728071_amd64.deb
】】】
需要安装以下几个插件
打开VSCode后在左侧搜索,依次安装,完成后按提示重启
# mkdir -p 空间名称/src # 必须得有 src
mkdir -p 7.12_demo1/src
cd 7.12_demo1
catkin_make
# 启动
code .
就可进入到编译环境
(1)takes.json
快捷键ctrl+shift+b,如果有catkin_make:build任务就点击任务右边的齿轮,如果没有就“配置生成任务...”→创建takes.json文件
生成后,复制以下代码替换原内容
{
// 有关 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"
}
]
}
(2)创建ROS功能包
右键src ---> create catkin package→自定义package name(例hello)→dependencies:roscpp rospy std_msgs
(1)新建cpp文件
右键src,新建文件,重命名(例hello_vscode.cpp)
#include "ros/ros.h"
int main(int argc, char *argv[])
{
setlocale(LC_ALL,"");
//执行节点初始化
ros::init(argc,argv,"HelloVSCode");
//输出日志
ROS_INFO("Hello VSCode!");
return 0;
}
(2)修改CMakeLists.txt文件
在CMakeList.txt文件中修改【有两个txt,注意文件目录】
(3)编译运行
ctrl+shift+b运行,结果显示正常
(4)启动
添加一个新的终端,启动核心
roscore
再新建一个终端,输入
source ./devel/setup.bash
rosrun hello hi
(1)创建目录和文件
hello目录下创建scripts文件夹,scripts下创建py文件。输入
#! /usr/bin/env python
##指定解释器
# 导包
import rospy
# 主入口
if __name__ == "__main__":
# 初始化
rospy.init_node("Hello")
# 输出
rospy.loginfo("Hello vscode!!!!")
右键scripts→在终端中打开,添加权限
# chmod +x 自定义文件名.py
chmod +x hello_vscode.py # *.py可以给所有py文件加权限
(2)修改CMakeLists.txt文件
(3)执行
执行过程同C++