ROS
just_do_it567
菜鸟一枚,多多关照
展开
-
激光SLAM建图过程中的问题MessageFilter [target=odom_combined ]:Dropped 100.00% of messages so far.,解决方案
最近在和师弟用kobuki底盘进行SLAM建图的过程中遇到一个比较棘手的问题,一直没有解决,直到今天我在仿真环境中也碰到了[ WARN] [1618301922.711685031, 2351.764000000]: MessageFilter [target=odom_combined ]: Dropped 100.00% of messages so far. Please turn the [ros.slam_karto.message_filter] rosconsole logger to D原创 2021-04-13 17:24:42 · 3455 阅读 · 0 评论 -
ROS轨迹保存为tum格式,并用evo轨迹绘制
安装evo evo共有两种安装方式 快捷安装 ,直接安装最新的稳定发行版;pip install evo --upgrade --no-binary evo 源码安装 ,下载源码进行安装; 首先在任意文件夹下下载evo,也可以在home中直接下载git clone https://github.com/MichaelGrupp/evo.git 然后进入evo文件夹pip install --editable . --upgrade --no-...原创 2021-03-11 16:46:03 · 4335 阅读 · 13 评论 -
Rviz显示机器人运动轨迹
在实际操作机器人进行移动的时候,虽然直接观察机器人本身是比较直观的,但是无法查看到机器人运动过程中比较细微的变化(比如方向的变化),那么就需要将机器人的运动轨迹用可视化软件Rviz显示出来以便于观察。这个功能是利用Rviz中的Path类型实现的,只需要将机器人的位置信息已nav_msgs/Path类型的消息的形式发布到ROS系统中,然后在Rviz上订阅该类型的消息就可以显示机器人的运动轨迹了 下面了解一下nav_msgs/Path类型数据的数据结构:Header he...原创 2021-03-03 11:07:09 · 5536 阅读 · 15 评论 -
Gazebo仿真WARN-The root link base_link has an inertia specified in the URDF, but KDL does not support
在Gazebo中进行小车仿真的过程中会出现如下警告The root link base_link has an inertia specified in the URDF, but KDL does not support a root link with an inertia. As a workaround, you can add an extra dummy link to your URDF该警告的意思是根关节的base_link在urdf中具有惯性参数,但是KDL不支持,建议的解决办法是原创 2020-12-23 16:22:21 · 7526 阅读 · 8 评论 -
《移动机器人开发教程》声明
最近有收到一些私信问有没有ROS源码包的代码注释或者是框架图的,在这统一回复一下我们实验室的移动机器人开发小组正在编写一本关于小型移动机器人开发的教程,里面包含了ROS基础知识、移动机器人(从底层硬件平台的搭建,到高层核心算法的解释,以及所有典型实验操作)的讲解。可以指导ROS入门和小型移动机器人的开发。本教材预计十二月底一月初发行第一版,后期会搭配移动机器人平台、和标准化实验场地,请大家敬请期待。...原创 2020-12-01 21:15:07 · 385 阅读 · 0 评论 -
解决 Costmap2DROS transform timeout.问题
用gmapping_slam或者karto_slam把房屋地图建好之后运行ROS导航navigation模块的时候会出现Costmap2DROS transform timeout.错误问了一下做过相关内容的师兄,发现可能是因为系统时间不统一造成的,于是尝试了修改系统时间,结果真好了,大家可以参考其实就是树莓派没有时钟模块,未联网状态下开机的时间默认为出厂时间,从而导致了系统时间早于地图的创建时间(比如系统时间时2016年某月某日,创建地图的时间是2020年某月某日),所以要将系统时间改到地图创建时原创 2020-09-08 17:17:52 · 6388 阅读 · 19 评论 -
读取 /tf 话题中指定tf
大家都知道在ROS系统中同一个话题可以被多个node节点发送或者订阅,如下图是一个典型的tf结构那么如何才能获得到自己想要用的那一个变换矩阵是一个非常棘手的问题,经过查阅资料,我写了下面这一个读取/tf话题中的指定tf的demo供大家一起学习讨论。#include<iostream>#include<ros/ros.h>#include<tf/tf.h>#include<tf/transform_listener.h>#include<geo原创 2020-08-11 17:06:39 · 1108 阅读 · 0 评论 -
ROS学习——巡线(C++ 、opencv)
这个功能需要摄像头的配合,如有需要可以查看我之前的博客,话不多说,直接上代码#include<ros/ros.h>#include<sensor_msgs/Image.h>#include<geometry_msgs/Twist.h>#include<cv_bridge/cv_bridge.h>#include<opencv2/opencv.hpp>#include<opencv2/imgproc.hpp>#inclu原创 2020-07-29 14:07:56 · 4408 阅读 · 2 评论 -
二轮差分模型分析及里程计计算
小型移动机器人的底盘主要有两轮差速底盘和四轮差速底盘两种,因为两轮差速底盘的控制原理以及运动模型分析比较简单,所以运用的比较多,下面主要介绍两轮差速底盘的工作原理。如图1所示,两轮差速底盘由两个驱动轮和一个万向轮组成,两个驱动轮分别位于底盘的左右两侧,并且独立控制速度,通过不同的速度来实现底盘的转向,万向轮的作用是辅助支撑。如图5.1所示,v所指方向为移动机器人的前进方向,vl、vr分别为左轮和右轮的线速度,l为左右两轮的轮间距。假定l、vl、vr这三个值均已知。转向角速度W:移动机器人线速度V原创 2020-07-24 15:37:43 · 6900 阅读 · 1 评论 -
ROS学习——控制小车转向
给定一个旋转的角度,让小车进行顺时针或逆时针旋转。#include<iostream>#include<string>#include<ros/ros.h>#include<geometry_msgs/Twist.h>#include<geometry_msgs/Quaternion.h>#include<nav_msgs/Odometry.h>#include<tf/tf.h>#define UNIT_原创 2020-07-22 11:32:18 · 5483 阅读 · 1 评论 -
ROS学习——控制小车前进给定距离
现在提出了一个小小的需求,就是要求控制小车前进五米。那么这个需求可以转化为一个问题,就是如何控制小车前进给定的距离,于是我编写了下面这个程序,向小车发布指令,然后使小车前进。#include<ros/ros.h>#include<string>#include<iostream>#include<geometry_msgs/Pose.h>#include<nav_msgs/Odometry.h>#include<geometr.原创 2020-07-21 09:57:34 · 7852 阅读 · 9 评论 -
ROS学习——读取IMU数据
在ROS工作空间的src文件夹下创建read_imu功能包,并在包内创建include、launch、src、cfg四个文件夹。在cfg文件夹中创建param.ymal文件,并写入以下内容:imu_dev: /dev/ttyUSB0baud_rate: 9600data_bits: 8parity: Nstop_bits: 1pub_data_topic: imu_datapub_temp_topic: imu_tempyaw_topic: yaw_datalink_name: base原创 2020-07-09 10:45:37 · 10835 阅读 · 12 评论 -
ROS学习——读取激光雷达数据Laser
在ROS工作空间的src文件夹下创建read_laser功能包,并在包内创建include、launch、src四个文件夹。在include文件夹中创建read_laser.h文件,并写入以下内容:#include<ros/ros.h>#include<std_msgs/UInt16.h>#include<string>#include<iostream>#include<sensor_msgs/LaserScan.h>#includ原创 2020-07-09 10:42:27 · 5025 阅读 · 2 评论 -
ROS学习——读取摄像头数据image
在ROS工作空间的src文件夹下创建read_camera功能包,并在包内创建include、launch、src、cfg四个文件夹。在cfg文件夹中创建param.yaml文件,并写入以下内容:image_dev: /dev/video0save_path: /home/huanyu/datasets/camerasave: falsevisualization: true在include文件夹中创建camera_manager.h文件,并写入以下内容:#include<openc原创 2020-07-09 10:38:59 · 4250 阅读 · 6 评论 -
ROS学习——TF&URDF
TF(transform)TF是指坐标变换(位置+姿态),是坐标系数据维护的工具。ROS里面的tf指的是坐标转换的标准、话题、工具、接口。tf of C++TF相关数据类型tf::Vector3 向量tf::Point 点tf::Quaternion 四元数tf::Matrix3x3 3x3矩阵tf::Pose 位姿tf::Transform 变...原创 2020-04-22 14:22:41 · 442 阅读 · 0 评论 -
ROS学习——Client Library——rospy
rospy-Node相关函数 init_node(name)#注册和初始化nodeMasterProxy get_master()#获取master的句柄bool is_shutdown()#返回是否关闭 on_shutdown(fn)#在node关闭时调用函数str get_node_uri()#返回节点的URL get_name()#返回本节点的全名...原创 2020-04-21 20:17:11 · 245 阅读 · 0 评论 -
ROS学习——CLient Library与roscpp以及模版
CLient LibraryCLient Library提供ROS编程的库(接口API),但是与API有些不同,CLient Library比API的高级,封装层次更高,有利于开发者使用。提供的库常用的主要有roscpp/rospy/roslisproscpp是C++版本的,执行效率高,适合做图像和SLAM方面的工作,但是代码非常复杂;rospy是python版本的,开发效率高。主要介绍...原创 2020-04-21 13:20:40 · 376 阅读 · 0 评论 -
安装ROS遇到的大坑
按照官网给的教程在Ubuntu16.04上安装kinetic,进行到sudo apt-get install ros-kinetic-desktop-full时会出现以下错误Reading package lists… DoneBuilding dependency treeReading state information… DoneSome packages could not be ...原创 2020-04-17 20:15:36 · 872 阅读 · 0 评论 -
ROS学习——ROS通信架构
Master节点管理器作用:每个Node启动时都要想master注册,管理node之间的通信(可实现点对点通信)$roscore 启动ros masternode节点(ROS的进程)pkg里面的可执行文件运行的实例。启动一个node$rosrun[包名][节点名]rosnode$rosnode list查看当前运行的node信息$rosnode info [node_n...原创 2020-04-17 14:58:15 · 285 阅读 · 0 评论 -
ROS学习——工程结构
catkinpackage是catkin编译的最基本的单元,catkin编译的时候会递归查找src目录下的每一个package。packagepackage是ROS软件的基本组织形式,一个package可以包含多个可执行文件(节点)。一个package中至少含有一个CMakeLists.txt和一个package.xml。CMakeLists.txt规定catkin编译的规则...原创 2020-04-17 13:49:32 · 212 阅读 · 0 评论 -
在Mac上安装Kinetic遇到的大坑
在执行brew tap ros/deps的时候遇到Error: Invalid formula: /usr/local/Homebrew/Library/Taps/ros/homebrew-deps/gfortran.rbgfortran: undefined method `prefer_64_bit?' for OS::Mac:ModuleError: Cannot tap ro...原创 2020-04-16 09:38:02 · 1372 阅读 · 2 评论 -
ROS学习——简介
ROS起源2000s,斯坦福大学-机器人软件系统框架(吴恩达)2007,柳树车库(Willow Garage)发起(Opencv,pcl)2010,ROS 1.0发布2013,ROS Hydro2014,ROS Indigo(对应Ubuntu14.04,LTS)2015,ROS Jade2016,ROS Kinetic(对应Ubuntu16.04,LTS)2017,ROS Luna...原创 2020-04-15 20:11:14 · 263 阅读 · 0 评论