【ROS】ubuntu16.04下vs code配置ros环境并编写helloworld程序

一、vs code下载

1、相关配置要求:
(1)系统为ubuntu16.04
(2)已安装好kinetic-ros
选择ubuntu18.04+melotic版本也一样,差别不大,不过博主这边以kinetic为例进行说明
2、进入官网下载vs code
链接: https://code.visualstudio.com/Download.
在下载安装包时,要选择.deb格式的安装包(一定要在ubuntu系统下),如下图
然后,在该界面打开一个终端,输入下面的指令对安装包进行解压下载,这里注意sudo dpkg -i后面的内容一定要与你的安装包名字一致,否则将会出现错误

sudo dpkg -i code_1.55.0-1617120720_amd64.deb

vs code安装完成后,打开vs code,界面如下

二、插件下载

进入vs code界面后,首先要完成相关插件的下载,点击左上角中像俄罗斯方块的图标,并搜索chinese,完成对vs code软件的汉化,chinese插件下载完成后要关闭vs code并重启才能生效。

然后同样的方法搜索ros、C/C++、cmaketool等插件并下载


安装完这些插件后,就可以在vs code中编写第一个helloworld小程序了

三、程序编写及相应注意事项

在程序编写之前,Ctrl+Alt+T打开终端,输入命令创建工作空间

mkdir -p ~/catkin_hello/src

或者,也可以在文件夹中直接进行创建,然后在vs code中打开catkin_hello,如下图所示,工作空间的初始化命令catkin_init_workspace可以不执行,在后面的编译中直接完成工作空间的初始化,当然,先初始化也是一样的,博主这边只是创建了文件夹


按Ctrl+Tab+~,打开vs code中的终端,进入输入命令catkin_make对catkin_hello工作空间进行编译,但是要注意的是要在catkin_hello路径下,编译完成后如下图

完成catkin_make后,要设置环境变量,并检查环境变量设置是否正确

source devel/setup.bash //设置环境变量
echo $ROS_PACKAGE_PATH //查看环境变量

检查好后,在src文件夹下创建功能包,有两种方式,一种是终端命令创建功能包

cd ~/catkin_hello/src
catkin_create_pkg helloworld rospy roscpp

另一种方式是右击src,通过菜单栏进行功能包的创建,如下图

完成功能包的创建后,在helloworld文件的src文件中,新建一个hello.cpp文件,来编写代码,博主这边通过终端命令来实现

cd helloword/src
touch hello.cpp
gedit hello.cpp //这是用gedit文本编辑器对hello.cpp进行编辑

当然,在创建好hello.cpp后,直接单击左侧的hello.cpp文件,在vs code界面中就直接可以进行程序的编写, helloworld的代码如下所示

#include<ros/ros.h> //头文件调用
int main(int argc,char **argv)
{
ros::init(argc,argv,“hello_ros”); //ros节点初始化
ros::NodeHandle nh; //创建节点句柄
ROS_INFO_STREAM(“hello,ROS!”); //将接收到的消息打印出来
}


但是,此时会发现报错,发现找不到ros/ros.h,这个问题的解决需要配置c_cpp_properties.json文件,方法如下,
按住Fn+F1,输入C/C++,选择C/C++编辑配置(JSON),会在左边菜单中产生一个.vscode文件,文件下包含c_cpp_properties.json,单击c_cpp_properties.json文件,初始界面如下


出现找不到ros/ros.h错误的原因,主要是因为没有添加ros头文件路径,在第六行下面,添加“/opt/ros/kinetic/include”,即可以完成路径的添加,再按Ctrl+s保存,如下图,发现报错提醒消失

然后就是编辑CMakeLists.txt文件和package.xml文件了
单击CMakeLists.txt文件进行配置,在代码的最下面添加两行代码

#生成可执行文件
add_executable( helloworld src/helloworld.cpp )
#连接库
target_link_libraries(helloworld ${catkin_LIBRARIES})

单击package.xml,默认不修改
然后,在catkin_hello文件夹下进行编译,一般情况下基本都编译成功

最后进行运行一下helloworld,按住Ctrl+ALt+T打开一个新的终端,启动roscore,并在vs code终端上运行hello节点,结果如下

到此为止,以最简单的例子helloworld向大家介绍了如何用vs code进行ros环境的配置,并编写简单的应用程序,以实现项目的需求。

