ROS机器人编程实践----琐碎知识点

amcl原理

  amcl将激光传感器数据与从地图预估的传感器数据相比较,给出可能的位姿。如果传感器数据和某个候选位姿处的预测数据相同,amcl就会给这个位姿一个较高的概率,反之,就会降低这个概率。概率较低的位姿就会被删除,替换成与现存的较高概率位姿相接近的位姿。随着时间的推进,候选位姿就会聚集在真实位姿的周围。

导航工具包:

  首先创建一个global costmap(全局评价地图),描述了机器人在地图中的某个位置出现的“好处”有多大。电机Global Planning勾选框,展开选中Costmap选项,然后就能看到全局评价地图。

图像消息订阅:

  我们可以直接订阅image_raw话题,如果操作在WIFI等带宽等受限环境下进行,则可能需要修改image_raw/compressed话题,其中的图像在发送之前经过了压缩。计算机视觉算法还是在压缩图像上效果最好。

 image_sub = rospy.Subscriber('camera/rgb/image_raw', Image, imaghe_callback)

  使用下面的命令可以看到camera/rgb/image_raw在以每秒20Hz的频率发布

 rostopic hz camera/rgb/image_raw

  特别注意,当使用usb摄像头的时候,订阅的话题应该是   /usb_cam/image_raw

ROS中使用OpenCV:

  需要使用cv_bridge包来将ROS的sensor_msgs/Image消息转换成OpenCV格式。例如:

#!/usr/bin/env python
# coding=utf-8

import rospy
import cv2, cv_bridge
from sensor_msgs import Image

猜你喜欢

转载自www.cnblogs.com/dingyc/p/10676756.html
今日推荐