ROS-SLAM雷达

使用前准备工作

1、新建工作空间、编译功能包

以建立名字为rplidar_ws为例,终端输入

mkdir rplidar_ws
cd rplidar_ws
mkdir src
cd src
catkin_init_workspace

rplidar_ros功能包:git下载。

https://github.com/Slamtec/rplidar_ros/

然后把解压的rplidar_ros功能包复制到rplidar_ws/src目录下,然后在rplidar_ws的目录下,使用 catkin_make进行编译。

cd ~/rplidar_ws
catkin_make

编译通过后,把工作空间的路径添加到.bashrc中

sudo gedit ~/.bashrc

把以下内容复制到文件末尾

source ~/rplidar_ws/devel/setup.bash --extend

2、绑定雷达端口名称

打开终端,输入以下命令,把功能包下的oradar.rules文件复制到/etc/udev/rules.d中。

然后重新拔插雷达串口,终端输入 ll /dev/rplidar

ll /dev/rplidar

出现以下内容则表示绑定成功,结尾不一定是0,根据插入设备的顺序而改变。

3、测试雷达

保存后退出,重新打开一个终端,输入以下语句,打开雷达并且在rviz中显示

#a1雷达
roslaunch rplidar_ros view_rplidar_a1.launch
#a2雷达
roslaunch rplidar_ros view_rplidar_a2m12.launch
#a3雷达
roslaunch rplidar_ros view_rplidar_a3.launch
#s2雷达/s2l雷达
roslaunch rplidar_ros view_rplidar_s2.launch
#c1雷达
roslaunch rplidar_ros view_rplidar_c1.launch

如果输入雷达启动名命令,出现 错误提示:(原因:没有没配置环境)

ubuntu@ubuntu:~/01-ROS_SLAM/rplidar_ws$ roslaunch rplidar_ros view_rplidar_c1.launch
RLException: [view_rplidar_c1.launch] is neither a launch file in package [rplidar_ros] nor is [rplidar_ros] a launch file name
The traceback for the exception was written to the log file

以下为解决办法:

1. 检查软件包是否存在:
确保 rplidar_ros 软件包确实存在于您的 src 目录下。您可以通过在终端中运行以下命令来检查:

cd ~/01-ROS_SLAM/rplidar_ws/src
ls

这将列出 src 目录下的所有文件和文件夹,您可以检查 rplidar_ros 是否在其中

2. 初始化工作空间:
如果 rplidar_ros 软件包存在于 src 目录下,您需要初始化 ROS 工作空间并构建它。在 rplidar_ws 目录下运行以下命令:这将编译工作空间中的所有软件包。

cd ~/01-ROS_SLAM/rplidar_ws
catkin_make

3. 设置环境变量:
编译完成后,您需要设置环境变量以确保 ROS 能够识别新编译的软件包。运行以下命令:

source devel/setup.bash

如果您在不同的终端会话中工作,可能需要在每次打开新终端时都运行这个命令,或者将其添加到您的 .bashrc 文件中:

echo "source ~/01-ROS_SLAM/rplidar_ws/devel/setup.bash" >> ~/.bashrc
source ~/.bashrc

4. 重新检查软件包:
设置好环境变量后,再次运行 rospack find rplidar_ros 命令来检查软件包是否被正确识别。

如果上述步骤仍然无法解决问题,可能需要检查 rplidar_ros 软件包的安装过程,确保遵循了正确的安装指南。如果软件包是从源代码编译的,确保所有依赖项都已正确安装。如果软件包是通过 apt-get 或 rosdep 安装的,确保安装命令正确无误。

4. 终端输入下面命令,开启C1雷达

roslaunch rplidar_ros view_rplidar_c1.launch

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/27959.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux-Tomcat服务配置到系统服务

目录 前言一、系统环境二、配置步骤step1 了解环境的安装路径step2 配置生成tomcat.pid文件step3 配置tomcat.service文件 三、测试systemctl命令管理Tomcat服务3.1 systemctl命令启动Tomcat服务3.2 systemctl命令查看Tomcat服务3.3 systemctl命令关闭Tomcat服务3.4 systemctl命…

CentOS下 conda环境设置

conda环境设置 镜像设置 [pythoningdev ~]$ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/代理设置 $HOME/.condarc 文件中 这个文件中可以看到镜像源信息(如果配置了的话),在下面加上proxy就可以…

【python基础实例】从文件命名中提取特定信息(数字、字母等)

【python基础实例】从文件命名中提取特定信息(数字、字母等) 在处理文件和数据时,我们经常需要从文件名中提取特定的信息,如日期、序号或项目标识符。Python提供了强大的字符串处理功能,可以轻松完成这些任务。本文将…

Python 学习 第二册 第12章 图形界面

----用教授的方法学习。 目录 12.1 创建 GUI 示例应用程序 12.1.1 初探 12.1.2 布局 12.1.3 事件处理 12.1.4 最终的程序 12.1 创建 GUI 示例应用程序 这个微型文本编辑器的需求如下。 让用户能够打开指定的文本文件。 让用户能够编辑文本文件。 让用户能够保存文本…

浪潮信息MUPR自研专利 保障服务器内存运行的可靠性和高效性

在数字化转型的大潮中,服务器作为支撑企业业务运行的核心设备,其稳定性和可靠性显得尤为重要。然而,传统的内存故障预警修复技术往往存在反应滞后、误报率高等问题,难以满足日益增长的数据处理和存储需求。针对这一问题&#xff0…

