ROS
通哈膨胀哈哈哈
自我对话攻城狮
展开
-
ubuntu16.04 glog安装
git clone https://github.com/google/glogcd glog/cmake/cmake ..sudo make install原创 2020-10-05 09:15:45 · 591 阅读 · 0 评论 -
ROS:navigation laser_scan_matcher参数配置
开源包链接:git https://github.com/ccny-ros-pkg/scan_tools.git1.简介所述laser_scan_matcher包是增量激光扫描配准工具。该软件包允许扫描连续的sensor_msgs / LaserScan消息之间的匹配,并将估计的激光位置发布为geometry_msgs / Pose2D或tf变换。该包装可以在没有其他传感器提供...原创 2019-03-16 19:14:40 · 4290 阅读 · 0 评论 -
ROS:本地规划器对比
1、eband_local_planner eband_local_planner实现了base_local_planner的插件。它在SE2流形上实现了弹性带方法。 此ROS move_base本地规划器的原始实现仅支持全向(完整)机器人。 修改了当前版本以与差分驱动器一起使用。将differential_drive设置为fa...原创 2019-03-16 19:05:58 · 1703 阅读 · 0 评论 -
ROS:Navigation base_local_planner简介
这个包使用Trajectory Rollout and Dynamic Window approaches来做平面上运动的机器人局部导航。 控制器使用规划和代价地图生成速度命令后发送给移动基座。该包适用于全向移动和非全向移动机器人,机器人轮廓可以表示为凸多边形或者圆,ROS参数可以在启动文件指定。 这个包进行了ROS封装,继承了BaseLocalPlanner接口。1 概述...翻译 2019-03-16 18:54:55 · 1537 阅读 · 0 评论 -
ROS:机器人描述--URDF和XACRO
1 URDF 文件1.1 link和joint图中机器人的描述方式<robot name="test_robot"> <link name="link1" /> <link name="link2" /> <link name="link3" /> <link nam转载 2019-03-11 13:24:30 · 950 阅读 · 0 评论 -
ROS:在rviz中显示一个栅格
在rviz中以栅格为单位显示。用处:比如,无人车激光雷达点云数据栅格化后经过筛选,需要将栅格显示出来,而不再是以点的形式。 方法:使用nav_msgs/GridCells消息。该消息类型为: 示例: // // Created by ethan on 18-6-26. // #include <iostream>...转载 2019-03-19 11:04:49 · 1883 阅读 · 0 评论 -
ROS:引用同一工作空间下其他包中的 .h 文件
引用同一工作空间下其他package的‘.h’文件,一种方法是创建library生成动态链接库‘.so’:[1]https://answers.ros.org/question/33779/how-do-i-link-an-executable-with-library-in-other-package/?answer=33781#post-id-33781.[2]https://blog.c...转载 2019-06-24 15:47:25 · 2830 阅读 · 0 评论 -
ros编译报错
1、找不到ros.h : cmake.txt下添加:include_directories(include ${catkin_INCLUDE_DIRS} )原创 2019-06-24 15:21:24 · 467 阅读 · 0 评论 -
catkin_make
一、编译指定包1、catkin_make -DCATKIN_WHITELIST_PACKAGES="package1;package2"2、恢复编译所有包catkin_make -DCATKIN_WHITELIST_PACKAGES=""原创 2019-06-11 16:03:38 · 1870 阅读 · 0 评论 -
Ubuntu16.04+CUDA9.0 安装(全网最简便快速安装,测试成功)
以爬坑为第一要义一、安装驱动最简单的安装方式是直接在“系统设置->软件和更新->附加驱动”中安装。在terminal里面输入命令nvidia-smi,看到如下的输出,就是正确了。二、CUDA9.0下载。地址:https://developer.nvidia.com/cuda-90-download-archive?target_os=Linux&targ...原创 2019-06-03 17:07:41 · 58418 阅读 · 4 评论 -
ubuntu16.04安装LCM1.3.1
LCM(Lightweight Communications and Marshalling)是一套用于消息传递和数据编组的库和工具,针对高带宽和低延迟至关重要的实时系统。 它提供了一个发布/订阅消息传递模型和自动编组/解组代码生成,并为各种编程语言的应用程序提供绑定。1、安装依赖包sudo apt-get install build-essential autoconf automake ...原创 2019-06-13 11:15:03 · 4736 阅读 · 0 评论 -
ros:消息类型总结
1, rostopic info [消息名字]; 可以得到Type:信息.例$ rostopic info /odomType: nav_msgs/OdometryPublishers:* /mobile_base_nodelet_manager (http://192.168.137.5:59351/)Subscribers: None2, 根据上述操作得到topic 消息类...原创 2019-04-11 15:25:16 · 6090 阅读 · 0 评论 -
Ubuntu 禁止休眠
在笔记本上装ubuntu系统,也可以从事相关开发工作。但笔记本存在这样的情况,就是有时服务功能设好了,不需要操作了,但是希望机器一直开机提供服务,或者长期下载大文件。此时,为了省电,可将笔记本屏幕合上,静待其完成任务。但是,在默认情况下,笔记本合上屏幕后,ubuntu系统会休眠,我试着用GUI改了一下设置,实践证明没有效果,还是直接修改配置文件来得快,方法如下:修改 Login Manag...转载 2019-03-27 15:35:14 · 10226 阅读 · 1 评论 -
ROS:move_base调试
move_base是ROS下关于机器人路径规划的中心枢纽。它通过订阅激光雷达、map地图、amcl的定位等数据,然后规划出全局和局部路径,再将路径转化为机器人的速度信息,最终实现机器人导航。这里又要盗官网的图了。上面这个图很好的展示了move_base的整个框架,下面我更加详细的介绍一下每个模块的功能及其是如何衔接的。首先左上角的amcl模块是ROS的导航定位模块,amcl也叫自适应蒙...原创 2018-11-12 19:26:34 · 2625 阅读 · 0 评论 -
ROS导航:向cost-map中添加超声波障碍图层
两种思路:1.将超声波反馈信息作为一个新的layer添加到cost-map当中;2.将超声波数据(ros_msgs/Range)转换为move_base包需要的输入格式(LaserScan或者PointCloud;这里重点讲解方式一,因为方式二尚未尝试。步骤(以ros_by_example书中第八章例程为基础):1 编译range_sensor_layer插件并添加到ROS环境主要参...转载 2018-11-07 15:14:01 · 6469 阅读 · 11 评论 -
Ubuntu14.04安装OpenCV
首先,我们需要安装一些必要的包[compiler] sudo apt-get install build-essential[required] sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev[optional] sudo apt-g...原创 2018-10-03 20:34:13 · 230 阅读 · 0 评论 -
ROS:文件结构与解释
创建自己的ROS目录 就直接创建了一个名为catkin_ws的工作空间,当然也可以为其他的名字。这个是无所谓的。 使用cd命令: mkdir -p /catkin_ws/src cd ~/catkin_ws/src 进入到catkin_ws/src目录下,可以看到catkin_ws和src目录下都是空的。 注:“~”是用户目录的意思,就是只执行cd命令时,linux会进入的那个目录。 这时,执行...原创 2018-06-15 18:36:53 · 3448 阅读 · 0 评论 -
ROS:catkin编译的四个步骤
1.声明依赖库。 首先,我们需要声明程序所依赖的其他功能包。 为了给出依赖库,编辑包目录下的 CMakeLists.txt 文件。该文 件的默认版本含有如下行: find_package(catkin REQUIRED) 所依赖的其他 catkin 包可以添加到这一行的 COMPONENTS 关键字 后面,如下所示: find_package(catkin REQUIRED COMPONENTS...原创 2018-06-15 18:34:47 · 4717 阅读 · 0 评论 -
ROS:LaserScan消息的格式
本文介绍了LaserScan消息的格式以及各个参数的意义,并且在文章的最后编写了一个subscriber用来读取激光数据.LaserScan是ROS定义的激光数据格式,消息定义在sensor_msgs/LaserScan.msg文件中,路径为:/opt/ros/indigo/share/sensor_msgs/msg.LaserScan消息的示例如下:header:...原创 2018-06-23 15:07:20 · 2285 阅读 · 2 评论 -
ROS :RViz 实时观测机器人建立导航2D封闭空间地图过程 (SLAM)
ROS提供了非常强大的图形化模拟环境 RViz,这个 RViz 能做的事情非常多。今天我们学习一下如何使用 RViz 对机器人在路径探索过程中对地图动态观测。我们将学习重放已经采集的数据来模拟机器人输入,从而将精力放到SLAM和地图的建立以及RViz的使用上。下面是效果图:一 基本概念ROS 对机器人导航提供了非常强大的支持,这可以让我们在不了解细节和海量复杂无比的科学计算的情况下就可以对机器人的...原创 2018-06-15 11:20:54 · 1771 阅读 · 0 评论 -
ROS:RoboWare Studio的使用和发布器/订阅器的编写与测试
按照大多网络教材的顺序,我们先来做一个发布器和订阅器。步骤如下: 1.在RoboWare-Studio里的工作区间下新建一个包beginner_tutorials,依赖项是std_msgs,roscpp. 2.在_tutorials包下的src里创建两个cpp源文件talker和listener。 talker文件内容如下:#include"ros/ros.h"//导入ros核心头文件#incl...原创 2018-06-22 15:36:16 · 743 阅读 · 1 评论 -
ROS:nodelet简介与应用
1 nodelet简介 使用ROS中nodelet包可以实现在同一个进程内同时运行多种算法,且算法之间通信开销零拷贝。这个包有2个重要的class:1)提供了实现nodelet插件所必须的基类nodelet::Nodelet; 2)提供了NodeletLoader类用以实例化nodelet插件。由于nodelets实现了零拷贝,所以常常应用于大数据吞吐量场景,避免了多node通过ROSTCP...原创 2018-06-22 14:53:49 · 9547 阅读 · 1 评论 -
ROS:无足够权限修改网卡等配置文件
Ubuntu 的网络配置文件主要有以下几个:IP地址配置文件、主机名称配置文件、DNS配置文件。IP地址配置文件: /etc/network/interfaces打开后里面可设置DHCP或手动设置静态ip。前面auto eth0,让网卡开机自动挂载.1. 以DHCP方式配置网卡编辑文件/etc/network/interfaces:sudo vi /etc/network/interfa...转载 2018-05-14 13:27:05 · 1424 阅读 · 0 评论 -
ROS:指令回忆录
1、rosbag record -a #录制所有发布的话题到当前目录 rosbag record -O bagname /velodyne_points #录制指定的话题到当前目录 rosbag info <your bagfile> #检查看bag文...原创 2018-05-14 12:48:03 · 551 阅读 · 0 评论 -
catkin_make:编译之后devel与build的关系
这是一个比较复杂的问题,但是有时候会有莫名其妙的编译错误,在找错误的过程中会非常需要了解这个过程。首先说一下.in文件。在catkin的目录中有许多.in文件 这些都是模板文件,以/opt/ros/kinetic/share/catkin/cmake/templates/env.sh.in为例 下面是源文件#!/usr/bin/env sh# generated from catkin/cmak...原创 2018-06-19 17:43:54 · 8318 阅读 · 0 评论 -
ROS : IMU串口通讯接口(通用版)
1、源码#include <string>#include <ros/ros.h> // 包含ROS的头文件#include <sensor_msgs/JointState.h>#include <tf/transform_broadcaster.h>#include <nav_msgs/Od...原创 2018-06-27 10:21:54 · 4217 阅读 · 1 评论 -
ROS:Navigation-----fake_localization简介
fake_localization是一个ROS node,用来简单的转发odometry信息。1 概述 fake_localization包提供了一个单一ROS node,fake_localization, 用来替代定位系统,它也提供了amcl定位算法ROS API的子集。该node在仿真中被频繁使用,是一种不需要大量计算资源就能进行定位的方式。 具体来说,fake_l...原创 2018-09-14 18:33:05 · 1184 阅读 · 0 评论 -
ROS:使用usb_cam软件包调试usb摄像头
0x00 usb_cam软件包简介为了丰富机器人与外界的交互方式,我们已经增加了与机器人的语音交互方式,不仅使机器人能够说话发声,还能听懂我们说的话,但是如果只有语音交互的话机器人就是一个盲人,无法看到这个色彩斑斓的大千世界,因此我们就需要为机器人增加视觉识别功能。现在市面上最常见的还是USB摄像头,物美价廉,要想使USB摄像头在ROS下正常工作,我们就需要一个软件包来支持,现在ROS下最常用...原创 2018-09-14 16:25:26 · 31087 阅读 · 8 评论 -
Ubuntu 16.04 创建无线热点
1. 查看无线网卡是否支持AP模式 要创建一个热点,必须有无线网卡,且该网卡支持AP模式,具体可以用如下命令查看:sudo apt-get install iwiw list1 2 如果出现如下包含AP的关键字,则表示支持AP模式:2. 创建热点 首先点击右上角的网络图标,然后拉到最下面,点击编辑连接,得到如下界面: 点击增加,然后选择...原创 2018-09-03 16:09:44 · 3770 阅读 · 0 评论 -
ROS:move_base导航包参数设置
首先了解在导航堆中,move_base包与其它包(如amcl、map_server)的关系,如图所示在move_base节点运行前需要四个配置文件,这些文件定义了一系列相关参数,包括越过障碍物的代价、机器人的半径、路径规划时需要考虑未来多长的路、我们想让机器人以多块的速度移动等等。这四个配置文件分别是:base_local_planner_params.yamlcostmap_co...原创 2018-07-25 17:49:40 · 13062 阅读 · 0 评论 -
ROS:远程传输到ROS主控,远程编译,运行
前面已经安装好SSH,这样我们使用命令 ssh user@hostpassger 就可以远程操控ROS主控了。 后面的编译都是基于roboware的,我们可以把他当成一个在linux上的IDE,但是他的一些作用已经超过普通IDE,可喜的是这是一款一个济南的公司制作的国产软件。 百度找到他的官网,很容易安装。在此不再赘述。因为很多同学会出现远程传输工程出错的问题。所以...原创 2018-07-13 19:03:28 · 2644 阅读 · 2 评论 -
ROS:URDF分析
1.所有的URDF/Xacro文件都会以以下两个标签作为开头。所有在< robot>标签后的内容都是在定义我们的组件,而整个文件会以< /robot>标签结束(注:robot中的name可以自己根据具体内容进行自命名,如下面的为base)。<? xml version="1.0"? ><robot name="base" ...原创 2018-07-07 13:26:21 · 527 阅读 · 0 评论 -
ROS : URDF统一机器人标准描述
Unified Robot Description Format,统一机器人描述格式,简称为URDF。ROS中的urdf功能包包含一个URDF的C++解析器,URDF文件使用XML格式描述机器人模型。1 URDF语法规范参见:XML specifications2 组件 URDF由一些不同的功能包和组件组成,下图描述了这些组件之间的联系。3 URDF教程如下...原创 2018-07-07 13:16:45 · 1191 阅读 · 0 评论 -
ROS :Tranform出错简易处理 tf出错现象及解析
有时候由于urdf以及代码中有些遗漏,可能导致TF出现问题,此文只作为阐明TF重要性的示例,不是解决方案!请注意此方法不保证正确和唯一,解决方案多样,欢迎留言补充,这里抛砖引玉~以下面为例:启动地图构建程序,但是没有出现地图,rviz现象为:这里有两个警告和两个错误:使用下面命令查看TF tree:$ rosrun rqt_tf_tree rqt_tf_tree/odom和/base_footpr...原创 2018-07-05 16:15:16 · 1984 阅读 · 1 评论 -
ROS:AMCL
软件包摘要amcl是机器人在2D中移动的概率定位系统。它实现了自适应(或KLD采样)蒙特卡罗定位方法,其使用粒子滤波器来针对已知的地图跟踪机器人的姿势。算法许多算法及其参数在本文中有详细描述。用户是建议检查有更多的细节。使用以下算法: sample_motion_model_odometry, beam_range_finder_model, likelihood_field_range_fin...原创 2018-07-05 15:58:54 · 2303 阅读 · 0 评论 -
ROS:驱动编写与对应节点消息发布
前言 在使用ROS的过程中,不可避免的会遇到要自己手动编写驱动、节点、行为库、服务、消息等内容,尤其是需要一些传感器,而所需传感器没有相关ROS驱动时,下面将讲述的是在使用的传感器中,没有ROS驱动时,我们将如何使用该传感器。 在接下来的博客中将根据本身经验来编写一些ROS相关内容,权当是作为记忆来分享。ROS驱动——点激光扫描仪 下面将讲述使用ROS官方未有的传感器来作为样例,我使用的...原创 2018-06-20 16:14:10 · 3642 阅读 · 0 评论 -
ROS:使用小贴士
1、图概念概述Nodes:节点,一个节点即为一个可执行文件,它可以通过ROS与其它节点进行通信。Messages:消息,消息是一种ROS数据类型,用于订阅或发布到一个话题。Topics:话题,节点可以发布消息到话题,也可以订阅话题以接收消息。Master:节点管理器,ROS名称服务(比如帮助节点找到彼此)。rosout:ROS中相当于stdout/stderr。roscore:主机+rosout ...原创 2018-05-14 12:43:25 · 170 阅读 · 0 评论