参考网址: 1 MooreRobots    2 Richard Wang    3 Shawn Chen

部分视频网址: http://v.youku.com/v_show/id_XMjUxMTc5MzE5Mg

http://i.youku.com/i/UMTg1NDE4MDM2/videos

注意下面是机器翻译结果~

博客文章


学习打造自主机器人真的很难,尤其是当刚开始关闭。这源于机器人的独特性,它是非常有必要了解一个广泛的跨硬件和软件的概念。



1.模拟启动

ROS仿真是一个很好的起点,以帮助我们从架构的角度获得接触到机器人。我们将能够看到的测距和激光传感器数据能以某种方式变成导致执行有意义的行动机器人运动指令。不幸的是,它可以是很难找到了最新的教程,不是简单地递给我们一个全功能的机器人。


我们分享我们的工作,展示了如何构建从地上爬了凉亭和ROS模拟机器人。我们希望这将节省您的时间。我们已经创建了一个代码库,一个简短的一系列写起坐,和视频演示我们的模拟机器人。


我们的代码模拟了在ROS中自主导航差分驱动机器人。写窗口被分成三个部分:


第1部分:创建一个凉亭模型与ROS兼容。
第2部分:添加必要的感受外界刺激的传感器
第3部分:启用自主导航


2.将物理机器人

上的物理机器人运行的代码带来由于硬件变化额外的挑战,环境的不确定性,以及在物理设备上测试的乏味性质。


考虑到这些困难,我们开始用通用的学习硬件现成的机器人,它方便地附带了固件电机驱动器和编码器。请记住,这个机器人缺乏必要的传感器和计算能力运用先进的算法,如SLAM。尽管如此,它仍然是非常有趣的,以了解如何适当控制发送到电动机,以在期望的轨迹移动机器人(即直线移动,圆形,方形等)。


第4部分:开环控制通过差动驱动模型的机器人
第5部分:闭环控制经由轮编码器的传感器数据的机器人


希望你现在更好地理解都使自主式机器人工作所需的部件。祝你好运!

ROS的软件仿真可以帮助您了解如何使机器人“思考”毕竟,这是一个大的飞跃,从线去以下机器人自动驾驶汽车。可以说,在建设有用的机器人的最大挑战之一就是软件。通过ROS,你就能了解如何使用传感器来确定机器人的根本性的挑战(感应),制定计划,计算出机器人应该做的(计划),然后计算命令机器人执行(表演)


在本教程中,我们将从头开始开发一个仿真机器人(嗯......相对于turtlebot模拟)。有几个原因,您可能希望走这条路线。

  1. 通过编辑URDF模型(这样你就不会与turtlebot卡)模拟你自己定制的机器人
  2. 启用了可开发的算法插入软件和硬件机器人(因为硬件的过度发展容易磨损和撕裂)
  3. 暴露于ROS机器人架构(这样就可以避免重复从已经了解到的设计错误等)


概述:仿真模型


目标:创建在凉亭模拟器是由ROS访问的URDF模型。


参考文献:有许多有用的教程。他们没有完美地工作对我来说开箱。我怀疑他们是不是跟上时代的,但它也有可能是我没能正确地按照说明进行操作:

  • RRBot
  • R2D2
  • 差分驱动(URDF格式)
  • 差分驱动(SDF格式)

结果:从头开始建立一个简单的差分驱动模型,模拟在凉亭和rviz可视化的


库代码

GIT中克隆-b基https://github.com/richardw05/mybot_ws.git


视频演练


兼容性

本教程将过时随着时间的推移毫无悬念地成为。这是用于此的书面记录的硬件和软件:


软件
  • ROS:动力学
  • 操作系统:Ubuntu的16.04
  • OS:7.0.0凉亭
硬件
  • 内存:8GB DDR4
  • SSD:三星EVO
  • CPU:英特尔酷睿i5
  • GPU:GTX 750ti

目录结构

大多数教程会聚到以下工作空间结构:


  • mybot_ws
    • SRC
      • mybot_control
        • 配置
          • mybot_control.yaml
        • 发射
          • mybot_control.launch
        • 的CMakeLists.txt
        • package.xml中
      • mybot_description
        • 发射
          • mybot_rviz.launch
        • urdf
          • macros.xacro
          • materials.xacro
          • mybot.gazebo
          • mybot.xacro
        • 的CMakeLists.txt
        • package.xml中
      • mybot_gazebo
        • 发射
          • mybot_world.launch
        • 世界
          • mybot.world
        • 的CMakeLists.txt
        • package.xml中

简要说明:

  1. mybot_description指定整个机器人结构为链接和关节,并且可以在启动rviz模型。
  2. mybot_gazebo推出在凉亭环境中的模型,包含不同的仿真世界。
  3. mybot_control(未使用)能在我们的模型中的关节控制,以便它可以左右移动。

要了解更多关于创建工作区/包,看看这个YouTube上的教程。


创建目录结构的基本骨架,我们开始与工作空间{WORKSPACE} _ws,这里我们设{WORKSPACE} = mybot。

CD〜
MKDIR mybot_ws
CD mybot_ws
柳絮INIT
MKDIR SRC
柳絮构建
回声 “源〜/ mybot_ws / devel的/ setup.bash” >>的〜/ .bashrc#添加的工作区进行搜索路径


src文件夹中有三个主要的包,{} MODEL _Control{} MODEL _description{}模型_gazebo我们设定{}模型 = mybot。要创建一个包:catkin_create_pkg {程序包名称} {} PKG_DEPENDENCIES在这种情况下,我们没有{} PKG_DEPENDENCIES =“”。

CD〜/ mybot_ws / src目录/
catkin_create_pkg mybot_control
catkin_create_pkg mybot_description
catkin_create_pkg mybot_gazebo


创建机器人模型(URDF)

在〜/ mybot_ws / src目录/ mybot_description / urdf,有四个文件:


  • mybot.xacro:主文件加载其他三个文件,仅包含URDF项目,如关节和链接
  • mybot.gazebo:包含特定凉亭的标签,包裹内嘎斯
  • materials.xacro:地图串色
  • macros.xacro:宏来帮助简化

运行模式

加载在单独的终端凉亭模拟器和rviz

roslaunch mybot_gazebo mybot_world.launch
roslaunch mybot_description mybot_rviz.launch


