资讯详情

ROS2 实战 | 手写 TF2 海龟实时坐标广播器(含完整避坑指南)

📅 2026/9/24 17:41:43 | 华诺云谱 👁 阅读
ROS2 实战 | 手写 TF2 海龟实时坐标广播器(含完整避坑指南)
ROS2 实战 | 手写 TF2 海龟实时坐标广播器(含完整避坑指南)摘要:本文从零实现一个 ROS2 Python 节点,实时订阅 turtlesim 海龟位姿并广播 TF 坐标变换。重点修正了官方教程中常见的 Odometry/Pose 混用、__name__入口错误、--symlink-install开发技巧等高频踩坑点,附完整可运行代码与调试命令。一、环境准备确保已安装 ROS2 Jazzy 及依赖:sudoaptupdatesudoaptinstallros-jazzy-turtlesim ros-jazzy-tf-transformations ros-jazzy-tf2-tools每次打开新终端需先 source 环境:source/opt/ros/jazzy/setup.bash二、创建功能包mkdir-p~/ros2_ws/srccd~/ros2_ws/src ros2 pkg create --build-type ament_python turtle_tf2_broadcaster\--dependenciesrclpy geometry_msgs tf2_ros tf2_ros_py tf_transformations避坑1:不需要nav_msgs。turtlesim 发布的是turtlesim.msg.Pose,不是Odometry。三、编写广播器节点cd~/ros2_ws/src/turtle_tf2_broadcaster/turtle_tf2_broadcasternanoturtle_tf2_broadcaster.py完整代码:importrclpyfromrclpy.nodeimportNodefromgeometry_msgs.msgimportTransformStampedfromturtlesim.msgimportPoseimporttf2_rosimportmathdefquaternion_from_euler(ai,aj,ak):ai/=2.0aj/=2.0ak/=2.0ci=math.cos(ai)si=math.sin(ai)cj=math.cos
📝

华诺云谱内容团队

资深建站顾问 · 行业研究员

10年+企业数字化服务经验,专注智能建站、SEO优化与品牌营销,持续输出建站技巧、行业洞察与营销干货,已帮助5000+企业实现数字化增长。

你可能需要的服务

订阅华诺云谱资讯周报

每周一封,精选建站技巧、SEO与营销干货,直达邮箱。已有 8,000+ 企业主订阅,助你少走弯路。