ubuntu 20.04 Kimera semantic 运行记录

Ubuntu20.04 Kimera Semantic运行记录

Kimera VIO ROS

配置

MIT Kimera-VIO-ROS 安装

mkdir -p Kimera_ws/src
cd Kimera_ws
catkin init
catkin config --cmake-args -DCMAKE_BUILD_TYPE=Release -DGTSAM_TANGENT_PREINTEGRATION=OFF
catkin config --merge-develcd src
git clone https://github.com/ToniRV/mesh_rviz_plugins.git	
git clone https://github.com/MIT-SPARK/Kimera-VIO-ROS.git# 切换版本
cd Kimera-VIO-ROS
git checkout 9b8aeaecd ..
wstool init
wstool merge Kimera-VIO-ROS/install/kimera_vio_ros_https.rosinstall
wstool update# 更换gtsam版本
rm -rf gtsam
# zph环境
git clone -b 4.1.1 https://github.com/borglab/gtsam.git# 更换Kimera-RPGO版本
cd Kimera-RPGO
git checkout 9e1bf93# 更换Kimera-VIO版本
cd ../Kimera-VIO
git checkout 641576f# 更换Kimera-VIO-ROS版本
cd ../Kimera-VIO-ROS
git checkout 9b8aeae# 编译
catkin build

测试

roslaunch kimera_vio_ros kimera_vio_ros_euroc.launch online:=true run_stereo_dense:=true	
rviz -d $(rospack find kimera_vio_ros)/rviz/kimera_vio_euroc.rviz
rosbag play --clock MH_01_easy.bag

在这里插入图片描述

d455 运行

  1. d455_camchain.yaml
    复制一份Kimera_VIO_catkin_ws/src/Kimera-VIO-ROS/cfg/calib/euroc_camchain.yaml改为d455_camchain.yaml,并将相关参数填入
  2. kimera_vio_ros_d455.launch
    复制一份Kimera_VIO_catkin_ws/src/Kimera-VIO-ROS/launch/kimera_vio_ros_euroc.launch改为kimera_vio_ros_d455.launch,并修改:
<arg name="dataset_name" value="D455"/>
# 如果是rosbag需要注意改动
<arg name="online" default="true" />
<param name="use_sim_time" value="false"/> 
<arg name="rosbag_path" default="/home/toniht/datasets/realsense/corridor_1.bag"unless="$(arg online)"/>
      <rosparam file="$(find kimera_vio_ros)/cfg/calib/d455_camchain.yaml"/><remap from="raw/first/image"         to="/camera/infra1/image_rect_raw"/><remap from="raw/second/image"        to="/camera/infra2/image_rect_raw"/><remap from="raw/first/camera_info"   to="/camera/infra1/camera_info"/><remap from="raw/second/camera_info"  to="/camera/infra2/camera_info"/>
<include file="$(find kimera_vio_ros)/launch/kimera_vio_ros_1.launch"pass_all_args="true"/>

添加,参数按需修改

<arg name="should_use_sim_time" value="false"/>	<!-- Subscribed Topics --><arg name="left_cam_topic"                    default="/camera/infra1/image_rect_raw"/><arg name="left_cam_info_topic"               default="/camera/infra1/camera_info"/><arg name="right_cam_topic"                   default="/camera/infra2/image_rect_raw"/><arg name="right_cam_info_topic"              default="/camera/infra2/camera_info"/><arg name="imu_topic"                         default="/camera/imu"/>
  1. kimera_vio_d455.rviz
    复制一份Kimera_VIO_catkin_ws/src/Kimera-VIO-ROS/rviz/kimera_vio_euroc.rviz改为kimera_vio_d455.rviz
    可以在后续打开后修改保存

  2. D455相机参数
    复制一份Kimera_VIO_catkin_ws/src/Kimera-VIO/params/Euroc改为D455,在对应的LeftCameraParams.yaml、RightCameraParams.yaml、ImuParams.yaml填入相机参数

运行结果

roslaunch kimera_vio_ros kimera_vio_ros_d455.launch run_stereo_dense:=true	
rviz -d $(rospack find kimera_vio_ros)/rviz/kimera_vio_d455.rviz

在这里插入图片描述

Kimera semantic

以下基本为官方教程