发送一基本控制器命令,并确保在两个凉亭和rviz机器人移动

rostopic酒吧/ cmd_vel geometry_msgs /扭转“线性:X:0.2Y:0.0有:0.0
角度:X:0.0Y:0.0Z:0.1"


杂项

  • 如果无法找到凉亭插件,安装ROS运动控制器

    命令和apt-get安装ROS动能-ROS控制
    命令和apt-get安装ROS动能-ROS控制器
    命令和apt-get安装ROS-动能凉亭封邮件
    命令和apt-get安装ROS-动能凉亭-ROS
    
  • 如果机器人不rviz移动,检查TF改造树

        rosrun TF view_frames了Evince frames.pdf
    

  • 如果你想运行在mybot_controller自己的控制器,看看这个教程



有效地与周围环境交互的机器人需要三个基本组成部分:

  • 传感器揭示周围环境
  • 规划要弄清楚该怎么做
  • 执行器,使机器人移动

我们将展示如何传感器加入到我们的基本差分驱动模式。一旦配有传感器,我们的机器人将有足够的准备使用ROS导航堆栈,这将使它能够自行移动!


概述:模拟传感器


目标:外感受性的传感器添加到我们的模拟差分驱动机器人


用途:启用依赖于感知周围环境的算法(又名自主导航!!)。


参考文献

  • 凉亭插件库
  • 凉亭相机教程

库代码

混帐克隆-b base_sensors https://github.com/richardw05/mybot_ws.git


视频演练


模拟摄像机

我们只需要添加的代码两个街区。

  • mybot_description / urdf / mybot.xacro - 添加相机型号
  • mybot_description / urdf / mybot.gazebo - 添加摄像头插件

启动在凉亭模型。

roslaunch mybot_gazebo mybot_world.launch


运行一个节点,以查看相机数据。

rosrun image_view image_view图像:= / mybot /摄像机1 / image_raw


在凉亭模拟器插入的对象,以确保它在相机视图显示出来。


启动rviz。

roslaunch mybot_description mybot_rviz.launch


/ mybot /摄像机1 / image_raw:确保相机数据可以rviz与主题阅读


模拟激光

再次,代码只有两个上下的块:

  • mybot_description / urdf / mybot.xacro - 添加激光模型
  • mybot_description / urdf / mybot.gazebo - 添加激光插件
  • mybot_description /网格/ hokuyo.dae(可选) - 花式HOKUYO激光模型

启动在凉亭和rviz检查


注意:许多报告中指出,激光扫描未发现任何问题。在mybot.gazebo,考虑切换到libgazebo_ros_gpu_laser.so libgazebo_ros_laser.so

在这一点上,我们已经创建了满足必要的先决条件自主导航模拟差分驱动器型号:变换树,测距,激光扫描仪,和基本控制器。现在,我们可以使我们的仿真机器人使用ROS的导航堆栈走动自身。在本教程中,我们要:


  1. 插上ROS导航堆栈
  2. 创建地图
  3. 导航与地图

正如你所看到的,这些步骤都是有据可查的,所以我们只是把他们放在一起为我们的机器人。


概述:使用ROS导航堆栈


目标:整合ROS导航堆栈为我们的模拟机器人


用途:启用自主导航,所以我们并不需要远程控制我们的机器人


资源

  • 利用ROS导航堆栈启动文件示例
  • 提示组织大型项目
  • 众多机器人项目的启动文件示例
  • roscd turtlebot_navigation /启动/包括更多的启动文件的例子

库代码

混帐克隆-b导航https://github.com/richardw05/mybot_ws.git


视频演练

地图和导航:Turtlebot(可选)

学做自主的Turtlebot此举有助于建立在期待什么样的行为的基线。基本上有三个步骤:创建地图,保存地图,和加载地图。


  1. 创建地图 

    下面运行下面的命令。使用teleop四处移动机器人,建立一个准确和全面的地图。


    在1号航站楼,推出世界凉亭

    roslaunch turtlebot_gazebo turtlebot_world.launch
    


    在2号航站楼,启动地图构建

    roslaunch turtlebot_gazebo gmapping_demo.launch
    


    在3号航站楼,推出rviz并设置以下参数:Localmap / Costmap /主题为/图办事处一览/ Costmap /主题为/图

    roslaunch turtlebot_rviz_launchers view_navigation.launch
    

    在第4航站楼,开始teleop

    roslaunch turtlebot_teleop keyboard_teleop.launch
    


  2. 保存地图 

    在5号航站楼,地图保存一些文件路径

    rosrun map_server map_saver -f〜/ mybot_ws / test_map
    


  3. 载入地图

    关闭所有之前的终端和运行下面的下面的命令。一旦加载,使用rviz设置导航航路点和机器人应该自主地移动。


    在1号航站楼,推出世界凉亭

    roslaunch turtlebot_gazebo turtlebot_world.launch
    


    在2号航站楼,启动地图构建

    roslaunch turtlebot_gazebo amcl_demo.launch MAP_FILE:=〜/ mybot_ws / test_map.yaml
    


    在3号航站楼,启动rviz

    roslaunch turtlebot_rviz_launchers view_navigation.launch
    


地图和导航:我们的机器人

我们遵循我们自己的差分驱动机器人相同的步骤。


请注意,我们修改我们的模型导航好一点。例如,我们增加了一个额外脚轮,以减少在突然停车弹跳激光。据我们了解,我们的机器人模型需要额外的调整,因为它有一些奇怪的导航扭结。任何建议,将不胜感激。然而,我们的模型是足以与ROS导航堆栈播放。

  1. 创建地图 

    下面运行下面的命令。使用teleop四处移动机器人,建立一个准确和全面的地图。


    在1号航站楼,推出世界凉亭

    roslaunch mybot_gazebo mybot_world.launch
    

    在2号航站楼,启动地图构建

    roslaunch mybot_navigation gmapping_demo.launch
    


    在3号航站楼,推出rviz并设置以下参数:

    roslaunch mybot_description mybot_rviz_gmapping.launch
    


    在第4航站楼,开始teleop

    roslaunch mybot_navigation mybot_teleop.launch
    


  2. 保存地图 

    在5号航站楼,地图保存一些文件路径

    rosrun map_server map_saver -f〜/ mybot_ws / src目录/ mybot_navigation /地图/ test_map
    


  3. 载入地图

    关闭所有之前的终端和运行下面的下面的命令。一旦加载,使用rviz设置导航航路点和机器人应该自主地移动。


    在1号航站楼,推出世界凉亭

    roslaunch mybot_gazebo mybot_world.launch
    


    在2号航站楼,启动地图构建

    roslaunch mybot_navigation amcl_demo.launch
    


    在3号航站楼,启动rviz

    roslaunch mybot_description mybot_rviz_amcl.launch
    


