当前位置: 首页 > news >正文

做名片去哪个网站试剂网站建设

做名片去哪个网站,试剂网站建设,移动端的网站模板,南京seo报价在机器人的控制中#xff0c;坐标系统是非常重要的#xff0c;在ROS使用tf软件库进行坐标转换。 相关链接#xff1a;http://www.ros.org/wiki/tf/Tutorials#Learning_tf 一、tf简介 我们通过一个小小的实例来介绍tf的作用。 1、安装turtle包 span$ rosdep instal…        在机器人的控制中坐标系统是非常重要的在ROS使用tf软件库进行坐标转换。 相关链接http://www.ros.org/wiki/tf/Tutorials#Learning_tf 一、tf简介 我们通过一个小小的实例来介绍tf的作用。 1、安装turtle包 span$ rosdep install turtle_tf rviz /span $ rosmake turtle_tf rviz 2、运行demo 运行简单的demo $ roslaunch turtle_tf turtle_tf_demo.launch          然后就会看到两只小乌龟了。 该例程中带有turtlesim仿真可以在终端激活的情况下进行键盘控制。 可以发现第二只乌龟会跟随你移动的乌龟进行移动。 3、demo分析 接下来我们就来看一看到底ROS做了什么事情。         这个例程使用tf建立了三个参考系a world frame, a turtle1 frame, and a turtle2 frame。然后使用tf broadcaster发布乌龟的参考系并且使用tf listener计算乌龟参考系之间的差异使得第二只乌龟跟随第一只乌龟。         我们可以使用tf工具来具体研究。 $ rosrun tf view_frames          然后会看到一些提示并且生成了一个frames.pdf文件。 该文件描述了参考系之间的联系。三个节点分别是三个参考系而/world是其他两个乌龟参考系的父参考系。还包含一些调试需要的发送频率、最近时间等信息。         tf还提供了一个tf_echo工具来查看两个广播参考系之间的关系。我们可以看一下第二只得乌龟坐标是怎么根据第一只乌龟得出来的。 $ rosrun tf tf_echo turtle1 turtle2  控制一只乌龟在终端中会看到第二只乌龟的坐标转换关系。 我们也可以通过rviz的图形界面更加形象的看到这三者之间的关系。 $ rosrun rviz rviz -d rospack find turtle_tf/rviz/turtle_rviz.vcg  移动乌龟可以看到在rviz中的坐标会跟随变化。其中左下角的是/world其他两个是乌龟的参考系。        下面我们就来详细分析这个实例。 二、Writing a tf broadcaster 1、创建包 $ roscd tutorials $ roscreate-pkg learning_tf tf roscpp rospy turtlesim $ rosmake learning_tf 2、broadcast transforms 我们首先看一下如何把参考系发布到tf。         代码文件/nodes/turtle_tf_broadcaster.py #!/usr/bin/env python import roslib roslib.load_manifest(learning_tf) import rospy     import tf import turtlesim.msg     def handle_turtle_pose(msg, turtlename): br tf.TransformBroadcaster() br.sendTransform((msg.x, msg.y, 0), tf.transformations.quaternion_from_euler(0, 0, msg.theta), rospy.Time.now(), turtlename, world) #发布乌龟的平移和翻转     if __name__ __main__: rospy.init_node(turtle_tf_broadcaster) turtlename rospy.get_param(~turtle) #获取海龟的名字turtle1turtle2 rospy.Subscriber(/%s/pose % turtlename, turtlesim.msg.Pose, handle_turtle_pose, turtlename) #订阅 topic turtleX/pose rospy.spin() 创建launch文件start_demo.launch  launch !-- Turtlesim Node-- node pkgturtlesim typeturtlesim_node namesim/ node pkgturtlesim typeturtle_teleop_key nameteleop outputscreen/     node nameturtle1_tf_broadcaster pkglearning_tf typeturtle_tf_broadcaster.py respawnfalse outputscreen param nameturtle typestring valueturtle1 / /node node nameturtle2_tf_broadcaster pkglearning_tf typeturtle_tf_broadcaster.py respawnfalse outputscreen param nameturtle typestring valueturtle2 / /node     /launch 运行 $ roslaunch learning_tf start_demo.launch          可以看到界面中只有移植乌龟了打开tf_echo的信息窗口 $ rosrun tf tf_echo /world /turtle1   world参考系的原点在最下角对于turtle1的转换关系其实就是turtle1在world参考系中所在的坐标位置以及旋转角度。 三、Writing a tf listener 这一步我们将看到如何使用tf进行参考系转换。首先写一个tf listenernodes/turtle_tf_listener.py #!/usr/bin/env python import roslib roslib.load_manifest(learning_tf) import rospy import math import tf import turtlesim.msg import turtlesim.srv   if __name__ __main__: rospy.init_node(tf_turtle)   listener tf.TransformListener() #TransformListener创建后就开始接受tf广播信息最多可以缓存10s   rospy.wait_for_service(spawn) spawner rospy.ServiceProxy(spawn, turtlesim.srv.Spawn) spawner(4, 2, 0, turtle2)   turtle_vel rospy.Publisher(turtle2/command_velocity, turtlesim.msg.Velocity)   rate rospy.Rate(10.0) while not rospy.is_shutdown(): try: (trans,rot) listener.lookupTransform(/turtle2, /turtle1, rospy.Time(0)) except (tf.LookupException, tf.ConnectivityException, tf.ExtrapolationException): continue   angular 4 * math.atan2(trans[1], trans[0]) linear 0.5 * math.sqrt(trans[0] ** 2 trans[1] ** 2) turtle_vel.publish(turtlesim.msg.Velocity(linear, angular))   rate.sleep() 在launch文件中添加下面的节点 launch ... node pkglearning_tf typeturtle_tf_listener.py namelistener / /launch 然后在运行就可以看到两只turtle了也就是我们在最开始见到的那种跟随效果。 四、Adding a frame 在很多应用中添加一个参考系是很有必要的比如在一个world参考系下有很一个激光扫描节点tf可以帮助我们将激光扫描的信息坐标装换成全局坐标。 1、tf消息结构 tf中的信息是一个树状的结构world参考系是最顶端的父参考系其他的参考系都需要向下延伸。如果我们在上文的基础上添加一个参考系就需要让这个新的参考系成为已有三个参考系中的一个的子参考系。 2、建立固定参考系fixed frame 我们以turtle1作为父参考系建立一个新的参考系“carrot1”。代码如下nodes/fixed_tf_broadcaster.py #!/usr/bin/env python import roslib roslib.load_manifest(learning_tf)   import rospy import tf   if __name__ __main__: rospy.init_node(my_tf_broadcaster) br tf.TransformBroadcaster() rate rospy.Rate(10.0) while not rospy.is_shutdown(): br.sendTransform((0.0, 2.0, 0.0), (0.0, 0.0, 0.0, 1.0), rospy.Time.now(), carrot1, turtle1) #建立一个新的参考系父参考系为turtle1并且距离父参考系2米 rate.sleep() 在launch文件中添加节点 launch ... node pkglearning_tf typefixed_tf_broadcaster.py namebroadcaster_fixed / /launch 运行还是看到两只乌龟和之前的效果一样。新添加的参考系并没有对其他参考系产生什么影响。打开nodes/turtle_tf_listener.py文件将turtle1改成carrot1 (trans,rot) self.tf.lookupTransform(/turtle2, /carrot1, rospy.Time(0))  重新运行现在乌龟之间的跟随关系就改变了 3、建立移动参考系moving frame 我们建立的新参考系是一个固定的参考系在仿真过程中不会改变如果我们要把carrot1参考系和turtle1参考系之间的关系设置可变的可以修改代码如下 #!/usr/bin/env python import roslib roslib.load_manifest(learning_tf)   import rospy import tf import math   if __name__ __main__: rospy.init_node(my_tf_broadcaster) br tf.TransformBroadcaster() rate rospy.Rate(10.0) while not rospy.is_shutdown(): t rospy.Time.now().to_sec() * math.pi br.sendTransform((2.0 * math.sin(t), 2.0 * math.cos(t), 0.0), (0.0, 0.0, 0.0, 1.0), rospy.Time.now(), carrot1, turtle1) rate.sleep()font size3br/font 这次carrot1的位置现对于turtle1来说是一个三角函数关系了。 代码下载http://download.csdn.net/detail/hcx25909/5708199
http://www.huolong8.cn/news/43991/

