找回密码
 立即注册
搜索
查看: 659|回复: 3

实时显示路径

[复制链接]

4

主题

6

帖子

36

积分

新手上路

Rank: 1

积分
36
发表于 2025-3-20 22:21:07 | 显示全部楼层 |阅读模式
在使用雷达建图完成之后,在该地图上进行导航,用手柄控制小车移动,怎么才能在地图上实时显示移动路径
回复

使用道具 举报

0

主题

259

帖子

773

积分

高级会员

Rank: 4

积分
773
发表于 2025-3-21 19:44:22 | 显示全部楼层
目前没有这种功能的,得编写程序实现,这种一般以里程计的数据进行实现,网上一般都有例子的
回复

使用道具 举报

4

主题

6

帖子

36

积分

新手上路

Rank: 1

积分
36
 楼主| 发表于 2025-3-24 20:49:42 | 显示全部楼层
WHEELTEC-Until 发表于 2025-3-21 19:44
目前没有这种功能的,得编写程序实现,这种一般以里程计的数据进行实现,网上一般都有例子的

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import rospy
from nav_msgs.msg import Path
from geometry_msgs.msg import PoseStamped
from nav_msgs.msg import Odometry

class PathTracker:
    def __init__(self):
        rospy.init_node('path_tracker', anonymous=True)
        self.path_pub = rospy.Publisher('/robot_path', Path, queue_size=10)
        self.odom_sub = rospy.Subscriber('/odom', Odometry, self.odom_callback)

        self.path = Path()
        self.path.header.frame_id = "map"  # 设定路径的坐标系

    def odom_callback(self, msg):
        pose = PoseStamped()
        pose.header = msg.header
        pose.pose = msg.pose.pose
        self.path.poses.append(pose)

        # 限制存储的路径点数量,避免占用过多内存
        if len(self.path.poses) > 1000:
            self.path.poses.pop(0)

        self.path.header.stamp = rospy.Time.now()
        self.path_pub.publish(self.path)

if __name__ == '__main__':
    try:
        PathTracker()
        rospy.spin()
    except rospy.ROSInterruptException:
        pass

这是代码,显示路径为啥不在地图上,反而在z轴上,是代码有问题吗

运行轨迹记录节点,显示的实时路径

运行轨迹记录节点,显示的实时路径
回复

使用道具 举报

5

主题

236

帖子

1661

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1661
发表于 2025-3-25 13:26:28 | 显示全部楼层
这个得自行检查一下代码是否有问题哈,我们不对自行编写的代码进行指导和检查的哈
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

粤ICP备20017043号|小黑屋|手机版|Archiver|轮趣科技(东莞)有限公司  

GMT+8, 2025-4-2 04:58 , Processed in 0.077131 second(s), 25 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表