ROS
文章平均质量分 64
dxmcu
QQ : 2795247843
展开
-
在Costmap_2d里面插入Prohibition_layer(禁止区域层)
在Costmap_2d里面插入Prohibition_layer(禁止区域层)简介costmap_2d在navigaition里面是一个很重要的板块,通常默认的是三层地图(静态/障碍/膨胀层)叠加在一起,构成整个完整的代价地图,但是我们也可以插入一些自定义的图层,然后实现自己定制化的功能,基础的教程大家可以参考costmap_2d中插入自定义层。本文的主要目的是来告诉大家如何在代价地图中插入Prohibition_layer(禁止层),然后在已经建好的地图中设立禁止通行区域,关于prohibition_转载 2021-07-20 14:58:27 · 1358 阅读 · 2 评论 -
Ubuntu14.04 安装PCL
方式一:官网prebuild版本sudo add-apt-repository ppa:v-launchpad-jochen-sprickerhof-de/pclsudo apt-get updatesudo apt-get install libpcl-allubuntu16.04 使用ppa预安装时,最后一句apt-get install libpcl-all 应该更改为apt-get install libpcl-dev;可能是因为国内的关系,并没有更新 apt-get 成功;.转载 2021-06-29 14:56:28 · 260 阅读 · 0 评论 -
Could NOT find Bullet (missing: BULLET_DYNAMICS_LIBRARY BULLET_COLLISION_LIBRARY BULLET_MATH_LIBRA
CMake Error at /usr/share/cmake-2.8/Modules/FindPackageHandleStandardArgs.cmake:108 (message): Could NOT find Bullet (missing: BULLET_DYNAMICS_LIBRARY BULLET_COLLISION_LIBRARY BULLET_MATH_LIBRARY BULLET_SOFTBODY_LIBRARY BULLET_INCLUDE_DIR)Call Stack...原创 2021-01-12 08:56:43 · 728 阅读 · 0 评论 -
Rplidar A3使用教程(在A2基础上)
rplidar A3的ID与a2相同,均为10c4:ea60,串口文件中配置过A2可以直接换a3在工作空间下git rplidar最新软件包git clone https://github.com/ncnynl/rplidar_ros.git编译工作空间编译通过后运行roslaunch rplidar_ros view_rplidar_a3.launch若出现激光图即安装成功。注...转载 2020-03-10 19:45:39 · 634 阅读 · 0 评论 -
【ROS-Stage】Stage机器人仿真实验(三)
参考资料: Modules本文大概翻译了Stage提供的几种模型的介绍,有些模型只翻译了简介,机器人底座、执行器和激光传感器翻译的比较详细。在最后给出了ROS中Stage的消息类型。执行器模型(actuator model)ULM执行器模型模仿了简单的执行器,可以在单个维度上移位,或者绕Z轴旋转。(The actuator model simulates a simple a...转载 2019-03-26 18:59:43 · 845 阅读 · 0 评论 -
ROS笔记(一)xxx.launch文件详解
ROS笔记(一)xxx.launch文件详解.launch文件是ROS中用于同时启动多个节点的重要文件,在大型的ROS项目中使用频繁,所以掌握其主要元素与属性对ROS系统的应用至关重要: launch标签(元素)说明 launch拓展说明 parameter说明1. 标签(元素)说明- 以launch标签开头以表明是launch文件.- group标签定义命名...转载 2019-02-15 17:08:51 · 571 阅读 · 0 评论 -
ROS使用动态参数
在ROS系统中实现某个功能时,时常需要外部动态调整参数。例如控制中PID参数的调节,或者需要查看机器人在不同参数下的性能表现,此时外部参数的动态调节显得极其便利。在ROS中可以通过动态参数功能来实现。接下讲解ROS中动态参数的应用。1. 创建cfg文件 roscd ROS_Test1 mkdir cfg vim ROS_Test1_cfg.cfg 编辑内容如下所示:#!/...转载 2019-01-30 16:44:27 · 466 阅读 · 0 评论 -
Boost property_tree 解析配置文件
在日常的开发系统中,不可避免的会解析配置文件,因为使用配置文件更直观,而且修改配置文件就不用再编译代码,当工程很大的时候,编译代码会是一件很痛苦的事。不同的需求的配置文件不同,Boost提供了一个property_tree来解析.xml,.ini,.json,.info四种格式配置文件。.xml文件.xml现在已经被广泛应用到数据交换格式,并且property_tree是树形结构,和.xml...转载 2019-02-18 12:02:02 · 615 阅读 · 0 评论 -
ROS学习笔记(一) # ROS参数服务器
参考 roscpp/Overview/Parameter Server0. 概述 ROS参数服务器能够保存 string, int, float, double, bool, list, dictionaries, base64 encoded类型的数据,如果需要保存其他类型可以使用 XmlRpc::XmlRpcValue class roscpp 有两种不同的参数API...转载 2019-02-20 19:08:25 · 612 阅读 · 0 评论 -
ros中msg和srv文件的作用与含义
msg: msg文件使用简单的文本格式声明一个ROS message的各个域。仅需要创建一个msg文件,就可以使用它来生成不同语言的message定义代码。srv:srv文件则声明了一个服务,包括request(请求)和response(响应)。msg文件和srv文件分别存储在包的msg目录和srv目录下 ...转载 2019-02-26 17:25:54 · 1486 阅读 · 0 评论 -
tf树的一些理解
(yaw is rotation about Z, pitch is rotation about Y, and roll is rotation about X)---------------------------------------------------------tf下的发布静态坐标关系:<launch><node pkg="tf" type="sta...转载 2019-03-18 12:11:18 · 2646 阅读 · 1 评论 -
机器人中的xyz坐标系和右手定则
机器人中的旋转轴使用x,y和z轴。正面是x轴的正方向,轴是红色(Red)。左边是y轴的正方向,轴用绿色(Green)表示。最后,上方是z轴的正方向,轴用蓝色(Blue)表示。为了便于记忆,您可以将x轴视为食指,将y轴视为中指,将z轴视为拇指。顺序是x、y、z,且颜色是RGB颜色顺序。机器人的旋转方向是右手定则,用右手卷住的方向是正(+)方向...转载 2019-01-28 14:52:38 · 27307 阅读 · 1 评论 -
ROS知识(24)——ros::spin()和spinOnce的含义及其区别
1.ros::spin()和spinOnce含义如果在节点中如果订阅了话题,那么就必须要调用ros::sping()或者ros::spinOnce()函数去处理话题绑定的回调函数,否则该节点将不会调用节点所订阅的所有回调函数来处理接收到的数据.换句话说如果一个节点里面没有订阅话题只有发布话题,那么是可以不需要调用这两个函数的.但是为了方便以后节点添加了订阅消息话题,建议还是加上这两个函数之一....转载 2018-12-27 20:14:04 · 383 阅读 · 0 评论 -
ROS基础教程--CostMap_2D包的一些理解
本文是在综合了多篇文章的基础之上进行的综合.1.基本概念Voxel:体素,即顾名思义是体积的像素。用来在三维空间中表示一个显示基本点的单位。类似于二维平面下的pixel(像素)。voxel是三维空间中定义一个点的图象信息的单位。在平面中定义一个点要两个坐标X和Y就够了,而在三维世界中还要有一个坐标。光有3维坐标位置还不行,还要有颜色等信息,这就是voxel的含义。机器人在costmap...转载 2018-12-20 16:42:13 · 2844 阅读 · 2 评论 -
(ros/navigation/gmapping)导航/建地图
http://wiki.ros.org/gmappingGmapping包包含OpenSlam的Gmapping的一个ROS封装。Gmapping 的ROS节点slam_gmapping提供基于激光的SLAM(同时定位和创建地图)。依靠移动机器人收集的激光和位姿数据,使用slam_gmapping可以创建2维栅格地图。外部文档主要是一个第三方包。硬件需求使用slam_gmapp...转载 2018-12-07 11:14:36 · 4640 阅读 · 0 评论 -
SLAM:Google cartographer算法 机器人建图、保存地图
这两天跑了以下google的cartographer算法,效果不错,比gmapping效果要好。cartographer的安装网上很多教程,主要按照张明明的方法,https://github.com/hitcm/,安装好后,下个数据集,运行roslaunch cartographer_ros demo_backpack_2d.launch bag_filename:=yourpath/cart...转载 2018-12-07 10:55:43 · 2089 阅读 · 3 评论 -
谷歌cartographer使用速腾聚创3d激光雷达数据进行三维建图
原链接: https://community.bwbot.org/topic/523谷歌cartographer_ros请参考这篇安装教程:http://community.bwbot.org/topic/136/google激光雷达slam算法cartographer的安装及bag包demo测试1. 数据包准备使用cartographer_ros进行3d建图,需要三维点云数据和IMU...转载 2018-12-07 10:53:21 · 1295 阅读 · 0 评论 -
ROS与stm32L476RG nucleo 基于mbed开发,使用rosserial_python包通信
使用rosserial_python包.报通信错误,因为原serial_node.py及SerialClient作了修改,删除了fix_pyserial_for_test项.使用ros自带的serial_node.py及SerialClient.py,更改一下py名字以区别,import时报错'module' object is not callable原因为Python导入模块的...转载 2018-12-07 10:49:03 · 476 阅读 · 0 评论 -
ROS编译出错
CMake Warning at /opt/ros/indigo/share/catkin/cmake/catkinConfig.cmake:76 (find_package): Could not find a package configuration file provided by "ecl_exceptions" with any of the follo...转载 2018-12-19 20:19:16 · 1492 阅读 · 0 评论 -
动态使用Protobuf
使用pb动态特性1:动态编译proto文件构造 google::protobuf::compiler::Importer 对象调用FileDescriptor * fd = im.import(“协议文件”);(1)新建一个空项目(预编译头不要选定)c/c++->常规->附加包含目录->E:\protobuf-2.6.1\src链接器->常规->附加库目录...转载 2018-11-15 13:23:03 · 1236 阅读 · 1 评论 -
ROS学习--(十八)使用stage模拟器
因为实验室的kuboki创建地图有些问题,所以我先学如何使用模拟器> roslaunch turtlebot_stage turtlebot_in_stage.launch这样就可以打开了。在turtlebot_stage中有以下文件,都是预设的launch和设置文件$ launch/turtlebot_in_stage.launch$ maps/maze.png$ map...转载 2019-03-26 15:01:38 · 1352 阅读 · 0 评论 -
【ROS-Stage】Stage机器人仿真实验(一)
环境:64位 ubuntu16.04,代码见:https://github.com/cr19941016/ROS_stage_test安装ROS 更换软件源(设置 --> Software & Update),会下载的更快。 stage_ros仿真包是ros自带的,安装完之后就有了。 按照教程,创建一个工作空间 记得添加 source:echo "source ~/c...转载 2019-03-26 18:57:59 · 1419 阅读 · 0 评论 -
By not providing "FindEigen3.cmake" in CMAKE_MODULE_PATH
CMake Warning at hector_compressed_map_transport/CMakeLists.txt:26 (find_package): By not providing "FindEigen3.cmake" in CMAKE_MODULE_PATH this project has asked CMake to find a package configura...原创 2019-09-17 16:25:55 · 2966 阅读 · 3 评论 -
ubuntu14.04 安装ros-indigo报错
错误如下:Reading package lists... DoneBuilding dependency tree Reading state information... DoneYou might want to run 'apt-get -f install' to correct these:The following packages have unme...原创 2019-08-13 18:15:21 · 361 阅读 · 0 评论 -
teb_local_planner安装及使用
在机器人导航实验时,传统的navigation里的路径规划策略性能不佳。在尝试了teb_local_planner后,发现机器人导航性能得到非常大的提升。虽然teb_local_planner是局部规划的plugin,但是其能根据实际的环境情况实时更新全局路径,使得机器人的运动将十分智能。teb_local_planner的详尽资料(包括安装及导航,参数调节等)请参考其ros官方...转载 2019-08-01 13:26:03 · 1714 阅读 · 0 评论 -
三轮全向轮底盘SLAM挖坑系列-虚拟墙
虚拟墙是在turtlebot2那里调包出来修改的,主要在RVIZ上面布置一些虚拟的墙体,并加进去虚拟的激光,好让虚拟的墙体也拥有膨胀区域,机器人到达虚拟墙体能够进行避障。1、安装好yocs_virtual_sensor的包,这个包需要安装比较多的依赖文件$ git clone https://github.com/yujinrobot/yujin_ocs.git$ sudo apt-ge...转载 2019-07-03 09:21:48 · 806 阅读 · 0 评论 -
读取编码器的计数脉冲转化成ROS的odom数据
1,理论模型1.1 原理如下图所示,蓝色圆形区域为小车的地盘,左右轮之间的间距为wheel_dist,注意算法中的所有的单位,全部是国际标准单位。移动机器人编码器,安装在左右轮上,机器人地底盘的坐标系为base_link坐标系,里程计坐标系为odom。当移动机器人移动时,假设运动到如下图所示位置。图中的,V为移动小车中心点的运动速度方向,dxy_avg为移动小车中心点的运动距离。根...转载 2019-06-24 11:30:58 · 3092 阅读 · 3 评论 -
ROS中Remap标签详解,举例说明其两种用法
1.< remap>标签:< remap>标签”允许你以更结构化的方式将名称重新映射参数传递给ROS节点,而不是直接设置<节点>的参数属性。2.作用:2.1、重命名一个已经存在的主题。在自己的lanuch文件中,修改自己的发布的主题名字为别人要订阅的主题的名字。(针对自己发布的主题:改变自己发布主题的名字)from=“original-name”:...转载 2019-06-17 21:36:34 · 1310 阅读 · 0 评论 -
22.IMU和里程计融合
1.概述实际使用中会出现轮子打滑和累计误差的情况,这里单单使用编码器得到里程计会出现一定的偏差,虽然激光雷达会纠正,但一个准确的里程对这个系统还是较为重要2.IMU数据获取IMU即为 惯性测量单元,一般包含了三个单轴的加速度计和三个单轴的陀螺仪,简单理解通过加速度二次积分就可以得到位移信息、通过角速度积分就可以得到三个角度,实时要比这个复杂许多2.1 PIBOT IMUPIBOT在嵌...转载 2019-05-25 12:24:31 · 6471 阅读 · 1 评论 -
罗技F710无线手柄在ROS下的安装使用
1. 运行环境 操作系统: Ubuntu 14.04 ROS版本: ROS Indigo2. 安装手柄驱动和包依次输入以下命令安装sudo apt-get install ros-indigo-joy(ROS相关项,Jetson TK1只安装这一个)sudo apt-get install ros-indigo-joystick-driversrosdep ins...转载 2019-04-24 23:52:51 · 1639 阅读 · 0 评论 -
map odom base_link三者关系的通俗理解
(转载请注明作者和出处:https://yangningbocn.github.io 未经允许请勿用于商业用途)为了更好的集成和重用软件模块,驱动,模型以及库的开发人员需要一个坐标系的共享公约。该坐标系的共享规约让开发者为移动基座创建驱动和模型提供了一个规范。同样,开发人员用与本规范兼容的一些移动机器人基座软件能很容易的创建相应的库和应用。世界坐标(map) 该map坐标系是一个世界固定...转载 2019-03-28 16:45:55 · 433 阅读 · 0 评论 -
【ROS-Stage】Stage机器人仿真实验(四)
本文继续翻译 [Modules](http://rtv.github.io/Stage/modules.htm)。WorldStage 仿真了一个由”模型“组成的”世界“,定义在"world file"中。链接: WorldWorld with Graphical User Interfacestage窗口包含菜单栏和模拟世界的视图。世界视图显示了模拟世界的一部分。 您可以放大和缩...转载 2019-04-06 18:15:41 · 400 阅读 · 0 评论 -
teb_local_planner安装及使用
在机器人导航实验时,传统的navigation里的路径规划策略性能不佳。在尝试了teb_local_planner后,发现机器人导航性能得到非常大的提升。虽然teb_local_planner是局部规划的plugin,但是其能根据实际的环境情况实时更新全局路径,使得机器人的运动将十分只能。 teb_local_planner的详尽资料(包括安装及导航,参数调节等)请参考其ros官方...转载 2019-04-10 16:55:44 · 2059 阅读 · 3 评论 -
编译ROS工作空间某一个包的命令
首先切换到自己的ROS工作空间: $ cd ~/catkin_ws如果你想编译整个工作空间里面的包:$ catkin_make如果你只想编译工作空间某一个包:$ catkin_make -DCATKIN_WHITELIST_PACKAGES= "包名"例如:$ catkin_make -DCATKIN_WHITELIST_PACKAGES="beginner_tutorials"...转载 2019-04-10 16:54:34 · 646 阅读 · 0 评论 -
Ros Indigo版本在中Gazebo问题Error [Node.cc:90] No namespace found
在Ubuntu系统安装完gazebo,在终端输入 gazebo启动gazebo的时候发现,gazebo的屏幕是如下所示黑色的,而且在终端打印出如下错误Warning [gazebo.cc:215] Waited 1seconds for namespaces.Warning [gazebo.cc:215] Waited 1seconds for name...转载 2019-03-30 21:42:12 · 326 阅读 · 0 评论 -
【ROS-Stage】Stage机器人仿真实验(四)
本文继续翻译 [Modules](http://rtv.github.io/Stage/modules.htm)。WorldStage 仿真了一个由”模型“组成的”世界“,定义在"world file"中。链接: WorldWorld with Graphical User Interfacestage窗口包含菜单栏和模拟世界的视图。世界视图显示了模拟世界的一部分。 您可以放大...转载 2019-03-26 19:00:32 · 345 阅读 · 1 评论 -
【ROS-Stage】Stage机器人仿真实验(二)
参考资料ROS stage_ros 与world 模型的讲解The Stage Robot SimulatorModules参考资料翻译Stage提供了多种传感器和执行器模型,包括声纳和红外测距仪、激光测距仪、彩色团块跟踪、 fiducial tracking、bumpers、抓手和带有码盘和GPS定位的移动机器人底座。(Stage provides several sensor a...转载 2019-03-26 18:58:55 · 578 阅读 · 1 评论 -
ROS 导航 :make_plan (路线规划)
以下是在学习ROS 导航时,按照自己的理解整理的资料,有不对的地方请指出。路径规划:从一个点到另一个点,规划出最优的路线。用到service :make_plan (nav_msgs/GetPlan)服务名为move_base_node/make_plannav_msgs/GetPlan api: # Get a plan from the current position to the...转载 2018-10-31 09:57:26 · 2130 阅读 · 0 评论 -
docker搭建ros-indigo-arm交叉编译环境
ROS运行环境:ARM ubuntu14.04 + ROS indigo在arm环境下编译ros应用程序,速度极慢,无法忍受,尝试在x86机器上搭建docker+ros交叉编译环境。交叉编译环境的搭建主要参考:http://answers.ros.org/question/191070/compile-roscore-for-arm-board/1 ARM ubuntu环境上安装arm...转载 2018-10-08 20:53:07 · 1845 阅读 · 1 评论 -
深度相机的仿激光数据创建地图--24
原创博客:转载请表明出处:http://www.cnblogs.com/zxouxuewei/前提:1.本教程确保你已经成功安装了kinect 或者xtion深度相机的驱动,能够正常使用。驱动安装可参考我的博客http://www.cnblogs.com/zxouxuewei/p/5271939.html2.你已经具有一台能够手动或者自动移动的平台,将你的深度相机真确安装在移动平台上。(如下图片是...转载 2018-05-26 10:01:39 · 981 阅读 · 2 评论