笔者在很长一段时间,对于激光雷达的测距具体细节不是了解,很长一段时间就是调用人家写好的package,根本不清楚具体里面的技术细节,但是要做项目,要自己写算法,不清楚就很难进行下去。

首先介绍一下ros中激光雷达的数据格式:

std_msgs/Header header          uint32 seqtime stamp           string frame_id     # in frame frame_id, angles are measured around  the positive Z axis (counterclockwise, if Z is up)# with zero angle being forward along the x axis           float32 angle_min        # start angle of the scan [rad]
float32 angle_max        # end angle of the scan [rad]
float32 angle_increment  # angular distance between measurements [rad]float32 time_increment   # time between measurements [seconds] - if your scanner# is moving, this will be used in interpolating position# of 3d points
float32 scan_time        # time between scans [seconds]float32 range_min        # minimum range value [m]
float32 range_max        # maximum range value [m]float32[] ranges         # range data [m] (Note: values < range_min or > range_max should be discarded)
float32[] intensities    # intensity data [device-specific units].  If your device does not provide intensities, please leave the array empty.

这里我只想说距离信息ranges[],所有扫描的数据都被存储到距离数组中ranges[]。

我来解释下ranges里面的数组,如果一个激光雷达扫描范围360度,分辨率是1度,那么他扫描一圈就是360个距离信息,ranges数组长度就是360.

在ROS系统下,思岚s1激光雷达是扫描360度,它扫描一圈ranges长度是720,由此可知其角度分辨率为0.5度。(使用s1的官方ros的package,并且是我真实测试出来的数据,应该没问题)。

下图是思岚官方介绍的雷达信息,你会知道距离是从雷达中心开始测出来的。但是有一点,ros中的扫描方向是逆时针转,跟图中正好相反。
  为了更清楚说明Ros下的转向以及怎么去使用ranges数组距离信息,我画了个图,。

通过上图,读下述代码:完整代码参见我https://github.com/JackJu-HIT/ImuGpsGuiding。

void IMU_GPS_Guiding::scanInfoCallback(const sensor_msgs::LaserScan::ConstPtr& msg)
{// 将接收到的消息打印出来//  ROS_INFO("Subcribe gps Info: x:%d  y:%d test:%d", //        msg->latitude, msg->longitude,x);
//for(int i=0;i<msg->ranges.size();i++)
//通过测试s1雷达ranges[]长度为720cout<<"lidar_length:"<<msg->ranges.size()<<endl;cout<<"我认为的正前方=ranges[0]:"<<msg->ranges[0]<<endl;cout<<"我认为的正前方=ranges[720]:"<<msg->ranges[720]<<endl;cout<<"我认为的左侧方=ranges[180]:"<<msg->ranges[180]<<endl;cout<<"我认为的左侧方=ranges[270]:"<<msg->ranges[180]<<endl;cout<<"我认为的右侧方=ranges[540]:"<<msg->ranges[540]<<endl;cout<<"我认为的后方方=ranges[360]:"<<msg->ranges[360]<<endl;// cout<<"test:"<<x<<endl;
}

我把关键的写出来了,如果你不懂ROS,你可能需要去查看其他资料。

202007022

鞠春宇于研究室

