IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 游戏开发 -> 使用jeston-nano-ros-melodic-RPLIDAR构建地图 -> 正文阅读

[游戏开发]使用jeston-nano-ros-melodic-RPLIDAR构建地图

? RPLIDAR是低成本的二维雷达解决方案,由SLAMTec公司的RoboPeak团队开发,本次学习使用的是PRLIDAR A2型号的激光雷达,其具有16米测量半径,8000次/秒的测量频率,非常谁和用于构建地图、做SLAM或构建3D模型。

请输入图片描述

1、创建工作空间

mkdir -p ~/turtlebot_ws/src
cd ~/turtlebot_ws/src
git clone https://github.com/ncnynl/rplidar_ros.git

这一步克隆如果不成功可以多试几次,或者到github上找到包,自己克隆一下

cd ..
catkin_make

2、设置环境变量

`source /turtlebot_ws/devel/setup.bash`

玩过ros的应该都知道这一步

下面配置端口

  • 检查端口权限
ls -l /dev |grep ttyUSB
  • 赋予端口权限666
sudo chmod 666 /dev/ttyUSB0

3.运行测试

运行PRLIDAR和并打开rviz查看:

roslaunch rplidar_ros view_rplidar.launch

运行PRLIDAR和查看测试应用

roslaunch rplidar_ros rplidar.launch

新终端打开:

rosrun rplidar_ros rplidarNodeClient

4、构建地图

①hector_mapping包安装:

sudo apt-get install ros-melodic-hector-slam

②创建launch文件:

在rplidar_ros/launch/目录下添加hector_mapping_demo.launch文件

<launch>
?	<node pkg="hector_mapping" type="hector_mapping" name="hector_mapping" output="screen">
?		<param name="pub_map_odom_transform" value="true"/>
?		<param name="map_frame" value="map" />
?		<param name="base_frame" value="base_link" />
?		<param name="odom_frame" value="base_link" />
?		<param name="use_tf_scan_transformation" value="true"/>
?		<param name="use_tf_pose_start_estimate" value="false"/>
?		<param name="map_resolution" value="0.05"/>
?		<param name="map_size" value="2048"/>
?		<param name="map_start_x" value="0.5"/>
?		<param name="map_start_y" value="0.5" />
?		<param name="laser_z_min_value" value = "-1.0" />
?		<param name="laser_z_max_value" value = "1.0" />
?		<param name="map_multi_res_levels" value="2" />
?		<param name="map_pub_period" value="2" />
?		<param name="laser_min_dist" value="0.4" />
?		<param name="laser_max_dist" value="5.5" />
?		<param name="output_timing" value="false" />
?		<param name="pub_map_scanmatch_transform" value="true" />
?		<param name="update_factor_free" value="0.4"/>
?		<param name="update_factor_occupied" value="0.7" />    
?		<param name="map_update_distance_thresh" value="0.2"/>
?		<param name="map_update_angle_thresh" value="0.06" />
?		<param name="advertise_map_service" value="true"/>
?		<param name="scan_subscriber_queue_size" value="5"/>
?		<param name="scan_topic" value="scan"/>
?	</node>
?	<node pkg="tf" type="static_transform_publisher" name="base_to_laser_broadcaster" args="0 0 0 0 0 0 /base_link /laser 100"/>
?	<node pkg="rviz" type="rviz" name="rviz" args="-d $(find hector_slam_launch)/rviz_cfg/mapping_demo.rviz"/>
</launch>`

如果有错误,请先查看格式缩进是否对应,语言的结束符号/是否加注合格。

③运行测试

运行前查看端口号、给予端口权限:

lsusb
sudo chmod a+rw /dev/ttyUSB0

运行下面的代码:

roslaunch rplidar_ros hector_mapping_demo.launch
roslaunch rplidar_ros rplidar.launch

在这里插入图片描述

  游戏开发 最新文章
6、英飞凌-AURIX-TC3XX: PWM实验之使用 GT
泛型自动装箱
CubeMax添加Rtthread操作系统 组件STM32F10
python多线程编程:如何优雅地关闭线程
数据类型隐式转换导致的阻塞
WebAPi实现多文件上传,并附带参数
from origin ‘null‘ has been blocked by
UE4 蓝图调用C++函数(附带项目工程)
Unity学习笔记(一)结构体的简单理解与应用
【Memory As a Programming Concept in C a
上一篇文章      下一篇文章      查看所有文章
加:2022-04-18 18:15:32  更:2022-04-18 18:19:24 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 -2025/1/16 21:33:38-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码