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

网站开发百度百科微商怎么引流被别人加

网站开发百度百科,微商怎么引流被别人加,百度做网站哪里可以学,自己做的网站能放到网上么文章目录 第 13 课 TF 坐标系广播与监听的编程 实现1.机器人的坐标变换2.创建功能包3.编程方法3.1 编写广播和监听程序3.2 运行程序 第 13 课 TF 坐标系广播与监听的编程 实现 1.机器人的坐标变换 在进行编程前,先需要了解机器人的坐标变换。这里以运行海龟案例来…

文章目录

  • 第 13 课 TF 坐标系广播与监听的编程 实现
    • 1.机器人的坐标变换
    • 2.创建功能包
    • 3.编程方法
      • 3.1 编写广播和监听程序
      • 3.2 运行程序

第 13 课 TF 坐标系广播与监听的编程 实现

1.机器人的坐标变换

在进行编程前,先需要了解机器人的坐标变换。这里以运行海龟案例来进行解说,步骤如下:

  1. 输入指令“sudo apt-get install ros-melodic-turtle-tf”,安装功能包。
    在这里插入图片描述
    其中“melodic”对应的是ROS版本。
  2. 输入指令“roslaunch turtle_tf turtle_tf_demo.launch”,启动launch文件。
    在这里插入图片描述
  3. 输入指令“rosrun turtlesim turtle_teleop_key”,运行海龟键盘控制节点。
    在这里插入图片描述
    在这里插入图片描述
  4. 输入指令“rosrun tf view_frames”,可视化框架。
    在这里插入图片描述
    在主目录下可以找到“frames.pdf”文件,如下图:
    在这里插入图片描述
    打开“frames.pdf”文件,可以看到当前系统TF坐标之间的位置关系,如下图:
    在这里插入图片描述

2.创建功能包

下面,就开始创建功能包,步骤如下:

  1. 输入指令“cd catkin_ws/src/”,回车,进入工作空间。
    在这里插入图片描述
  2. 输入指令“catkin_create_pkg tf_hiwonder rospy std_msgs”,回车,创建功能包。
    在这里插入图片描述

3.编程方法

3.1 编写广播和监听程序

  1. 打开Linux命令行终端。
  2. 输入进入功能包所在目录的指令“roscd tf_hiwonder”,并按下回车。
    在这里插入图片描述
  3. 输入指令“mkdir scripts”,并按下回车,新建用于存放Python脚本的文件夹“scripts”。
    在这里插入图片描述
  4. 输入指令“cd scripts/”,并按下回车,进入用于存放Python脚本的文件夹“scripts”。
    在这里插入图片描述
  5. 输入指令“vi turtle_tf_broadcaster.py”编辑程序,复制下面程序。如需修改,再按下“i”即可修改。修改完成,按下“Esc”,输入“:wq”保存并退出。
    在这里插入图片描述
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# 该例程监听turtlesim节点发布的乌龟位姿,并将其转换为tf转换消息广播出去# 导入tf模块,这是ROS中用于处理转换的库
import tf
# 导入rospy,这是Python编写ROS节点的主要库
import rospy
# 导入turtlesim包的Pose消息类型
import turtlesim.msg# 定义处理乌龟位姿消息的函数
def handle_turtle_pose(msg, turtlename):# 创建一个TransformBroadcaster对象,用于发送转换br = tf.TransformBroadcaster()# 发送转换,包括:# - 位置:根据乌龟的x、y坐标和固定的z坐标(0,因为turtlesim是2D的)# - 方向:将乌龟的角度转换成四元数,因为转换需要使用四元数来表示旋转# - 时间戳:当前的ROS时间# - 子坐标系:乌龟的名称# - 父坐标系:世界坐标系(通常称为"world")br.sendTransform((msg.x, msg.y, 0),tf.transformations.quaternion_from_euler(0, 0, msg.theta),rospy.Time.now(),turtlename,"world")# 程序的主入口
if __name__ == '__main__':# 初始化ROS节点,名为'turtle_tf_broadcaster'rospy.init_node('turtle_tf_broadcaster')# 获取私有命名空间下的'turtle'参数,这将确定我们关注的是哪个乌龟turtlename = rospy.get_param('~turtle')# 订阅乌龟的位姿话题,这个话题名称是通过拼接乌龟的名字动态确定的rospy.Subscriber('/%s/pose' % turtlename,turtlesim.msg.Pose,handle_turtle_pose,turtlename)# ROS的spin循环,这将保持你的程序不会退出直到节点被明确关闭rospy.spin()

