上一篇博客里介绍Udacity’s无人驾驶仿真环境的社区时,同时也说明了,Udacity‘s simulator是基于Unity 3D,针对每个任务专门构建的封闭式环境(里面场景已经固定)。想要利用这些封闭的仿真环境,首要的一个问题就是:怎么与之进行数据交换(通信)。因此,本篇将进一步介绍Udacity 's无人驾驶仿真环境的python与c++数据接口代码。

系统:ubuntu 18.04 / gcc 7.4.0 + g++ 7.4.0 / anaconda2 + python2.7

1. 测试通讯的仿真环境下载与配置

  • 下载Term 2 Simulator到本地
    进入下载页面,选择Term 2 SImulator最新版本,下面有对应系统的安装ZIP文件(此处系统为ubuntu,因而选term2_sim_linux.zip)。
    在这里插入图片描述
  • 配置
  1. 手动解压,或查找相应命令解压文件;
  2. cd到解压得到的文件目录,例如我的为cd /home/xxx/Downloads/term2_sim_linux;
  3. 手动或利用命令将与系统对应版本(32位还是64位)term2_sim.x86_64[64位]或term2_sim.x86[32位]变成可执行文件,例如在终端执行sudo chmod +x term2_sim.x86_64;
  • 运行
cd /home/xxx/Downloads/term2_sim_linux
./term2_sim.x86_64

出现如下界面(如果电脑性能般,就选分辨率低的,例如下图),点击ok
在这里插入图片描述
进入环境选择(有些封装好的仿真器只有一个环境就没有这个界面),选择对应的环境 ,点击SELECT正式进入仿真环境。
在这里插入图片描述

2. C++通讯接口代码

参照DhruvaKumar/model-predictive-contro/src/main.cpp.

  • 安装uWebSockets
    参照model-predictive-control/install-ubuntu.sh的步骤进行安装,或者下载该文件,然后运行sudo bash install-ubuntu.sh
#! /bin/bash
sudo apt-get update
sudo apt-get install git libuv1-dev libssl-dev gcc g++ cmake make
git clone https://github.com/uWebSockets/uWebSockets 
cd uWebSockets
git checkout e94b6e1
mkdir build
cd build
cmake ..
make 
sudo make install
cd ../..
sudo ln -s /usr/lib64/libuWS.so /usr/lib/libuWS.so
sudo rm -r uWebSockets
  • 通讯C++代码

udacity’s simulator采用json数据格式进行传输,以下代码是完整的通信骨架,里面需要根据自己的需要添加相应的代码到TODO list 1,2,3