杂项

  • (可选)安装Turtlebot一个很好的参考
    命令和apt-get安装ROS-动能turtlebot ROS-动能turtlebot-ROS的应用程序,动能turtlebot-
    
    相互作用ROS-动能turtlebot模拟器ROS-动能kobuki-FTDI ROS动能-AR-径迹
    
    阿尔瓦 - 封邮件
    
  • 如果ROS找不到turtlebot_gazebo

    rosdep更新
    

  • 无法建立一个适当的地图吗?

    考虑降低你的贴图的分辨率改变增量值从1.05至.01:

    /opt/ros/kinetic/share/turtlebot_navigation/launch/includes/gmapping.launch.xml

  • 自主移动时纺纱很多吗?

    设置这些参数,以抑制发送到基站控制器的命令

    <PARAM NAME = “move_base / DWAPlannerROS / max_rot_vel” 值= “1.0”/>
    <名称= “move_base / DWAPlannerROS / acc_lim_theta” 值= “10.0”/>
    

    /opt/ros/kinetic/share/turtlebot_gazebo/launch/amcl_demo.launch
    

  • AMCL不加载地图是否正确?

    当您保存的地图文件,该文件YAML包含对PGM文件的路径; 因此,你不能移动地图文件。如果你这样做,重定向在YAML文件的路径。



我们以一个实际的机器人运行ROS我们的第一个步骤。我们将改变线性和旋转目标速度命令转换为将我们的差分驱动机器人的左右轮执行的运动指令。我们使用不使用传感器数据(如编码器)作为反馈的开环控制系统。


概述:机器人的开环控制


目标:通过速度指令的机器人通过WiFi的开环控制


目的:学习差分驱动机器人的开环控制,使用ROS的消息传递接口通过WiFi,和物理机器人的电机控制。


概述:

我们有两台机器:一台主机运行Ubuntu,并通过树莓派控制的机器人。这些器件通过ROS消息通过网络在一起,以共享相同的ROS主通信。为树莓裨ROS节点控制所述马达(左+右)和发布机器人的编码器的读数。ROS为电机主机计算速度目标节点并更新机器人的里程计。


大纲:
  1. 安装软件为机器人的树莓派
  2. 主机和树莓派之间建立联网
  3. 用于发送电机命令给机器人创建ROS节点
  4. 测试机器人正确地如下控制命令

库代码 
混帐克隆-b的开环https://github.com/richardw05/gopigo_ws.git
 

视频演练
兼容性: 
软件
  • ROS:动力学
  • 操作系统:Ubuntu的16.04
硬件
  • 差分驱动机器人GoPiGo
  • 无线USB棒:树莓派USB无线适配器

其它差分驱动机器人会工作,但可能需要修改代码来控制电机。


如果订购一个新的USB加密狗的WiFi,考虑到支持802.11交流,如果你最终打算在未来的流摄像机数据的WiFi设备。


0(GoPiGo)软件安装

机器人的覆盆子裨将与GoPiGo板控制并与各种外围设备进行通信(如马达,IR传感器等)接口。我们将安装ROS并在树莓派的GoPiGo库。


  1. 在树莓派安装ROS的树莓派使用自定义ROS的安装过程。请按照这里的教程:wiki.ros.org/ROSberryPi/Installing ROS动力学的树莓派。
  2. 在树莓派安装GoPiGo 有关安装GoPiGo库可以在这里找到:http://www.dexterindustries.com/GoPiGo/programming/python-programming-for-the-raspberry-pi-gopigo/installing-gopigo-python -图书馆

1.(可选)与ROS网络通过WiFi

WiFi联网将允许主机和机器人通过ROS消息进行通信。我们首先要设置Wi-Fi网络,然后配置ROS网络。


  1. 无线网络设置。 

    如果你已经可以机器之间的SSH,你可以跳过this.Make确保两台设备都连接到同一子网(或简单地连接到同一个路由器)。我们希望从主机SSH到树莓派。


    如果您不知道设备的IP地址,使用NMAP搜索设备的子网。

    NMAP -sN 192.168.1.0/24


    您现在应该能够通过SSH进入树莓派。

    SSH PI @ {IPADDRESS}


    如果你有麻烦SSH'ing到树莓派,你可能需要您的主机的SSH公钥添加到树莓派的的〜/ .ssh / authorized_keys中。


    作为可选步骤,IP地址是很难记住,改变定期所以请考虑使用主机名代替

    主机名-I


  2. ROS在无线网络 

    我们设置两个设备通过WiFi与ROS,使它们共享相同的ROS主沟通。我们选择在主机上运行的ROS主machine.On主机,启动ROS主

    roscore


    在树莓派,其配置为使用主机的ROS主人。


    对于一个临时解决方案,

    出口ROS_MASTER_URI = HTTP:// IP_ADDRESS:11311


    对于一个永久的解决方案,加上线以上到你的.bashrc文件。


    试验表明,该工程。在树莓派:

    rostopic酒馆/测试std_msgs /浮点32 5.0


    在主机上:

    rostopic回声/测试


资源:
  • wiki.ros.org/ROS/Tutorials/MultipleMachines
  • nootrix.com/software/ros-networking
  • wiki.ros.org/turtlebot/Tutorials/indigo/NetworkConfiguration

2.体系结构

在这个项目中,我们的主机将在高级别目标速度指令读取机器人的身体是转化为机器人执行个人左右轮的命令。如下所示,我们有两个关键ROS节点:diffdrive_controller其被在机器人上运行主机和gopigo_controller上运行。这种分离将让我们通过重新编写GoPiGo具体ROS节点替代其他机器人硬件的未来。


