ROS问题汇总以及VSCode配置问题

文章目录

vscode环境相关问题

1、连接远程服务器

可参考:通过VSCode连接远程服务器

image-20220905164105563

配置好信息,然后去连接即可:

Host ssh-ubuntu
    HostName 192.168.3.18
    User changlu

2、vscode配置ROS环境

参考:在VScode中配置ROS环境

在vscode中安装如下插件:

image-20220906172103335

此时就有了下面src右击的创建功能包:

image-20220906172137751

之后会让你输入两个部分内容等同于:

# catkin_create_pkg创建包命令  helloworld就是包名  后面的就是依赖包roscpp rospy std_msgs
catkin_create_pkg --rosdistro melodic helloworld roscpp rospy std_msgs

3、vscode中编写ROS问题

参考:如何在ROS中使用VScode创建功能包并编写cpp文件

3.1、ctrl+shift+b快速编译效果

image-20220906173120284

直接在.vscode文件夹目录下创建tasks.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"
		}
	]
}

接着点击文件工程,然后ctrl+shift+b即可进行编译整个工程。

3.2、ros没有c++代码提示

修改 .vscode/c_cpp_properties.json

"cppStandard": "c++17",

3.3、ros代码自动补全问题

参考:Vscode开发ROS,实现自动补全功能

跟着博客一步步做即可。

3.4、ROS_INFO日志中文乱码报错问题

问题描述:当ROS__INFO 终端输出有中文时,会出现乱码,例如:

[INFO](http://www.autolabor.com.cn/book/ROSTutorials/chapter1/14-ros-ji-cheng-kai-fa-huan-jing-da-jian/142-an-zhuang-vscode.html#): ????????????????????????

解决办法:在cpp的main函数开头加入下面代码的任意一句

setlocale(LC_CTYPE, "zh_CN.utf8");
setlocale(LC_ALL, "");

关于teleop_twist_keyboard的使用

ROS教程——让模拟机器人动起来(键盘控制)

image-20220917151340639

其他:

  • q/z : 最大速度增加/减少10%
  • w/x : 仅线性速度增加10%
  • e/c : 仅角速度增加10%

报错问题汇总

切换为root之后出现No protocol specified

可参考案例:qt.qpa.screen: QXcbConnection: Could not connect to display. Could not connect to any X display.、报错No protocol specified解决办法

问题描述:

No protocol specified
qt.qpa.screen: QXcbConnection: Could not connect to display :0
Could not connect to any X display.

image-20220909110830131

解决方案:切换回到原先的changlu账号就可以了!


整理者:长路 时间:2022.9.40

评论区请在客户端页面查看