#include <uWS/uWS.h>
#include <iostream>
#include "json.hpp"
// Checks if the SocketIO event has JSON data.
// If there is data the JSON object in string format will be returned,
// else the empty string "" will be returned.
string hasData(string s) {auto found_null = s.find("null");auto b1 = s.find_first_of("[");auto b2 = s.rfind("}]");if (found_null != string::npos) {return "";} else if (b1 != string::npos && b2 != string::npos) {return s.substr(b1, b2 - b1 + 2);}return "";
}
int main() {uWS::Hub h;h.onMessage([&mpc](uWS::WebSocket<uWS::SERVER> ws, char *data, size_t length,uWS::OpCode opCode) {// "42" at the start of the message means there's a websocket message event.// The 4 signifies a websocket message// The 2 signifies a websocket eventstring sdata = string(data).substr(0, length);cout << sdata << endl;if (sdata.size() > 2 && sdata[0] == '4' && sdata[1] == '2') {string s = hasData(sdata);if (s != "") {auto j = json::parse(s);string event = j[0].get<string>();if (event == "telemetry") {// j[1] is the data JSON object/* TODO list 1*//* data parsing code should be putted here!*//* TODO list 2*//* Algorithm that generating feedback control commands code should be putted here!*/json msgJson;/* TODO list 3*//* json datas construction code should be putted here!*/// add header to the json dataauto msg = "42[\"steer\"," + msgJson.dump() + "]"; std::cout << msg << std::endl;// send new constrol command to simulatorthis_thread::sleep_for(chrono::milliseconds(100));ws.send(msg.data(), msg.length(), uWS::OpCode::TEXT);}} else {// Manual drivingstd::string msg = "42[\"manual\",{}]";ws.send(msg.data(), msg.length(), uWS::OpCode::TEXT);}}});// We don't need this since we're not using HTTP but if it's removed the// program// doesn't compile :-(h.onHttpRequest([](uWS::HttpResponse *res, uWS::HttpRequest req, char *data,size_t, size_t) {const std::string s = "<h1>Hello world!</h1>";if (req.getUrl().valueLength == 1) {res->end(s.data(), s.length());} else {// i guess this should be done more gracefully?res->end(nullptr, 0);}});h.onConnection([&h](uWS::WebSocket<uWS::SERVER> ws, uWS::HttpRequest req) {std::cout << "Connected!!!" << std::endl;});h.onDisconnection([&h](uWS::WebSocket<uWS::SERVER> ws, int code,char *message, size_t length) {ws.close();std::cout << "Disconnected" << std::endl;});int port = 4567;if (h.listen(port)) {std::cout << "Listening to port " << port << std::endl;} else {std::cerr << "Failed to listen to port" << std::endl;return -1;}h.run();
}

3. python通讯接口代码

  • 安装socketioeventlet
conda install -c conda-forge python-socketio# 建议用anaconda
conda install -c conda-forge eventlet
  • 通讯python代码
    以下是利用python与ubacity‘s simulator通信的核心代码,同样的TODO list 1,2需要添加自己的代码对数据进行解析,处理。
import argparse
import base64
from datetime import datetime
import os
import numpy as np
import socketio
import eventlet
import eventlet.wsgi
from flask import Flasksio = socketio.Server()
app = Flask(__name__)@sio.on('telemetry')
def telemetry(sid, data):if data:# TODO list 1*/# data parsing code should be putted here!*/# TODO list 2*/# Algorithm that generating feedback control commands code should be putted here!*/send_control(steering_angle, throttle)except Exception as e:print(e)else:# NOTE: DON'T EDIT THIS.sio.emit('manual', data={}, skip_sid=True)@sio.on('connect')
def connect(sid, environ):print("connect ", sid)send_control(0, 0)def send_control(steering_angle, throttle):sio.emit("steer",data={'steering_angle': steering_angle.__str__(),'throttle': throttle.__str__()},skip_sid=True)if __name__ == '__main__':model = load_model(args.model)# wrap Flask application with engineio's middlewareapp = socketio.Middleware(sio, app)# deploy as an eventlet WSGI servereventlet.wsgi.server(eventlet.listen(('', 4567)), app)

4. json语法

udacity’s simulator采用Json格式对数据进行传输,Json是一个标记符的序列,这套标记符包含六个构造字符字符串数字和三个字面名。Json是一个序列化的对象或数组。

  • 六个构造字符
构造字符 符号 意义
begin-array = ws %x5B ws ‘[’ 表示一个数组的开始
begin-object = ws %x7B ws ‘{’ 表示一个对象的开始
end-array = ws %x5D ws ‘]’ 表示一个数组的结束
end-object = ws %x7D ws ‘}’ 表示一个对象的结束
name-separator = ws %x3A ws ‘:’ 字面值与数值的分隔符
value-separator ‘,’ 各值的分隔符

在这六个构造字符的前或后允许存在无意义的空白符(ws), 例如:
*(%x20 /; 空间
%x09 /; 水平标签
%x0A /; 换行或换行
%x0D); 回程

  • 值可以是对象、数组、数字、字符串或者三个字面值(false、null、true)中的一个。值中的字面值中的英文必须使用小写,例如:
{"name": "John Doe", "age": 18, "address": {"country" : "china", "zip-code": "10000"}}

其它一些示例

{"a": 1, "b": [1, 2, 3]}
[1, 2, "3", {"a": 4}]
3.14
"plain_text"

5. udacity’s simulator Json数据解析示例

针对第一节介绍的term2_sim_linux.zip中的MPC仿真环境的数据给出c++与python解析代码。

5.1 查看数据

我的方式是先利用通信骨架代码,将完整的数据打印出来:

  • C++
string sdata = string(data).substr(0, length);
cout << sdata << endl;
42["telemetry",{"ptsx":[-43.49173,-61.09,-78.29172,-93.05002,-107.7717,-123.3917],"ptsy":[105.941,92.88499,78.73102,65.34102,50.57938,33.37102],"psi_unity":4.059185,"psi":3.794796,"x":-55.03409,"y":97.48677,"steering_angle":-0.003226886,"throttle":1,"speed":28.66575}]
  • python
print(data)
{u'ptsy': [113.361, 105.941, 92.88499, 78.73102, 65.34102, 50.57938], u'ptsx': [-32.16173, -43.49173, -61.09, -78.29172, -93.05002, -107.7717], u'psi': 3.733651, u'throttle': 0, u'psi_unity': 4.12033, u'y': 108.73, u'x': -40.62, u'steering_angle': 0, u'speed': 0.8760166}

c++与python读出来的数据是一致的,除了数据位置不一样,以及c++将web socket的头数据也加进去了。刨掉头数据,只看Json格式部分,两者读出来的数据格式是一样的。

5.2 解析数据

  • c++
    TODO list 1处代码如下,可对以上格式的数据进行解析。
// j[1] is the data JSON object
vector<double> ptsx = j[1]["ptsx"];  // waypoints' position in x axis
vector<double> ptsy = j[1]["ptsy"]; // waypoints' position in y axis
double px = j[1]["x"]; // ugv's position in x axis
double py = j[1]["y"]; // ugv's position in y axis
double psi = j[1]["psi"]; // ugv's headding angle
double v = j[1]["speed"];  // ugv's speed
double delta = j[1]["steering_angle"]; // ugv's steering angle
double acceleration = j[1]["throttle"]; // ugv's throttle
  • python
ptsx = [float(d) for d in data["ptsx"]]
ptsy = [float(d) for d in data["ptsy"]]
px = float(data["x"])
py = float(data["x"])
psi = float(data["psi"])
v = float(data["speed"])
delta = float(data["steering_angle"])
acceleration = float(data["throttle"])

5.3 发送数据到simulator

  • c++
    C++的发送代码在第二部分的通讯骨架代码中,大致思路是,然构建Json数据,然后加上数据头部,最后发送。

一个例子:

以下代码应放在TODO list 3处.
分成三块:1.构建Json数据;2.加上web socket数据头;3.发送。

/*  构建Json数据 */
json msgJson;  //
msgJson["steering_angle"] = steer_value;
msgJson["throttle"] = throttle_value;//Display the MPC predicted trajectory
//.. add (x,y) points to list here, points are in reference to the vehicle's coordinate system
// the points in the simulator are connected by a Green linemsgJson["mpc_x"] = mpc.x_pred_vals;
msgJson["mpc_y"] = mpc.y_pred_vals;//Display the waypoints/reference line
//.. add## (x,y) points to list here, points are in reference to the vehicle's coordinate system
// the points in the simulator are connected by a Yellow line
vector<double> next_x_vals;
vector<double> next_y_vals;
int n_waypoints = 25;
int step = 2.5;
for (int i = 1; i<n_waypoints; ++i)
{next_x_vals.push_back(step*i);next_y_vals.push_back(polyeval(coeffs, step*i));
}
msgJson["next_x"] = next_x_vals;
msgJson["next_y"] = next_y_vals;
/*  加上web socket数据头 */
auto msg = "42[\"steer\"," + msgJson.dump() + "]";
std::cout << msg << std::endl;
// Latency// The purpose is to mimic real driving conditions where
// the car does actuate the commands instantly.
//
// Feel free to play around with this value but should be to drive
// around the track with 100ms latency.
//
// NOTE: REMEMBER TO SET THIS TO 100 MILLISECONDS BEFORE
// SUBMITTING.
/*  发送 */
this_thread::sleep_for(chrono::milliseconds(100));
ws.send(msg.data(), msg.length(), uWS::OpCode::TEXT);
  • python
    调用以下函数
def send_control(steering_angle, throttle):sio.emit("steer",data={'steering_angle': steering_angle.__str__(),'throttle': throttle.__str__()},skip_sid=True)

总结

本篇详细介绍了Udacity’s simulator的c++与python通讯接口,并且以term2_sim_linux.zip的数据为例介绍了Json数据解析与构造。这之后,我们可以与udacity’s simulator进行通信,获取仿真环境的数据,利用算法处理、学习得到控制指令后,发送给仿真环境中的无人车执行。


以及

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

相关文章

  1. w-p神经元与BM算法

    因为没有找到很好的画神经元的软件,所以直接在笔记本上写了,再以图片方式放到博客上,方便以后自己查看。参考:周志华《机器学习》...

    2024/5/6 17:37:21
  2. 小白文章之---React前端框架和Spring Boot 后端框架调试

    前后端整合后,在后端向前端传递数据时,很多时候需要进行调试,而我们的前端已经导成了包导入到了后端,这个时候就很难进行单独的在后端进行调试,或者还可以将前端的路径设置好在重新导入到后端,当然这个方法也是可行的,但是很耗费时间,不利于快速开发,这里我写一个比较…...

    2024/5/6 17:37:17
  3. 蓝牙基础(四):蓝牙协议栈之底层协议

    蓝牙基础(四):蓝牙协议栈之底层协议 0 前言 在这篇博客里,博主将蓝牙协议栈进行了分类,后续博客会进行分别介绍。 由于蓝牙协议栈在实际应用中已被封装起来,博主介绍的蓝牙协议不会过多涉及具体细节,比如数据包形式、指令形式等,更多的是围绕着功能与作用,便于理解与吸…...

    2024/5/6 17:37:13
  4. 分布式系列教程(36) -Linux下搭建ElasticSearch集群

    引言 在上一篇博客《分布式系列教程(36) -ElasticSearch集群原理》,主要讲解了ElasticSearch集群的原理。本文开始实践,在Linux下搭建ElasticSearch集群。 Linux下搭建ElasticSearch集群 1.首先准备三台服务器:服务器名称 IP地址node-1 192.168.212.184node-2 192.168.212…...

    2024/5/6 17:37:09
  5. 【MyBatis】MyBatis与Hibernate比较

    1. Mybatis与Hibernate区别 1.1 表格比较功能 MyBatis Hibernate开发速度 上手容易 相对掌握困难开发工作量 手写SQL语句 也可以手写SQL语句,但破坏了Hibernate封装和简洁性扩展性 因为是手写SQL,所有扩展性好,但迁移性差 数据库关系关联都在XML中,所以HQL对是什么数据库不…...

    2024/5/6 17:37:05
  6. intValue()

    可以吧Integer类型是数据转换成int类型int a=b.intValue();...

    2024/5/6 17:37:01
  7. webSocket知识

    // websocket通信getWebsocketData(){let wsurl = `ws://10.88.xxx/ws/dgw`this.websocket = new WebSocket(wsurl)this.websocket.onopen = this.websocketonopen // this.websocket.onclose // 断开连接},// 连接websocketwebsocketonopen(event){this.websocket.se…...

    2024/5/6 17:36:57
  8. a标签的使用--发送电子邮件(mailto)

    <a>标签还有一个作用是可以链接Email地址,使用mailto能让访问者便捷向网站管理者发送电子邮件。我们还可以利用mailto做许多其它事情。下面一一进行讲解,请看详细图示:注意:如果mailto后面同时有多个参数的话,第一个参数必须以“?”开头,后面的参数每一个都以“&a…...

    2024/5/6 17:36:53
  9. Margin塌陷和margin合并两个bug的处理方法

    Margin塌陷和margin合并两个bug的处理方法 margin塌陷 现象:父子垂直方向上的margin 一起的 谁大取谁 正常情况:父级元素相对浏览器进行定位,子级相对父级定位 塌陷:子级不再相对于浏览器进行定位 解决方法: 1、给父级设置border/padding(不用) 2、触发bfc(block form…...

    2024/5/6 17:36:49
  10. androidstudio源换成阿里云

    平时安卓项目编译较慢,其中一个原因就是要下载依赖资源包比较慢。为了解决这个问题,可以配置阿里云镜像,加速下载。配置方法:1. 对特定项目生效,在项目中的build.gradle修改内容buildscript {repositories {maven { url http://maven.aliyun.com/nexus/content/groups/pub…...

    2024/5/6 17:36:46
  11. 项目启动连接dm数据库失败errorCode 6001,state 08S01

    springboot项目启动时,进行数据库交互时就报错: create connection error.url ***,errorcode-2512,state22008 解决方法: 修改PSCache最大连接数。 (修改msaPoolPreparedStatementPerConnectionSize属性)...

    2024/5/6 17:36:41
  12. Main Thread Checker: UI API called on a background thread: -[UIApplication applicationState]

    真机运行项目,项目进入某个页面的时候会卡几秒,然后进入页面。日志输出1、在子线程刷新UI的问题,首先定位刷新UI的地方,放到主线程中去,从根本解决这个问题。2、关闭Xcode的主线程检测去掉对勾,重新运行项目就不会打印了,也不会卡顿了...

    2024/5/6 17:36:37
  13. 分频器\计数器\led显示

    分频器\计数器\led显示实验平台实现功能代码 实验平台 硬件:使用Xilinx Artix-7 FPGA芯片,具体型号为XC7A75TFGG484-1。 软件:Vivado 2018.1 实现功能 1)时钟分频器产生1Hz时钟,设计一个10进制计数器。以递减方式工作。 2)除了计数器的功能外,通过板上拨动开关,增加右移…...

    2024/5/6 17:36:33
  14. 创建型 --工厂模式 (包括 '工厂方法模式' 和 '抽象工厂模式')

    前言 : 工厂方法的作用是, 替你封装对象的实例化过程, 即 new Class() 的过程, 达到解耦对象创建这件事情, 具体为什么要解耦这个事情, 解决的问题域有很多, 可以自己去延伸, 这里不做说明 .一. 工厂方法模式演变之路 : 普通工厂方法 --> 多个工厂方法 --> 静态工厂方法1…...

    2024/5/6 17:36:29
  15. perl split 函数使用注意! “Use of uninitialized value ...” 报错

    my $value = "a2b_cmd.sv"; my @value_q = split(.,$value); print "$value_q[0]\n";本想通过split函数 分割 ‘.’ 的隔开元素,但是上面这种写法会报错,提示split失败。参考链接:https://www.runoob.com/perl/perl-arrays.html原因在于split 函数把 .当…...

    2024/5/6 8:47:57
  16. 利用socat和cutecom实现Linux虚拟串口通信

    (1)打开终端,输入 sudo apt-get install socat等待socat安装完成… (2)输入 socat -d -d pty,raw,echo=0 pty,raw,echo=0我的返回结果是 2019/12/19 11:24:32 socat[4887] N PTY is /dev/pts/18 2019/12/19 11:24:32 socat[4887] N PTY is /dev/pts/19 2019/12/19 11:24:3…...

    2024/5/6 17:36:25
  17. 【angular】解决angular双向绑定unsafe问题

    日期选择插件angularjs-datepicker(2.1.23)中a的href属性都变成了unsafe:javascript:void(0),导致safari浏览器日期选择功能异常解决a标签中href链接含有unsafe而不能正常跳转或功能异常问题 // 解决a标签中href链接含有unsafe而不能正常跳转或功能异常问题 angular.config(…...

    2024/5/6 17:36:22
  18. Highcharts快速使用指南

    一. 产品简介: Highcharts 系列软件包含 Highcharts JS,Highstock JS,Highmaps JS 共三款软件,均为纯 JavaScript 编写的 HTML5 图表库,全部源码开放,个人及非商业用途可以任意使用及源代码编辑。 1. Highcharts Highcharts 是一个用纯 JavaScript 编写的一个图表库,图表…...

    2024/5/6 17:36:17
  19. [TypeScript]TypeScript资料收集

    收集TypeScript的优秀资料,持续更新: ts类型编程实战(一):修复rematch类型问题 深入typescript类型系统(二): 泛型和类型元编程 合格前端第十二弹-TypeScript + 大型项目实战 TypeScript 类型实战 - 从模板函数到消息参数 TypeScript 类型技巧 - 多参数类型约束 TypeScrip…...

    2024/5/6 17:36:13
  20. mysql常用语句,类型转换,葵花宝典

    类型的转换如何插入一段漂亮的代码片 加粗文本 加粗文本 标记文本 删除文本varchar(200) 转换为decimal 保留3位小数 sum(cast(main.ext_field_01 as decimal(18,3)) ) ext_field_01 select sum(cast(t.ext_field_01 as decimal(18,3)) ) ext_field_01 from ar_tax_bill_…...

    2024/5/6 17:36:09

最新文章

  1. 明星中药企业系列洞察(二)丨百年御药同仁堂,为什么被称为我国最“硬”的老字号?

    从最初的同仁堂药室、同仁堂药店到现在的北京同仁堂集团&#xff0c;经历了清王朝由强盛到衰弱、几次外敌入侵、军阀混战到新民主主义革命的历史沧桑&#xff0c;其所有制形式、企业性质、管理方式也都发生了根本性的变化&#xff0c;但同仁堂经历数代而不衰&#xff0c;在海内…...

    2024/5/7 13:12:56
  2. 梯度消失和梯度爆炸的一些处理方法

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

    2024/5/7 10:36:02
  3. OpenCV单通道图像按像素成倍比例放大(无高斯平滑处理)

    OpenCV中的resize函数可以对图像做任意比例的放大(/缩小)处理&#xff0c;该处理过程会对图像做高斯模糊化以保证图像在进行放大&#xff08;/缩小&#xff09;后尽可能保留源图像所展现的具体内容&#xff08;消除固定频率插值/采样带来的香农采样信息损失&#xff09;&#x…...

    2024/5/5 8:49:58
  4. 实景三维在数字乡村建设中的重要作用

    随着科技的飞速发展&#xff0c;数字乡村建设已成为推动乡村振兴、实现农村现代化的重要途径。实景三维技术作为数字乡村建设的重要支撑&#xff0c;正逐渐在各个领域发挥着不可或缺的作用。本文将从实景三维技术在数字乡村中的应用场景、优势及未来展望等方面进行探讨&#xf…...

    2024/5/6 22:36:37
  5. 【外汇早评】美通胀数据走低,美元调整

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

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

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

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

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

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

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

    2024/5/6 9:21:00
  9. 【外汇早评】日本央行会议纪要不改日元强势

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    2022/11/19 21:17:18
  26. 错误使用 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
  27. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

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

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

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

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

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

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

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

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

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

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

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

    2022/11/19 21:17:10
  33. 电脑桌面一直是清理请关闭计算机,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
  34. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    2022/11/19 21:16:58
  44. 如何在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