鉴于机器人主体一些目标速度,我们将其转化为个别左和右轮马达的命令
鉴于机器人主体一些目标速度,我们将其转化为个别左和右轮马达的命令

从的结构借用ROS导航堆栈,我们基本上实现基本控制器。下面显示的是一个更精细的粒面折纹ROS节点之间传输的核心信息的向下。


跨ROS节点ROS消息的流向。
跨ROS节点ROS消息的流向。

在操作上,我们采取目标线性和旋转速度,并使用逆运动学来生成用于左眼和右轮的切向车轮速度。机器人变换这些切向速度目标纳入角速度目标。然后这些转化到电动机指令并发送至电动机。详情如下实施进一步讨论。


给定的目标的线性和对机器人本体旋转速度,我们计算相应的左和右车轮的角速度,然后计算相应的电机的命令。
给定的目标的线性和对机器人本体旋转速度,我们计算相应的左和右车轮的角速度,然后计算相应的电机的命令。

3.实施

我们实行从地上爬起来这个项目。我们通过初始化工作空间开始。然后,我们创建了GoPiGo控制器与电机接口。在此之上,我们所建立的差分驱动器控制器将控制速度目标为每个车轮。


  1. 初始化一个新的工作区 

    我们创建了一个名为gopigo_ws工作区。回忆柳絮命令:

    MKDIR gopigo_ws
    柳絮INIT
    CD gopigo_ws
    MKDIR SRC
    柳絮构建
    


  2. GoPiGo控制器 

    所述GoPiGo控制器接收目标速度,并将它们转换成电机命令使机器人执行。对于每个车轮,我们取目标切向速度(如何快速向前或向后移动),其转换为角速度(如何快速旋转的车轮),然后将其转化为电机命令(马达的方向和速度) 。


    定义如下:

    • v:切向速度
    • 瓦特:角速度
    • [R 车轮半径
      

    为涉及切向速度与角速度,


    用于马达,我们可以指定电动机方向(0向后1个向前)和电机速度(0最慢; 255最快)。鉴于电机速度是无单位的,我们将创建从目标角速度到电机的命令的映射。


    有几个因素需要考虑:有低于该轮根本就没有移动最小电动机速度指令,有一个最大的电机速度指令上面我们不能进一步增加,我们必须谨慎指定在电机旋转方向。


    映射角速度车轮的目标(弧度/秒)到电机的命令(0,255)
    映射角速度车轮的目标(弧度/秒)到电机的命令(0,255)

    如以上所描述的,我们创建从角速度的简单分段线性映射到电动机指令为如下所示。当给定的最小和最大电动机速度我们内插的角速度。进一步校准可以帮助创造未来的更细粒度的映射。


    资源:
    • 要理解公式:http://www8.cs.umu.se/kurser/5DV122/HT13/material/Hellstrom-ForwardKinematics.pdf
     
  3. 差分驱动器 

    差动驱动控制器采取/ cmd_vel消息并计算左右车轮的切向速度。我们如何从线性和机器人的身体各个车轮的速度转动速度(V,W)走这并不完全是显而易见的。幸运的是,这是被称为逆运动在充分研究的问题。


    定义以下输入:

    • :机器人本体的目标线速度
    • :机器人本体的目标旋转速度
    • 大号:机器人轮之间距离
      

    定义以下输出:

    • :右轮的切向速度
    • :左车轮的切向速度
      

    我们知道下面的等式成立(请参阅下面的进一步的解释资源)。基本的直觉是,上面公式反映当机器人直线前进运动,而底部方程反映了机器人代替旋转的情况:


     

    有趣的是,我们能够解决这些方程得到:


     

    我鼓励你去尝试和解决车轮速度。结果意义,如果你考虑的边缘情况。试想,如果我们只想机器人直线前进运动,从而你会得到意料之中相同的切向车轮速度使该机器人直线前进:



    试想,如果我们只设定的角度旋转,方便您还将获得意料之中相反的切向车轮速度使机器人到位旋转。


    资源:
    • 正运动学介绍:MotionAndSensing.pptx
    • 正运动学数学:http://www8.cs.umu.se/kurser/5DV122/HT13/material/Hellstrom-ForwardKinematics.pdf
    • 全机器人实现教程:http://apprize.info/programming/ros/10.html
    • 碱控制器示例:http://wiki.ros.org/pr2_controllers/Tutorials/Using机器人基座控制器,以驱动机器人
    • Turtlebot控制代码示例:https://github.com/markwsilliman/turtlebot
    • 差分驱动运动学:https://chess.eecs.berkeley.edu/eecs149/documentation/differentialDrive.pdf
    • 差分驱动带脚轮:http://robotics.stackexchange.com/questions/8911/how-to-find-kinematics-of-differential-drive-caster-robot
    • 运动学优秀篇章:http://www.cs.cmu.edu/~rasc/Download/AMRobots3.pdf
      

    随着gopigo_controller和diffdrive_controller,我们现在有机器人的开环控制。通过发布/ cmd_vel的消息,我们将能够控制机器人的运动。


4.启动

我们引入托管多个方便的启动文件的两个ROS节点:nav_behaviors和gopigo_description。要启动我们的实际机器人的开环控制,在主机上:

roslaunch nav_behaviors nav_behaviors.launch


在树莓派:

roslaunch gopigo_description gopigo_interface.launch


现在,我们的ROS节点监听速度指令,运行在〜/ gopigo_ws /这两个shell脚本之一:

./nav_forward.py
./nav_rotate.py


结果应该是机器人分别向前移动或代替旋转,。如果发生这种情况,您已成功创建一个开环控制器为你的机器人!


如果您没有访问GoPiGo机器人,你仍然可以测试代码:


不同的硬件

如果你有一个不同类型的机器人,那么你将需要编辑gopigo_controller / src目录/ gopigo_controller.py。搜索gopigo_on标志和编辑对传输指令您电机。您可能需要编辑gopigo_description /启动/ gopigo_interface.launch的参数值


无硬件

您仍然可以测试模拟控制器。转到gopigo_description /启动/ gopigo_interface.launch和gopigo_on标志设置为false。这将消除发送到电机的任何命令。然后,您可以检查以下ROS消息意义:

rostopic回声/ cmd_vel
rostopic回声/ lwheel_tangent_vel_target
rostopic回声/ rwheel_tangent_vel_target
rostopic回声/ lwheel_angular_vel_control
rostopic回声/ rwheel_angular_vel_control
rostopic回声/ lwheel_angular_vel_motor
rostopic回声/ rwheel_angular_vel_motor


如果执行nav_forward.py,那么将会看到相应的车轮匹配值。


如果执行nav_rotate.py,然后期望看到对面的值对应的车轮。


在本节中,我们侧重于使用轮编码器的传感器数据有两个目的:


  1. 闭环PID控制

    虽然开环控制实现起来很简单,它并不总是可靠地在实际的机器人运行时,由于工作环境(即从地面摩擦)及内在因素(即左,右马达之间的差异)的组合发挥作用。


    闭环控制使用传感器数据(即轮编码器),以调节通过反馈电机控制(即误差作为目标和测量之间的差)。PID控制是一种流行的闭环控制器,实现起来很简单。


  2. 测距W /惯性导航 

    测距是有价值的,因为它是:1)在未来使用ROS导航堆栈一个必要的输入和2)让我们看到了机器人的轨迹


    我们结合车轮编码器的读数从两个轮子(推算)估计随着时间的推移(测距)机器人的位置。


