栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Velodyne 32C Win端和Ubuntu18下使用

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Velodyne 32C Win端和Ubuntu18下使用

Win

https://blog.csdn.net/i_robots/article/details/109864454

Ubuntu

激光雷达用以太网连接电脑

设置ipv4
IP地址 192.168.1.x(x可以为1到254除开201以外的所有值 因为201是激光雷达的IP) 我设的192.168.1.70

子网掩码 255.255.255.0

安装好ros melodic

新建ROS工程

mkdir -p catkin_velodyne/src

cd catkin_velodyne/src

git clone https://github.com/ros-drivers/velodyne.git

cd ..

catkin_make

source devel/setup.bash

浏览器输入 192.168.1.201进入激光雷达面板

终端输入 roslaunch velodyne_pointcloud VLP-32C_points.launch

终端输入 rosrun rviz rviz -f velodyne 进入rviz在线地观察点云 进去后点击Add 加入Topic下PointCloud2

在线获取点云数据

在topic /velodyne_points中数据是以PointCloud2组织的 其中data存储这点云二进制流 需要对其解码才有意义。为了获取数据 需要新建一个功能包。用以订阅/velodyne_points话题 并获取其中的sensor_msgs 对其中的data进行解码即可
下面这个是ros 订阅者的回调函数 gen是一个生成器 内容可以根据实际需求更改 关键函数为point_cloud2.read_points()

from sensor_msgs.msg import PointCloud2
from sensor_msgs import point_cloud2
def callback_pointcloud(data):
 assert isinstance(data, PointCloud2)
 gen point_cloud2.read_points(data)
 print type(gen)
 for p in gen:
 print p 
ros使用Python3

torch对py3支持更好 ubuntu /usr/bin/env 下其实是有python3的 只需要在ros功能包下scripts中第一行将 python 改为 python3即可。torch安装就直接在终端没有激活conda的情况下pip3 install torch torchvision torchaudio即可。

ROS创建一个node用于接收velodyne点云并处理 之后新发布一个topic

创建工作空间

$ mkdir -p ~/catkin_ws/src
$ cd ~/catkin_ws/src
$ catkin_init_workspace

编译工作空间

$ cd ~/catkin_ws/
$ catkin_make

设置环境变量

$ source devel/setup.bash

也可以打开 .bashrc 在末尾添加source bash文件路径 这样每次打开终端都会自动设置环境。
检查环境变量

$ echo $ROS_PACKAGE_PATH

创建功能包

$ cd ~/catkin_ws/src
$ catkin_create_pkg test_pkg std_msgs rospy roscpp

编译功能包

$ cd ~/catkin_ws
$ catkin_make
$ source devel/setup.bash

src文件夹下添加脚本subscriber.py。

回到工程主目录 运行 rosrun test_pkg subscriber.py 回到Rviz 订阅subscriber publish的处理后点云的topic 显示即可。

编写launch文件

为了方便之后的启动 将velodyne驱动节点和点云数据处理节点写在一个launch文件中
velodyne.launch文件

 launch 
 include file $(find velodyne_pointcloud)/launch/VLP-32C_points.launch / 
 node pkg test_pkg type subscriber.py name subscriber / 
 /launch 

注意这里type和name需要同名 之后回到项目根目录catkin_make 重新打开终端即可roslaunch launch_node velodyne.launch一键启动。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/267450.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号