相关文章:

  • 好品质自适应网站建设临沂哪里做网站比较好
  • 制作公司网站的作用一鸣东莞网站建设公司
  • 画册什么网站做方便网站建设公司哪家好 都来磐石网络
  • wordpress一行多图片西宁seo快速排名
  • 58同城网站模板下载上海网站推广维新
  • 二级域名免费申请网站免费商用的cms
  • 建设门户网站发展前景2018wordpress手机页面悬浮导航栏
  • 怎么用外国的服务器做网站天元建设集团有限公司 伊永成
  • 网站推广的途径和要点企业形象设计包括哪些内容
  • 程序员创业做网站做公众号个人简历模板完整版
  • 网站一键提交收录门户网站建设管理总则
  • 哪个网站可以做视频播放器烟台广告公司网站建设
  • 中国建设银行济南招聘信息网站wordpress地址 站点地址
  • 网站开发视频代码广州协会网站建设
  • 安阳市哪里做网站建设中文企业网站模板免费下载
  • wordpress安装无法创建目录.整站seo公司
  • 建设网站模块需要哪些内容南昌房地产信息网
  • 百度地图放到网站上德州有名的网站建设公司
  • 怎样做带音乐的表白网站新乡网站建设哪家公司好
  • 餐饮设计网站建设一学一做教育视频网站有哪些内容
  • 椒江建设工程机械厂网站推广淘特一个新人多少钱
  • wordpress建站图片效果网页设计基础是什么
  • 聚成网络网站建设php 网站后台
  • 鄱阳县精准扶贫旅游网站建设目的有没有免费开网站的
  • 福建省中城建设工程有限公司网站广西桂建云证件查询
  • 腾讯建站模板杭州做网站哪家公司好
  • 山东川畅科技网站设计网络营销策划模板
  • 电子商城网站开发软件做公司网站用什么系统
  • 苏州相城网站建设html是建网站导航栏怎么做
  • 前端网站开发总结申请域名费用