首页 > 其他分享 >ROS理论与实践学习笔记——4 ROS的常用组件之TF坐标变换

ROS理论与实践学习笔记——4 ROS的常用组件之TF坐标变换

时间:2024-10-12 08:48:42浏览次数:9  
标签:msgs geometry 组件 坐标 TF ROS 坐标系 tf2

        tf:TransForm Frame,坐标变换

        坐标系:ROS 中是通过坐标系统开标定物体的,确切的将是通过右手坐标系来标定的。

        作用:在 ROS 中用于实现不同坐标系之间的点或向量的转换。

        说明:在ROS中坐标变换最初对应的是tf,不过在 hydro 版本开始, tf 被弃用,迁移到 tf2,后者更为简洁高效,tf2对应的常用功能包有:

        tf2_geometry_msgs:可以将ROS消息转换成tf2消息。

        tf2:封装了坐标变换的常用消息。

        tf2_ros:为tf2提供了roscpp和rospy绑定,封装了坐标变换常用的API。

         详细内容可参考资料:http://wiki.ros.org/tf2

1.1 坐标msg消息

        geometry_msgs/TransformStamped:传输坐标系相关位置信息

        命令行键入:rosmsg info geometry_msgs/TransformStamped

        geometry_msgs/PointStamped:传输某个坐标系内坐标点的信息

        命令行键入:rosmsg info geometry_msgs/PointStamped

1.2 静态坐标变换

        两个坐标系之间的相对位置是固定的。

需求描述:现有一机器人模型,核心构成包含主体与雷达,各对应一坐标系,坐标系的原点分别位于主体与雷达的物理中心,已知雷达原点相对于主体原点位移关系如下: x=0.2、y=0.0、z=0.5。当前雷达检测到一障碍物,在雷达坐标系中障碍物的坐标为 (2.0 3.0 5.0),请问,该障碍物相对于主体的坐标是多少?

实现分析:

(1)坐标系相对关系,可以通过发布方发布</

标签:msgs,geometry,组件,坐标,TF,ROS,坐标系,tf2
From: https://blog.csdn.net/m0_64111363/article/details/142643829

相关文章

  • crossover软件如何安装程序 及最新图文案张教程
    IT之家2月23日消息,CodeWeavers近日发布了CrossOver24版本更新,基于近期发布的Wine9.0,不仅兼容更多应用和游戏,还初步支持运行32位应用程序。苹果在macOSCatalina系统中移除对32位软件的支持之后,在后续的macOS设备上就无法再运行旧版软件了。不过得益于Wi......
  • JavaWeb三大组件之Servlet
    1.Servlet一、Servlet介绍1、概念Servlet(ServerApplet)是JavaServlet的简称,称为小服务程序或服务连接器,用Java编写的服务器端程序,具有独立于平台和协议的特性,主要功能在于交互式地浏览和生成数据,生成动态Web内容。2、实现过程1.客户端发送请求至服务器端;2.服务器......
  • Spring Cloud Netflix Ribbon 负载均衡详解和案例示范
    1.引言在传统的集中式架构中,负载均衡器一般是放置在服务器端的,例如Nginx等。随着微服务架构的兴起,服务实例的数量和部署地点变得更加动态和分布式,这使得在客户端进行负载均衡成为了一种可行且更灵活的方案。NetflixRibbon提供了一种客户端侧负载均衡策略,使服务消费者在......
  • Spring Cloud Netflix Zuul 网关详解及案例示范
    1.引言在微服务架构中,API网关作为服务间通信的入口,扮演着重要的角色。NetflixZuul是一个提供动态路由、监控、安全等功能的API网关服务器,它可以为微服务系统提供统一的入口,简化服务间的交互。在业务系统中,Zuul可以有效地管理和路由多个微服务的请求,并通过自定义过滤......
  • C语言-常见文件操作函数详解(fgetc,fputc,fgets,fputs,fscanf,fprintf,fread,fwrite)
     ......
  • ROS1,用C++实现获取激光雷达数据,并使用gazebo测试
    实现步骤构建一个新的软件包,包名叫做lidar_pkg。cdcatkin_ws/src/catkin_create_pkglidar_pkgroscpprospysensor_msgs输入code,打开vscode在软件包中新建一个节点,节点名叫做lidar_node。在节点中,向ROS大管家NodeHandle申请订阅话题/scan,并设置回调函数为......
  • ROS2 如何实现发布者和订阅者
    1、创建工作空间ros2_workspacecdqhr_ws/srcros2pkgcreatetest_moudle--build-typeament_cmake--dependenciesrclcpp目录格式如上图2、创建订阅者和发布者code创建发布者节点在路径:/qhr_ws/src/test_moudle/src下创建 talker.cpp的文件,内容如下:#in......
  • Flutter可滚动组件(1):Sliver
    一、常见滚定组件Flutter提供了多种滚动组件,可以用于处理各种滚动效果。Sliver的子组件都能滚动,但并不是所有能滚动的组件都是Sliver子组件。比如,ListView和Grid就不是Sliver子组件。重要说3遍ListView和Grid就不是Sliver子组件。ListView和Grid就不是Sliver子组件。......
  • Flutter可滚动组件(5):PageView与页面缓存
    一、PageView如果要实现页面切换和Tab布局,我们可以使用PageView组件。需要注意,PageView是一个非常重要的组件,因为在移动端开发中很常用,比如大多数App都包含Tab换页效果、图片轮动以及抖音上下滑页切换视频功能等等,这些都可以通过PageView轻松实现。PageView({Key?......
  • Flutter可滚动组件(4):GridView
    网格布局是一种常见的布局类型,GridView组件正是实现了网格布局的组件,下面重点介绍一下它的用法。一、默认构造函数GridView可以构建一个二维网格列表,其默认构造函数定义如下:GridView({Key?key,AxisscrollDirection=Axis.vertical,boolreverse=false,......