
ROS
文科升
无人驾驶行业程序员。
展开
-
error: invalid use of incomplete type ‘class Ogre::SceneManager’问题修改
1.问题描述自己开发的程序中使用到了jsk_rviz_plugins这个包,之前使用的是Nvidia的PX2板子,系统环境是Ubuntu16.04+ROS kinetic,编译运行没有问题。最近开发板子升级到Nvidia Xavier之后,系统环境也升级为Ubuntu18.04+ROS melodic,结果编译程序的时候遇到如下问题:/home/nvidia/workspace/autonomousDriving_Xavier/src/utils/jsk_rviz_plugins/src/bound原创 2020-09-22 11:41:06 · 1121 阅读 · 0 评论 -
ROS中插件plugin的简单使用方法
插件,如同其名字一样,第一次接触的时候让我想到了U盘或者USB线这类东西,它们和电脑没有关系,但是插入(挂载)电脑USB口后却可以正常使用,仿佛扩展了电脑的功能。软件中的插件也是类似的,插件化开发使得程序开发扩展性增强,并且不需要对于程序的框架做本质上的改变。插件的本质是创建一个第三方库在软件中来使用。ROS中插件的创建步骤如下5步:1)创建基类2)创建插件3)注册插件4)编译插件5)将新的插件添加到ROS的工具链当中1.在ROS中创建插件1)创建基类先创建一个工作空间c原创 2020-08-10 15:29:51 · 5993 阅读 · 2 评论 -
记录两个ROS工程编译时候的问题
1.contains a package but "catkin_make" must be invoked in the root of workspace先说下我是怎么出现这个问题的吧。我在创建了一个catkin_ws目录之后,在这个目录里边直接使用命令catkin_create_pkg命令创建了个maker子目录,然后进入marker里边添加了CMakeLists.txt并进行编辑,同时...原创 2020-04-09 17:04:54 · 4285 阅读 · 1 评论 -
记录一个VSCode中代码跳转不到定义文件的问题
问题描述:我使用的是Ubuntu16.04版本的Linux系统,安装VSCode浏览和ROS系统相关的代码,最近突然出现在IDE中跳转不到函数定义的地方。重新安装VSCode也没有解决该问题。。。问题原因:Visual Studio Code Extension for ROS出了问题。解决办法:步骤1:打开VSCode IDE,输入ctrl+shift+x,在页面左侧显示@insta...原创 2020-03-07 17:58:27 · 16912 阅读 · 2 评论 -
VINS-Mono代码阅读笔记(一):从Euroc数据集的运行开始
1.写在前面的话最近开始学习VINS-Mono系统源码,也看到了网上有许多别人的的阅读笔记和代码介绍资料。对我自己而言,阅读前人的笔记能够很快帮助自己加深对系统以及代码的整体理解。但是,自己也要写阅读笔记,这样在写的过程中能加深自己的认识和对系统的理解。VINS-Mono的代码路径:https://github.com/HKUST-Aerial-Robotics/VINS-MonoVI...原创 2019-09-17 20:33:05 · 8690 阅读 · 8 评论 -
git submodule update获取不到最新提交的代码
今天遇到了一个git submodule update获取不到最新代码的问题,闹了半天原来是自己对git submodule理解不到位引起的。解决了后,感觉虽然没有什么高深的地方,但是不清楚的时候还是需要费时间去查找问题,所以还是在此记录如下。1.问题描述同事在共同使用的一个工程里修改了代码,这个工程在我本地的工程中是作为submodule来使用的,但是我在本地执行以下命令却获取不到最新提...原创 2019-09-04 16:38:38 · 24289 阅读 · 6 评论 -
PlotJuggler的安装遇到的问题记录
1.PlogJuggler的安装在基于ROS系统进行开发的工程中,我们常常需要根据订阅的rostopic来进行逻辑判断进而执行操作,当遇到问题需要调试的时候,经常需要对接收的topic进行数据分析。通常的做法是对操作过程进行录包(也就是录操作过程中的rosbag包),然后调试的时候进行回放,并通过rostopic echo命令查看数据变化,但是这样操作不够直观。经常遇到这种情况时,我们开发人员...原创 2019-08-30 17:20:30 · 6832 阅读 · 3 评论 -
rosbag record录包(ROS入门学习笔记五)
1.rosbag record命令rosbag record命令是用于在ros系统中录取系统中其他ros节点发出来的topic的message。录取的的包可以使用rosbag play命令来回放,订阅这些消息的node节点就可以收到这些消息,进而执行对应的程序。这样的话,就可以将自动驾驶汽车或者无人机、机器人等自动化机器在室外一些环境下遇到的问题,通过录包的方法拿到办公室来仔细研究解决。r...原创 2019-07-25 18:56:22 · 43779 阅读 · 0 评论 -
ROS中的roslaunch命令和launch文件(ROS入门学习笔记四)
ROS中的基本对象和概念学习笔记(ROS入门学习笔记一)ROS中创建工作区和包(ROS入门学习笔记二)ROS功能包中CMakeLists.txt的说明(ROS入门学习笔记三)1.roslaunch命令我们知道,rosrun命令用于运行一个ROS节点,这个在简单程序中使用比较方便。但是在规模比较大的程序中,常常有几个或者几十个节点,这些节点之间彼此互有联系,协同达到软件正确执行的目的...原创 2019-07-07 18:30:51 · 32317 阅读 · 0 评论 -
Xsession :warning:unable to write to /tmp; X session may exit with an error问题解决
1.问题描述 今天使用PX2进行测试的时候,发现系统启动后在登录页面输入密码后竟然登录不了系统。并且多次操作还会出现下面页面的提示。于是网上搜索弹框中的内容:Xsession :warning:unable to write to /tmp; X session may exit with an error根据网上这个链接https://www.experts...原创 2019-05-23 17:02:25 · 8262 阅读 · 0 评论 -
ubuntu16.04上安装openni2记录
下载了ORB-SLAM2和相关的KITTI数据集运行ORB单目效果时出现了如下错误:zhuwsh@zhuwsh-TM1705:~/Desktop/SLAM/ORB_SLAM2$ ./Examples/Monocular/mono_kitti Vocabulary/ORBvoc.txt Examples/Monocular/KITTI00-02.yaml ../dataset/sequence...原创 2019-04-28 18:20:12 · 1702 阅读 · 0 评论 -
Linux系统中OpenCV的源码安装步骤记录
记录一下在Linux系统上安装OpenCV的步骤。在Linux系统环境下,可以选择从源代码进行安装和只安装库文件两种方式。我这里主要是OpenCV的源码下载、编译和安装,为什么使用源码方式呢?因为在使用opencv的过程中,想查看一些接口实现的话,就可以去源码包下对应路径查看。1.下载opencv源码包从以下路径下载安装:https://opencv.org/opencv-4-0-0...原创 2019-03-19 20:40:49 · 2386 阅读 · 1 评论 -
ROS功能包中CMakeLists.txt的说明(ROS入门学习笔记三)
ROS的构建系统默认使用CMake(Cross Platform Make),其构建环境在功能包目录中的CMakeLists.txt文件中描述。在ROS中,CMake被修改为适合于ROS的“catkin” 构建系统。结合一个CMakeLists.txt实例进行如下介绍:cmake _ minimum _ required ( VERSION 2 . 8 . 3 ) ///...原创 2019-03-04 17:50:43 · 2960 阅读 · 0 评论 -
通过脚本过滤掉ROS bag中不需要的topic
该脚本需要输入两个参数,参数1为要过滤的bag,参数二为新生成的bag。脚本中对/monitor//*进行过滤,并生成新的bag文件。#!/bin/bash#1.get the info of the bagif [ $# != 2 ]; then echo "the input params number is not 2,please try again!" exit ...原创 2019-02-01 13:03:13 · 4158 阅读 · 2 评论 -
ROS中创建工作区和包(ROS入门学习笔记二)
1.创建ROS工作区$ mkdir -p ~/catkin_ws/src #创建了catkin_ws目录,并且在该目录下创建了src目录$ cd ~/catkin_ws/$ catkin_make执行catkin_make命令后,会在src文件夹中创建一个CMakeLists.txt链接文件,并且此时在catkin_ws目录下会创建build和devel两名文件夹。devel文...原创 2019-01-27 17:00:19 · 2542 阅读 · 2 评论 -
ROS中的基本对象和概念学习笔记(ROS入门学习笔记一)
1.roscore命令和roslaunch命令区别roscore命令用来显式启动ROS节点管理器,roslaunch目的是一次性启动多个节点,如果启动多个节点时没有节点管理器在运行,则会自动启动节点管理器,如果已经有一个节点管理器在运行,则会使用已有的节点管理器。2.一旦节点管理器被启动了,就可以运行ROS程序了,ROS程序的运行实例被称为节点(node).注意:如果我们同时执行相同程...原创 2019-01-26 17:15:54 · 1370 阅读 · 0 评论