• Ubuntu18.04使用RPLIDAR A2M12雷达出错的解决办法


    最近领导要我用A2M12雷达搞SLAM,但是用电脑连上这个雷达捣鼓了两三天才能够拿到数据。就把踩的坑记录一下。

    软硬件平台

    Nvidia Jetson Nano (4GB版本的)
    Ubuntu 18.04

    报错信息

    一提到这个报错信息就头疼,因为通过这个报错信息,我压根不知道哪里有问题。

    *** buffer overflow detected ***: ./build/mysimple_grapper terminated
    Aborted (core dumped)
    

    解决思路

    问题排查思路如下:

    1. 串口没给权限
    2. 波特率没调对
    3. 电流不够(Nano板不能在用雷达的时候连HDMI,否则电流不够)

    电流说是要2A,实际上我用笔记本的USB 3.2的接口,1.3A也够

    串口没给权限

    那就给串口赋予权限吧

    首先得给usb口权限:

    # 使用lsusb命令
    lsusb
    
    # 命令输出结果
    Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
    Bus 003 Device 005: ID 0e0f:0002 VMware, Inc. Virtual USB Hub
    Bus 003 Device 004: ID 0e0f:0002 VMware, Inc. Virtual USB Hub
    Bus 003 Device 003: ID 10c4:ea60 Cygnal Integrated Products, Inc. CP210x UART Bridge / myAVR mySmartUSB light
    Bus 003 Device 002: ID 0e0f:0003 VMware, Inc. Virtual Mouse
    Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    Bus 002 Device 003: ID 0e0f:0002 VMware, Inc. Virtual USB Hub
    Bus 002 Device 002: ID 0e0f:0008 VMware, Inc. 
    Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
    

    注意看CP210x这长串,反正雷达用的是这个芯片(官方文档里有写),这个usb口就是我们要找的雷达了

    赋予权限:

    sudo chmod 777 /dev/bud/usb/003/003
    

    然后查看串口

    cd /dev/
    find tty*
    tty
    tty0
    tty1
    tty10
    ...
    ttyS4
    ttyS5
    ttyS6
    ttyS7
    ttyS8
    ttyS9
    ttyUSB0
    

    ttyUSB0就是雷达

    赋予权限:

    sudo chmod 777 /dev/ttyUSB0
    

    波特率问题

    在这里插入图片描述
    波特率确是256000

    电流不够的问题

    供电电流

    *注:激光雷达在接上电源的时候存在一个输入电容充电的过程,充电的瞬态电
    流最大可达 2500mA。稳定工作后,工作电流不超过 600mA。
    

    这里官方文档说的什么充电瞬态电流最大可达 2500mA,我这边实际用没发现需要这么大的电流;
    电流够启动的1.5A就行,1.3A貌似也行,这个2.5A没啥影响

    运行示例程序

    然后再运行示例程序应该就可以了。

    试试simple_grapper这个示例程序

    cd [rplidar_sdk-master path]
    cd ./app/simple_grapper
    make -j$(nproc)
    cd ../../output/Linux/Release
    ./simple_grapper --channel --serial /dev/ttyUSB0 256000
    

    注意波特率是256000

    输出结果:

    SLAMTEC LIDAR S/N: 
    Version:  SL_LIDAR_SDK_VERSION 
    Firmware Ver: 1.32
    Hardware Rev: 6
    Lidar health status : OK. (errorcode: 0)
    waiting for data...
    ...
                 **                                                           
                  **                                                           
                  **                                                           
    ***********   **                                                           
    ***********   ***         *                                                
    ************ ****        **  **********                      ***           
    ***************************************************************************
    ---------------------------------------------------------------------------
    Do you want to see all the data? (y/n) 
    

    如果按y就可以查看所有数据,我这里就不看了。
    注意:每次重启系统都要重新给串口权限

  • 相关阅读:
    基数排序(学习)
    JVM-五大区
    Linux中的算术运算
    Vue 3实战:打造交互丰富的任务管理应用
    定时器,同步API和异步API,文件系统模块,文件流
    2022年江西省赣育杯网络安全大赛学生组Web&Misc Writeup
    室温离子液体1-丁基-3-甲基咪唑六氟磷酸盐([EMIM] PF6)科研试剂
    Vue知识点:生命周期
    Allure-pytest功能特性介绍
    阿里云ack集群升级流程
  • 原文地址:https://blog.csdn.net/qq_34844814/article/details/127111052