【ros】ros学习日记(2)——集成开发环境
ros学习日记2——集成开发环境1.下载2.vscode 安装与卸载2.1 安装2.2 卸载3.vscode 集成 ROS 插件4.vscode 使用_基本配置4.1 创建 ROS 工作空间4.2 启动 vscode4.3 vsode中编译ros4.4 创建ros功能包4.5 c实现4.5.1 在功能包的src下新建cpp文件4.5.2 修改cmake文件4.5.3 实验效果4.6 python实现5. launch文件5.1 需求2.实现4.运行结果1.下载vscode 下载:https://code.visualstudio.com/docs?starttrue历史版本下载链接: https://code.visualstudio.com/updates2.vscode 安装与卸载2.1 安装方式1:双击安装即可(或右击选择安装)方式2:sudodpkg-ixxxx.deb2.2 卸载sudodpkg--purgecode3.vscode 集成 ROS 插件使用 VScode 开发 ROS 程序需要先安装一些插件常用插件如下:4.vscode 使用_基本配置4.1 创建 ROS 工作空间mkdir-pxxx_ws/srccdxxx_ws catkin_make4.2 启动 vscode进入之前创建的 ROS 工作空间目录然后启动 VSCode。cdxxx_ws code.4.3 vsode中编译ros快捷键ctrlshiftB调用编辑选择catkin_makebuild修改.vscode/tasks.json 文件这样按快捷键ctrlshiftB就是自动编译{// 有关 tasks.json 格式的文档请参见// https://go.microsoft.com/fwlink/?LinkId733558version: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}]}4.4 创建ros功能包选定src右击选择create catkin package在第一个上方弹窗中设置包名在第二个上方弹窗中填写依赖一般使用的依赖有rospy roscpp std_msgs这一步为防止依赖名填错可以按快捷键编译一下如果有错可以在package.xml最下面修改4.5 c实现4.5.1 在功能包的src下新建cpp文件/* 控制台输出 Hello, Visual Studio Code! */#includeros/ros.hintmain(intargc,char*argv[]){ros::init(argc,argv,hello_vscode);ROS_INFO(Hello, Visual Studio Code!);return0;}在写代码过程中如果#include ros/ros.h有报错不必在意编译后报错会消失如果没有代码提示可以修改.vscode/c_cpp_properties.json设置 “cppStandard”: “c17”4.5.2 修改cmake文件注意修改的是src目录下的cmake文件画框两部分解除注释ctrl/修改节点名和cpp文件名4.5.3 实验效果完成后编译↓在终端打开新的终端启动rosroscore新建终端cd~/demo02_ws/source./devel/setup.bash rosrun hello_vscode hello_vscode_c输入命令后输出hellovisual studio code实验成功4.6 python实现在功能包目录下添加scripts文件夹添加python文件#! /usr/bin/env python3#导包importrospy#入口if__name____main__:#初始化ROS节点rospy.init_node(hello_vscode_p)#打印日志rospy.loginfo(Hello VSCode Python!)添加可执行权限chmodx *.py ll3. 修改cmake文件修改第162-165行首先取消注释然后将python文件名换为我们添加的python文件名作用是可以正确安装python脚本可以定位到合适的python解释器执行python脚本4. 编译5. 启动rosroscore6. 执行cd~/demo02_ws/source./devel/setup.bash rosrun hello_vscode hello_vscode_p.py5. launch文件5.1 需求一个程序中可能需要启动多个节点比如:ROS 内置的小乌龟案例如果要控制乌龟运动要启动多个窗口分别启动 roscore、乌龟界面节点、键盘控制节点。如果每次都调用 rosrun 逐一启动显然效率低下如何优化?官方给出的优化策略是使用 launch 文件可以一次性启动多个 ROS 节点。2.实现选定功能包右击 — 添加 launch 文件夹选定 launch 文件夹右击 — 添加 launch 文件编辑 launch 文件内容launchnodepkghelloworldtypedemo_hellonamehellooutputscreen/nodepkgturtlesimtypeturtlesim_nodenamet1/nodepkgturtlesimtypeturtle_teleop_keynamekey1//launchnode — 包含的某个节点pkg ----- 功能包type ---- 被运行的节点文件name -- 为节点命名output- 设置日志的输出目标## 3.运行 launch 文件roslaunch 包名 launch文件名4.运行结果一次性启动了多个节点学习的为赵虚左老师的教程 1.老师的文档 2.老师的视频在笔记上大量参考了老师的文档