概述:机器人的闭环控制


目标:用于闭环PID控制和估计机器人测距轮编码器的传感器数据的使用


目的:学习从传感器数据结合反馈来改进机器人控制和状态估计


大纲:

  1. 阅读机器人轮编码器
  2. 两个轮子的PID控制
  3. 航位推算估计机器人里程计


库代码 

混帐克隆-b闭环https://github.com/richardw05/gopigo_ws.git


视频演练


建筑

再次,我们有一个主机和通过WiFi连接的机器人。如下图所示,我们添加两个ROS节点。gopigo_state_updater是在机器人上运行,并变换轮编码数据转换成角速度车轮速度的估计。我们扩大gopigo_controller使用PID控制这些编码器的读数。diffdrive_odom是在主机上运行,​​并使用编码器测算进行航位推算。


轮编码器的读数被变换成角速度车轮速度,这是用于两个PID控制和航位推算
轮编码器的读数被变换成角速度车轮速度,这是用于两个PID控制和航位推算


下面显示的是这些ROS节点之间传送的ROS消息。


从轮编码ROS消息的流向,以里程计
从轮编码ROS消息的流向,以里程计


在操作上,我们首先估计从轮编码器的读数角速度车轮速度。这些都是用于PID控制器,这将减少目标和测量速度之间的误差。下一步,我们通过使用正向运动学来恢复机器人的线性和旋转速度,其被用来估计机器人测距执行航位推算。


由于车轮编码器的读数,我们可以计算PID控制和航位推算角速度
由于车轮编码器的读数,我们可以计算PID控制和航位推算角速度

履行

我们将通过创建一个新gopigo_state_updater节点和编辑gopigo_controller节点把我们的开环控制到闭环控制。然后,我们在新diffdrive_odom节点进行航位推算。


  1. GoPiGo状态更新

    车轮编码器测量每个车轮实际上多少转过身来,估计其实际的角速度。后来,我们的PID控制器将修正目标和实际车轮速度之间的不匹配。首先,gopigo_state_updater节点必须变换轮编码读数角速度。


    有趣的是,GoPiGo的车轮编码器返回走过的厘米数; 相比之下,大多数编码器返回经过蜱虫的数量。任一测量类型可以转化为角速度。对于我们的车轮编码器数据,我们可以计算横移为经过编码器距离的比例弧度。然后我们计算除以在拍摄的时候anuglar速度。


    定义如下:

    • ð:在距离变化的编码器
    • [R 机器人车轮半径
    • :时间移动的距离编码器读取
    • 瓦特:车轮的角速度

    为了计算角速度,我们首先使用编码器的距离,以计算所述车轮的圆周穿过的比例。我们用总弧度为一个旋转(显然2 PI)乘以此。最后,我们除以移动的距离所需要的时间。



    该方程可以进一步简化导致车轮的角速度。所述gopigo_state_updater节点的这个主要目的是发布这些角度车轮速度。


  2. GoPiGo控制器瓦特/ PID控制 

    一旦我们有了一个测量的角车轮速度,我们可以应用PID控制器来校正误差(目标角速度车轮速度 - 测量的角车轮速度)。回想一下,每个车轮的目标角速度车轮速度由diffdrive_controller节点给出。直观地说,这个想法是,如果我们的电机没有在我们的目标速度移动(过慢或过快),那么我们就应该调整我们的电机控制命令(快或慢)来纠正这些差异。例如,如果地板摩擦导致车轮旋转速度低于预期,那么我们需要给予较高的电机控制命令以进行补偿。


    PID控制器充分研究所以让我们只提供一点直觉。它往往是容易想象像汽车的巡航控制一维的例子。状态的系统的是机器人的当前速度。巡航控制设定的目标速度。控制命令来调整油门踏板。如果移动速度太慢,然后推更难对油门踏板反之亦然。测量是告诉我们车辆的速度里程表。错误是测量和目标之间的差。调整误差为0,意味着我们将实现我们的目标速度。在大多数的物理系统,我们不想立即跳到0至100英里每小时,所以我们需要计算的控制命令是逐步调整车速。PID控制器基本上覆盖不同的情况三个单独的控制调整技术的总和:


    1. (P)roportional -控制命令是一个比例的电流误差(例如,在油门踏板推足够缓慢斜坡上升到目标速度)
    2. (I)ntegral -控制指令的比例过去的错误(例如更多的天然气,如果我们有很大的误差了一会儿)
    3. (D)。微分 -控制命令是一个比例未来在误差变化(例如快速反应以在错误的变化)

    请注意,关键的区别是考虑(过去,现在和将来)的时间框架。它实际上是没有必要使用所有这三个控制调整,以便随时根据需要进行调整。请看看这些资源,了解更多详情。


    资源:
    • https://www.coursera.org/learn/mobile-robot
    • https://en.wikipedia.org/wiki/PID_controller

    除了概念上理解PID控制,我们还需要实现它。尽管方程在连续表示给定的,我们的计算平台必须以离散表示抗衡。对于比例控制,我们只考虑电流测量所以它仅仅是当前误差(目标减计)的比例。对于积分控制,我们可以计算错误的滚动总和。对于差分控制,我们只计算当前和以前的错误之间的区别。


    我们希望,pid_control功能表明它是如何实现简单的PID控制器。当然,密钥将试验来确定合适的增益(KP,KI,KD)使用。


  3. 差分驱动里程计 

    通过航位推算,我们可以从两个车轮结合轮编码器的传感器数据,不仅恢复机器人的线性和旋转速度(在一个完美的系统中,我们将恢复输入/ cmd_vel),而且还估计其随时间的位置。正向运动学指方程的序列(基于物理系统如何响应给定的输入模式)到传感器的数据转换成机器人测距。我们的运动学方程不承担任何车轮打滑,拖,而本质上是难以准确预测在现实环境中如此测距估计往往不会完全符合实际等因素的影响。


    让我们定义以下输入:


    • 大号:机器人的轮子之间的距离
    • W_L:左车轮的角速度
    • w_r:右轮的角速度
    • :及时更新变化
    • X:机器人的前面x位置
    • Ÿ:机器人的前一个y位置
    • :机器人前的姿态
     

    定义以下输出:


    • [R 曲率瞬时中心的半径
    • V_L:左车轮的切向速度
    • V_R:右轮的切向速度
    • V_C:机器人的线速度
    • w_c:机器人的旋转速度
    • :机器人的X位置
    • :机器人的当前y位置
    • :机器人的当前方向
     

    我们使用假设两种情况之一时,我们的差动驱动机器人正在移动简单正向运动学方程:要么机器人正在移动直线前进或绕“曲率(ICC)的瞬时中心”移动。


    我们前进的运动学模型考虑两个瞬时速度的场景:无论是机器人前进运转的机器人沿着一些圆圈。
    我们前进的运动学模型考虑两个瞬时速度情景:直线向前或沿一些循环转变。

    • 移动直线前进

      如果在前进,动力很简单。注意,机器人的角速度是0,因为两个车轮以相同的速度移动:


       
       


      当然,我们可以更新机器人的姿势(全球位置和方向)为:

       
       

    • 旋转一圈

      我们首先计算其周围的机器人以下(在这个时刻)的圆的半径。这使我们能够计算出机器人的旋转速度。

       
       

      然后,我们可以计算出这个圈子的中心。

       

      我们遵循通过更新机器人的姿势。

       


    我们发布了计算机器人的全球姿态在世界上机器人的TF变换和里程计信息两者。测距消息还包括速度信息,这当然意味着,测距消息包括关于机器人的状态的详细信息(位置,方向,线速度,旋转速度)。


    资源:
    • ROS测程执行:http://wiki.ros.org/navigation/Tutorials/RobotSetup/Odom
    • ROS测程在Python:answers.ros.org/question/79851/python-odometry
     

发射


我们将使用车轮编码器传感器数据用于1)PID反馈控制和2)来估计机器人的测距。


