tf2

$ rosrun tf2_tools view_frames.py
$ evince frames.pdf
rosrun tf tf_echo [reference_frame] [target_frame]

1.1发布变换:
tf2_ros::TransformBroadcaster(),constructor
tf2_ros::TransformBroadcaster::sendTransform to send transforms

简单 static transform
tf2_ros::StaticTransformBroadcaster() ,constructor,
tf2_ros::StaticTransformBroadcaster::sendTransform to send static transforms

1.2
使用发布变换:
tf2_ros::Buffer defined by tf2_ros::BufferInterface

Typically it will be populated using a tf2_ros::TransformListener which subscribes to the appropriate topics.

tf2_ros::Buffer::transform is the main method for applying transforms
canTransform 可以知道变换是否是可以的
lookupTransform 是低等级方法返回在两个坐标的变换,是tf2库的核心功能。
getFrames 是一个服务方法提供坐标框架在图里 as a yaml tree.

1.3 Filtering Transforms
tf2_ros 提供一个feature允许一旦转换信息可用就可以通过。由message_fileters package提供功能,
常用功能:
tf2_ros::MessageFilter(),constructor
connectInput() 允许一起连接过滤
setTargetFrame()在消息回调之前建立坐标变换。
setTargetFrames()
setTolerance()设置可接受时间容错。
clear flushes the message queue
setQueueSize()

1.4特殊
tf2::ConnectivityException
tf2::LookupException
tf2::ExtrapolationException
tf2::InvalidArgumentException
tf2::TimeoutException
tf2::TransformException

1.5 tools
static_transform_publisher
static_transform_publisher x y z yaw pitch roll frame_id child_frame_id
static_transform_publisher x y z qx qy qz qw frame_id child_frame_id(四元数)不像tf,没有时间参数,占有消息被使用。
可以在roslaunch中使用,

<launch>
<node pkg="tf2_ros" type="static_transform_publisher" name="link1_broadcaster爸爸" args="1 0 0 0 0 0 1 link1_parent儿子 link1孙子" />
</launch>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
tf2_filter是一个ROS(机器人操作系统)中功能包,用于进行时间和坐标变换相关的滤波操作。它是基于tf2库的,tf2库提供了在ROS中进行坐标变换和传输的功能。tf2_filter通过订阅tf变换信息和其他消息,结合滤波算法,可以对传感器数据进行滤波处理。 tf2_filter的具体实现是通过使用tf2_ros::Buffer和tf2_ros::BufferInterface类来实现的。tf2_ros::Buffer类是tf2库中的一个实用工具,它提供了存储和查询坐标变换信息的功能。tf2_ros::BufferInterface类是Buffer类的接口,用于在应用程序中使用Buffer类的相关功能。 tf2_filter还使用了tf::MessageFilter模板类,该类用于过滤订阅的消息,并根据时间和坐标变换的关系,只选择与指定坐标系对齐的消息进行处理。 总而言之,tf2_filter是一个用于进行时间和坐标变换滤波的功能包,它使用tf2库中的Buffer和BufferInterface类来存储和查询坐标变换信息,并使用MessageFilter类来过滤和处理订阅的消息。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [tf之 MessageFilter 与 tf::MessageFilter理解与应用](https://blog.csdn.net/tiancailx/article/details/103804070)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值