【ROS】学习笔记一 ubuntu16.04下vs code配置ros环境并编写helloworld程序相关推荐

  1. Ubuntu16.04下搭建Eclipse C++开发环境

    ubuntu下使用Eclipse下搭建开发环境基本上网上教程一大堆,但是复杂度太大,因为很多教程都是从JDK开始安装一直到最后,而且很多都是从别的linux发行版上弄来的方法,各种编译直接吓死人有木有 ...

  2. Ubuntu16.04 安装LaTex并配置中文环境

    主要参考:https://blog.csdn.net/qq_41814939/article/details/82288145 LaTeX是一种基于TeX的排版系统,由 美国 计算机学家 莱斯利·兰伯 ...

  3. 激光雷达学习笔记-------Ubuntu 18.04 + 思岚科技 A1M8+ ROS 上手使用及基于hector_slam 建图

    一,在虚拟机环境上搭建环境 官方提供了纯 C++和ROS节点两种形式的SDK,ROS版SDK中已经包含了C++的SDK(版本稍晚),不需要单独下载C++版本的SDK. 这里我们主要使用ROS来测试,从 ...

  4. ubuntu16.04下ORB_SLAM2的配置

    配置流程 1 依赖安装 1.1 Pangolin 1.2 OpenCV 1.3 Eigen3 2 ORB_SLAM2安装 3 运行效果 4 问题 5 编译build_ros 5-1 编译问题 5-2 ...

  5. ROS学习笔记(一)补充篇 参考创客制造

    我将ROS的CPP部分分成7个部分: 1.基础的node param 2.动态调节参数 3.关于TF变换 4.actionlib 5.插件技术 6.movebase 7.nodelet技术 前言 相比 ...

  6. ROS学习笔记十二:使用roswtf

    ROS学习笔记十二:使用roswtf 在使用ROS过程中,roswtf工具可以为我们提供ROS系统是否正常工作的检查作用. 注意:在进行下列操作之前,请确保roscore没有运行. 检查ROS是否安装 ...

  7. Ubuntu16.04下ROS Kinetic的安装(2022)

    文章目录 Ubuntu16.04下ROS Kinetic的安装(2022) 一.Ubuntu16.04配置 二.ROS Kinetic安装过程 1.软件中心配置 2.ROS的下载安装 2.1添加源和密 ...

  8. ubuntu16.04下ROS最新换源方法,解决Hash sum mismatch 问题

    1.更换源 备份原始数据 cd /etc/apt/ sudo cp sources.list sources.list.bak sudo gedit sources.list 科大源: deb htt ...

  9. 【ROS】ubuntu16.04下HANDSFREE_ROS_IMU调试

    [ROS]ubuntu16.04下HANDSFREE_ROS_IMU调试 一.准备工作 1.下载驱动软件压缩包 2.安装 ros_imu能依赖包 3.创建工作空间 4.编译并设置环境变量 5.检查是否 ...

最新文章

  1. SpringMVC(SSM)框架搭建JavaWeb项目时,前端页面文件上传,后台Java下载功能实现及相关问题记录说明
  2. php获取访问者ip地址汇总,php获取访问者IP地址汇总_PHP
  3. php中二进制函数,PHP-----函数和二进制
  4. ubuntu jdk 1.7 安装
  5. 17、关于hibernate的N+1问题
  6. 新版电力系统决策支持系统开发告一段落
  7. idea研习录(01)——ideaIU-2017.3.7安装详解
  8. 2017.7.14 阿里巴巴校招面经
  9. 的计算机基本操作知识,电脑的基本操作知识有哪些
  10. Thinking in java 4th the pitfall of Generic
  11. 企业信息系统架构要点
  12. KEIL MDK RTX 实时操作系统
  13. 高等教育心理学:学生的认知发展
  14. Chrome调试工具(CSS)
  15. 《编程珠玑》高清pdf版
  16. 网络安全(知识点总结分类)
  17. acdsee单文件版_96层QLC 美光Crucial X8移动固态硬盘2TB版评测 - 企业资讯
  18. 美团SaaS服务实习生23届春招
  19. python爬取酷狗音乐_python爬取酷狗音乐播放地址
  20. 动态扭矩传感器的选择

热门文章

  1. Autodesk 2013 免费下载 及所有产品product Key(产品密匙)
  2. 2023年进入TK海外直播公会,应该怎么玩?怎么申请?
  3. 如何画出美丽漂亮的三维立体图——Mathematica的快速上手
  4. 麻省理工计算机导论公开课,网易公开课给大一新生“量身订做”精品课程
  5. 微信小程序 MinUI 组件库系列之 avatar 头像组件
  6. 3-订单持续时间的计算
  7. Singularity 快速上手, 带你飞
  8. java调adobe打印_Java报表工具打印方案集锦 | 改变自己
  9. 解决ubuntu 16.04 启动黑屏,出现dev/sda7: clean, xxx/xxx files, xxx/xxx blocks字样问题
  10. ESP32基于arduino开发的心跳体温检测系统(二)传感器的使用