我们使用相同的启动文件nav_behaviors.launch和gopigo_interface.launch。我们编辑它们运行额外的ROS节点(diffdrive_odom为nav_behaviors.launch和gopigo_state_updater为gopigo_interface.launch)。尝试运行以下场景。


  1. 测距的仿真

    作为一个基本的完整性检查,我们要确保我们的前进运动转换通过展示,我们可以恢复原来的cmd_vel消息正确。


    在gopigo_interface.launch,为所有的以下内容:

    <PARAM NAME = “gopigo_on” 值= “假”/>
     

    现在运行的启动文件。在主机上:

    roslaunch nav_behaviors nav_behaviors.launch
     

    在树莓派:

    roslaunch gopigo_description gopigo_interface.launch
     

    打印以下消息来验证我们的计算是正确的:

    rostopic回声/ cmd_vel
    rostopic回声/ lwheel_tangent_vel_target
    rostopic回声/ rwheel_tangent_vel_target
    rostopic回声/ lwheel_angular_vel_target
    rostopic回声/ rwheel_angular_vel_target
    rostopic回声/ lwheel_angular_vel_control
    rostopic回声/ rwheel_angular_vel_control
    rostopic回声/ lwheel_angular_vel_motor
    rostopic回声/ rwheel_angular_vel_motor
    
    
    rostopic回声/ lwheel_angular_vel_enc
    rostopic回声/ rwheel_angular_vel_enc
    rostopic回声/ lwheel_tangent_vel_enc
    rostopic回声/ rwheel_tangent_vel_enc
    rostopic回声/ cmd_vel_enc
    


    发送目标/ cmd_vel消息,并看到这些消息如何变化。

    ./nav_forward.sh
    ./nav_rotate.sh
    


    当我们设置gopigo_on为False,gopigo_state_updater节点基本上都会在目标角速度复制(在本质上,模拟仿佛编码器读数完全匹配我们给定的模型)。检查/ cmd_vel和/ cmd_vel_enc匹配。


  2. 测程的GoPiGo

    让我们用实际车轮编码器传感器数据计算测距。


    在gopigo_interface.launch,为所有的以下内容:

    <PARAM NAME = “gopigo_on” 值= “真”/>


    运行上面列出的相同的启动文件。同时打印出同样的ROS消息。


    验证/ cmd_vel和/ cmd_vel_enc是相似的。这应该告诉你,以及如何现实我们预期的模式相匹配。


  3. PID控制在GoPiGo

    PID控制应该确保车轮在预期的速度旋转。


    在gopigo_interface.launch,设置

    <PARAM NAME = “PID_ON” 值= “真”/>


    尝试不同的摩擦运行上表面上的机器人,并验证该机器人更可靠地行进相同的距离时,PID控制被接通。

















