启动vscode
安装拓展
1 2 3 4 5
   | 1、C/C++ 2、CMake Tools 3、Python 4、ROS 5、Chinese(Simplified)Language
   | 
 
vscode 中编译 ros
快捷键 ctrl + shift + B 调用编译,选择:catkin_make:build
可以点击配置设置为默认,修改.vscode/tasks.json 文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
   | { // 有关 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"         }     ] }
 
  | 
 
创建 ROS 功能包
选定 src 右击 —> create catkin package
设置包名 添加依赖
C++实现
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
   | /*     控制台输出 HelloVSCode !!!
  */ #include "ros/ros.h"
  int main(int argc, char *argv[]) {     setlocale(LC_ALL,"");     //执行节点初始化     ros::init(argc,argv,"HelloVSCode");
      //输出日志     ROS_INFO("Hello VSCode!!!哈哈哈哈哈哈哈哈哈哈");     return 0; }
 
   | 
 
快捷键
1 2 3
   | ctrl+shift+K //删除整行 ctrl+/       //取消注释 ctrl+shift+B //编译
   | 
 
PS1: 如果没有代码提示
修改 .vscode/c_cpp_properties.json
设置 “cppStandard”: “c++17”
PS2: main 函数的参数不可以被 const 修饰
PS3: 当ROS__INFO 终端输出有中文时,会出现乱码
INFO: ????????????????????????
解决办法:在函数开头加入下面代码的任意一句
1 2 3
   | setlocale(LC_CTYPE, "zh_CN.utf8"); setlocale(LC_ALL, ""); //推荐
 
   | 
 
运行
在vscode中新建终端,先roscore,再开一个终端,source完rosrun
Python实现
在 功能包 下新建 scripts 文件夹,添加 python 文件,并添加可执行权限
添加可执行权限:右键scripts,在终端中打开chmod +x *.py
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
   | #! /usr/bin/env python #coding=utf-8 #避免中文编码报错 """     Python 版本的 HelloVScode,执行在控制台输出 HelloVScode     实现:     1.导包     2.初始化 ROS 节点     3.日志输出 HelloWorld
 
  """
  import rospy # 1.导包
  if __name__ == "__main__":
      rospy.init_node("Hello_Vscode_p")  # 2.初始化 ROS 节点     rospy.loginfo("Hello VScode, 我是 Python ....")  #3.日志输出 HelloWorld
 
   | 
 
配置 CMakeLists.txt
C++ 配置:
1 2 3 4 5 6 7
   | add_executable(节点名称   src/C++源文件名.cpp ) target_link_libraries(节点名称   ${catkin_LIBRARIES} )
 
   | 
 
Python 配置:
1 2 3 4
   | catkin_install_python(PROGRAMS scripts/自定义文件名.py   DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION} )
 
   | 
 
noetic版本下需要对CMakeList的python部分进行配置,目的是1、正确安装python脚本
2、定位合适的python解释器
而在melodic及以前的版本,只需要对.py文件进行权限设置,直接rosrun即可。
在noetic版本下,现象:当不配置CMakeList.txt 执行python文件抛出异常:
/usr/bin/env: “python”: 没有那个文件目录
原因:当前noetic使用的是python3
解决:
1、直接声明解释器为python3(#! /usr/bin/env python3)(不建议)
2、通过软连接将python链接到python3
sudo ln -s /usr/bin/python3 /usr/bin/python
其他IDE
ROS 开发可以使用的 IDE 还是比较多的,除了上述的 VScode,还有 Eclipse、QT、PyCharm、Roboware ….,详情可以参考官网介绍:http://wiki.ros.org/IDEs