ROS第三课:VScode开发环境下基本实现流程

用C++或python通过VScode来实现最简单的程序,即输出“hello world!”

  1. 创建工作空间(同前)
    使用下列代码来实现工作空间的创建并进行编译
mkdir -p demo02_ws/src
#(必须得有 src)
cd doemo02_ws
catkin_make
  1. 启动VScode
    使用下列命令启动VScode
cd demo02_ws
code .
  1. VScode中编译ROS(*)
    使用快捷键ctrl+shift+B可调用编译,第一次使用需配置设置,后续编译可用该快捷键默认编辑整个工作空间。选择catkin_make:build,生成默认的配置文件,在文件中一定需更改group行:
#实际操作发现只用做下边修改即可成功运行
"group": {"kind":"build","isDefault":true}

#教程也提供了完整的配置文件
{
// 有关 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"
        }
    ]
}


  1. 创建ROS功能包
    在src右击—>create catkin package—>包名:hello_vscode;回车—>依赖:roscpp rospy std_msgs;回车
  2. 编写代码
  • 使用C++
    在hello_vscode/src中新建文件:hello_vscode_c.cpp,编辑代码:
#include "ros/ros.h"

int main(int argc, char *argv[])//这个地方需要删去const
{
    setlocale(LC_ALL,"");
    //执行节点初始化
    ros::init(argc,argv,"HelloVSCode");

    //输出日志
    ROS_INFO("Hello VSCode!!!哈哈哈哈哈哈哈哈哈哈");
    return 0;
}
  • 使用python
    在功能包(hello_vscode/)下新建 scripts 文件夹,添加 python 文件:hello_vscode_p.py,编辑代码:
#! /usr/bin/env python
import rospy # 1.导包

if __name__ == "__main__":

    rospy.init_node("Hello_Vscode_p")  # 2.初始化 ROS 节点
    #节点名貌似是可以随便取
    rospy.loginfo("Hello VScode, 我是 Python ....")  #3.日志输出 HelloWorld
  1. 一些注意事项
  • 使用C++

①编辑代码时出现不能自动补全,或者声明包含头文件行出现错误提示时,可按如下操作进行修改,打开.vscode/c_cpp_properties.json文件,修改或添加以下代码

"cppStandard": "c++17"

②输入main后回车即可生成main函数形式,但注意main函数不能被const修饰,const需删去;
③当ROS__INFO终端中有中文时,会出现乱码,可在主函数开头添加下列任一行命令:

setlocale(LC_CTYPE, "zh_CN.utf8");
setlocale(LC_ALL, "");
  • 使用python
    python程序完成后,需要修改文件权限:
    scripts右击—>在终端中打开—>在终端中输入:
chmod +X *.py//对工作空间所有python文件添加可执行权限
ll
  1. 配置CMake.List.txt
    双击打开CMake.List.txt文件,可将纯文本改成Makefile,更美观
  • C++配置
add_executable(hello_vscode_c src/hello_vscode_c.cpp)
target_link_libraries(hello_vscode_c
  ${catkin_LIBRARIES}
)

  • python配置
catkin_install_python(PROGRAMS scripts/hello_vscode.p.py
  DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
)
  1. 编译并执行
    对程序进行编译;重新打开一个终端,使用roscore启动ros核心;在一个新的终端中使用下列代码进行环境变量的设置
source ./devel/setup.bash
  • C++运行
rosrun hello_vscode hello_vscode_c
  • python运行
rosrun hello_vscode hello_vscode_p.py

http://www.autolabor.com.cn/book/ROSTutorials/chapter1/14-ros-ji-cheng-kai-fa-huan-jing-da-jian/142-an-zhuang-vscode.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值