sudo apt-get install python3-wstool python3-catkin-tools  protobuf-compiler autoconf
sudo apt-get install ros-noetic-cmake-modules
# Setup catkin workspace
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/
catkin init
catkin config --extend /opt/ros/noetic
catkin config --cmake-args -DCMAKE_BUILD_TYPE=Release
catkin config --merge-devel# Add workspace to bashrc.
echo 'source ~/catkin_ws/devel/setup.bash' >> ~/.bashrc# Clone repo
cd ~/catkin_ws/src
git clone https://github.com/MIT-SPARK/Kimera-Semantics.git# 添加mesh
git clone https://github.com/ToniRV/mesh_rviz_plugins.git	# Install dependencies from rosinstall file using wstool
wstool init # Use unless wstool is already initialized# Optionally add Kimera-Semantics to the rosinstall file
# wstool scrape# For https: 
wstool merge Kimera-Semantics/install/kimera_semantics_https.rosinstall# Download and update all dependencies
wstool update
# Compile code
catkin build kimera_semantics_ros mesh_rviz_plugins # 见ERROR1# Refresh workspace
source ~/catkin_ws/devel/setup.bash

测试

roslaunch kimera_vio_ros kimera_vio_ros_euroc.launch run_stereo_dense:=true
roslaunch kimera_semantics_ros kimera_semantics_euroc.launch
rviz -d $(rospack find kimera_semantics_ros)/rviz/kimera_semantics_euroc.rviz
rosbag play --clock MH_01_easy.bag

在这里插入图片描述

d455 运行

可能没记全,因为是一开始忘了,全部复现完成后才重新记录的。

  1. kimera_semantic_d455.launch
    复制一份Kimera_semantic_catkin_ws/src/Kimera-Semantics/kimera_semantics_ros/launch/kimera_semantics_euroc.launch改为kimera_semantic_d455.launch
    修改
  <param name="use_sim_time" value="false" /># 添加参数,传递给kimera_semantics_ros.launch<arg name="should_use_sim_time" value="false" />
  <arg name="left_cam_info_topic"         default="/camera/infra1/camera_info"/><arg name="right_cam_info_topic"        default="/camera/infra2/camera_info"/><arg name="left_cam_topic"              default="/camera/infra1/image_rect_raw"/><arg name="right_cam_topic"             default="/camera/infra2/image_rect_raw"/>
# 暂时是在复现,不需要点云,订阅了VIO发布的点云/stereo_gray/dense_stereo/pointcloud
<arg name="publish_point_clouds" default="false"/>
  1. kimera_semantics_d455.rviz
    复制一份Kimera_semantic_catkin_ws/src/Kimera-Semantics/kimera_semantics_ros/rviz/kimera_semantics_euroc.rviz改为kimera_semantics_d455.rviz
    后续可以在rviz中保存

运行

roslaunch kimera_vio_ros kimera_vio_ros_d455.launch run_stereo_dense:=true
roslaunch kimera_semantics_ros kimera_semantics_d455.launch
rviz -d $(rospack find kimera_semantics_ros)/rviz/kimera_semantics_d455.rviz

有mesh出来了,但是效果很差,可能是相机参数或者程序参数设置问题,后续再调
在这里插入图片描述

语义分割

目前使用的是deeplab_ros_pytorch

虚拟环境deeplab_ros
mkdir -p deeplab_ws/src
cd deeplab_ws
catkin init
cd src
git clone https://gitee.com/lu_ting_fei/ros-pytorch-deeplabv3.gitcatkin config -DPYTHON_EXECUTABLE=/home/toniht/anaconda3/envs/deeplab_ros/bin/python -DPYTHON_INCLUDE_DIR=/home/toniht/anaconda3/envs/deeplab_ros/include/python3.8m -DPYTHON_LIBRARY=/home/toniht/anaconda3/envs/deeplab_ros/lib/libpython3.8.so -DCMAKE_BUILD_TYPE=Release -DSETUPTOOLS_DEB_LAYOUT=OFF
catkin_build

修改文件
deeplab_ws/src/ros-pytorch-deeplabv3/Img_seg_ros/predict.py

