ROS 创建栅格地图

        ROS中有一种地图叫做栅格地图,栅格地图是一种基于网格的地图表示方法,其中地图区域被划分为均匀的网格单元,并为每个网格单元分配特定的属性信息。每个网格单元可以表示不同的地理特征、地物类型、高度、障碍物等信息。栅格地图在自动驾驶、机器人导航、游戏开发、地理信息系统等领域中得到广泛应用。可以通过代码来创建栅格地图:

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

import rospy
from nav_msgs.msg import OccupancyGrid

if __name__ == '__main__':
    rospy.init_node("map_test_node")
    rospy.logwarn("map_test_node start running")

    map_publisher = rospy.Publisher("/map", OccupancyGrid, queue_size = 10)

    map_rate = rospy.Rate(1)

    while not rospy.is_shutdown():
        map_message = OccupancyGrid()
        # 坐标系ID
        map_message.header.frame_id = "map"
        # 时间戳
        map_message.header.stamp = rospy.Time.now()

        # 地图信息
        # 地图的原点位置,也就是地图中(0,0)和真实世界原点的xy轴的偏移量
        map_message.info.origin.position.x = 0
        map_message.info.origin.position.y = 0
        # 地图的分辨率(单元格的边长,单位:m)
        map_message.info.resolution = 1.0
        # 地图的长宽(高) (单位:栅格数)
        map_message.info.width = 4
        map_message.info.height = 4

        # 地图数据
        map_message.data = [0] * map_message.info.width * map_message.info.height
        map_message.data[0] = 100
        map_message.data[1] = 100
        map_message.data[2] = 0
        map_message.data[3] = -1

        # 发布地图
        map_publisher.publish(map_message)
        map_rate.sleep()




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值