ROS机器人控制 —— 键盘方向控制
文章目录
- 1. 键盘控制C++实现(x、y、z、theta)
- 2. 键盘控制Python实现(x、y、z、theta)
- 代码1
- 代码2
- 3.键盘笛卡尔方向控制(x、y、z)
- 4. 总结
通常情况下,对于机械臂的笛卡尔系下的控制或者小车的控制,我们在测试的时候可以通过键盘来实现,以下给出博主在网上找到的源码,能避免重复造轮子,更快的达到键盘控制的目的。
值得注意的是,以下代码左右键均是小车控制的代码,左右方向控制的是theta,因此对于机械臂的笛卡尔系控制还需要进一步修改代码。
1. 键盘控制C++实现(x、y、z、theta)
说明: 在终端中按下键盘里的“W”、“S”、“D”、“A”以及“Shift”键进行机器人的控制1。
/** =====================================================================================* COPYRIGHT NOTICE* Copyright (c) 2013 HUST-Renesas Lab* ALL rights reserved.*//** * @file keyboard.cpp* @brief robot keyboard control* @version 0.1* @date 2013/5/23 15:22:40* @author Hu Chunxu , huchunxu@hust.edu.cn*//* ==================================================================================* @0.1 Hu Chunxu 2013/5/23 15:22:40 create orignal file* =====================================================================================*/#include <termios.h>
#include <signal.h>
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#include <sys/poll.h>#include <boost/thread/thread.hpp>
#include <ros/ros.h>
#include <geometry_msgs/Twist.h>#define KEYCODE_W 0x77
#define KEYCODE_A 0x61
#define KEYCODE_S 0x73
#define KEYCODE_D 0x64/* 带有shift键 */
#define KEYCODE_A_CAP 0x41
#define KEYCODE_D_CAP 0x44
#define KEYCODE_S_CAP 0x53
#define KEYCODE_W_CAP 0x57class SmartCarKeyboardTeleopNode
{private:double walk_vel_;double run_vel_;double yaw_rate_;double yaw_rate_run_;geometry_msgs::Twist cmdvel_;ros::NodeHandle n_;ros::Publisher pub_;public:SmartCarKeyboardTeleopNode(){pub_ = n_.advertise<geometry_msgs::Twist>("cmd_vel", 1);ros::NodeHandle n_private("~");n_private.param("walk_vel", walk_vel_, 0.5);n_private.param("run_vel", run_vel_, 1.0);n_private.param("yaw_rate", yaw_rate_, 1.0);n_private.param("yaw_rate_run", yaw_rate_run_, 1.5);}~SmartCarKeyboardTeleopNode() { }void keyboardLoop();void stopRobot(){cmdvel_.linear.x = 0.0;cmdvel_.angular.z = 0.0;pub_.publish(cmdvel_);}
};SmartCarKeyboardTeleopNode* tbk;/*** 文件描述符* 内核(kernel)利用文件描述符(file descriptor)来访问文件。文件描述符是非负整数。* 标准输入(standard input)的文件描述符是 0,标准输出(standard output)是 1,标准错误(standard error)是 2。*/
int kfd = 0;/** * === struct termios ===* tcflag_t c_iflag; 输入模式* tcflag_t c_oflag; 输出模式 * tcflag_t c_cflag; 控制模式 * tcflag_t c_lflag; 本地模式* cc_t c_cc[NCCS]; 控制字符 */
struct termios cooked, raw;
bool done;int main(int argc, char** argv)
{ros::init(argc,argv,"tbk", ros::init_options::AnonymousName | ros::init_options::NoSigintHandler);SmartCarKeyboardTeleopNode tbk;/* 创建一个新的线程 */boost::thread t = boost::thread(boost::bind(&SmartCarKeyboardTeleopNode::keyboardLoop, &tbk));ros::spin();t.interrupt();t.join();tbk.stopRobot();/* 设置终端参数 */tcsetattr(kfd, TCSANOW, &cooked);return(0);
}void SmartCarKeyboardTeleopNode::keyboardLoop()
{char c;double max_tv = walk_vel_;double max_rv = yaw_rate_;bool dirty = false;int speed = 0;int turn = 0;/** * 从终端中获取按键 * int tcgetattr(int fd, struct termios *termios_p);*/tcgetattr(kfd, &cooked);memcpy(&raw, &cooked, sizeof(struct termios));/*** c_lflag : 本地模式标志,控制终端编辑功能* ICANON: 使用标准输入模式* ECHO: 显示输入字符*/raw.c_lflag &=~ (ICANON | ECHO);/** * c_cc[NCCS]:控制字符,用于保存终端驱动程序中的特殊字符,如输入结束符等* VEOL: 附加的End-of-file字符* VEOF: End-of-file字符* */raw.c_cc[VEOL] = 1;raw.c_cc[VEOF] = 2;tcsetattr(kfd, TCSANOW, &raw);puts("Reading from keyboard");puts("Use WASD keys to control the robot");puts("Press Shift to move faster");/* ** struct pollfd {int fd; 文件描述符 short events; 等待的事件 short revents; 实际发生了的事件 };*/struct pollfd ufd;ufd.fd = kfd;ufd.events = POLLIN;for(;;){boost::this_thread::interruption_point();/* get the next event from the keyboard */int num;/*** poll:把当前的文件指针挂到设备内部定义的等待队列中。* unsigned int (*poll)(struct file * fp, struct poll_table_struct * table)*/if ((num = poll(&ufd, 1, 250)) < 0){/*** perror( ) 用来将上一个函数发生错误的原因输出到标准设备(stderr)。* 参数s所指的字符串会先打印出,后面再加上错误原因字符串。* 此错误原因依照全局变量errno 的值来决定要输出的字符串。* */perror("poll():");return;}else if(num > 0){if(read(kfd, &c, 1) < 0){perror("read():");return;}}else{/* 每按下一次动一下 */if (dirty == true){stopRobot();dirty = false;}continue;}switch(c){case KEYCODE_W:max_tv = walk_vel_;speed = 1;turn = 0;dirty = true;break;case KEYCODE_S:max_tv = walk_vel_;speed = -1;turn = 0;dirty = true;break;case KEYCODE_A:max_rv = yaw_rate_;speed = 0;turn = 1;dirty = true;break;case KEYCODE_D:max_rv = yaw_rate_;speed = 0;turn = -1;dirty = true;break;case KEYCODE_W_CAP:max_tv = run_vel_;speed = 1;turn = 0;dirty = true;break;case KEYCODE_S_CAP:max_tv = run_vel_;speed = -1;turn = 0;dirty = true;break;case KEYCODE_A_CAP:max_rv = yaw_rate_run_;speed = 0;turn = 1;dirty = true;break;case KEYCODE_D_CAP:max_rv = yaw_rate_run_;speed = 0;turn = -1;dirty = true;break;default:max_tv = walk_vel_;max_rv = yaw_rate_;speed = 0;turn = 0;dirty = false;}cmdvel_.linear.x = speed * max_tv;cmdvel_.angular.z = turn * max_rv;pub_.publish(cmdvel_);}
}
2. 键盘控制Python实现(x、y、z、theta)
代码1
说明: 在终端中按下键盘里的“W”、“S”、“D”、“A”以及“Shift”键进行机器人的控制1。
#!/usr/bin/env python
# -*- coding: utf-8 -*
# =====================================================================================
# COPYRIGHT NOTICE
# Copyright (c) 2013 HUST-Renesas Lab
# ALL rights reserved.
#
# @file teleop
# @brief robot keyboard control
# @version 0.1
# @date 2013/5/23 15:34:40
# @author Hu Chunxu , huchunxu@hust.edu.cn
# ==================================================================================
# @0.1 Hu Chunxu 2013/5/23 create orignal file
# =====================================================================================
import os
import sys
import tty, termiosimport roslib; roslib.load_manifest('smartcar_teleop')
import rospy
from geometry_msgs.msg import Twist
from std_msgs.msg import String# 全局变量
cmd = Twist()
pub = rospy.Publisher('cmd_vel', Twist)def keyboardLoop():#初始化rospy.init_node('smartcar_teleop')# Set rospy to exectute a shutdown function when exiting rate = rospy.Rate(rospy.get_param('~hz', 1))#速度变量walk_vel_ = rospy.get_param('walk_vel', 0.5)run_vel_ = rospy.get_param('run_vel', 1.0)yaw_rate_ = rospy.get_param('yaw_rate', 1.0)yaw_rate_run_ = rospy.get_param('yaw_rate_run', 1.5)max_tv = walk_vel_max_rv = yaw_rate_#显示提示信息print "Reading from keyboard"print "Use WASD keys to control the robot"print "Press Caps to move faster"print "Press q to quit"#读取按键循环while not rospy.is_shutdown():fd = sys.stdin.fileno()old_settings = termios.tcgetattr(fd)#不产生回显效果old_settings[3] = old_settings[3] & ~termios.ICANON & ~termios.ECHOtry :tty.setraw( fd )ch = sys.stdin.read( 1 )finally :termios.tcsetattr(fd, termios.TCSADRAIN, old_settings)if ch == 'w':max_tv = walk_vel_speed = 1turn = 0elif ch == 's':max_tv = walk_vel_speed = -1turn = 0elif ch == 'a':max_rv = yaw_rate_speed = 0turn = 1elif ch == 'd':max_rv = yaw_rate_speed = 0turn = -1elif ch == 'W':max_tv = run_vel_speed = 1turn = 0elif ch == 'S':max_tv = run_vel_speed = -1turn = 0elif ch == 'A':max_rv = yaw_rate_run_speed = 0turn = 1elif ch == 'D':max_rv = yaw_rate_run_speed = 0turn = -1elif ch == 'q':exit()else:max_tv = walk_vel_max_rv = yaw_rate_speed = 0turn = 0#发送消息cmd.linear.x = speed * max_tv;cmd.angular.z = turn * max_rv;pub.publish(cmd)rate.sleep()#停止机器人stop_robot();def stop_robot():cmd.linear.x = 0.0cmd.angular.z = 0.0pub.publish(cmd)if __name__ == '__main__':try:keyboardLoop()except rospy.ROSInterruptException:pass
代码2
说明2:
For Holonomic mode (strafing), hold down the shift key:
U ---------- I ---------- O
J ---------- K ---------- L
M ---------- < ---------- >
t : up (+z)
b : down (-z)
其他按键 : stop
q/z : 最大速度增加/减少10%
w/x : 仅线性速度增加/减少10%
e/c : 只增加/减少角速度10%
CTRL-C 退出
#!/usr/bin/env python
# -*- coding: utf-8 -*from __future__ import print_functionimport roslib; roslib.load_manifest('teleop_twist_keyboard')
import rospyfrom geometry_msgs.msg import Twistimport sys, select, termios, ttymsg = """
Reading from the keyboard and Publishing to Twist!
---------------------------
Moving around:u i oj k lm , .For Holonomic mode (strafing), hold down the shift key:
---------------------------U I OJ K LM < >t : up (+z)
b : down (-z)anything else : stopq/z : increase/decrease max speeds by 10%
w/x : increase/decrease only linear speed by 10%
e/c : increase/decrease only angular speed by 10%CTRL-C to quit
"""moveBindings = {'i':(1,0,0,0),'o':(1,0,0,-1),'j':(0,0,0,1),'l':(0,0,0,-1),'u':(1,0,0,1),',':(-1,0,0,0),'.':(-1,0,0,1),'m':(-1,0,0,-1),'O':(1,-1,0,0),'I':(1,0,0,0),'J':(0,1,0,0),'L':(0,-1,0,0),'U':(1,1,0,0),'<':(-1,0,0,0),'>':(-1,-1,0,0),'M':(-1,1,0,0),'t':(0,0,1,0),'b':(0,0,-1,0),}speedBindings={'q':(1.1,1.1),'z':(.9,.9),'w':(1.1,1),'x':(.9,1),'e':(1,1.1),'c':(1,.9),}def getKey():tty.setraw(sys.stdin.fileno())select.select([sys.stdin], [], [], 0)key = sys.stdin.read(1)termios.tcsetattr(sys.stdin, termios.TCSADRAIN, settings)return keydef vels(speed,turn):return "currently:\tspeed %s\tturn %s " % (speed,turn)if __name__=="__main__":settings = termios.tcgetattr(sys.stdin)pub = rospy.Publisher('cmd_vel', Twist, queue_size = 1)rospy.init_node('teleop_twist_keyboard')speed = rospy.get_param("~speed", 0.5)turn = rospy.get_param("~turn", 1.0)x = 0y = 0z = 0th = 0status = 0try:print(msg)print(vels(speed,turn))while(1):key = getKey()if key in moveBindings.keys():x = moveBindings[key][0]y = moveBindings[key][1]z = moveBindings[key][2]th = moveBindings[key][3]elif key in speedBindings.keys():speed = speed * speedBindings[key][0]turn = turn * speedBindings[key][1]print(vels(speed,turn))if (status == 14):print(msg)status = (status + 1) % 15else:x = 0y = 0z = 0th = 0if (key == '\x03'):breaktwist = Twist()twist.linear.x = x*speed; twist.linear.y = y*speed; twist.linear.z = z*speed;twist.angular.x = 0; twist.angular.y = 0; twist.angular.z = th*turnpub.publish(twist)except Exception as e:print(e)finally:twist = Twist()twist.linear.x = 0; twist.linear.y = 0; twist.linear.z = 0twist.angular.x = 0; twist.angular.y = 0; twist.angular.z = 0pub.publish(twist)termios.tcsetattr(sys.stdin, termios.TCSADRAIN, settings)
3.键盘笛卡尔方向控制(x、y、z)
基于2中的代码2来实现
#!/usr/bin/env python
# -*- coding: utf-8 -*from __future__ import print_functionimport roslib; roslib.load_manifest('teleop_twist_keyboard')
import rospyfrom geometry_msgs.msg import Twistimport sys, select, termios, ttymsg = """
---------------------------I J K L< I : +x J : +y T : +z
< : -x L : -y B : -zK : stop其他按键 : stopq/z : 最大速度增加/减少10%
w/x : 仅线性速度增加/减少10%
e/c : 只增加/减少角速度10%CTRL-C 退出
---------------------------
"""moveBindings = {'i':(1,0,0,0),'j':(0,1,0,0),'l':(0,-1,0,0),',':(-1,0,0,0),'I':(1,0,0,0),'J':(0,1,0,0),'L':(0,-1,0,0),'<':(-1,0,0,0),'t':(0,0,1,0),'b':(0,0,-1,0),'T':(0,0,1,0),'B':(0,0,-1,0),}speedBindings={'q':(1.1,1.1),'z':(.9,.9),'w':(1.1,1),'x':(.9,1),'e':(1,1.1),'c':(1,.9),}def getKey():tty.setraw(sys.stdin.fileno())select.select([sys.stdin], [], [], 0)key = sys.stdin.read(1)termios.tcsetattr(sys.stdin, termios.TCSADRAIN, settings)return keydef vels(speed,turn):return "currently:\tspeed %s\tturn %s " % (speed,turn)if __name__=="__main__":settings = termios.tcgetattr(sys.stdin)pub = rospy.Publisher('cmd_vel', Twist, queue_size = 1)rospy.init_node('teleop_twist_keyboard')speed = rospy.get_param("~speed", 0.05)turn = rospy.get_param("~turn", 0.1)x = 0y = 0z = 0th = 0status = 0try:print(msg)print(vels(speed,turn))while(1):key = getKey()if key in moveBindings.keys():x = moveBindings[key][0]y = moveBindings[key][1]z = moveBindings[key][2]th = moveBindings[key][3]elif key in speedBindings.keys():speed = speed * speedBindings[key][0]turn = turn * speedBindings[key][1]print(vels(speed,turn))if (status == 14):print(msg)status = (status + 1) % 15else:x = 0y = 0z = 0th = 0if (key == '\x03'):breaktwist = Twist()twist.linear.x = x*speed; twist.linear.y = y*speed; twist.linear.z = z*speed;twist.angular.x = 0; twist.angular.y = 0; twist.angular.z = th*turnpub.publish(twist)except Exception as e:print(e)finally:twist = Twist()twist.linear.x = 0; twist.linear.y = 0; twist.linear.z = 0twist.angular.x = 0; twist.angular.y = 0; twist.angular.z = 0pub.publish(twist)termios.tcsetattr(sys.stdin, termios.TCSADRAIN, settings)
4. 总结
-
在ROS下进行控制时,首先启动键盘控制节点,然后订阅相应的话题即可。
-
以3为例:
-
首先启动ROS Master:
roscore
-
运行该节点:
rosrun teleop_twist_keyboard teleop_twist_keyboard_descartes.py
-
查看话题列表:
rostopic list
-
查看话题内容:
rostopic echo cmd_vel
-
查看
/cmd_vel
话题的消息类型:rostopic type cmd_vel
-
订阅
/cmd_vel
话题后根据消息文件接收数据即可
http://www.guyuehome.com/253 ↩︎ ↩︎
https://github.com/ncnynl/teleop_twist_keyboard ↩︎
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
相关文章
- 双眼皮埋线眼皮紫黑色
...
2024/4/28 4:46:29 - 哪个明星做过大同哪家割双眼皮好
...
2024/4/28 4:10:47 - 华为9月将带来鸿蒙系统2.0;张勇任阿里巴巴董事长后发布首封致股东信;iOS 14首个公测版发布| 极客头条
整理 | 屠敏 头图 | CSDN 下载自东方 IC 「极客头条」—— 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注的重要新闻吧。 一分钟速览新闻点! 华为率先完成中国5G推进组5…...
2024/4/21 15:25:05 - 余志亮埋线双眼皮多久能汗蒸
...
2024/4/21 15:25:06 - 做个双眼皮花了2万多
...
2024/4/21 15:25:03 - 双眼皮和隆鼻手术护理
...
2024/4/28 0:26:49 - Blockchain Hyperledger Fabric — 问题和解决方案
外网看到了一个关于fabric网络搭建遇到问题的好文,搬运过来 Blockchain Hyperledger Fabric — Errors & Solutions Hello, In this article I wanted to share some of the errors you might face & the possible solutions. please note that, I have fac…...
2024/4/28 0:38:54 - 初学者的强化学习q learning和sarsa
Reinforcement learning is a fast-moving field. Many companies are realizing the potential of RL. Recently, Google’s DeepMind success in training RL agent AlphaGo to defeat the world Go Champion is astounding.强化学习是一个快速发展的领域。 许多公司正在意识…...
2024/4/21 15:25:01 - attitude_estimator_q_main.cpp
下面展示一些 内联代码片。 /* Copyright (c) 2015 PX4 Development Team. All rights reserved.*/ /* 文件名 attitude_estimator_q_main.cpp* 基于四元数的姿态估计* author Anton Babushkin <anton.babushkinme.com> */ #include <float.h>#include <driv…...
2024/4/21 15:25:00 - Elasticsearch Kibana (Beats Logstash) X-Pack Angular - hello world
Elasticsearch Kibana Beats Logstash X-Pack - hello world es参考文档Elasticsearch权威指南(中文版):https://es.xiaoleilu.com/110_Multi_Field_Search/50_Cross_field.htmlhttps://www.elastic.co/guide/cn/elasticsearch/guide/current…...
2024/4/28 1:41:14 - 角度异常:无法绑定到‘ngForIn‘,因为它不是已知的本机属性
本文翻译自:Angular exception: Cant bind to ngForIn since it isnt a known native propertyWhat am I doing wrong? 我究竟做错了什么? import {bootstrap, Component} from angular2/angular2Component({selector: conf-talks,template: <div …...
2024/4/28 4:18:03 - AngularJS 用promises和$q处理异步调用
AngluarJS $q 是受Chris Kowal’s Q库启发(https://github.com/kriskowal/q) 。 这个库通过一个回调“promise”让用户监控异步过程。 下面针对使用pormise的语法进行说明。 var promise callThatRunsInBackground();promise.then(function(answer) {// do something},functi…...
2024/4/28 3:29:37 - 福州谢义德上海割双眼皮医院伊莱美推选
...
2024/4/21 15:24:55 - 上海割双眼皮重华美
...
2024/4/21 15:24:54 - 终于找到Ionic+angularJS的源文件了, 发布版本: v1.1.0 xenon-xerus
终于找到IonicangularJS的源文件了,发布版本: v1.1.0 "xenon-xerus",原来放在GitHub的开源项目上面,我已经放在我的CSDN的下载文件那里了,大家可以到我的CSDN下载主页去下载. 大家共同进步,解压后ÿ…...
2024/4/20 14:58:20 - ionic3文件目录介绍
四、ionic3目录文件结构node_modules :node 各类依赖包 resources :android/ios 资源(更换图标和启动动画) src:开发工作目录,页面、样式、脚本和图片都放在这个目录下 www:静态文件 Platforms:…...
2024/4/20 4:25:13 - angularJS+ionic+nodeJS 学习路线
1.AngularJS实战(2016.8) 2.ionic实战(2016.9) 3.gitbook (2016.8 AngularJS学习笔记 https://zgfang1993.gitbooks.io/angularjs/content/ ) 4.自己的app ikitchen(2016.9底) 《…...
2024/4/20 4:15:08 - 北京八大处双眼皮价格
...
2024/4/20 14:58:17 - 双眼皮埋线?{超艺星
...
2024/4/21 15:24:53 - 济南方皓做的合肥105拉双眼皮咨询艺星
...
2024/4/21 15:24:52
最新文章
- 【YesPMP】众包平台,最新项目
YesPMP平台专注于软件开发领域,是专业的一站式互联网众包平台,目前平台汇聚了上万个解决方案,覆盖全国,拥有众多专业优质的H5开发服务商,专为企业提供软件H5开发解决方案,提高企业的知名度。优秀的H5能为用…...
2024/4/28 11:06:08 - 梯度消失和梯度爆炸的一些处理方法
在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言,在此感激不尽。 权重和梯度的更新公式如下: w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...
2024/3/20 10:50:27 - LeetCode-46. 全排列【数组 回溯】
LeetCode-46. 全排列【数组 回溯】 题目描述:解题思路一:回溯。回溯三部曲解题思路二:0解题思路三:0 题目描述: 给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列 。你可以 按任意顺序 返回答案…...
2024/4/26 19:51:44 - ASTM C1186-22 纤维水泥平板
以无石棉类无机矿物纤维、有机合成纤维或纤维素纤维,单独或混合作为增强材料,以普通硅酸盐水泥或水泥中添加硅质、钙质材料代替部分水泥为胶凝材料,经制浆、成型、蒸汽或高压蒸汽养护制成的板材,俗称水泥压力板。 ASTM C1186-22纤…...
2024/4/24 20:02:42 - 【外汇早评】美通胀数据走低,美元调整
原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...
2024/4/26 18:09:39 - 【原油贵金属周评】原油多头拥挤,价格调整
原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...
2024/4/28 3:28:32 - 【外汇周评】靓丽非农不及疲软通胀影响
原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...
2024/4/26 23:05:52 - 【原油贵金属早评】库存继续增加,油价收跌
原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...
2024/4/27 4:00:35 - 【外汇早评】日本央行会议纪要不改日元强势
原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...
2024/4/27 17:58:04 - 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响
原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...
2024/4/27 14:22:49 - 【外汇早评】美欲与伊朗重谈协议
原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...
2024/4/28 1:28:33 - 【原油贵金属早评】波动率飙升,市场情绪动荡
原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...
2024/4/27 9:01:45 - 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试
原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...
2024/4/27 17:59:30 - 【原油贵金属早评】市场情绪继续恶化,黄金上破
原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...
2024/4/25 18:39:16 - 【外汇早评】美伊僵持,风险情绪继续升温
原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...
2024/4/28 1:34:08 - 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势
原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...
2024/4/26 19:03:37 - 氧生福地 玩美北湖(上)——为时光守候两千年
原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...
2024/4/28 1:22:35 - 氧生福地 玩美北湖(中)——永春梯田里的美与鲜
原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...
2024/4/25 18:39:14 - 氧生福地 玩美北湖(下)——奔跑吧骚年!
原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...
2024/4/26 23:04:58 - 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!
原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...
2024/4/27 23:24:42 - 「发现」铁皮石斛仙草之神奇功效用于医用面膜
原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...
2024/4/28 5:48:52 - 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者
原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...
2024/4/26 19:46:12 - 广州械字号面膜生产厂家OEM/ODM4项须知!
原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...
2024/4/27 11:43:08 - 械字号医用眼膜缓解用眼过度到底有无作用?
原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...
2024/4/27 8:32:30 - 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...
解析如下: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