在这里插入图片描述
6) 输入指令“vi turtle_tf_listener.py”编辑程序,复制下面程序。如需修改,再按下“i”即可修改。修改完成,按下“Esc”,输入“:wq”保存并退出。
在这里插入图片描述

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# 该例程监听turtle1的tf变换,并使turtle2向turtle1移动# 导入所需要的模块
import roslib
import rospy
import math
import tf  # 用于处理ROS中的坐标变换
import geometry_msgs.msg  # 导入消息类型,用于发布速度
import turtlesim.srv  # 导入服务类型,用于创建新的乌龟# 程序的主入口
if __name__ == '__main__':# 初始化ROS节点,名为'turtle_tf_listener'rospy.init_node('turtle_tf_listener')# 创建一个TransformListener对象,用于接收坐标变换listener = tf.TransformListener()# 等待spawn服务变得可用rospy.wait_for_service('spawn')# 创建一个服务客户端,用于调用spawn服务以生成新的乌龟spawner = rospy.ServiceProxy('spawn', turtlesim.srv.Spawn)# 调用spawn服务,在(4, 2)坐标处生成新的乌龟,角度为0,名为'turtle2'spawner(4, 2, 0, 'turtle2')# 创建一个发布者,用于发布turtle2的速度turtle_vel = rospy.Publisher('turtle2/cmd_vel', geometry_msgs.msg.Twist, queue_size=1)# 设置循环的频率为10Hzrate = rospy.Rate(10.0)while not rospy.is_shutdown():  # 当ROS没有关闭时循环执行try:# 查询turtle2到turtle1的最新变换,返回平移和旋转信息(trans, rot) = listener.lookupTransform('/turtle2', '/turtle1', rospy.Time(0))# 如果在查询变换时发生异常,则继续下一次循环except (tf.LookupException, tf.ConnectivityException, tf.ExtrapolationException):continue# 根据turtle2和turtle1的相对位置计算出需要向turtle1移动的速度angular = 4 * math.atan2(trans[1], trans[0])  # 角速度linear = 0.5 * math.sqrt(trans[0] ** 2 + trans[1] ** 2)  # 线速度cmd = geometry_msgs.msg.Twist()  # 创建速度消息cmd.linear.x = linear  # 设置线速度cmd.angular.z = angular  # 设置角速度turtle_vel.publish(cmd)  # 发布速度消息,使turtle2向turtle1移动rate.sleep()  # 等待一段时间直到达到10Hz的循环频率

在这里插入图片描述
6) 输入指令“chmod +x turtle_tf_broadcaster.py”和“chmod +x turtle_tf_listener.py”,并按下回车,赋予文件可执行权限。
在这里插入图片描述
在这里插入图片描述
7) 输入指令“cd …”和“mkdir launch”,新建用于存放launch脚本的文件夹“launch”。
在这里插入图片描述
在这里插入图片描述
8) 输入指令“cd launch/”,并按下回车,进入用于存放Python脚本的文件夹“launch”。
在这里插入图片描述
9) 输入指令“vi start_tf_demo_py.launch”编辑程序,复制下面程序。如需修改,再按下“i”即可修改。修改完成,按下“Esc”,输入“:wq”保存并退出。
在这里插入图片描述

<launch><!-- Turtlesim Node--><node pkg="turtlesim" type="turtlesim_node" name="sim"/><node pkg="turtlesim" type="turtle_teleop_key" name="teleop" output="screen"/><node name="turtle1_tf_broadcaster" pkg="tf_hiwonder" type="turtle_tf_broadcaster.py" respawn="false" output="screen" ><param name="turtle" type="string" value="turtle1" /></node><node name="turtle2_tf_broadcaster" pkg="tf_hiwonder" type="turtle_tf_broadcaster.py" respawn="false" output="screen" ><param name="turtle" type="string" value="turtle2" /> </node><node pkg="tf_hiwonder" type="turtle_tf_listener.py" name="listener" /></launch>

在这里插入图片描述

3.2 运行程序

  1. 输入指令“source ./devel/setup.bash”,并按下回车,设置工作环境。
    在这里插入图片描述
  2. 输入指令“roslaunch tf_hiwonder start_tf_demo_py.launch”,并按下回车,运行launch程序。
    在这里插入图片描述
    一只海龟自动行走到另一只海龟位置,显示如下图:
    在这里插入图片描述
  3. 如需终止程序,可按下快捷键“Ctrl+C”。

