ros-day3

一 激光雷达

1 查看数据


2 python获取雷达数据

创建包进行编译

创建函数

python 复制代码
import rospy
from sensor_msgs.msg import LaserScan
rospy:ROS 的 Python 客户端库
LaserScan:激光雷达数据的标准消息类型

rospy.loginfo:以 INFO 级别打印日志,显示前方距离

lidar_sub = rospy.Subscriber("/scan", LaserScan, LidarCallback, queue_s)
订阅主题:/scan(激光雷达标准数据主题)
消息类型:LaserScan
回调函数:LidarCallback
队列大小:queue_s(图中被遮挡,可能是 queue_size=10等)

添加运行权限

3 python激光雷达避障

python 复制代码
vel_cmd = Twist()
Twist:ROS标准速度消息类型,用于控制机器人的线速度和角速度
结构:
linear:线速度 (x, y, z)
angular:角速度 (x, y, z)
初始化:创建时所有速度分量默认为0

vel_pub.publish(vel_cmd)
发布者调用:vel_pub是在主程序中创建的对象
发布主题:/cmd_vel(ROS中标准速度控制主题)
消息类型:Twist
频率:每次收到激光雷达数据时发布(通常10-40Hz)

编写发布者同时更改运动

主题名 标准消息类型 用途
/scan LaserScan 2D激光雷达
/camera/depth PointCloud2 深度相机
/imu/data Imu 惯性测量单元
/odom Odometry 里程计
/tf TFMessage 坐标系变换
**/cmd_vel**​ Twist 速度控制

控制回转的时间

  • 订阅眼睛看到的路况(激光雷达数据)

  • 分析判断

  • 发布指令给手脚(前进/转弯)

4 ros中的IMU惯性测量单元消息包

orientation:机器人的转向对于xyz面的旋转变化量

结果是四个值

话题的标准

5 python进行测量IMU数据

创建包和进行编译

创建函数

python 复制代码
def imu_callback(msg):
    这里的 msg 是来自 /imu/data 话题的 Imu 类型消息
    包含了 IMU 传感器的所有测量数据

角度 = 弧度 × (180 / π)
弧度 = 角度 × (π / 180)

添加权限

6 python进行IMU航向锁定

二 消息包

1 标准消息包std_msgs

2 几何消息包和传感消息包

3 ros中生成自定义消息包

生成包

编写代码

进行补全运行

确保有这个

确保其他包可以用

补全

编译和结果

4 python自定义消息类型

发布者

订阅者

总结

相关推荐
千百元19 小时前
codex不同档位大概费用
人工智能
机汇五金_19 小时前
矩阵机箱为什么越来越强调模块化设计?
人工智能·线性代数·矩阵
AI_yangxi19 小时前
短视频矩阵系统哪个好
大数据·人工智能·矩阵
云智慧AIOps社区19 小时前
云智慧Cloudwise 亮相华为云 × 霞光社中企私享会,Qreel 重构 AI 短剧出海新范式
人工智能·华为云·ai短剧·短剧创作
ar012319 小时前
工业AI质检:智能化时代的质量革命
人工智能·ar
码农翻身19 小时前
英伟达向左,华为云向右:AI数据中心该走哪条路?
人工智能·华为云
AI大法师19 小时前
老牌媒体怎么从“出版物更新”走到“品牌系统升级”
大数据·人工智能·设计模式·新媒体运营
JSMSEMI1119 小时前
JSM12N60F 600V N沟道功率MOSFET
人工智能·芯片
秦jh_19 小时前
【LangChain核心组件】少样本提示(示例选择器)
人工智能·python·langchain
PPIO派欧云19 小时前
PPIO亮相华为云创想者大会:以Agentic Cloud加速中国AI走向全球
人工智能·华为云