【6. 激光雷达接入ROS】(1)

本文涉及的产品
资源编排,不限时长
简介: 【6. 激光雷达接入ROS】(1)

1. 前言

Ubuntu环境搭建

【经典Ubuntu20.04版本U盘安装双系统教程】

【Windows10安装或重装ubuntu18.04双系统教程】

【Ubuntu同步系统时间】

【Ubuntu中截图工具】

【Ubuntu安装QQ】

【Ubuntu安装后基本配置】

【Ubuntu启动菜单的默认项】

【ubuntu系统中修改hosts配置】

【18.04Ubuntu中解决无法识别显示屏】

ROS学习笔记

【1. Ubuntu18.04安装ROS Melodic】

【2. 在Github上寻找安装ROS软件包】

【3. 初学ROS,年轻人的第一个Node节点】

【4. ROS的主要通讯方式:Topic话题与Message消息】

【5. ROS机器人的运动控制】


接下来学习激光雷达如何接入ros机器人,激光雷达是用来探测周围障碍物的分布状况!

1.png

2. 激光雷达分类

其按照测量的维度可以分为单线雷达和多线雷达

2.png


按照测量原理分为三角测距雷达和TOF雷达

3.png


根据工作方式分为机械旋转雷达和固态雷达

4.png


激光雷达虽各有不同,但是在ROS中呈现的数据格式是一样的,只是在数据完整度和精度上会有所差异。下面就选取TOF激光雷达作为例子


3. TOF和三角测距激光雷达

3.1 何为飞行时间测距(TOF)?

简单来说,就是计算光的“飞行时间”。


5.png


由激光器发射一个激光脉冲,通过计时器记录下光的出射和回返的时间,两个时间相减即可得到光的“飞行时间”,而光速是固定的,根据已知速度和时间就可以计算出距离。


3.2 何为三角测距?

三角测距采用激光器发射激光,在照射到物体之后,反射光会由线性CCD接收,因为激光器和探测器间隔了一段距离,所以根据光学路径,不同距离的物体将会在CCD上成像在不同的位置,按照三角公式进行计算,就可以推导出被测物体的距离。


6.png

3.3 激光雷达测距

TOF激光雷达计算如下


7.png

8.png


4. 使用RViz观测传感器数据

RViz这个工具的全名叫做 The Robot Visualization Tool

9.png



4.1 运行模板样机

打开三个终端分别运行三条指令




roscore
roslaunch wpr_simulation wpb_simple.launch
rviz

首先把这个Fixed Frame修改成base_footprint

10.png


状态栏添加机器人模型,最后点击ok

11.png

选择激光雷达的话题名称/scan

12.png


调整size为0.03

13.png

调整RViz和Gazebo分屏

14.png


Gazebo是模拟真实机器人发出传感器数据的工具

RViz显示的是机器人实际能探测到的环境状况

15.png

16.png


另外一点就是RViz并不参与机器人算法的运行,它只是一个为了方便人类进行观测的工具而已

即使没有RViz,也不影响机器人的ROS系统的运行

只有需要观察某些数据实时变化的时候,才会打开RViz

下面添加虚拟环境的圆柱体障碍物

17.png

18.png




4.2 保存RViz配置

点击file菜单,选择Save Config As

19.png

选择保存地址,方便后期直接加载

20.png

然后关闭所有终端

打开三个终端分别运行三条指令




roscore
roslaunch wpr_simulation wpb_simple.launch
rviz

然后在RViz中的file菜单,选择Open Config

21.png

然后选择刚保存的位置


22.png


4.3 自动加载rviz配置文件

还可以在launch文件里自动加载rviz配置文件

先关闭RViz,然后打开终端输入



roslaunch wpr_simulation wpb_rviz.launch

23.png

关闭摄像头,保留激光雷达

24.png

调整视角


25.png

5. ROS系统中的激光雷达消息包格式

5.1 运行模板样机

打开三个终端分别运行三条指令


roscore
roslaunch wpr_simulation wpb_simple.launch
roslaunch wpr_simulation wpb_rviz.launch

在Gazebo中围绕机器人堆积障碍物

27.png

5.2 sensor_msgs中Laserscan_msgs消息属性

进入ROS Index官网搜索sensor_msgs

28.png

29.png


进入website

30.png

在消息中找到LaserScan

31.png

这就打开了激光雷达消息包的格式定义


32.png

33.png


5.3 查看scan消息

新开终端输入




rostopic echo /scan --noarr

34.png

显示对比

35.png

36.png

37.png

38.png

39.png

40.png

41.png

42.png

43.png










相关实践学习
使用ROS创建VPC和VSwitch
本场景主要介绍如何利用阿里云资源编排服务,定义资源编排模板,实现自动化创建阿里云专有网络和交换机。
阿里云资源编排ROS使用教程
资源编排(Resource Orchestration)是一种简单易用的云计算资源管理和自动化运维服务。用户通过模板描述多个云计算资源的依赖关系、配置等,并自动完成所有资源的创建和配置,以达到自动化部署、运维等目的。编排模板同时也是一种标准化的资源和应用交付方式,并且可以随时编辑修改,使基础设施即代码(Infrastructure as Code)成为可能。 产品详情:https://www.aliyun.com/product/ros/
目录
相关文章
|
数据采集 数据可视化 Ubuntu
相机和livox激光雷达外参标定:ROS功能包---livox_camera_lidar_calibration 使用方法
该功能包提供了一个手动校准Livox雷达和相机之间外参的方法,已经在Mid-40,Horizon和Tele-15上进行了验证。其中包含了计算相机内参,获得标定数据,优化计算外参和雷达相机融合应用相关的代码。本方案中使用了标定板角点作为标定目标物,由于Livox雷达非重复性扫描的特点,点云的密度较大,比较易于找到雷达点云中角点的准确位置。相机雷达的标定和融合也可以得到不错的结果。
相机和livox激光雷达外参标定:ROS功能包---livox_camera_lidar_calibration 使用方法
|
传感器 机器人 C++
【6. 激光雷达接入ROS】(2)
【6. 激光雷达接入ROS】(2)
241 0
|
22天前
|
Ubuntu 机器人 Linux
|
6月前
|
传感器 人工智能 算法
ROS机器人操作系统
ROS机器人操作系统
167 1
|
22天前
|
传感器 数据可视化 机器人
【ROS速成】半小时入门机器人ROS系统简明教程之可视化系统(三)
半小时入门机器人ROS系统简明教程之可视化系统
|
22天前
|
机器人
【ROS速成】半小时入门机器人ROS系统简明教程之安装测速(二)
半小时入门机器人ROS系统简明教程之安装测速
|
5月前
|
机器学习/深度学习 传感器 算法
强化学习(RL)在机器人领域的应用,尤其是结合ROS(Robot Operating System)和Gazebo(机器人仿真环境)
强化学习(RL)在机器人领域的应用,尤其是结合ROS(Robot Operating System)和Gazebo(机器人仿真环境)
202 2
|
5月前
|
机器人 定位技术 C++
技术笔记:ROS中测试机器人里程计信息
技术笔记:ROS中测试机器人里程计信息
|
6月前
|
NoSQL 机器人 Windows
ROS机器人编程技术控制两只小海龟的编队运动
ROS机器人编程技术控制两只小海龟的编队运动
210 1
|
6月前
|
机器人 Python Windows
ROS机器人编程技术应用与实践
ROS机器人编程技术应用与实践
80 1

推荐镜像

更多