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就可以查看所有数据,我这里就不看了。
注意:每次重启系统都要重新给串口权限

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
在Ubuntu 18.04下,切换Python版本存在一些挑战,但有几种方法可以解决这个问题。 1. 使用pyenv:使用pyenv可以方便地管理和切换不同版本的Python。首先,安装pyenv和相关依赖项: ``` $ sudo apt update $ sudo apt install -y make build-essential libssl-dev zlib1g-dev \ libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev \ xz-utils tk-dev libffi-dev liblzma-dev python-openssl $ curl https://pyenv.run | bash ``` 或者,从GitHub克隆pyenv存储库: ``` $ git clone https://github.com/pyenv/pyenv.git ~/.pyenv $ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc $ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc $ echo 'eval "$(pyenv init --path)"' >> ~/.bashrc $ exec "$SHELL" ``` 然后,安装所需的Python版本: ``` $ pyenv install 3.7.9 $ pyenv install 2.7.18 ``` 最后,将全局Python版本设置为所需的版本: ``` $ pyenv global 3.7.9 ``` 2. 使用update-alternatives:另一个方法是使用update-alternatives命令来切换Python版本。首先,安装所需的Python版本: ``` $ sudo apt update $ sudo apt install -y python3.7 python2.7 ``` 然后,使用update-alternatives命令管理Python版本: ``` $ sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1 $ sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.7 2 ``` 最后,使用update-alternatives命令选择所需的Python版本: ``` $ sudo update-alternatives --config python ``` 在提示下选择所需的Python版本。 无论采用哪种方法,都可以通过运行`python --version`命令来验证Python版本是否已成功切换。需要注意的是,在切换Python版本之前,最好备份您的项目或虚拟环境。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值