树莓派4B-ros-noetic-连接北阳激光雷达URG-04XL-UG01

  • Post author:
  • Post category:其他


今天将用树莓派装了个ros-noetic,准备用它和hokuyo激光雷达URG-04XL-UG01学一下SLAM,先跑一下gmapping算法,下面记录一下我安装URG-04XL-UG01在Ubuntu20.04上的驱动程序,以及连接过程,也给正在学习激光雷达的伙伴们一个参考。

一、关于rosdep init初始化失败的问题

在ros安装到最后一步的时候,可能会发现如下错误:

ERROR: cannot download default sources list from:
https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/sources.list.d/20-default.list
Website may be down.

关于错误的原因,我也不清楚,但是已经找到了一个解决的办法。

1.打开下面的rosdistro下载地址,然后把它下载到本地,默认地址在Download


https://github.com/ros/rosdistro

2.解压,终端打开文件夹 进入目录rosdistro/rosdep,找到/sources.list.d文件,用gedit打开

sudo gedit 20-default.list

显示如下:

# os-specific listings first
yaml file:///home/文件所在地址/osx-homebrew.yaml osx

# generic
yaml file:///home/文件所在地址/rosdep/base.yaml
yaml file:///home/文件所在地址/python.yaml
yaml file:///home/文件所在地址/ruby.yaml
gbpdistro file:///home/文件所在地址/releases/fuerte.yaml fuerte

# newer distributions (Groovy, Hydro, ...) must not be listed anymore, they are being fetched from the rosdistro index.yaml instead

#默认下载地址是Download的话,那rosdistro文件地址就在里面了

3.修改所用的python版本中的__init__.py文件

因为在安装ros的时候,我下载的是python3,所以修改的是python3里面的文件。

sudo gedit /usr/lib/python3/dist-packages/rosdistro/__init__.py

同样,将下面路径换成Download里面的rosdistro路径

DEFAULT_INDEX_URL = 'https://raw.githubusercontent.com/ros/rosdistro/master/index-v4.yaml'

4.再次执行

rosdep init

一般是没什么问题的,如果还不行,就进入/etc找到ros,看里面是否还有一个20-default.list文件,或者在搜索框里找一下,将多余的这个文件删除再次重复初始化步骤,初始化以后,就可以正常使用ros了,至于更新那一步我还是更新不了,但是不影响使用,我就放弃了。

二、连接并在rivz中显示激光雷达URG-04XL-UG01

1.下载驱动ros-noetic-node

sudo apt install ros-noetic-urg-node

输入密码以后等待下载完毕即可。

2.连接激光雷达

我是采用USB方式来连接的,直接树莓派主板上面供电的。打开ros运行驱动,先启动ros,再运行启动程序:

source /opt/ros/noetic/setup.bash
roscore

新开一个终端:

source /opt/ros/noetic/setup.bash
rosrun urg_node urg_node

等待自动寻找激光雷达并连接,连接完毕以后最下端会显示:streaming data。

3.打开rviz显示激光雷达扫描状态

source /opt/ros/noetic/setup.bash
rosrun rviz rviz

打开以后设置参数如下:

(1)点击rviz左下角Add,添加LaserScan

(2)点击Global Option下方的Fixed Frame,将右边的参数改为laser

(3)点击LaserScan下面的Topic,改为/scan

(4)点击LaserScan下面的Style,改为Point

然后就能看到激光雷达扫描生成的图了:

ros2也能够连接,下次再记录,其他操作也后续再记录。



版权声明:本文为m0_61812914原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。