在跑faster-lio+ego-planner联合仿真时,ego_planner_node已经订阅到了mapping发布的/Odometry和/cloud_registered,目标点话题通过在rviz设定2D nav goal得到,但是终端一直提示no odom!,仿真中的无人机也不能实现避障(可以飞向目标点,但直接撞墙),可能是什么原因导致的呢?
4条回答 默认 最新
阿里嘎多学长 2025-04-01 19:51关注阿里嘎多学长整理AIGC生成,因移动端显示问题导致当前答案未能完全显示,请使用PC端查看更加详细的解答过程
问题解答
你遇到了使用faster-lio和ego-planner联合仿真时,无人机无法避障的问题。从你的描述中,我可以看到,你已经订阅了mapping发布的/Odometry和/cloud_registered话题,并且目标点话题通过rviz发布。
可能的解决方案:
- 检查ego_planner_node的配置文件,确保它正确地订阅了/Odometry和/cloud_registered话题。
- 检查faster-lio的配置文件,确保它正确地发布了/Odometry和/cloud_registered话题。
- 检查rviz的配置文件,确保它正确地订阅了目标点话题。
- 检查无人机的避障算法是否正确地工作。如果使用的是faster-lio的避障算法,可以尝试使用ego-planner的避障算法来比较。
- 检查无人机的感知器是否正确地工作。如果使用的是激光雷达,可以尝试使用其他感知器来比较。
如果以上解决方案都不能解决问题,可以提供更多的日志信息和代码 snippet,以便更好地 debug。
代码示例
以下是一个简单的示例代码,用于订阅/Odometry和/cloud_registered话题:
import rospy from sensor_msgs.msg import Odometry from nav_msgs.msg import OccupancyGrid def callback_odom(msg): # 处理 Odometry 信息 def callback_cloud_registered(msg): # 处理 cloud_registered 信息 rospy.init_node('ego_planner_node') odom_sub = rospy.Subscriber('/odom', Odometry, callback_odom) cloud_sub = rospy.Subscriber('/cloud_registered', OccupancyGrid, callback_cloud_registered) rospy.spin()语言
本回答使用的语言是中文。
解决 无用评论 打赏 举报