实际的机械臂控制(8)使用find_object3D和Kinect2实现目标跟踪(基于python)
话不多说了
在很多大佬的博客,主要是古月居的一些博客中,他们都介绍了使用find_object2D这个包是识别目标的位姿。但是如何将目标的位置和姿态发送给机械臂,他们都没有提及。这让我很尴尬呀,没人带入门,很生气,所以停止研究机械臂的控制,然后去继续告视觉部分,一不小心发了个定刊T-PAMI。
可能是借助于这个T-PAMI提供的元气,瞬间打通了我的任督二脉,让我瞬间-----------------------------------------------白瞟到了一个新的方法。
首先是安装find_object2D这个包,建议源码安装
具体安装细节参考这个教程。
关于如何将目标的位置发送给机械臂,目前大佬们不知道是藏私,还是不屑于讲,在他们的博客里少有提及。
目前说的最明确的是这个博客。
但是也只是说到了
将识别的坐标点发送给机械臂
在使用find_object_3d时,我们可以直接获得目标物体的tf坐标,因此可以使用ros自带的tf转换直接查询机械臂基座标到物体的tf关系,并发送给机械臂: 参考这里:http://docs.ros.org/lunar/api/tf/html/c++/classtf_1_1TransformListener.html http://wiki.ros.org/tf/Tutorials/Writing%20a%20tf%20listener%20%28C%2B%2B%29
tf::StampedTransform transform;try{listener.lookupTransform("/arm_base_link", "/object_1", ros::Time(0), transform);}catch (tf::TransformException ex){ROS_ERROR("%s",ex.what());ros::Duration(1.0).sleep();}
看到这便我也是糊里糊涂,感觉懂了,但是感觉有不懂,因为我还是无法让机械臂动起来。
下面开始我白票的方法。
首先是发送位姿
1. 发送坐标转换矩阵
#!/usr/bin/env pythonimport rospy
import tf
from geometry_msgs.msg import Pose
def object_position_pose(t,o):pub = rospy.Publisher('/objection_position_pose',Pose,queue_size=10)p = Pose()rate = rospy.Rate(5)p.position.x = t[0]p.position.y = t[1]p.position.z = t[2]p.orientation.x = o[0]p.orientation.y = o[1]p.orientation.z = o[2]p.orientation.w = o[3]pub.publish(p)rate.sleep()if __name__ == '__main__':rospy.init_node('tf_listener',anonymous=True)listener = tf.TransformListener() rate = rospy.Rate(10.0)while not rospy.is_shutdown():try:(trans,rot) = listener.lookupTransform('/world', '/object_33', rospy.Time(0))print("trans:")print(trans)print("rot:")print(rot)object_position_pose(trans,rot)except (tf.LookupException, tf.ConnectivityException, tf.ExtrapolationException):continuerate.sleep()
然后是控制机械臂的运动
2. 控制机械臂运动
#! /usr/bin/env python
import sys
import copy
import rospy
import moveit_commander
import geometry_msgs
import tffrom moveit_commander import MoveGroupCommanderfrom moveit_python import (MoveGroupInterface,PlanningSceneInterface,PickPlaceInterface)
import moveit_msgs.msg
from geometry_msgs.msg import Pose
from copy import deepcopydef callback(pose):object_position_info = pose.positionobject_orientation_info = pose.orientationprint object_position_infomoveit_commander.roscpp_initialize(sys.argv)#rospy.init_node('move_group_grasp', anonymous=True)#robot = moveit_commander.robot.RobotCommander()arm_group = moveit_commander.move_group.MoveGroupCommander("manipulator")hand_group = moveit_commander.move_group.MoveGroupCommander("gripper") arm_group.set_named_target("home_j")plan = arm_group.go()print("Point 1")# Open#hand_group.set_joint_value_target([9.800441184282249e-05, -9.800441184282249e-05, 9.800441184282249e-05, 9.800441184282249e-05, -9.800441184282249e-05, 9.800441184282249e-05])#hand_group.go(wait=True)#print("Point 2")hand_group.set_named_target("open")plan = hand_group.go()print("Point 2")pose_target = arm_group.get_current_pose().pose# Block point toppose_target.position.x = object_position_info.xpose_target.position.y = object_position_info.ypose_target.position.z = object_position_info.z+0.25arm_group.set_pose_target(pose_target)arm_group.go(wait=True)print("Point 3")# Block point1pose_target.position.z = pose_target.position.z-0.07arm_group.set_pose_target(pose_target)arm_group.go(wait=True)print("Point 4")rospy.sleep(3)hand_group.set_named_target("close")plan = hand_group.go()print("Point 5")rospy.sleep(2)pose_target.position.z = pose_target.position.z+0.25arm_group.set_pose_target(pose_target)plan = arm_group.go()print("Point 6")pose_target.position.x = pose_target.position.x + 0.5arm_group.go()rospy.sleep(3)print("Point 7")hand_group.set_named_target("open")plan = hand_group.go()print("Point 8")moveit_commander.roscpp_shutdown()def object_position_sub():rospy.Subscriber("/objection_position_pose",Pose,callback,queue_size=10)
if __name__ == "__main__":rospy.init_node('object_position_sub_And_grasp_node',anonymous=True)object_position_sub()rate = rospy.Rate(10.0)while not rospy.is_shutdown():try:print("11")rospy.spin()except KeyboardInterrupt:print("Shutting down")rate.sleep()
需要提出的是,通过这种方法,机械臂规划的路径是很奇葩的,即使是两个很近的点,机械臂都要绕来绕去,绕一大圈。这很麻烦。
怎么解决呢?
方法是有的,那就是在笛卡尔空间规划机械臂的运动。
具体方法参考这个链接。
3. 在笛卡尔空间规划末端路径
import rospy, sys
import moveit_commander
from moveit_commander import MoveGroupCommander
from geometry_msgs.msg import Pose
from copy import deepcopyclass MoveItCartesianDemo:def __init__(self):# 初始化move_group的APImoveit_commander.roscpp_initialize(sys.argv)# 初始化ROS节点rospy.init_node('moveit_cartesian_demo', anonymous=True)# 是否需要使用笛卡尔空间的运动规划,获取参数,如果没有设置,则默认为True,即走直线cartesian = rospy.get_param('~cartesian', True)# 初始化需要使用move group控制的机械臂中的arm grouparm = MoveGroupCommander('manipulator')# 当运动规划失败后,允许重新规划arm.allow_replanning(True)# 设置目标位置所使用的参考坐标系arm.set_pose_reference_frame('base_link')# 设置位置(单位:米)和姿态(单位:弧度)的允许误差arm.set_goal_position_tolerance(0.001)arm.set_goal_orientation_tolerance(0.001)# 设置允许的最大速度和加速度arm.set_max_acceleration_scaling_factor(0.5)arm.set_max_velocity_scaling_factor(0.5)# 获取终端link的名称end_effector_link = arm.get_end_effector_link()# 控制机械臂先回到初始化位置arm.set_named_target('home')arm.go()rospy.sleep(1)# 获取当前位姿数据最为机械臂运动的起始位姿start_pose = arm.get_current_pose(end_effector_link).pose# 初始化路点列表waypoints = []# 如果为True,将初始位姿加入路点列表if cartesian:waypoints.append(start_pose)# 设置路点数据,并加入路点列表,所有的点都加入wpose = deepcopy(start_pose)#拷贝对象wpose.position.z -= 0.2if cartesian: #如果设置为True,那么走直线waypoints.append(deepcopy(wpose))else: #否则就走曲线arm.set_pose_target(wpose) #自由曲线arm.go()rospy.sleep(1)wpose.position.x += 0.15if cartesian:waypoints.append(deepcopy(wpose))else:arm.set_pose_target(wpose)arm.go()rospy.sleep(1)wpose.position.y += 0.1if cartesian:waypoints.append(deepcopy(wpose))else:arm.set_pose_target(wpose)arm.go()rospy.sleep(1)wpose.position.x -= 0.15wpose.position.y -= 0.1if cartesian:waypoints.append(deepcopy(wpose))else:arm.set_pose_target(wpose)arm.go()rospy.sleep(1)#规划过程if cartesian:fraction = 0.0 #路径规划覆盖率maxtries = 100 #最大尝试规划次数attempts = 0 #已经尝试规划次数# 设置机器臂当前的状态作为运动初始状态arm.set_start_state_to_current_state()# 尝试规划一条笛卡尔空间下的路径,依次通过所有路点while fraction < 1.0 and attempts < maxtries:#规划路径 ,fraction返回1代表规划成功(plan, fraction) = arm.compute_cartesian_path (waypoints, # waypoint poses,路点列表,这里是5个点0.01, # eef_step,终端步进值,每隔0.01m计算一次逆解判断能否可达0.0, # jump_threshold,跳跃阈值,设置为0代表不允许跳跃True) # avoid_collisions,避障规划# 尝试次数累加attempts += 1# 打印运动规划进程if attempts % 10 == 0:rospy.loginfo("Still trying after " + str(attempts) + " attempts...")# 如果路径规划成功(覆盖率100%),则开始控制机械臂运动if fraction == 1.0:rospy.loginfo("Path computed successfully. Moving the arm.")arm.execute(plan)rospy.loginfo("Path execution complete.")# 如果路径规划失败,则打印失败信息else:rospy.loginfo("Path planning failed with only " + str(fraction) + " success after " + str(maxtries) + " attempts.") rospy.sleep(1)# 控制机械臂先回到初始化位置arm.set_named_target('home')arm.go()rospy.sleep(1)# 关闭并退出moveitmoveit_commander.roscpp_shutdown()moveit_commander.os._exit(0)if __name__ == "__main__":try:MoveItCartesianDemo()except rospy.ROSInterruptException:pass
到这里,机械臂的运动已经可以控制的很清晰了。
但是,有时候,我们希望控制的末端在6个自由度的其中一个自由度的运动。
这个时候我们需要这么做。
4. 单独控制某一个自由度的运动
首先看代码,主要参考这个网页
#!/usr/bin/env python
# -*- coding: utf-8 -*-import rospy, sys
import moveit_commander
from moveit_msgs.msg import RobotTrajectory
from trajectory_msgs.msg import JointTrajectoryPointfrom geometry_msgs.msg import PoseStamped, Pose
from tf.transformations import euler_from_quaternion, quaternion_from_eulerclass MoveItIkDemo:def __init__(self):# 初始化move_group的APImoveit_commander.roscpp_initialize(sys.argv)# 初始化ROS节点rospy.init_node('moveit_ik_demo')# 初始化需要使用move group控制的机械臂中的arm grouparm = moveit_commander.MoveGroupCommander('arm')# 获取终端link的名称end_effector_link = arm.get_end_effector_link()# 设置目标位置所使用的参考坐标系reference_frame = 'base_link'arm.set_pose_reference_frame(reference_frame)# 当运动规划失败后,允许重新规划arm.allow_replanning(True)# 设置位置(单位:米)和姿态(单位:弧度)的允许误差arm.set_goal_position_tolerance(0.01)arm.set_goal_orientation_tolerance(0.05)# 控制机械臂先回到初始化位置arm.set_named_target('home')arm.go()rospy.sleep(2)# 设置机械臂工作空间中的目标位姿,位置使用x、y、z坐标描述,# 姿态使用四元数描述,基于base_link坐标系target_pose = PoseStamped()target_pose.header.frame_id = reference_frametarget_pose.header.stamp = rospy.Time.now() target_pose.pose.position.x = 0.2593target_pose.pose.position.y = 0.0636target_pose.pose.position.z = 0.1787target_pose.pose.orientation.x = 0.70692target_pose.pose.orientation.y = 0.0target_pose.pose.orientation.z = 0.0target_pose.pose.orientation.w = 0.70729# 设置机器臂当前的状态作为运动初始状态arm.set_start_state_to_current_state()# 设置机械臂终端运动的目标位姿arm.set_pose_target(target_pose, end_effector_link)# 规划运动路径traj = arm.plan()# 按照规划的运动路径控制机械臂运动arm.execute(traj)rospy.sleep(1)# 控制机械臂终端向右移动5cmarm.shift_pose_target(1, -0.05, end_effector_link)arm.go()rospy.sleep(1)# 控制机械臂终端反向旋转90度arm.shift_pose_target(3, -1.57, end_effector_link)arm.go()rospy.sleep(1)# 控制机械臂回到初始化位置arm.set_named_target('home')arm.go()# 关闭并退出moveitmoveit_commander.roscpp_shutdown()moveit_commander.os._exit(0)if __name__ == "__main__":MoveItIkDemo()
然后是代码解析。这边一定要看,
重要API整理
第一步初始化:与前面正运动初始化一样。
end_effector_link = arm.get_end_effector_link()
第二步:获取机械臂的终端link
reference_frame = 'base_link'
arm.set_pose_reference_frame(reference_frame)
第三步设置参考系:逆运动的位姿需要在笛卡尔坐标下描述,因此将base_link设置为指定的参考坐标系。
arm.set_named_target('home')
arm.go()
rospy.sleep(2)
arm.set_start_state_to_current_state()
第四步设置起始位姿:先将机械臂回到home位姿,然后设置该位姿为运动的起始位姿。
target_pose = PoseStamped()
target_pose.header.frame_id = reference_frame
target_pose.header.stamp = rospy.Time.now()
target_pose.pose.position.x = 0.2593
target_pose.pose.position.y = 0.0636
target_pose.pose.position.z = 0.1787
target_pose.pose.orientation.x = 0.70692
target_pose.pose.orientation.y = 0.0
target_pose.pose.orientation.z = 0.0
target_pose.pose.orientation.w = 0.70729
arm.set_pose_target(target_pose, end_effector_link)
第五步设置运动终点位姿:x,y,z描述end_effector_link在base_link坐标系下的空间位置;x,y,z,w四元数描述end_effector_link在base_link坐标系下的空间姿态。
traj = arm.plan()
arm.execute(traj)
第六步规划与执行:arm.plan()规划一条起始位姿到终点位姿的路径traj, arm.execute(traj)执行该路径。
arm.shift_pose_target(1, -0.05, end_effector_link)
arm.go()
rospy.sleep(1)
arm.shift_pose_target(3, -1.57, end_effector_link)
arm.go()
rospy.sleep(1)
除了使用PoseStamped描述位姿并规划外,还可以使用shift_pose_target实现单轴方向上的目标设置与规划;
第一个参数:描述机器人在六个自由度中实现哪一种运动,0,1,2,3,4,5分别表示xyz三个方向的平移与旋转。
第二个参数:描述机器人移动或旋转的量,单位为m或者弧度。
第三个参数:描述该运动针对的对象。
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
相关文章
- JAVA复习之ArrayList集合
ArrayList 集合 目录 数组和集合的比较 数组的特点: 1.数组定义后类型确定,长度固定 2.集合类型可以不固定,大小是可变的 适合数据个数和类型确定的场景 集合的特点: 1.集合的大小不固定,启动后可以动态变化&…...
2024/4/14 5:43:32 - MySQL基础篇——多表查询
多表查询01、 一个案例引发的多表连接1.1、案例说明1.2、 笛卡尔积的理解1.3、案例分析与问题解决02、多表查询2.1、等值连接 vs 非等值连接2.2、自连接 vs 非自连接2.3、内连接 vs 外连接03、SQL99语法实现多表查询3.1、基本语法3.2 内连接的实现3.3 外连接( OUTER JOIN)的实现…...
2024/4/20 0:31:31 - Armv8-A虚拟化手册(5)
8. VHE 下图呈现了一个简化的软件栈和异常级别: 你可以看到一个独立的hypervisor是如何映射到ARM异常级别。hypervisor运行在EL2而虚拟机运行在EL0/1。这种情况在托管hypervisor上存在问题,如下图所示: 通常,内核运行在EL1&#x…...
2024/5/5 4:24:37 - 按顺序读取Promise
有一个文件列表,要按顺序读写文件,用for循环读取,不能用forEach async function printFiles () {let fileNames [picard, kirk, geordy, ryker, worf];for (const file of fileNames) {const contents await fs.readFile(file, utf8);cons…...
2024/4/19 23:52:57 - D8:Shortest Path(最短路径)
原题:OpenJudge - 07:Shortest Path 翻译: 描述:有一个有 N 个点的图。给定点之间每条边的长度。求从 S 到 E 的最短路径; 输入:第一行:三个正整数N、S、E (N不超过100,S和E不超过N)ÿ…...
2024/4/14 5:43:12 - C语言七:指针(声明、空指针、指针运算、指针数组、指向指针的指针、传递指针给函数、从函数返回指针)、函数指针与回调函数
指针 每一个变量都有一个内存位置,每一个内存位置都定义了可使用 & 运算符访问的地址,它表示了在内存中的一个地址。 实例: #include <stdio.h>int main () {int var_runoob 10;int *p; // 定义指针变量p &v…...
2024/4/19 16:05:17 - SpringIOC与SpringAOP(例子+知识点结合)
SpringIOC与SpringAOPSpringIOC与SpringAOP是什么?IoC控制反转SpringIOC具体使用方法bean标签的属性基于注解实现SpringIOC——重要AOP面向切面AOP的实现机制-动态代理静态代理动态代理基于JDK的动态代理基于CGLIB的动态代理SpringAOPSpringAOP相关概念AspectJ 对 A…...
2024/4/14 5:43:32 - python:dlib在视频流中提取面部特征点
下载dlib库 这个库下载起来巨巨巨巨巨麻烦(当然不排除你运气比较好,一下子就成功了),具体下载方式请参考别的文章。 视频流中提取面部特征点 写在主循环之前: import numpy as np import cv2 import dlibcap cv2.…...
2024/4/25 21:27:47 - 【计算机必备基础知识】------计算机的硬件(上)
目录一.计算机系统组成二、硬件系统1.中央处理器----CPU2.内存储器-------ROM,RAM, 内存2.1 ROM2.2 RAM2.3 内存2.3.1 内存的特点2.3.2 内存的发展2.3.3 内存加速---多通道设计三.结束语一.计算机系统组成 二、硬件系统 1.中央处理器----CPU 服务器的CPU…...
2024/4/20 11:33:12 - Java小农养成记第二十天
day20 第一章 缓冲流 1.1 概述 缓冲流,也叫高效流,是对4个基本的FileXxx流的增强,所以也是4个流,按照数据类型分类: 字节缓冲流:BufferedInputStream, BufferedOutputStream字符缓冲流:Buff…...
2024/4/20 3:22:38 - AcWing 835. Trie字符串统计
题目连接 https://www.acwing.com/problem/content/submission/837/ 思路 我们通过trie树的结构将我们要插入的字符串插进去,但是要注意一点,最后我们要统计一下插入的字符串的个数,然后查找的时候同理,这个结构相当于每一层有…...
2024/4/14 5:43:02 - UVA1586 分子量 Molar mass 题解
题意翻译 现给你若干个分子式需要你求分子量。 例如:C6H5OH的分子量为12.0161.008516.001.00894.108g/mol。 (ps:数字为数字前面元素的下标,所有分子式均无括号例如:2OH2*16.001.008) 输入输出格式 输…...
2024/4/25 1:54:49 - VS2019使用getline()报错 (未定义标识符)
文章目录方法一方法二方法一 如图所示,getline未识别,原因在于cstring头文件,应该导入string头文件。 <string.h>是旧的C 头文件,对应的是基于char*的字符串处理函数; 是对应于旧C 头文件的std 版本,主要用在MF…...
2024/4/14 5:43:07 - SpringMVC中异常处理方式之使用自定义的异常处理器
SpringMVC中异常处理方式之使用自定义的异常处理器 编写异常处理类。并实现相应的接口 在Spring-MVC.XML去配置...
2024/4/19 23:43:25 - 【论文视频】AlphaFold 2 论文精读【论文精读】
文章目录视频内容前言作者和大纲摘要导论模型(我们关心重点)编码器读后感,奇思妙想?视频内容 前言 这是AlphaFold2了,因为之前有一篇了,不要搞错 早在论文发表的5个月前,就已经写了博客&…...
2024/4/14 5:43:17 - 【思特奇杯·云上蓝桥·算法集训营】第四周
1.门牌制作 【问题描述】 小蓝要为一条街的住户制作门牌号。 这条街一共有2020位住户,门牌号从1到2020编号。 小蓝制作门牌的方法是先制作0到9这几个数字字符,最后根据需要将字符粘贴到门牌上,例如门牌1017需要依次粘贴字符1、0、1、7&#…...
2024/4/15 1:58:38 - 图像处理入门——形态学操作
形态学操作 1.连通性 在图像中,最小的单位是像素,每个像素周围有8个邻接像素,常见的邻接关系有3种:4邻接、8邻接和D邻接。分别如下图所示: 4邻接:像素p(x,y)的4邻域是:(x1,y);(x-…...
2024/4/16 2:20:10 - centos7上搭建mysql5.7主从同步
centos7上搭建mysql5.7主从同步 整一个mysql5.7的数据库然后做数据库主从同步 环境:centos7、mysql5.7(做数据库主从的mysql版本必须一致) 在master数据库服务器上 安装mysql5.7 yum install *.rpm -y-先启动mysqld systemctl start mysq…...
2024/4/19 11:09:13 - Fluent Ribbon组件,fluent ribbon 文档使用
Fluent Ribbon组件,fluent ribbon 文档使用 最近引人注目的 GUI 更改之一是 Office 功能区。Fluent Ribbon组件允许用户在不牺牲任何功能的情况下增加对各种控件的可访问性。 寻求利用这些对象的软件工程师可以使用 Fluent Ribbon Control Suite 库,因为它允许创建自…...
2024/4/23 20:20:45 - java日期时间API--jdk8后
1.为什么jdk8要引出新日期时间API出现的背景 jdk8前面临的问题: 可变性:像日期和时间这样的类应该是不可变的 偏移性:Date中的年份是从1970年开始的,而月份都是从0开始的 格式化:格式化只对Date有用,Ca…...
2024/4/22 9:01:58
最新文章
- docker部署nginx并配置https
1.准备SSL证书: 生成私钥:运行以下命令生成一个私钥文件。 生成证书请求(CSR):运行以下命令生成证书请求文件。 生成自签名证书:使用以下命令生成自签名证书。 openssl genrsa -out example.com.key 2048 …...
2024/5/5 8:12:17 - 梯度消失和梯度爆炸的一些处理方法
在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言,在此感激不尽。 权重和梯度的更新公式如下: w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...
2024/3/20 10:50:27 - C++类继承基础3——访问控制与继承
私有继承 在C中,私有继承是一种继承方式,它定义了一个私有派生类,也称为派生类。私有继承意味着派生类继承了基类的所有成员,但这些成员在派生类中是私有的,对外部不可见。 要进行私有继承请使用private关键字&#…...
2024/5/1 22:34:31 - Flink基于Hudi维表Join缺陷解析及解决方案
Hudi,这个近年来备受瞩目的数据存储解决方案,无疑是大数据领域的一颗耀眼新星。其凭借出色的性能和稳定性,以及对于数据湖场景的深度适配,赢得了众多企业和开发者的青睐。然而,正如任何一项新兴技术,Hudi在…...
2024/5/1 8:31:24 - 【外汇早评】美通胀数据走低,美元调整
原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...
2024/5/4 23:54:56 - 【原油贵金属周评】原油多头拥挤,价格调整
原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...
2024/5/4 23:54:56 - 【外汇周评】靓丽非农不及疲软通胀影响
原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...
2024/5/4 23:54:56 - 【原油贵金属早评】库存继续增加,油价收跌
原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...
2024/5/4 23:55:17 - 【外汇早评】日本央行会议纪要不改日元强势
原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...
2024/5/4 23:54:56 - 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响
原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...
2024/5/4 23:55:05 - 【外汇早评】美欲与伊朗重谈协议
原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...
2024/5/4 23:54:56 - 【原油贵金属早评】波动率飙升,市场情绪动荡
原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...
2024/5/4 23:55:16 - 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试
原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...
2024/5/4 23:54:56 - 【原油贵金属早评】市场情绪继续恶化,黄金上破
原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...
2024/5/4 18:20:48 - 【外汇早评】美伊僵持,风险情绪继续升温
原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...
2024/5/4 23:54:56 - 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势
原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...
2024/5/4 23:55:17 - 氧生福地 玩美北湖(上)——为时光守候两千年
原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...
2024/5/4 23:55:06 - 氧生福地 玩美北湖(中)——永春梯田里的美与鲜
原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...
2024/5/4 23:54:56 - 氧生福地 玩美北湖(下)——奔跑吧骚年!
原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...
2024/5/4 23:55:06 - 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!
原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...
2024/5/4 2:59:34 - 「发现」铁皮石斛仙草之神奇功效用于医用面膜
原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...
2024/5/4 23:55:16 - 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者
原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...
2024/5/4 23:54:58 - 广州械字号面膜生产厂家OEM/ODM4项须知!
原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...
2024/5/4 23:55:01 - 械字号医用眼膜缓解用眼过度到底有无作用?
原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...
2024/5/4 23:54:56 - 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...
解析如下:1、长按电脑电源键直至关机,然后再按一次电源健重启电脑,按F8健进入安全模式2、安全模式下进入Windows系统桌面后,按住“winR”打开运行窗口,输入“services.msc”打开服务设置3、在服务界面,选中…...
2022/11/19 21:17:18 - 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。
%读入6幅图像(每一幅图像的大小是564*564) 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 - 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...
win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面,在等待界面中我们需要等待操作结束才能关机,虽然这比较麻烦,但是对系统进行配置和升级…...
2022/11/19 21:17:15 - 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...
有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows,请勿关闭计算机”的提示,要过很久才能进入系统,有的用户甚至几个小时也无法进入,下面就教大家这个问题的解决方法。第一种方法:我们首先在左下角的“开始…...
2022/11/19 21:17:14 - win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...
置信有很多用户都跟小编一样遇到过这样的问题,电脑时发现开机屏幕显现“正在配置Windows Update,请勿关机”(如下图所示),而且还需求等大约5分钟才干进入系统。这是怎样回事呢?一切都是正常操作的,为什么开时机呈现“正…...
2022/11/19 21:17:13 - 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...
Win7系统开机启动时总是出现“配置Windows请勿关机”的提示,没过几秒后电脑自动重启,每次开机都这样无法进入系统,此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一:开机按下F8,在出现的Windows高级启动选…...
2022/11/19 21:17:12 - 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...
有不少windows10系统用户反映说碰到这样一个情况,就是电脑提示正在准备windows请勿关闭计算机,碰到这样的问题该怎么解决呢,现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法:1、2、依次…...
2022/11/19 21:17:11 - 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...
今天和大家分享一下win7系统重装了Win7旗舰版系统后,每次关机的时候桌面上都会显示一个“配置Windows Update的界面,提示请勿关闭计算机”,每次停留好几分钟才能正常关机,导致什么情况引起的呢?出现配置Windows Update…...
2022/11/19 21:17:10 - 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...
只能是等着,别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚,只能是考虑备份数据后重装系统了。解决来方案一:管理员运行cmd:net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...
2022/11/19 21:17:09 - 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?
原标题:电脑提示“配置Windows Update请勿关闭计算机”怎么办?win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢?一般的方…...
2022/11/19 21:17:08 - 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...
关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!关机提示 windows7 正在配…...
2022/11/19 21:17:05 - 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...
钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...
2022/11/19 21:17:05 - 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...
前几天班里有位学生电脑(windows 7系统)出问题了,具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面,长时间没反应,无法进入系统。这个问题原来帮其他同学也解决过,网上搜了不少资料&#x…...
2022/11/19 21:17:04 - 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...
本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法,并在最后教给你1种保护系统安全的好方法,一起来看看!电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中,添加了1个新功能在“磁…...
2022/11/19 21:17:03 - 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...
许多用户在长期不使用电脑的时候,开启电脑发现电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机。。.这要怎么办呢?下面小编就带着大家一起看看吧!如果能够正常进入系统,建议您暂时移…...
2022/11/19 21:17:02 - 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...
配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!配置windows update失败 还原更改 请勿关闭计算机&#x…...
2022/11/19 21:17:01 - 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...
不知道大家有没有遇到过这样的一个问题,就是我们的win7系统在关机的时候,总是喜欢显示“准备配置windows,请勿关机”这样的一个页面,没有什么大碍,但是如果一直等着的话就要两个小时甚至更久都关不了机,非常…...
2022/11/19 21:17:00 - 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...
当电脑出现正在准备配置windows请勿关闭计算机时,一般是您正对windows进行升级,但是这个要是长时间没有反应,我们不能再傻等下去了。可能是电脑出了别的问题了,来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...
2022/11/19 21:16:59 - 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...
我们使用电脑的过程中有时会遇到这种情况,当我们打开电脑之后,发现一直停留在一个界面:“配置Windows Update失败,还原更改请勿关闭计算机”,等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢࿰…...
2022/11/19 21:16:58 - 如何在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