开始添加
sys.path.append('/home/toniht/workspace/deeplab_ws/src/ros-pytorch-deeplabv3/Img_seg_ros')最后修改
img_topic=
ckpt = 并修改
# 发布语义图像到ROS
ros_frame = bridge.cv2_to_imgmsg(seg_cv_img, "bgr8")
ros_frame.header.stamp = rospy.Time.now()
ros_frame.header.frame_id = "cam0" # 新增,方便后面发布语义点云时frame id一致

需要改为mask_rcnn

conda create -n mask_rcnn_ros python=3.7
conda activate mask_rcnn_ros
pip install boost protobuf scipy scikit-image ipython 'keras==2.4.3' opencv==3.4.10.35
pip install tensorflow-gpu==2.4.0
cd ~/catkin_ws/src
git clone https://github.com/ethz-asl/mask_rcnn_ros.git
git clone https://github.com/ethz-asl/depth_segmentation.git
git clone https://github.com/ethz-asl/opencv3_catkin.git
git clone https://github.com/ethz-asl/pcl_catkin.gitcatkin build 			# 见 ERROR 2-7# 如果找不到opencv或者pcl,删除重新编译
catkin build pcl_catkin opencv3_catkin

运行报错见ERROR 8、9

测试中

conda create -n mrcnn_ros python=3.8
conda activate mrcnn_rosempy gdal boost pyyaml catkin_pkg
pip install boost protobuf scipy scikit-image ipython
pip install opencv-python==3.4.10.35# tensorflow 1.15 https://flashgene.com/archives/242055.html
pip install nvidia-pyindex
pip install nvidia-tensorflow
catkin config -DPYTHON_EXECUTABLE=/home/toniht/anaconda3/envs/mrcnn_ros/bin/python -DPYTHON_INCLUDE_DIR=/home/toniht/anaconda3/envs/mrcnn_ros/include/python3.8 -DPYTHON_LIBRARY=/home/toniht/anaconda3/envs/mrcnn_ros/lib/libpython3.8.so -DCMAKE_BUILD_TYPE=Release -DSETUPTOOLS_DEB_LAYOUT=OFF# 不改变c++路径的话会报错,但是忘记复制,应该是构建失败啥的来着
export CPLUS_INCLUDE_PATH=/home/toniht/anaconda3/envs/mrcnn_ros/include/python3.8:$CPLUS_INCLUDE_PATHcatkin build 

ERROR

ERROR 1:

Errors     << kimera_semantics_ros:make /home/toniht/workspace/Kimera_semantic_catkin_ws/logs/kimera_semantics_ros/build.make.000.log
In file included from /usr/include/pcl-1.10/pcl/pcl_macros.h:77,from /usr/include/pcl-1.10/pcl/point_types.h:42,from /home/toniht/workspace/Kimera_semantic_catkin_ws/src/Kimera-Semantics/kimera_semantics_ros/include/kimera_semantics_ros/semantic_simulation_server.h:8,from /home/toniht/workspace/Kimera_semantic_catkin_ws/src/Kimera-Semantics/kimera_semantics_ros/src/semantic_simulation_server.cpp:1:
/usr/include/pcl-1.10/pcl/pcl_config.h:7:4: error: #error PCL requires C++14 or above7 |   #error PCL requires C++14 or above

FIX:
把对应的CMakeLists.txt文件中c++标准改为14(应该是两个kimera_semantics_ros和mesh)

set(CMAKE_CXX_STANDARD 14)

mesh中直接将c++11改为c++14就行

ERROR 2:

 Could not find a package configuration file provided by "catkin_simple"with any of the following names:catkin_simpleConfig.cmakecatkin_simple-config.cmake

FIX:

cd src
git clone https://github.com/catkin/catkin_simple

ERROR 3:

Errors     << pcl_catkin:cmake /home/toniht/workspace/mask_rcnn_catkin_ws/logs/pcl_catkin/build.cmake.000.log                                                                                           
CMake Error at /home/toniht/workspace/mask_rcnn_catkin_ws/src/pcl_catkin/pcl_catkin/CMakeLists.txt:15 (MESSAGE):CMAKE_BUILD_TYPE must not be empty!

FIX:

catkin clean -y
catkin config -DCMAKE_BUILD_TYPE=Release

ERROR 4:

/home/toniht/anaconda3/envs/mask_rcnn_ros/include/boost/python/detail/wrap_python.hpp:57:11: fatal error: pyconfig.h: 没有那个文件或目录57 | # include <pyconfig.h>