关于思岚s1激光雷达ROS下的使用与测试相关推荐

  1. 激光雷达学习笔记-------Ubuntu 18.04 + 思岚科技 A1M8+ ROS 上手使用及基于hector_slam 建图

    一,在虚拟机环境上搭建环境 官方提供了纯 C++和ROS节点两种形式的SDK,ROS版SDK中已经包含了C++的SDK(版本稍晚),不需要单独下载C++版本的SDK. 这里我们主要使用ROS来测试,从 ...

  2. 思岚A1激光雷达windows系统与ROS系统中的使用

    前言: 忙了一天,遇到了无数个问题解不开,结果竟然是因为安卓的USB连接线有问题,博友们,如果你们遇到如下问题: 思岚A1激光雷达windows上位机的使用:下载了串口的驱动(CP210x VCP W ...

  3. [STM32]手持建图仪--基于STM32F103+思岚A1激光雷达的扫描仪

    前言 一个朋友在做服务机器人项目,用到思岚的激光雷达,于是便把淘汰的A1M8雷达送我一个,本着拿到啥就玩啥的态度,必须整一波.其实激光雷达还是搭配ROS才能发挥最大的作用,奈何资源有限,实力不足,只能 ...

  4. 图文并茂详细教程之---Pixhawk扩展思岚A1激光雷达实现360°避障

    转载自:https://mp.weixin.qq.com/s/FCBbjAmmn-rMDskIen_i4Q 图文并茂详细教程之---Pixhawk扩展思岚A1激光雷达实现360°避障 原创 CJKK ...

  5. 不仅室内,思岚科技激光雷达在室外使用同样出色

    在实现机器人自主定位导航中,激光雷达发挥了巨大作用,可帮助机器人实时感知周围环境,获取丰富的轮廓信息,让机器人能更快速.精确的建图.如今,基于室内使用的激光雷达层出不穷,相较于室内,室外使用对激光雷达 ...

  6. 思岚科技激光雷达在室外使用效果如何?

    在实现机器人自主定位导航中,激光雷达发挥了巨大作用,可帮助机器人实时感知周围环境,获取丰富的轮廓信息,让机器人能更快速.精确的建图.如今,基于室内使用的激光雷达层出不穷,相较于室内,室外使用对激光雷达 ...

  7. 思岚科技激光雷达全面升级:RPLIDAR A1仅需900元,A2测距提升至8米

    思岚科技自2009年着手研发低成本激光雷达,2014年面向全球推出了第一代产品RPLIDAR A1,在6米测量半径内,可完成每秒2000次激光测距.自推出至今,已累计使用用户达上千家.   时隔两年, ...

  8. 思岚雷达win与ubuntu18.04连接并测试详细过程

    雷达简介 包含套件 雷达模组(内置pwm电机驱动) usb适配器 Micro-USB线缆 电源线 接线方式 ps:雷达不需额外的电源供电,直接使用电脑USB接口,5V供电 驱动安装 USB 适配器采用 ...

  9. Ubuntu下工作空间的创立以及思岚系列激光雷达的使用(详细)和驱动安装及地图创建

    环境:ubuntu20.04 双系统 其他环境也是可以的 首先我们需要先创建rplidar_ros的工作空间,这里为推荐从源码处下载.我将介绍两种创建工作空间的方法: (1)直接创建(比较简单,个人推 ...

最新文章

  1. 这家剑桥校友创办的苏州AI独角兽,再获4.1亿投资,将在国内IPO
  2. Linux下时间戳的换算方法
  3. Perlin Noise algorithms(备忘)
  4. java对象序列化并存储到文件和数据库
  5. Java 多态(一)
  6. 品质生活在于细节 8月6日张朝阳“做饭直播”带货厨房好物
  7. python3.6.5下载安装教程_Ubuntu16.04安装python3.6.5步骤详解
  8. C++ C++基础语法入门总结(一)命名空间-输入输出-缺省参数-函数重载
  9. php redis 设置,php设置redis扩展,你值得拥有
  10. 一道数学题引发的思考
  11. js数组获取index_想自学JS吗?想提升JS底层原理吗?76张脑图带你彻底搞懂原生JS...
  12. 全民奇迹辅助制作视频教程
  13. OpenResty代理CNZZ实现内网访问统计
  14. 计算机室管理员考核细则,宿舍管理员量化考核细则
  15. ubuntu 14.04 更新 flash
  16. 新制式轨道交通有哪些?这篇推文全讲清了
  17. Zoom Out and Observe:News Environment Perception for Fake News Detection
  18. 什么是单点登录,实现单点登录的三种方法
  19. SE:17.网络编程
  20. 报错Module not found: Error: Can't resolve './public/javascript/page/index/index.js' in 'E:\pr

热门文章

  1. 2023年虚拟数字人研究报告
  2. 计算机考试的验证码是什么情况,理论模拟考试验证码是什么情况
  3. 前端内容滑动插件bxSlider
  4. 1088 三人行 (20 分)(附详细注释,逻辑分析)
  5. 2014新生暑假个人排位赛02 E. 木头人足球赛
  6. 生活不止眼前的苟且,还有诗和远方
  7. 探寻木马进化趋势:APT32多版本远控木马Ratsnif的横向分析
  8. 59、Neural Rays for Occlusion-aware Image-based Rendering
  9. 使用chrome模拟微信内置浏览器
  10. python和嵌入式那个有前途_嵌入式的发展前景如何?