[导航赛题]一个else就能让你的机器人走的流畅

温清在此 队员 2026-01-21 21:44:47

问题描述

非常感谢上交开源了XLRobot_ROS2_Chassis_Controller包,这个包可以从机器人底盘调取机器人的pose、lazer数据,并用controller控制。但在导航实测中发现,机器人面临前进和转向的双重命令时,会卡顿。原因是机器人底盘只能同时处理前进或转向一个请求。

解决思路

这个问题的解决思路是确立前进和转向的优先级顺序。

最简单的解决方法

最简单的解决方式是前进优先于转向,在chassis_controller/controller_node.py代码第59行添加else。原理是之前线速度和角速度都不为0时,两段都会执行(既平移又旋转)。改成 else if:当linear.x!=0时只执行移动,不会再执行旋转;只有 linear.x ==e时才会去判断并执行旋转。让"移动"和"旋转"变成互斥逻辑。

        try:
            # Send move commands to chassis
            if msg.linear.x != 0.0:
                self.controller.move_x(
                    100 * self.cmd_interval * msg.linear.x, msg.linear.x
                )
            else if msg.angular.z != 0.0:
                self.controller.move_theta(
                    self.cmd_interval * msg.angular.z / pi * 180, msg.angular.z
                )
        except Exception as e:
            self.get_logger().error(f"Failed to send command to chassis: {e}")

源码链接
https://github.com/Hydroiodic/XLRobot_ROS2_Chassis_Controller

...全文
97 17 打赏 收藏 转发到动态 举报
写回复
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
7k1k 01-23 17:16
  • 打赏
  • 举报
回复

感谢分享

NanYuanChaLiang 队员 01-22 23:26
  • 打赏
  • 举报
回复

牛的!

Adnachiel03 队员 01-22 20:34
  • 打赏
  • 举报
回复

cool

Yikanji2001 队员 01-22 20:24
  • 打赏
  • 举报
回复

牛牛牛

温清在此 队员 01-22 20:14
  • 打赏
  • 举报
回复

抛砖引玉,欢迎大家来交流分享

Adnachiel03 队员 01-22 20:13
  • 打赏
  • 举报
回复

感谢分享

温清在此 队员 01-22 20:17
  • 举报
回复
@Adnachiel03 抛砖引玉,欢迎一起来开源分享
江淼98 队员 01-22 20:05
  • 打赏
  • 举报
回复
简单有效
温清在此 队员 01-22 20:17
  • 举报
回复
@江淼98 抛砖引玉,欢迎一起来开源分享
thucyx 队员 01-22 17:22
  • 打赏
  • 举报
回复

有收获

温清在此 队员 01-22 20:17
  • 举报
回复
@thucyx 抛砖引玉,欢迎一起来开源分享
fanna123123 队员 01-22 15:22
  • 打赏
  • 举报
回复

what!

温清在此 队员 01-22 20:17
  • 举报
回复
@fanna123123 抛砖引玉,欢迎一起来开源分享
Tipriest_ 队员 01-22 00:59
  • 打赏
  • 举报
回复 1
牛的
温清在此 队员 01-22 20:18
  • 举报
回复
@Tipriest_ 抛砖引玉,欢迎一起来开源分享
2301_80744354 助教 01-21 23:10
  • 打赏
  • 举报
回复 1

感谢分享!

温清在此 队员 01-22 20:18
  • 举报
回复
@2301_80744354 抛砖引玉,欢迎一起来开源分享

92

社区成员

发帖
与我相关
我的任务
社区描述
「智能机器人开发者大赛」官方平台,致力于为开发者和参赛选手提供赛事技术指导、行业标准解读及团队实战案例解析;聚焦智能机器人开发全栈技术闭环,助力开发者攻克技术瓶颈,促进软硬件集成、场景应用及商业化落地
机器人人工智能 高校
社区管理员
  • CSDN产品汪
  • Zachary_86
  • NO.2社区助手
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

「智能机器人开发者大赛」官方平台,致力于为开发者和参赛选手提供赛事技术指导、行业标准解读及团队实战案例解析;聚焦智能机器人开发全栈技术闭环,助力开发者攻克技术瓶颈,促进软硬件集成、场景应用及商业化落地