玩ROS一直是在ubuntu,最近因为各种原因,在windows10上调试ROS2。这一典型的问题是,很多硬件都是没有库文件的支持,国内的很多硬件也大多只支持ROS1。完全不调试源码直接使用各种相关硬件就不太现实了。

先把rplidar a1这个小玩具用起来。

先安装windows下的驱动 ,

https://github.com/Slamtec/rplidar_sdk

找到文件夹下的,

~\rplidar_sdk\tools\cp2102_driver\CP210xVCPInstaller_x64.exe

安装即可。

然后找了一下ROS2的相关库文件,发现有个作者已经做了一些相关工作,源码在这里,

GitHub - allenh1/rplidar_ros

不过我没有调试通过。大约修改了CMakeLists.txt中的两处,然后又把源码中相关的串口位置做了修改,主要修改内容如下,

(1)CMakeLists.txt中

#"${RPLIDAR_SDK_PATH}/src/arch/linux/*.cpp"

"${RPLIDAR_SDK_PATH}/src/arch/win32/*.cpp"

...

# build composition node

add_library(rplidar_composition_node SHARED

src/rplidar_node.cpp

${RPLIDAR_SDK_SRC}

)

target_compile_definitions(rplidar_composition_node PRIVATE RPLIDAR_ROS_DLL=1)

其一是linux修改为win32平台,作者已经有提供windows的代码了;其二是添加预定义: RPLIDAR_ROS_DLL,这个大家只要看一下rplidar_composition_node的源码就知道了,它决定了dll中的输入和输出,

#define RPLIDAR_ROS_EXPORT __declspec(dllexport)
    #define RPLIDAR_ROS_IMPORT __declspec(dllimport)

(2)rplidar_node.cpp中的ttyUSB0修改为COM3,

如果你要运行这个指令,ros2 run rplidar_ros rplidar_composition,那么就要把

serial_port_ = this->declare_parameter("serial_port", "/dev/ttyUSB0");

修改为

serial_port_ = this->declare_parameter("serial_port", "\\\\.\\COM3");

注意、这里COM3是变化的,我的设备上是COM3。

(3)rplidar.launch.py中的ttyUSB0修改为COM3,

如果你要运行指令:ros2 launch rplidar_ros rplidar.launch.py,那相应的串口也要改,如下,

#'serial_port': '/dev/ttyUSB0',

修改为

'serial_port': '\\\\.\\COM3',

//-----------------------//-----------------------//-----------------------

到这里一般colcon build之后就能跑起来了,修改过后的源码在这里,

https://github.com/SpaceView/rplidar_ros

给张测试结果的全图吧,

本文结束。

ROS2 humble + windows10,如何安装调试rplidar a1激光扫描传感器相关推荐

  1. 安装ROS2 humble 和 cartographer

    安装ROS2 humble 和 cartographer 安装ROS2 humble 一键安装指令 安装cartographer apt安装 安装cartographer 安装cartographer ...

  2. 奥比中光深度相机ros2 humble版安装分享

    奥比中光深度相机官网只有ros2 galactic安装例子,我测试了一下,在humble也能用,下面介绍一下安装方法. ros2 humble版本安装用小鱼的一键安装,这里不再介绍,下面是一键安装网址 ...

  3. Manjaro Linux安装ROS2 humble机器人系统:从开始到安装完成

    时间从2022/7来到了2022.12,又来找虐了...这次安装成功了哈哈哈哈.感谢arch ros2-humble的开发者. 我已经把编译好的包上传,有需要(又相信我不会做手脚的)可以直接使用,省得 ...

  4. ROS开发之如何使用RPLidar A1二维激光雷达?

    文章目录 0.引言 1.创建工作空间 2.获取rplidar_ros包并编译 3.检查雷达端口 4.启动launch显示雷达扫描结果 0.引言   笔者研究课题涉及多传感器融合,除了前期对ROS工具的 ...

  5. 在Windows10上安装CentOS7子系统

    在Windows10上安装CentOS7子系统 由于客户使用的服务器主要是linux的系统,redhat或centos等,而日常办公更多的是使用windows系统,这样就导致有时候做一些调试或者问题复 ...

  6. EAI Dashgo D1环境搭建/键盘控制/rplidar a1 a2建图导航详细教程

    昨天同学让我帮他看一下EAI Dashgo D1怎么用,因为好像按官方教程还是有一些问题,甚至连键盘控制都不能,查看了一下官方说明,再安装发现的确有一些地方需要注意,尤其对于小白来说这个教程还是有点不 ...

  7. 试图运行项目时出错,无法启动调试。没有正确安装调试器,请运行安装程序安装或恢复调试器。...

            用Visual Studio.net 2003调试项目时,出现错误对话框,显示如下:         试图运行项目时出错,无法启动调试.没有正确安装调试器,请运行安装程序安装或恢复调试 ...

  8. 在windows10中安装 linux ubuntu 子系统

    在windows10中安装 linux ubuntu 子系统 文章目录 在windows10中安装 linux ubuntu 子系统 打开开发者模式 windows子系统功能 重启计算机 Micros ...

  9. windows10 下载 安装 使用 Sox

    windows10 下载 安装 使用 Sox 官网 http://sox.sourceforge.net/ 下载地址 https://sourceforge.net/projects/sox/file ...

最新文章

  1. 解决Dynamic Web Module 3.0 Requires Java 1.6 or newer
  2. MATLAB调用python文件方法
  3. OpenGL 各类库的解析 gl/glu/glut/freeglut/glfw/glew
  4. 脉冲宽度测量程序 c51 c语言,基于C51单片机和LCD1602显示的超声波测距仪C语言程序...
  5. 表单如何添加大的文本框_在 Flutter 中进行文本框的创建和设定
  6. python,时间加减,时间计算,时间格式化,时间提取汇总
  7. java变量自增题的分解08251944
  8. 你还在为文件读写而烦恼?Python已经轻松帮你解决了(建议学习)
  9. atitit.提升2--3倍开发效率--cbb体系的建设..
  10. 半小时在白板上写代码实现一致性哈希Hash算法
  11. 为什么新建文本文档没有.txt后缀
  12. 数值计算(一):引论
  13. 开发小工具和一些小技巧
  14. Java IO流学习总结一:输入输出流
  15. php生成pem文件怎么打开,iOS推送证书生成pem文件(详细步骤)
  16. unity android gyro,Unity - 陀螺仪 - 仅绕一轴旋转
  17. 如何大幅提高 Django 网站加载速度
  18. 【Educational Codeforces Round 61 (Rated for Div. 2)】A.B.C.D.E.F.G
  19. java bidi_Java Bidi toString()用法及代码示例
  20. 一看就懂手机里的PDF转换成PPT的方法

热门文章

  1. Fortran字符串处理
  2. ​Spring IOC中 Bean 作用域
  3. 建筑施工数字孪生及其构建方法
  4. 【UE4】C++的RPC调用
  5. Echarts3.0入门基础与实战(学习笔记)
  6. 吴军三部曲态度(六)做人做事
  7. Xvid 视频压缩编码器设置指南
  8. 五、PyQt5实现Python界面设计_QPushButton(命令按钮)
  9. Java 之 Excel文件下载
  10. 我的世界java手机版怎么调按键_我的世界怎么改移动控制键