ros 自定义package:在rviz中创建可显示markers的工具包(python)

在rviz中创建可显示markers的工具包

1. 创建using_makers工具包

catkin_ws工作空间下

cd ~/catkin_ws/src

catkin_create_pkg using_markers rospy visualization_msgs

mkdir ~/catkin_ws/src/using_markers/scripts/

添加basic_shapes.pyscripts文件夹

#!/usr/bin/env python
# -*- coding: UTF-8 -*-  

import rospy
from visualization_msgs.msg import Marker

def main():
    rospy.init_node("basic_shapes", anonymous=True)
    rate = rospy.Rate(1)
    pub = rospy.Publisher("visualization_marker", Marker, queue_size=1)
    shape = Marker.CUBE # 其他 Marker.SPHERE, Marker.ARROW, Marker.CYLINDER
    
    while not rospy.is_shutdown():
        marker = Marker()
        marker.header.frame_id = "/map" 
        marker.header.stamp = rospy.Time.now()

        marker.ns = "basic_shapes"
        marker.id = 0
		
        marker.type = shape
        marker.action = Marker.ADD # marker action

        # 初始化了marker的位置和初始的角度
        marker.pose.position.x = 0.5
        marker.pose.position.y = 0.5
        marker.pose.position.z = 0.5
        marker.pose.orientation.x = 0.0
        marker.pose.orientation.y = 0.0
        marker.pose.orientation.z = 0.0
        marker.pose.orientation.w = 1.0
        # marker的尺寸大小,这里1.0对应于现实地图的1m
        marker.scale.x = 1.0
        marker.scale.y = 1.0
        marker.scale.z = 1.0
        # marker的颜色定义, 注意透明度a的设置,为0就看不到了
        marker.color.r = 0.0
        marker.color.g = 1.0
        marker.color.b = 0.0
        marker.color.a = 1.0

        marker.lifetime = rospy.Duration()
   
        rate.sleep()

if __name__== "__main__":
    try:
        main()
    except rospy.ROSInterruptException:
        pass
cd ~/catkin_ws
catkin build
source devel/setup.bash

2. rviz部署和测试

打开rviz

roscore

rosrun rviz rviz

rviz中添加Marker
在这里插入图片描述

python ~/catkin_ws/src/using_markers/scripts/basic_shapes.py

可见绿色立方体。

  • 6
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值