查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. 一篇全面的zepplin教程

    https://www.jianshu.com/p/090f02005e07 1.Zeppelin是什么? Apache Zeppelin是一款基于Web的Notebook(类似于jupyter notebook)&#xff0c;支持交互式地数据分析。 Zeppelin可实现你所需要的&#xff1a; 数据采集数据发现数据分析数据可视化和协作 支持多种语言&#xff…...

    2024/4/21 4:38:05
  2. 【资料】228页的 《重学TS》PDF 终于来了,一份值得一读的 TS 学习资料

    「《重学TS v1.0》」 PDF 是今年阿宝哥发布的第三本电子书&#xff0c;前两本分别是《前端进阶篇》&#xff08;下载量 9500&#xff09; 和《了不起的 TS 和 Deno》&#xff08;下载量近 2060&#xff09;&#xff0c;这里衷心感谢大家对阿宝哥的认可与支持。在学习 TS 的过程…...

    2024/4/21 4:38:05
  3. html注释标签,完整PDF

    前言 JavaScript是面向 Web 的编程语言&#xff0c;获得了所有网页浏览器的支持&#xff0c;是目前使用最广泛的脚本编程语言之一&#xff0c;也是网页设计和 Web 应用必须掌握的基本工具。 JavaScript主要用途 嵌入动态文本与HTML页面对浏览器时间做出相应读写HTML元素在数…...

    2024/4/21 4:38:03
  4. webgoat全关教程手册

    Webgoat&Webwolf owaspbwa里面的两个服务 搭建 先要安装jdk、Webgoat和Webwolf Webgoat和Webwolf jdk1.8不支持了&#xff0c;需要安装jdk11 去git上下载Webgoat和Webwolf https://github.com/WebGoat/WebGoat/releases/tag/v8.0.0.M26 去oracle官网下载JDK https:/…...

    2024/5/8 15:08:42
  5. web前端入门到实战:HTML 转 PDF 图文报表实践

    导出 PDF 图文报表实践 方法一&#xff1a; jsPDF 使用 jsPDF 时&#xff0c;需要注意的是其默认单位为 mm&#xff0c;需要在 new jsPDF() 时传入配置 const doc new jsPDF({unit: px,format: a4 })这个方法废了。这个鬼东西多行文本和多个图片&#xff0c;简直要人命&…...

    2024/4/21 4:38:01
  6. JavaTutorialNetwork 中文系列教程 · 翻译完成

    原文&#xff1a;JavaTutorialNetwork 协议&#xff1a;CC BY-NC-SA 4.0 欢迎任何人参与和完善&#xff1a;一个人可以走的很快&#xff0c;但是一群人却可以走的更远。 在线阅读ApacheCN 学习资源 目录 JavaTutorialNetwork 中文系列教程Java 基础 Java 概述在 Ubuntu 上安装…...

    2024/4/21 4:38:01
  7. 干货!java生成pdf工具类

    开头 Spring框架自诞生以来一直备受开发者青睐&#xff0c;有人亲切的称之为&#xff1a;Spring 全家桶。Spring更是避免了重复造轮子的工作并跟随着互联网行业的发展做出不断的更新&#xff0c;很多研发人员把spring看作心目中最好的Java项目&#xff0c;没有之一。 **可以毫…...

    2024/4/21 4:38:01
  8. tf入门教程

    本文为原创博客, 转载请注明出处:https://blog.csdn.net/q_z_r_s 机器感知 一个专注于SLAM、三维重建、机器视觉等相关技术文章分享的公众号 开源地址&#xff1a;点击该链接 tf入门教程 1. 引言 本节将告诉你tf可以做什么, 将使用turtlesim来展示它的威力. 接下来也将涉…...

    2024/4/27 22:44:42
  9. 初学者应该如何开启自己的编程生涯?,springmvc教程pdf

    前端。如果你希望掌握外观&#xff0c;比方说开发好看到让用户爱上的网站&#xff0c;你就应该了解HTML&#xff08;样子&#xff09;&#xff0c;CSS&#xff08;外观与感觉&#xff09;&#xff0c;JavaScript&#xff08;感觉&#xff09;。不过这还不够&#xff0c;利用纯粹…...

    2024/4/21 4:37:57
  10. turtlebot3入门教程

    旨在用于教育&#xff0c;研究&#xff0c;产品原型和爱好应用的目的。 TurtleBot3的目标是大幅降低平台的尺寸和价格&#xff0c;而不会牺牲性能&#xff0c;功能和质量。 由于提供了不同可选&#xff0c;如底盘&#xff0c;计算机和传感器&#xff0c;TurtleBot3可以通过各…...

    2024/4/27 1:12:07
  11. 2019年5月6小时学会TypeScript入门实战视频教程

    TypeScript是为大型应用之开发而设计&#xff0c;作为一个前端工程师&#xff0c;TypeScript目前是必备技能&#xff0c;目前TypeScript 已在Nodejs 、Angualr、React、Vue这些框架中广泛应用。这里分享套今年5月份刚出的TypeScript入门实战视频教程&#xff0c;这套TypeScript…...

    2024/5/8 2:15:03
  12. ROS2入门教程

    https://www.ncnynl.com/archives/201801/2250.html ROS2入门教程-基本概念 介绍ROS2的基本概念 1. 基本概念&#xff1a; ROS是一个用于在不同进程间匿名的发布、订阅、传递信息的中间件。 ROS2系统的核心部分是ROS网络(ROS Graph)。 ROS网络是指在ROS系统中不同的节点间相…...

    2024/5/8 3:53:23
  13. H5 页面如何查看 PDF 文件

    我们知道在 Chrome、Firefox 等浏览器可以查看 PDF 文件&#xff0c;不需要额外安装什么插件&#xff0c;这是由于 pdf.js 被预置到了这些浏览器中。 pdf.js 是一款使用 HTML5 Canvas 安全地渲染 PDF 文件以及遵从网页标准的网页浏览器渲染 PDF 文件的JavaScript库。Mozilla基金…...

    2024/5/8 9:32:53
  14. 使用Angular 4、Bootstrap 4、TypeScript和ASP.NET Core开发的Apworks框架案例应用:Task List...

    最近我为我自己的应用开发框架Apworks设计了一套案例应用程序&#xff0c;并以Apache 2.0开源&#xff0c;开源地址是&#xff1a;https://github.com/daxnet/apworks-examples&#xff0c;目的是为了让大家更为方便地学习和使用.NET Core、最新的前端开发框架Angular&#xff…...

    2024/4/20 19:45:55
  15. [译] RxJS 高级缓存

    原文链接: blog.thoughtram.io/angular/201… 本文为 RxJS 中文社区 翻译文章&#xff0c;如需转载&#xff0c;请注明出处&#xff0c;谢谢合作&#xff01; 如果你也想和我们一起&#xff0c;翻译更多优质的 RxJS 文章以奉献给大家&#xff0c;请点击【这里】 温馨提示: 文章…...

    2024/5/7 16:01:17
  16. angularjs 页面缓存及动态刷新解决方案

    angularjs 页面缓存及动态刷新解决方案参考文章&#xff1a; &#xff08;1&#xff09;angularjs 页面缓存及动态刷新解决方案 &#xff08;2&#xff09;https://www.cnblogs.com/yang-shun/p/10191974.html &#xff08;3&#xff09;https://www.javazxz.com/thread-549…...

    2024/5/8 4:26:13
  17. angular2页面抓取,如何在Angular 2中获取当前页面的绝对路径?

    Ive essentially run into this problem, where I need a reference to the current route to use gradients, but have yet to figure out how to translate the solution into Angular 2.解决方案constructor(location:Location) {console.log(location.prepareExternalUrl(l…...

    2024/5/7 14:39:29
  18. angular-resource的url转义问题

    最近遇到这样一个问题&#xff0c;就是使用angular-resource后&#xff0c;拼接的url中 / 会被转义成 %2F &#xff0c;后台代码不能识别&#xff0c;查看$resource的源码后发现&#xff0c;拼接的url被转义了&#xff0c;现提供一种解决方案&#xff1a; 使用angular的拦截器…...

    2024/5/7 19:05:07
  19. angular7 路由路径中的 #

    一般我们习惯看的路由路径是 http://localhost:4200/home 可是有时候路径会变成 http://localhost:4200/#/home 路径中出现了 # &#xff0c;是angular中使用了 hash模式 设置hash模式有两种途径 在app.module.ts中 引入 import {HashLocationStrategy, LocationStrategy}…...

    2024/4/26 18:52:01
  20. angular 部署的项目自定义访问路径,不使用root根目录的配置

    配置方法如下&#xff08;以项目名称为admin为例&#xff09;&#xff1a; 需要注意的地方&#xff0c;html中引用的静态文件要从assets开始写&#xff0c;不可以使用相对路径&#xff0c;例如: <img src"../images/bg.png"/> 不可以&#xff0c;会出现路径引…...

    2024/5/7 15:02:45

最新文章

  1. 《米小圈上学记》|快乐读书,从身边的人身边的事开始!

    时间&#xff0c;抓住了就是黄金&#xff0c;虚度了就是流水;书&#xff0c;看了就是学问&#xff0c;没看就是废纸:抱负&#xff0c;努力了才叫幻想&#xff0c;放弃了那只是妄想。读书&#xff0c;不一定能转变命运&#xff0c;但肯定能让我们安静&#xff0c;安静本身就是一…...

    2024/5/8 18:35:41
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/5/7 10:36:02
  3. 如何构建数据指标体系

    构建一套科学、完备且实用的数据分析指标体系是一项系统性的工程&#xff0c;其核心在于将业务理解、目标设定、度量标准选择、数据采集与整理、数据分析、指标体系构建、持续优化与改进等多个环节有机融合&#xff0c;以实现对业务状况的精准刻画、趋势预测及决策支持。以下是…...

    2024/5/8 11:23:02
  4. vue项目引入微信sdk: npm install weixin-js-sdk --save报错

    网上查到要用淘宝的镜像 同事告知旧 域名&#xff1a;https://registry.npm.taobao.org/已经不能再使用 使用 npm config set registry http://registry.npmmirror.com...

    2024/5/7 0:53:08
  5. 第三篇:3.2 广告可见性 - IAB与MRC及《增强现实广告效果测量指南1.0》

    翻译计划 第一篇 概述—IAB与MRC及《增强现实广告效果测量指南》之目录、适用范围及术语第二篇 广告效果测量定义和其他矩阵之- 3.1 广告印象&#xff08;AD Impression&#xff09;第三篇 广告效果测量定义和其他矩阵之- 3.2 可见性 &#xff08;Viewability&#xf…...

    2024/5/7 6:20:24
  6. 【外汇早评】美通胀数据走低,美元调整

    原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...

    2024/5/8 6:01:22
  7. 【原油贵金属周评】原油多头拥挤,价格调整

    原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...

    2024/5/7 9:45:25
  8. 【外汇周评】靓丽非农不及疲软通胀影响

    原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...

    2024/5/4 23:54:56
  9. 【原油贵金属早评】库存继续增加,油价收跌

    原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...

    2024/5/7 14:25:14
  10. 【外汇早评】日本央行会议纪要不改日元强势

    原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...

    2024/5/4 23:54:56
  11. 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响

    原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...

    2024/5/4 23:55:05
  12. 【外汇早评】美欲与伊朗重谈协议

    原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...

    2024/5/4 23:54:56
  13. 【原油贵金属早评】波动率飙升,市场情绪动荡

    原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...

    2024/5/7 11:36:39
  14. 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试

    原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...

    2024/5/4 23:54:56
  15. 【原油贵金属早评】市场情绪继续恶化,黄金上破

    原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...

    2024/5/6 1:40:42
  16. 【外汇早评】美伊僵持,风险情绪继续升温

    原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...

    2024/5/4 23:54:56
  17. 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势

    原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...

    2024/5/4 23:55:17
  18. 氧生福地 玩美北湖(上)——为时光守候两千年

    原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...

    2024/5/7 9:26:26
  19. 氧生福地 玩美北湖(中)——永春梯田里的美与鲜

    原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...

    2024/5/4 23:54:56
  20. 氧生福地 玩美北湖(下)——奔跑吧骚年!

    原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...

    2024/5/4 23:55:06
  21. 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!

    原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...

    2024/5/5 8:13:33
  22. 「发现」铁皮石斛仙草之神奇功效用于医用面膜

    原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...

    2024/5/4 23:55:16
  23. 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者

    原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...

    2024/5/4 23:54:58
  24. 广州械字号面膜生产厂家OEM/ODM4项须知!

    原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...

    2024/5/6 21:42:42
  25. 械字号医用眼膜缓解用眼过度到底有无作用?

    原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...

    2024/5/4 23:54:56
  26. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  27. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  28. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  29. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  30. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  31. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  32. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  33. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  34. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  35. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  36. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  37. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  38. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  39. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  40. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  41. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  42. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  43. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  44. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  45. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57