FIX:

export CPLUS_INCLUDE_PATH=/home/toniht/anaconda3/envs/mask_rcnn_ros/include/python3.7m:$CPLUS_INCLUDE_PATH

ERROR 5:

/home/toniht/anaconda3/envs/mask_rcnn_ros/lib/python3.7/site-packages/numpy/core/include/numpy/__multiarray_api.h:1532:151: error: return-statement with a value, in function returning ‘void’ [-fpermissive]1532 | #define import_array() {if (_import_array() < 0) {PyErr_Print(); PyErr_SetString(PyExc_ImportError, "numpy.core.multiarray failed to import"); return NULL; } }

FIX:
import_array()报错,返回值类型与函数类型不匹配

ERROR 6:

/home/toniht/anaconda3/envs/mask_rcnn_ros/include/boost/bind.hpp:36:1: note: in expansion of macro ‘BOOST_PRAGMA_MESSAGE’36 | BOOST_PRAGMA_MESSAGE(| ^~~~~~~~~~~~~~~~~~~~
/usr/bin/ld: 找不到 -lBoost::system
/usr/bin/ld: 找不到 -lBoost::filesystem
/usr/bin/ld: 找不到 -lBoost::thread
collect2: error: ld returned 1 exit status

FIX:
在depth_segmentation的CMakeLists.txt中添加

# 设置虚拟环境路径
set(VIRTUAL_ENV_PATH "/home/toniht/anaconda3/envs/mask_rcnn_ros")# 设置 Boost 头文件和库的路径
set(Boost_INCLUDE_DIR "${VIRTUAL_ENV_PATH}/include")
set(Boost_LIBRARY_DIR "${VIRTUAL_ENV_PATH}/lib")find_package(Boost COMPONENTS system filesystem thread REQUIRED)include_directories(${Boost_INCLUDE_DIRS})link_directories(${Boost_LIBRAYY_DIRS})

ERROR 7:

/usr/bin/ld: /home/toniht/workspace/kimera_mask_rcnn_ws/devel/lib/libkimera_semantics_ros.so: undefined reference to `cv::String::deallocate()'

FIX:
ubuntu20.04+opencv4.2.0编译kimera
在kimera_semantics_ros的CMakeLists.txt中加入

find_package(opencv3_catkin REQUIRED)
# 在最后面加
target_link_libraries(${PROJECT_NAME} ${opencv3_catkin_LIBRARIES}) 

ERROR 8:

'module' object has no attribute 'placeholder'

FIX:
tensorflow2.x和tensorflow1.x的差异
修改两个文件Kimera_semantic_catkin_ws/src/mask_rcnn_ros/src/mask_rcnn_ros/model.py和/home/toniht/anaconda3/envs/mask_rcnn_ros/lib/python3.7/site-packages/keras/backend/tensorflow_backend.py
将其中的

import tensorflow as tf
-> import tensorflow.compat.v1 as tf
tf.disable_v2_behavior()

ERROR 9:

  File "/home/toniht/anaconda3/envs/mask_rcnn_ros/lib/python3.7/site-packages/keras/engine/topology.py", line 3418, in load_weights_from_hdf5_group_by_nameoriginal_keras_version = f.attrs['keras_version'].decode('utf8')
AttributeError: 'str' object has no attribute 'decode'

FIX:

pip install 'h5py<3.0.0'

ERROR 10:

  File "/home/toniht/workspace/kimera_mask_rcnn_ws/src/mask_rcnn_ros/src/mask_rcnn_ros/utils.py", line 420, in resize_imageimage = scipy.misc.imresize(
AttributeError: module 'scipy.misc' has no attribute 'imresize'

FIX:
修改报错文件utils.py

# 添加
from skimage.transform import resize
# 修改报错语句
image = resize(image, (int(round(h * scale)), int(round(w * scale))))

ERROR 11:

/home/toniht/anaconda3/envs/mrcnn_ros/lib/python3.8/site-packages/numpy/core/include/numpy/__multiarray_api.h:1553:151: error: return-statement with a value, in function returning ‘void’ [-fpermissive]1553 | #define import_array() {if (_import_array() < 0) {PyErr_Print(); PyErr_SetString(PyExc_ImportError, "numpy.core.multiarray failed to import"); return NULL; } }

FIX:
修改"/home/toniht/anaconda3/envs/mrcnn_ros/lib/python3.8/site-packages/numpy/core/include/numpy/__multiarray_api.h"
删去对应的NULL,重新编译

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/758095.shtml

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

相关文章

【蓝桥杯】RMQ(Range Minimum/Maximum Query)

一.概述 RMQ问题&#xff0c;是求区间最大值或最小值&#xff0c;即范围最值问题。 暴力解法是对每个询问区间循环求解&#xff0c;设区间长度n&#xff0c;询问次数m&#xff0c;则复杂度是O ( nm )。 一般还可以使用线段树求解&#xff0c;复杂度是O(mlogn)。 但还有一种…

论文解读—— 基于边缘梯度方向插值和 Zernike 矩的亚像素边缘检测

论文&#xff1a;《 Subpixel edge detection based on edge gradient directional interpolation and Zernike moment》 地址&#xff1a; http://www.dpi-proceedings.com/index.php/dtcse/article/view/24488 摘要 在本文中&#xff0c;我们提出了一种基于边缘梯度方向插值…

PowerShell 一键更改远程桌面端口

前言 提高工作效率,安全性和规范化,最终实现一键更改Windows 远程桌面端口 前提条件 开启wmi,配置网卡,参考 一键更改远程桌面端口自动化脚本 默认端口3389变更后的端口3390win+r mstsc YOU_ip常规更改的连接方式win+r mstsc YOU_ip:3390需要恢复到原来的端口3390更改成3…

【java】java环境变量分类

测试代码&#xff1a; public class TestSys {public static void main(String[] args) {/*** 获取所有的系统环境变量*/Map<String, String> map System.getenv();map.forEach((key, value) -> System.out.printf("env&#xff1a;key:%s->value:%s%n"…

CPU的Cache和MESI协议

前言 大家好我是jiantaoyab&#xff0c;这是我所总结作为学习的笔记第20篇&#xff0c;在这里分享给大家&#xff0c;这篇文章讲CPU的Cache和MESI协议。 为什么需要高速缓存&#xff1f; 通过图片可以清晰的看到&#xff0c;随着时间的发展CPU的性能差距和内存越来越大&#…

使用光标精灵更换电脑鼠标光标样式,一键安装使用

想要让自己在使用电脑时更具个性化&#xff0c;让工作和娱乐更加愉快&#xff0c;改变你的电脑指针光标皮肤可能是一个简单而有效的方法。很多人或许并不清楚如何轻松地调整电脑光标样式&#xff0c;下面我就来分享一种简单的方法。 电脑光标在系统里通常只有几种默认图案&…

SpringBoot项目通过触发器调度实现定时任务

文章目录 前言一、quartz是什么&#xff1f;二、quartz中核心概念三、集成步骤1.引入依赖2.demo样例a.定义一个任务参数实体类b.定义操作触发器、定时任务接口及实现c.作业实现d.结果截图 四、其他1.QuartzJobBean和Job区别2.注意事项3.作业&#xff08;Job&#xff09;和触发器…

飞腾D2000+复旦微 ARM+FPGA+预装麒麟 全国产化COMe模块

产品概述 COMe-D2000核心模块满足PICMG COM Express Type-6 Rev2.1标准规范&#xff0c;遵从COMe BASIC尺寸标准&#xff0c;采用加固设计方案&#xff0c;内存和SSD存储均采用板贴方式&#xff0c;增强了可靠性&#xff0c;体积也得到良好控制。COMe-F662采用国产飞腾腾锐D200…

黑马程序员——javase进阶——day11——字符流,编码表,对象流,其他流

目录&#xff1a; 编码表 思考编码表介绍编码表小结字节流读中文出现码的原码字符输出流 字符流输出介绍FileWriter的成员FileWriter写数据的步骤字符输出流练习字符输入流 字节输入流介绍FileReader的成员字符缓冲流 字符缓冲流字符缓冲流特有的功能字符缓冲流练习转换流 转换…

IO多分复用

#include<myhead.h> #define SER_PORT 8888 //服务器端口号 #define SER_IP "192.168.65.131" //服务器IPint main(int argc, const char *argv[]) {//1、创建一个套接字int sfd -1;sfd socket(AF_INET, SOCK_STREAM, 0); //参数1&#xff1a;…

MyBatis是纸老虎吗?(四)

在《MyBatis是纸老虎吗&#xff1f;&#xff08;三&#xff09;》这篇文章中我们一起梳理了MyBatis配置文件的解析流程&#xff0c;并详细介绍了其中的一些常见节点的解析步骤。通过梳理&#xff0c;我们弄清楚了MyBatis配置文件中的一些常用配置项与Java Bean之间的对应关系&a…

交叉注意力融合时域、频域特征的FFT + CNN -BiLSTM-CrossAttention电能质量扰动识别模型

往期精彩内容&#xff1a; 电能质量扰动信号数据介绍与分类-Python实现-CSDN博客 Python电能质量扰动信号分类(一)基于LSTM模型的一维信号分类-CSDN博客 Python电能质量扰动信号分类(二)基于CNN模型的一维信号分类-CSDN博客 Python电能质量扰动信号分类(三)基于Transformer…

AI浸入社交领域,泛娱乐APP如何抓住新风口?

2023年是大模型技术蓬勃发展的一年&#xff0c;自ChatGPT以惊艳姿态亮相以来&#xff0c;同年年底多模态大模型技术在国内及全球范围内的全面爆发&#xff0c;即模型能够理解并生成包括文本、图像、视频、音频等多种类型的内容。例如&#xff0c;基于大模型的文本到图像生成工具…

实战纪实 | 从接口信息泄露到RCE

打点 开局一个登录框 信息收集 发现了一处接口泄露了部分信息 不过只有支付宝密钥的信息无法扩大危害&#xff0c;此时尝试寻找了一下其他同类型系统同样的接口&#xff0c;查看一下是否泄露的信息相同 因为如果相同就说明是静态的&#xff0c;没有价值 横向收集 此时访问其…

后端系统开发之——接口参数校验

今天难得双更&#xff0c;大家点个关注捧个场 原文地址&#xff1a;后端系统开发之——接口参数校验 - Pleasure的博客 下面是正文内容&#xff1a; 前言 在上一篇文章中提到了接口的开发&#xff0c;虽然是完成了&#xff0c;但还是缺少一些细节——传入参数的校验。 即用户…

JMeter 并发测试和持续性压测详解

并发测试和持续性压测都是评估系统性能的常用方法&#xff0c;它们可以帮助开发人员发现并解决系统中的性能问题。本文来详细介绍下。 概念 并发测试&#xff1a; 旨在评估系统在同时处理多个用户请求时的性能。在这种 测试 中&#xff0c;系统会暴露于一定数量的用户负载下&…

【双指针】算法例题

目录 二、双指针 25. 验证回文数 ① 26. 判断子序列 ① 27. 两数之和II - 输入有序数组 ② 28. 盛最多水的容器 ② 29. 三数之和 ② 二、双指针 25. 验证回文数 ① 如果在将所有大写字符转换为小写字符、并移除所有非字母数字字符之后&#xff0c;短语正着读和反着读都一…

行业回暖?这个行业岗位需求飙升6倍!程序员们提前恭喜了!

前言 随着今年史上最长春节假期正式收官&#xff0c;各行各业相继进入开工节奏&#xff0c;就业市场开启持续升温模式。 今年开工首周&#xff0c;人才需求增长明显&#xff0c;求职者活跃度大大增多&#xff0c;就业市场进入了繁忙有序的节奏&#xff0c;呈现出春招市场的勃…

QT网络编程之获取本机网络信息

一.概述 查询一个主机的MAC地址或者IP地址是网络应用中常用到的功能&#xff0c;Qt提供了QHostInfo和QNetworkInterface 类可以用于此类信息的查询 1.QHostInfo 类&#xff08;显示和查找本地的信息&#xff09; 2.QNetworkInterface 类&#xff08;获得应用程序上所在主机的…

在window命令行中,使用conda创建新的虚拟环境时出现的问题以及解决办法

一.出现的问题 C:\Users\zhu>conda create -n ML python3.8 Collecting package metadata (current_repodata.json): failedCondaHTTPError: HTTP 000 CONNECTION FAILED for url <https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/win-64/current_repodata.js…