有个树莓派和一个激光雷达还需要什么配件

Python017

有个树莓派和一个激光雷达还需要什么配件,第1张

计算机网络期末复习

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

卓沅best

原创

关注

1点赞·125人阅读

今天将用树莓派装了个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也能够连接,下次再记录,其他操作也后续再记录。

输入期货名称,3秒知晓期货走势!

免费分析期货走势

广告

树莓派4B安装ubuntu18.04.4和ROS并测试激光雷达

118下载·0评论

2021年1月6日

结合hokuyo的UST-10LX激光雷达在turtlebot上建图

3505阅读·0评论·0点赞

2017年2月6日

ROS-激光雷达(Hokuyo-URG-04LX-UG01)

423阅读·0评论·1点赞

2020年10月24日

成功解决使用git clone命令克隆文件出现error: RPC failed; curl 18 transfer closed with outstanding read data remaini

984阅读·0评论·1点赞

2020年9月14日

利用树莓派4B运行Mid-40激光雷达全过程

1683阅读·0评论·0点赞

2022年1月23日

疑难杂症篇(十七)--树莓派和激光雷达直接连接通信问题的解决方案

1852阅读·0评论·0点赞

2021年11月15日

阿维塔 11,四座VIP版40度座椅调幅,总有你的角度,即刻试驾体验

阿维塔

广告

ubuntu18.04安装Ros

112阅读·0评论·0点赞

2022年6月24日

树莓派4b安装Ubuntu20.04及ROS并使用激光雷达建图

4479阅读·14评论·14点赞

2021年6月3日

分布式通信树莓派激光雷达数据在主机RVIZ中显示不正常

140阅读·0评论·0点赞

2022年7月24日

使用python线程来读URG激光雷达和旋转编码器的问题

249阅读·0评论·1点赞

2019年7月30日

树莓派+ROS Indigo+urg_node连接Hokuyo网口激光雷达

2594阅读·0评论·0点赞

2018年5月12日

将树莓派机器人小车原雷达更换为思岚激光雷达

1291阅读·4评论·1点赞

2020年12月23日

树莓派4B安装MAVROS和激光雷达

1743阅读·0评论·1点赞

2021年1月26日

树莓派采集HOKUYO激光雷达数据

6748阅读·3评论·2点赞

2016年9月2日

ubuntu 14.04 安装indigo 出现解压python-rosdistro 错误

481阅读·0评论·0点赞

2018年11月14日

ROS安装ubuntu16.04 无需科学上网解决sudo rosdep init初始化问题

258阅读·1评论·2点赞

2022年4月30日

树莓派&ROS:驱动EAI的激光雷达YDLIDAR-X4

9667阅读·8评论·9点赞

2018年12月3日

去首页

看看更多热门内容

方案——使用GIT工具:

如果在你的平台上还没有安装GIT工具,可以输入以下命令:

sudo apt-get install git-core

如果在这个过程中出现错误,尝试更新软件,例如输入以下指令:

sudo apt-get update

sudo apt-get upgrade

紧接着可以通过GIT获得wiringPi的源代码

git clone git://git.drogon.net/wiringPi

若需要更新wiringPi。

cd wiringPi

git pull origin

进入wiringPi目录并安装wiringPi

cd wiringPi

./build

build脚本会帮助你编译和安装wiringPi

WiringPi简介:

WiringPi是应用于树莓派平台的GPIO控制库函数,WiringPi遵守GUN Lv3。wiringPi使用C或者C++开发并且可以被其他语言包转,例如python、ruby或者PHP等。WiringPi中的函数类似于Arduino的wiring系统,这使得熟悉arduino的用户使用wringPi更为方便。

树莓派具有26个普通输入和输出引脚。在这26个引脚中具有8个普通输入和输出管脚,这8个引脚既可以作为输入管脚也可以作为输出管脚。除此之外,树莓派还有一个2线形式的I2C、一个4线形式的SPI和一个UART接口。

树莓派上的I2C和SPI接口也可以作为普通端口使用。如果串口控制台被关闭便可以使用树莓派上的UART功能。如果不使用I2C,SPI和UART等复用接口,那么树莓派总共具有8+2+5+2 =17个普通IO。wiringPi包括一套gpio控制命令,使用gpio命令可以控制树莓派GPIO管脚。

用户可以利用gpio命令通过shell脚本控制或查询GPIO管脚。wiringPi是可以扩展的,可以利用wiringPi的内部模块扩展模拟量输入芯片,可以使用MCP23x17/MCP23x08(I2C 或者SPI)扩展GPIO接口。

另外可通过树莓派上的串口和Atmega(例如arduino等)扩展更多的GPIO功能。另外,用户可以自己编写扩展模块并把自定义的扩展模块集成到wiringPi中。WiringPi支持模拟量的读取和设置功能,不过在树莓派上并没有模拟量设备。但是使用WiringPi中的软件模块却可以轻松地应用AD或DA芯片。