00:00 / 02:47
连播
清屏
智能
倍速
点赞303
00:00 / 03:32
连播
清屏
智能
倍速
点赞60
00:00 / 00:10
连播
清屏
智能
倍速
点赞223
00:00 / 01:06
连播
清屏
智能
倍速
点赞91
00:00 / 06:58
连播
清屏
智能
倍速
点赞5
ROS 激光雷达节点Python如何编写? 第一步。在终端里进入 catkin 工作空间,创建一个软件包,包名叫做 lidar_pkg。注意依赖项里多了一个 sensor_msgs,是包含了雷达消息格式的软件包。回车,这就创建好了。为了让这个新建的软件包能够进入 ROS 的包列表,还需要对其进行编译。回退上一级目录,catkin_make 编译。好,这就编译完成了。 来到 VSCode,第二步,在 lidar_pkg 里新建一个目录,名字叫 scripts,在目录中新建一个节点文件,名字叫 lidar_node.py。在这个文件里编写代码,第一行是 Shebang,如果是 Ubuntu 18.04 及之前的版本,选择 python 解释器。而这里是 Ubuntu 20.04,所以选择python3的解释器。第二行,指定运行环境的编码为utf-8,让中文字符能正常显示。 接下来,引入大管家 rospy,然后是激光雷达的消息格式。好,开始编写 main主函数。先初始化节点。接着是第三步,让 ROS 大管家 rospy 帮忙订阅话题 /scan,回调函数设为 LidarCallback。调用 spin() 让节点保持运行别退出,到这里主函数的任务就完成了,我们来看看回调函数。第四步,构建回调函数LidarCallback,需要放在 main 主函数的前面。参数是接收到的激光雷达消息包 msg。这个 msg 的 ranges 数组里存储了 360 个测距值,哪一个是机器人前方的测距值呢。 前面我们分析了消息包的参数,ranges 数组的排列顺序是从起始角度到终止角度,每旋转一度得到一个测距值。所以ranges数组的下标和测距方向应该是这样的对应关系。机器人正前方正好位于数组顺序的正中间,对应下标为 180 的测距值。#python #ROS #激光雷达 #机器人 #机器人工匠阿杰
00:00 / 01:55
连播
清屏
智能
倍速
点赞19
00:00 / 00:38
连播
清屏
智能
倍速
点赞24
00:00 / 11:54
连播
清屏
智能
倍速
点赞1862
00:00 / 15:08
连播
清屏
智能
倍速
点赞243