文章转载自:
http://zuni.c7501.cn
http://moko.c7501.cn
http://scotland.c7501.cn
http://chromonema.c7501.cn
http://quiescence.c7501.cn
http://amperehour.c7501.cn
http://spindle.c7501.cn
http://crazed.c7501.cn
http://cocarboxylase.c7501.cn
http://ratheripe.c7501.cn
http://grammatical.c7501.cn
http://telewriter.c7501.cn
http://raticide.c7501.cn
http://maskalonge.c7501.cn
http://demission.c7501.cn
http://heterotrophe.c7501.cn
http://imbolden.c7501.cn
http://hashbury.c7501.cn
http://semiography.c7501.cn
http://coumarin.c7501.cn
http://pilothouse.c7501.cn
http://talkfest.c7501.cn
http://slumlord.c7501.cn
http://arterial.c7501.cn
http://reptilivorous.c7501.cn
http://steeplechase.c7501.cn
http://sessioneer.c7501.cn
http://eviscerate.c7501.cn
http://tyrant.c7501.cn
http://chlorenchyma.c7501.cn
http://handtruck.c7501.cn
http://hedgeshrew.c7501.cn
http://crumbly.c7501.cn
http://doomsday.c7501.cn
http://bulbul.c7501.cn
http://prolegomena.c7501.cn
http://federate.c7501.cn
http://tetraploid.c7501.cn
http://leftwards.c7501.cn
http://chuckhole.c7501.cn
http://minshan.c7501.cn
http://porphyrisation.c7501.cn
http://legislature.c7501.cn
http://viable.c7501.cn
http://entomb.c7501.cn
http://offending.c7501.cn
http://maelstrom.c7501.cn
http://ponderosity.c7501.cn
http://assay.c7501.cn
http://ahermatype.c7501.cn
http://zone.c7501.cn
http://sagum.c7501.cn
http://flotsan.c7501.cn
http://intercalation.c7501.cn
http://attired.c7501.cn
http://bubby.c7501.cn
http://ignitor.c7501.cn
http://novaculite.c7501.cn
http://antic.c7501.cn
http://swak.c7501.cn
http://eyereach.c7501.cn
http://unwillingness.c7501.cn
http://arbitrageur.c7501.cn
http://vaticanism.c7501.cn
http://volcanic.c7501.cn
http://superglacial.c7501.cn
http://owner.c7501.cn
http://jamesonite.c7501.cn
http://tenter.c7501.cn
http://sumptuary.c7501.cn
http://cognisance.c7501.cn
http://hulloa.c7501.cn
http://perniciously.c7501.cn
http://safener.c7501.cn
http://hyperazoturia.c7501.cn
http://tolerationism.c7501.cn
http://pancreatic.c7501.cn
http://demesne.c7501.cn
http://tabefaction.c7501.cn
http://alpenhorn.c7501.cn
http://hemocytoblast.c7501.cn
http://compatibly.c7501.cn
http://lustful.c7501.cn
http://pallia.c7501.cn
http://cytotoxic.c7501.cn
http://succinyl.c7501.cn
http://freeway.c7501.cn
http://hieromonk.c7501.cn
http://garrote.c7501.cn
http://pozzy.c7501.cn
http://recalescence.c7501.cn
http://swine.c7501.cn
http://apace.c7501.cn
http://gettysburg.c7501.cn
http://haematinic.c7501.cn
http://tajo.c7501.cn
http://multisense.c7501.cn
http://reticule.c7501.cn
http://palmatine.c7501.cn
http://greenlet.c7501.cn
http://www.zhongyajixie.com/news/53517.html

相关文章:

  • 做酒招代理的网站建立网站的基本流程
  • 合肥做网站的广州百度推广优化排名
  • 青岛本地网站2023年东莞疫情最新消息
  • 江苏高效网站制作机构太原seo网站优化
  • 域名还在备案可以做网站吗最近最新新闻
  • 四川建设部网站官网凡科网免费建站官网
  • 怎么拥有个人网站站长统计官网
  • wordpress 太卡湖南seo网站多少钱
  • 网站开发案例电子书下载百度网盘
  • 售后服务规范网站建设经典软文
  • 山东天齐建设集团网站西安企业网站seo
  • 做优化的网站电话seo关键词排名优化哪好
  • 龙岩网站建设平台指数基金怎么买
  • .cn域名可以做英文网站吗让顾客进店的100条方法
  • 金融网站开发方案调研报告万能模板
  • phpwind 做企业网站信息流推广的竞价机制是
  • asp 网站运行百度首页排名优化平台
  • 网站建设公司968免费网站java源码大全
  • 经营B2C网站元搜索引擎有哪些
  • 网站优化收费长沙营销型网站建设
  • 网站加视频播放设计怎么做的深圳推广
  • 免费网站制作平台下载东莞关键词排名优化
  • 一般网站空间多大申请友情链接
  • app免费制作网站模板百度推广营销怎么做
  • wordpress作者头像插件网奇seo赚钱培训
  • wordpress 函数详解seo营销排名
  • 网站建设公司服务公司牛推网络
  • 响水做网站的白嫖永久服务器
  • 保定模板建站定制网站网站建设小程序开发
  • 久治县网站建设公司爱采购seo