ADBMS1818驱动程序解析

.H文件解析 #ifndef _ADBMS1818_ #define _ADBMS1818_ #include "M_SPI.h" //引入SIP底层收发 #include "CRC_Pec15.h" //引入计算crc的算法 #include "temperature.h" //引入温度转换 #include "string.h" /*注&#xff…

C++初学者指南第一步---4.基本类型

C初学者指南第一步—4.基本类型 文章目录 C初学者指南第一步---4.基本类型1.变量声明2.快速概览Booleans 布尔型Characters 字符型Signed Integers 有符号整数Unsigned Integers 无符号整数Floating Point Types 浮点数类型 3.Common Number Representations 常用的数字表示常用…

【数据结构】——常见排序

文章目录 一、 冒泡排序二、 选择排序三、插入排序四、 快速排序1. hoare版本2. 优化版本3. 前后指针法4. 非递归版本 五、 堆排序六、 希尔排序七、 归并排序1. 递归版本2. 非递归版本 八、 计数排序 在开始之前先准备一个交换数据的函数,排序会经常用到 //交换位置…

银河麒麟系统安装

新建虚拟机 选择典型下一步: 稍后安装操作系统 下一步 : 选择Linux Ubuntu 64位 下一步: 设置名称 选择一个虚拟机的位置进行下一步: 磁盘大小默认给20G 下一步: 点击完成 编辑虚拟机设置 点击CD/DVD(SATA) 使用IS…

Mysql数据库的锁机制

MySQL 中的锁可以按照粒度分为锁定整个表的表级锁(table-level locking)和锁定数据行的行级锁(row-level locking)表级锁开销小,加锁快,但是支持的并发度低,行级锁相反。 行锁 Innodb实现了以…

如何在小程序中实现页面之间的返回

在小程序中实现页面之间的返回,通常有以下几种方法,这些方法各有特点,适用于不同的场景: 1. 使用wx.navigateBack方法 描述:wx.navigateBack是微信小程序中用于关闭当前页面,返回上一页面或多级页面的API…

java技术专家面试指南80问【java学习+面试宝典】(九)

队列和栈是什么,列出它们的区别? 栈和队列两者都被用来预存储数据。java.util.Queue是一个接口,它的实现类在Java并发包中。队列允许先进先出(FIFO)检索元素,但并非总是这样。Deque接口允许从两端检索元素…

聊聊对Andorid的FileProvider的理解

最近在项目中遇到一个有关FileProvider的问题,由此来学习了一下FileProvider,有关笔记记录如下。 FileProvider是 Android 系统中一个特殊的内容提供者(ContentProvider), 它主要用于应用之间安全的共享文件。通过 FileProvider,应用可以生成一个 conte…

C#医院体检系统源码 PEIS源码 系统核心功能、特点、类型、设备对接-PACS放射科设备对接:DR、CT、MRI、钼靶。

C#医院体检系统源码 PEIS源码 系统核心功能、特点、类型、设备对接-PACS放射科设备对接:DR、CT、MRI、钼靶。 体检系统是为体检中心、医院体检科等体检机构专门开发的全流程管理系统。该系统通过软件实现检测仪器数据的自动提取,内置多级医生工作台,旨在…

每日一练:攻防世界:ewm

这道题我尝试了使用montagegaps解题,但是没有解出来,图片数量不是很多,可以尝试用PS直接拼图,但是这样学不到东西,我也就没尝试,直接看的官方WP 这段代码应该是改变工作目录到small,并且变量当…

基于springboot的宠物商城网站

文章目录 项目介绍主要功能截图:部分代码展示设计总结项目获取方式🍅 作者主页:超级无敌暴龙战士塔塔开 🍅 简介:Java领域优质创作者🏆、 简历模板、学习资料、面试题库【关注我,都给你】 🍅文末获取源码联系🍅 项目介绍 基于springboot的宠物商城网站,java项目…

软件复盘的目的及作用

一、软件复盘的目的 软件复盘是一种在软件开发完成后、通过整理软件开发工作中的经验和教训以及对软件缺陷、进度、质量等问题的反思,识别和总结出开发团队应该坚持和改进的软件开发过程和技术的工作方式。软件复盘的主要目的是: 识别和总结软件开发过…

【Ubuntu20.04】安装XRDP远程桌面服务

【Ubuntu20.04】安装XRDP远程桌面服务 安装xrdp sudo apt install xrdp sudo adduser xrdp ssl-cert sudo systemctl restart xrdp黑屏解决 修改startwm.sh文件 sudo gedit /etc/xrdp/startwm.sh在test -x /etc/X11/Xsession上一行添加 unset DBUS_SESSION_BUS_ADDRESS un…

Linux C编译器从零开发二

自定义分词器 test.c #include <ctype.h> #include <stdarg.h> #include <stdbool.h> #include <stdio.h> #include <stdlib.h> #include <string.h>typedef enum {TK_PUNCT, // PunctuatorsTK_NUM, // Numeric literalsTK_EOF, // …

基于carsim的线控转向仿真(1)--carsim车辆模型目标角度跟踪

一、Rwa转向执行总成建模 Rwa包括齿轮齿条机构、转向组件以及转向执行电机&#xff1b;如下图&#xff0c;电机输出轴通过齿轮减速增扭后&#xff0c;再经过一个半径为rp的小齿轮&#xff0c;直接带动齿条左右移动。齿条的移动通过转向摇臂&#xff0c;带动车轮转动&#xff0c…