ROS
文章平均质量分 82
向阳花开_
搬砖码农一枚,希望能更上一层楼~
展开
-
TEB算法1-teb原理详解
TEB local planner 原论文:Trajectory modification considering dynamic constraintsof autonomous robotsTEB概述TEB轨迹规划的主要流程原创 2022-05-03 22:53:48 · 16353 阅读 · 1 评论 -
ROS angles包说明
在看move_base源码时,有几处用到了 angles::shortest_angular_distance以及angles::normalize_angle,就查了下angle这个类,发现是ros中的一个名称为angle的软件包,就读了下源码。一.函数功能说明功能说明:该软件包提供了一组简单的数学实用程序来处理角度。该实用程序涵盖了简单的事情,例如标准化角度以及度和弧度之间的转换角度包含以下方法:角度转换:angles :: from_degrees,angles :: to_degrees原创 2022-02-27 21:50:49 · 3038 阅读 · 0 评论 -
Move_base配置参数
一.GlobalPlanner参数1.allow_unknown(bool): 是否允许规划穿过未知区域的路径,只设计参数为true还不行,还要在costmap_commons_params.yaml中设置track_unknown_space参数也为true才可以;2.default_tolerance(double): 当设置的目的地被障碍物占据时,需要以该参数为半径寻找到最近的点作为新的...原创 2020-01-20 15:51:42 · 1349 阅读 · 0 评论 -
ROS - move_base全局路径规划之A*程序分析
其中A*的的实现代码的详细分析如下:#include<global_planner/astar.h>#include<costmap_2d/cost_values.h>namespace global_planner {AStarExpansion::AStarExpansion(PotentialCalculator* p_calc, int xs, int ...原创 2019-12-25 22:24:43 · 3901 阅读 · 2 评论 -
ROS-Navigation之map_server笔记及程序解析
map_server node:读取地图信息,并作为ROS service 为其余节点提供地图数据map_saver node:保存地图数据到地图文件原创 2022-05-03 12:37:34 · 7451 阅读 · 1 评论 -
ros-navigation recovery_beheviors机制
当移动机器人认为自己被卡住时,指导机器人进行一系列的恢复行为。navigation包中的恢复行为主要包括三种:clean_costmap_recovery:先清理周围一定范围以外的costmaprotate_recovery:旋转360度move_slow_and_clean:缓慢移动1. reference源码分析2.reference...原创 2022-03-20 22:17:28 · 1551 阅读 · 1 评论 -
三维pcd地图转二维栅格地图
1.概述在使用导航时,通常会根据二维栅格地图做路径规划,需要将三维点云地图转化成栅格地图。本文采用滤波及投影的方法,主要步骤包括对输入点云进行直通滤波,获取限定高度范围的数据在进行半径滤波,去除部分孤立点转换为栅格地图2.方法说明完整程序代码:github运行方法:下载编译后,mkdir -p test_ws/src&& cd test_ws/srcgit clone -b develop https://github.com/Hinson-A/pcd2pgm_原创 2022-05-02 10:19:55 · 11882 阅读 · 23 评论 -
ROS- 解决error “tf2_buffer_’ was not declared in this scope”
问题描述:使用ros melodic版本 编译程序,遇到报错如下:error: ‘tf2_buffer_’ was not declared in this scopeinline tf2_ros::Buffer& getBuffer() { return tf2_buffer_; }^~~~~~~~~~~解决:经查询,发现是ros melodic版本对该处进行了修改,与之前版本不同,用 tf2_buffer_ptr_替代了tf2_buffer_ ,所以需要修改程序。参考:Compile原创 2020-12-29 11:19:14 · 2571 阅读 · 0 评论 -
ROS常用调试工具及命令
ROS常用命令备忘1.rosrun 运行程序2.roslaunch 运行脚本 如 roslaunch rbx1 fake_pi_robot.launch3.查看ROS_PACKAGE_PATH环境变量 echo $ROS_PACKAGE_PATH4.获得运行中节点清单 rosnode list5.显示节点的主题 rostopic list6.显示节点的服务 rosservice list7.获取特定主题所发出了的消息类型 rosmsg show8.显示节点图rqt_graph (rqt_gr原创 2020-12-20 21:54:52 · 1447 阅读 · 0 评论 -
ROS-- 解决编译错误undefined reference to symbol‘_ZN3ros10NodeHandle’
在编译ROS程序中出现了下面的错误usr/bin/ld: CMakeFiles/sh_navigation_node.dir/src/main.cpp.o: undefined reference to symbol '_ZN3ros10NodeHandleC1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKSt3mapIS6_S...原创 2019-12-16 14:02:29 · 2446 阅读 · 1 评论 -
ROS- 解决 rosdep update 出现的错误
安装ROS时,反复出现下面的错误,1.执行sudo rosdep init 出现错误sudo rosdep init错误如下:ERROR: cannot download default sources list from:https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/sources.list.d/20-de...原创 2019-12-08 20:55:03 · 24957 阅读 · 11 评论 -
ROS-插件机制
概述插件作为ROS中一个特殊的存在,pluginlib是一个C++库,可以实现为一个ROS包动态的加载和卸载插件。这里的插件通常是一些功能类,且以运行时可动态加载的库(如共享对象,动态链接库)的形式存在。借助pluginlib的帮助,用户不必关心自己的应用程序该如何链接包含自己想使用的的class的库(如定义class的头文件在哪里,如何定义的),因为pluginlib会在你调用时自动打开你需...原创 2019-12-05 21:47:22 · 723 阅读 · 0 评论 -
ROS- 激光雷达测距原理及主要参数
一.激光的主要参数激光雷达的主要参数包括测距范围、扫描频率、角分辨率、精度等几方面。1.扫描频率扫描频率表示一秒内雷达进行多少次扫描。扫描频率越大,设备对外界环境的感知的速度越快,系统实时性可以更高。2.角分辨率角分辨率表示两个相邻测距点的角度步进。角分辨率大小决定了一次扫描能返回的样本点数以及该激光雷达所能检测的最小障碍物大小。如下图所示:角分辨率为a,障碍物距离为h,则该距离可以检...原创 2019-12-03 14:28:08 · 8036 阅读 · 2 评论 -
ROS--python3 与 ROS中python2冲突问题
# 编辑.bashrc 顺序很重要!# ROSsource /opt/ros/kinetic/setup.bash # Anacondaexport PATH="/path/to/anaconda/bin:$PATH" # 创建环境conda create -n ros python=2 anacondasource activate ros # 在环境中安装依赖pip ...转载 2019-11-28 22:15:47 · 862 阅读 · 0 评论 -
ROS-常用命令
搜集了一下ROS中常用的命令操作,包括创建空间,Pacakage, Node,Topic,Service,bag等操作;原创 2017-07-11 14:40:49 · 602 阅读 · 0 评论 -
ROS-从rosbag中提取图像(带时间戳)
关于从rosbag文件提取图像,ros官网上给出了使用建立launch文件的方法。 我们也可以通过编写Python程序按照我们想要的信息及方式来提取。原创 2017-07-07 11:29:20 · 12517 阅读 · 10 评论 -
ROS-从rosbag中提取图像(by launch文件)
从rosbag文件中,提取图像并保存。原创 2017-07-07 13:56:49 · 2568 阅读 · 0 评论 -
launch文件基础
在ROS应用中,每个节点通常有许多参数需要设置,为了方便高效操作多个节点,可以编写launch文件,然后用roslaunch命令运行;原创 2017-07-08 12:23:57 · 678 阅读 · 0 评论 -
ROS-消息发布与接收
节点(Node) 是指 ROS 网络中可执行文件。接下来,我们将会创建一个发布器节点,它将不断的在 ROS 网络中广播消息。原创 2017-07-09 17:24:13 · 1430 阅读 · 0 评论 -
ROS-学习资料参考
在这里我主要是记录一下学习ROS的过程中我所看的以及了解的一些学习资料,放在这里与大家分享一下。学习网站ROS官网:http://wiki.ros.org/(重点都在这里了,其中ROS Answer 可以交流遇到的问题,许多在使用中遇到的问题都可以在这里找到解决的方法。)ROS官网中文版:http://wiki.ros.org/cn (这个是中文版的教程,有些不是很完善,还是建议浏览英文原版;)原创 2017-07-11 17:32:58 · 707 阅读 · 0 评论 -
ROS人脸检测追踪
启动摄像头:roslaunch rbx1_vision usb_cam.launch device:=/dev/video0运行脸部跟踪器roslaunch rbx1_vision face_tracker2.launch运行物体跟踪节点roslaunch rbx1_apps object_tracker.launch运行rqt, 查看/cmd_vel/angular/z 变化rqt_plot /c原创 2017-08-30 17:48:14 · 1362 阅读 · 0 评论 -
ROS-uvc_camera initialization problem
ROS中使用摄像头,启动后报错: couldn’t open /dev/video0原创 2017-08-30 19:20:17 · 738 阅读 · 0 评论 -
ROS-ros::spin() 和 ros::spinOnce() 区别及使用
学名叫ROS消息回调处理函数。它俩通常会出现在ROS的主循环中,程序需要不断调用ros::spin() 或 ros::spinOnce(),两者区别在于前者调用后不会再返回,也就是你的主程序到这儿就不往下执行了,而后者在调用后还可以继续执行之后的程序。转载 2017-07-11 14:25:59 · 1048 阅读 · 0 评论