ubuntu安装carla9.14及carla使用记录

news2025/1/7 21:08:38

ubuntu18和20都可以很好的运行。不过配置需要注意一些问题罢了,我个人比较习惯20,所以就主要从ubuntu20来说。
首先听说是最好自己使用一个新的python环境来用,那就先去下载anaconda,直接去清华源下载快一些:
https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/?C=M&O=D
现在最新的版本即可
请添加图片描述
然后再下载release版本的carla
官网下载还是比较慢,去镜像下载:https://mirrors.sustech.edu.cn/help/carla.html
下载预编译版本即可。
请添加图片描述
下载的时候不要忘了下载额外的地图包AdditionalMaps_0.9.14.tar.gz

carla是可以在ubuntu20和18上使用的,但是环境不尽相同,推荐18版本使用python2.7,20版本使用python3.7。经过几天努力,终于是搞清楚了各方面的环境配置了。

额外安装的依赖内容:
先创建一个虚拟环境的conda,官方提供了2.7和3.7的东西。
conda create -n py37 python==3.7
conda activate py37

sudo apt install python3-pip
 # For Python 3
 pip3 install --upgrade pip

 # For Python 2
 pip install --upgrade pip
pip install --user pygame numpy &&
pip3 install --user pygame numpy
pip3 install carla
sudo apt-get install -y libgeographic-dev

#安装依赖库
pip3 install carla
pip3 install pygame
pip3 install numpy
pip3 install networkx
pip3 install distro
pip3 install Shapely

请添加图片描述
把地图文件复制到这个文件夹中。然后去运行自动脚本:

./ImportAssets.sh

然后安装whl,在这个文件夹下面
请添加图片描述
我们使用的是python3.7的话:

pip3 install <wheel-file-name>.whl

然后就可以运行了:

cd /opt/carla-simulator/bin/
./CarlaUE4.sh

运行一些example时应该先下载一些依赖:

cd PythonAPI/examples
python3 -m pip install -r requirements.txt

安装测试:
启动carla(低渲染),对gpu占用大幅减少(40%左右):
./CarlaUE4.sh -prefernvidia -quality-level=Low -RenderOffScreen
启动bridge
roslaunch carla_ros_bridge carla_ros_bridge.launch
启动物体布置
roslaunch carla_spawn_objects carla_spawn_objects.launch
启动控制模块
roslaunch carla_manual_control carla_manual_control.launch

服务器(主机)运行carla,笔记本运行ros-bridge:

./CarlaUE4.sh -carla-rpc-port=2000 -RenderOffScreen -graphicsadaper=1

./CarlaUE4.sh -prefernvidia -quality-level=Low -RenderOffScreen

本地运行:
python3 manual_control.py --host xx.xx.xx.xx -p 2000

官方文档:

https://carla.readthedocs.io/en/latest/

https://www.carla.org.cn/#/

https://carla.readthedocs.io/projects/ros-bridge/en/stable/

https://carla-scenariorunner.readthedocs.io/en/latest/

carla的接口信息:
carla_ros_bridge 功能包是运行基本 ROS 桥接功能所需的主要功能包。
这个包封装了操作 Carla 服务端的 API,使用户不用关心 Server 层的东西,直接通过其提供的几个ROS service 创建车辆、传感器、路灯等等各种 objects ,并对其进行了管理,同时将各类传感器数据从 Carla 格式转化为 ROS 消息 publish 出去。

发布的内容

Publications
 * /carla/actor_list [carla_msgs/CarlaActorList]
 * /carla/ego_vehicle/collision [carla_msgs/CarlaCollisionEvent]  # 本车碰撞信息
 * /carla/ego_vehicle/depth_front/camera_info [sensor_msgs/CameraInfo]
 * /carla/ego_vehicle/depth_front/image [sensor_msgs/Image]
 * /carla/ego_vehicle/dvs_front/camera_info [sensor_msgs/CameraInfo]
 * /carla/ego_vehicle/dvs_front/events [sensor_msgs/PointCloud2]
 * /carla/ego_vehicle/dvs_front/image [sensor_msgs/Image]
 * /carla/ego_vehicle/gnss [sensor_msgs/NavSatFix]         # GPS信息
 * /carla/ego_vehicle/imu [sensor_msgs/Imu]				  # IMU信息
 * /carla/ego_vehicle/lane_invasion [carla_msgs/CarlaLaneInvasionEvent]
 * /carla/ego_vehicle/lidar [sensor_msgs/PointCloud2]      # 激光雷达点云数据
 * /carla/ego_vehicle/objects [derived_object_msgs/ObjectArray]
 * /carla/ego_vehicle/odometry [nav_msgs/Odometry]      # 里程话题包含,定位信息,速度信息;
 * /carla/ego_vehicle/radar_front [sensor_msgs/PointCloud2]
 * /carla/ego_vehicle/rgb_front/camera_info [sensor_msgs/CameraInfo]
 * /carla/ego_vehicle/rgb_front/image [sensor_msgs/Image]
 * /carla/ego_vehicle/rgb_view/camera_info [sensor_msgs/CameraInfo]
 * /carla/ego_vehicle/rgb_view/image [sensor_msgs/Image]    # 第三视角图像信息
 * /carla/ego_vehicle/semantic_lidar [sensor_msgs/PointCloud2]
 * /carla/ego_vehicle/semantic_segmentation_front/camera_info [sensor_msgs/CameraInfo]
 * /carla/ego_vehicle/semantic_segmentation_front/image [sensor_msgs/Image]
 * /carla/ego_vehicle/speedometer [std_msgs/Float32]
 * /carla/ego_vehicle/vehicle_info [carla_msgs/CarlaEgoVehicleInfo]
 * /carla/ego_vehicle/vehicle_status [carla_msgs/CarlaEgoVehicleStatus]
 * /carla/map [std_msgs/String]
 * /carla/markers [visualization_msgs/MarkerArray]   # 场景物体的marker(默认只有本车和其它可运动车辆)
 * /carla/markers/static [visualization_msgs/MarkerArray]
 * /carla/objects [derived_object_msgs/ObjectArray]
 * /carla/status [carla_msgs/CarlaStatus]
 * /carla/traffic_lights/info [carla_msgs/CarlaTrafficLightInfoList]
 * /carla/traffic_lights/status [carla_msgs/CarlaTrafficLightStatusList]
 * /carla/world_info [carla_msgs/CarlaWorldInfo]
 * /clock [rosgraph_msgs/Clock]
 * /rosout [rosgraph_msgs/Log]
 * /tf [tf2_msgs/TFMessage]   # 本车ego_vehicle与map,已经本车传感器的tf关系;

接受的内容

Subscriptions
 * /carla/control [carla_msgs/CarlaControl]
 * /carla/debug_marker [visualization_msgs/MarkerArray]   # 可将marker显示到carla环境中;
 * /carla/ego_vehicle/control/set_target_velocity [geometry_msgs/Twist]    # 控制ego_vehicle按照此速度运动(不受运动学约束)
 * /carla/ego_vehicle/control/set_transform [unknown type]
 * /carla/ego_vehicle/enable_autopilot [std_msgs/Bool]     # 使能自动驾驶(时能后,本车漫无目的运动,会避免碰撞并遵守交通规则)
 * /carla/ego_vehicle/rgb_view/control/set_target_velocity [unknown type]
 * /carla/ego_vehicle/rgb_view/control/set_transform [unknown type]
 * /carla/ego_vehicle/vehicle_control_cmd [carla_msgs/CarlaEgoVehicleControl]   # 非手动模式的控制量(油门\刹车\方向盘)
 * /carla/ego_vehicle/vehicle_control_cmd_manual [carla_msgs/CarlaEgoVehicleControl] # 手动控制量
 * /carla/ego_vehicle/vehicle_control_manual_override [std_msgs/Bool]  # 是否启用手动控制
 * /carla/weather_control [unknown type]   # 场景天气
 * /clock [rosgraph_msgs/Clock]

服务接受内容:

Services
 * /carla/destroy_object
 * /carla/get_blueprints
 * /carla/spawn_object
 * /carla_ros_bridge/get_loggers
 * /carla_ros_bridge/set_logger_level

规控接口:

1.carla_ackerman_control

订阅
/carla/ego_vehicle/vehicle_info;
/carla/ego_vehicle/vehicle_status;

发布
/carla/ego_vehicle/vehicle_control_cmd;

内部原理
该模块根据ackerman指令,生成控制车辆底盘的油门\刹车\档位\手刹等量;

方向盘控制
output.steer = target.streering_angle/max_steering_angle;(归一化)
输出的方向盘控制量为归一化的值;

停车与档位控制
(1) 若 current_speed_abs < 0.1: (在低速下执行换挡与手刹动作)
if target_speed_abs < 0.001: 手刹;
else if target_speed > 0: D档;
else : R档位;
(2) 当实际车速与目标车速正负相反时:设定参考车速为0(通过控制回路执行减速);

速度控制回路
若ackerman指令有加速度,则直接利用此加速度信息作为输出:acc_target = acc_from_ackerman;
否则,执行速度调节:
acc_delta = PID(reference_speed, current_speed);
acc_target = acc_target + acc_delta;

加速度控制回路
根据目标加速度和实际加速度的差值,通过PID调节,计算出油门刹车开度值的增量;
pedal_delta = PID(acc_target, acc_feedback);
pedal_target = pedal_target + pedal_delta;

底盘控制量生成
将开度值分成了三个等级:油门踏板输出,油门与刹车都不输出,刹车踏板输出;
若 pedal_target > throttle_lower_border:
throttle = pedal_target - throttle_lower_border;
brake = 0.0;
若 brake_upper_border <= pedal_target <= throttle_lower_border:
throttle = 0.0;
brake = 0.0;
若 pedal_target < brake_upper_border:
throttle = 0.0;
brake = brake_upper_border - pedal_target;

2.carla_ad_agent

在此ros包中有两个节点:
carla_ad_agent,根据红绿灯控制车辆的目标速度;
local_planner,生成控制车辆运动的底盘指令;

3.local_planner

在参考路径上选择前瞻点,根据前瞻点与实际位置做横纵向的运动控制;

寻找前瞻点
在参考路径上寻找车前s=current_speed*look_ahead_time处的路径点goal_waypoint;

4.横纵向运动控制

纵向控制:控制车辆速度
根据车辆目标速度和实际速度,生成油门刹车开度值;
pedal_target = PID(target_speed, current_speed);
横向控制:控制方向盘转角
根据车辆朝向与前瞻点夹角的角度差值,调节方向盘转角输出值;
v_vec = [ cos(current_yaw), sin(current_yaw) ];
w_vec = [ goal_waypoint.x - current_x, goal_waypoint.y - current_y ];
theta_error = acos(v_vec, w_vec) * sign(v_vec X w_vec );
steering_target = PID(theta_error);

fist-time:运行carla-ros-bridge:

roslaunch carla_ros_bridge carla_ros_bridge.launch
roslaunch carla_ros_bridge carla_ros_bridge_with_example_ego_vehicle.launch

这两个不能同时启动哦。
这两个是典型的例子,所以先从这两个文件入手,第一个是配置carla的参数使用的,里面的内容为:

<!-- -->
<launch>
  <!-- global parameter to set CARLA as time source -->
  <param name="use_sim_time" value="True"/>

  <!-- the network connection for the python connection to CARLA -->
  <arg name='host' default='localhost'/>
  <arg name='port' default='2000'/>
  <arg name='timeout' default='2'/>
  <!-- 
    enable/disable synchronous mode. If enabled ros-bridge waits until
    expected data is received for all sensors
  -->
  <arg name="passive" default='False'/>
  <arg name='synchronous_mode' default='True'/>
  <arg name='synchronous_mode_wait_for_vehicle_control_command' default='False'/>
  <!-- set the fixed timestep length -->
  <arg name='fixed_delta_seconds' default='0.05'/>
  <arg name='town' default='Town01'/>
  <!-- enable/disable the registration of all sensors. If disabled, only sensors
  spawned by the bridge are registered -->
  <arg name='register_all_sensors' default='True'/>
  <!-- 
    the role name of the vehicles that acts as ego vehicle for this ros bridge instance
    Only the vehicles within this list are controllable from within ROS.
    (the vehicle from CARLA is selected which has the attribute 'role_name' set to this value)
  -->
  <arg name='ego_vehicle_role_name' default='["hero", "ego_vehicle", "hero0", "hero1", "hero2", "hero3", "hero4", "hero5", "hero6", "hero7", "hero8", "hero9"]'/>
      
  <node pkg="carla_ros_bridge" name="carla_ros_bridge" type="bridge.py" output="screen" required="true">
    <param name="host" value="$(arg host)" unless="$(eval host == '')"/>
    <param name="port" value="$(arg port)" unless="$(eval port == '')"/>
    <param name="timeout" value="$(arg timeout)" unless="$(eval timeout == '')"/>
    <param name="passive" value="$(arg passive)"/>
    <param name="synchronous_mode" value="$(arg synchronous_mode)"/>
    <param name="synchronous_mode_wait_for_vehicle_control_command" value="$(arg synchronous_mode_wait_for_vehicle_control_command)"/>
    <param name="fixed_delta_seconds" value="$(arg fixed_delta_seconds)"/>
    <param name="register_all_sensors" value="$(arg register_all_sensors)"/>
    <param name="town" value="$(arg town)"/>
    <param name="ego_vehicle_role_name" value="$(arg ego_vehicle_role_name)"/>
  </node>
</launch>

1.use_sim_time:这应该被设置为 True ,以确保 ROS 使用的是 CARLA 仿真时间而不是系统时间。这个参数将使 ROS 的 /clock topic 与 CARLA 的仿真时间同步;

2.host and port: 使用 Python 客户端连接到 CARLA 的网络设置;

3.timeout:等待与服务器成功连接的时间;

4.passive:passive 模式用于同步模式。当启用时, ROS Bridge 接将处于次要地位,必须有另一个客户端与世界联系。 ROS Bridge 将等待所有传感器接收所有预期数据;

5.town:既可以使用 CARLA 地图 (eg. ‘town01’) 或者 OpenDRIVE 格式地图文件 (ending in .xodr);

6.ego_vehicle_role_name:用于识别主车辆的角色名称,相关的主题将被创建,以便这些车辆能够被 ROS 控制;

7.register_all_sensors :

false: 只注册 Bridge 产生的传感器
true (default):仿真中所有的传感器都会被注册
8.synchronous_mode:
如果为 false :数据发布在每个 world.on_tick() 和每个 sensor.listen() 回调上;
如果为 true (默认):ROS Bridge 等待下一个 tick 之前所有的传感器消息。这可能会降低整个模拟的速度,但可以确保结果的可重复性;
9.synchronous_mode_wait_for_vehicle_control_command :在同步模式下,暂停 tick,直到完成车辆控制;
10.fixed_delta_seconds :仿真步骤之间的仿真时间(增量秒)。它必须小于0.1。这个参数很重要,因为它会跟你设置的传感器频率关联,如果不能理解这个参数,后续传感器频率的配置以及传感器同步都会出问题。

车辆控制测试:
启动carla(低渲染),对gpu占用大幅减少(40%左右):
./CarlaUE4.sh -prefernvidia -quality-level=Low -RenderOffScreen
启动bridge
roslaunch carla_ros_bridge carla_ros_bridge.launch
启动物体布置
roslaunch carla_spawn_objects carla_spawn_objects.launch
启动控制模块
roslaunch carla_manual_control carla_manual_control.launch

参考:
Carla安装与使用及ros-bridge

ROS Bridge 笔记(02)— carla_ros_bridge 功能包(准备 ROS环境、运行 ROS Bridge、配置 CARLA 参数、同步模式下使用 ROS Bridge、主车辆控制)

Ubuntu20.04 Carla安装以及ros-bridge控制

【carla】ubuntu20.04 编译carla-ros-bridge 安装过程、报错及其解决方法

Conda虚拟环境下libp11-kit.so.0: undefined symbol: ffi_type_pointer…问题解决

源码安装的:
自动驾驶ros-carla规控算法设计+测试全记录[安装已完结,实验测试中]

我还是很想要在ubuntu18上使用python3.7的ros-bridge的:
Carla 0.9.13 与ROS bridge安装记录
CARLA-ROS联合仿真环境搭建

CARLA_autoware的配置流程(二)CARLA 与 ROS1 的联合

Carla基础 | Carla预编译版安装与ROS联合仿真图文教程

Ubuntu18.04安装carla0.9.9 & UE4.24踩坑版

Carla学习笔记(二)服务器跑carla,本地运行carla-ros-bridge并用rviz显示

windows也可以用这样的驾驶模拟
Carla自动驾驶仿真一:快速安装与运行Carla

我很喜欢这个表格的样式
请添加图片描述
这个插件比较好看:
请添加图片描述
最开始安装carla的参考:
ubuntu安装carla0.9.14打包版+编译版教程

问题排除部分:
1.ros原生python环境与conda环境的区别
ros自带的python一般比较固定,主要就是python2.7和python3.6
这个环境又和whl和egg有一些关系,carla额外需要的whl一般是通过pip直接下载到虚拟环境中去,然后我们需要再ros-bridge中声明carla的相关环境。
2.ros-bridge要再conda中还是原生环境中编译
原生环境即可
并且由于涉及rosdep,需要能够rosdep init不超时,所以就用小鱼的rosdepc即可(这个就好像是把依赖给提前准备好了,然后通过rosdepc来安装就是了。)

wget http://fishros.com/install -O fishros && . fishros

3.编译通过了之后在conda中运行还是原生环境
conda环境
一般conda都是为了python3来的,所以肯定就是python3.7了,在这里面同样需要先去下载requirements.txt
pip install -r requirement.txt即可
可能还需要这些内容
pip install carla
pip install transforms3d
pip install pyyaml
pip install numpy
pip install opencv-python
pip install pygame

else:
需要再原生环境也要下载一些内容才行!!!,这个很奇怪,但是是必须的。
现在已知需要下载的内容包括:
pip install pygame PyYAML rospkg rospkg rospy catkin_tools transforms3d

遇到carla版本不对应,一般是CARLA_VERSION没有修改:
一般在这个位置去修改,修改成相应的版本即可
gedit /home/moresweet/ROS_WS/calar-ros-bridge/src/ros-bridge/carla_ros_bridge/src/carla_ros_bridge/CARLA_VERSION

到这基本上就没有什么运行的问题了,接下来就是使用carla进行算法开发了:
包括强化学习
联合仿真测试之:roadrunner carsim autoware等等

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

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

相关文章

CentOS快速安装Docker(腾讯镜像源)

这里是引用"> 1、卸载旧版本的 Docker yum list installed | grep docker yum -y remove docker-ce-cli.x86_64 yum -y remove docker-ce.x86_64 yum -y remove containerd.io2、安装相关依赖 yum install -y yum-utils device-mapper-persistent-data lvm23、添加 …

js基础-小数计算,并转换成带两位的百分比

小数计算&#xff0c;并转换成带两位的百分比 1、需求说明2、执行过程2.1 计算 s12.2 计算 s2 1、需求说明 在工作中&#xff0c;有时需要将计算的小数转换成百分比小数&#xff0c;但是在js代码中&#xff0c;计算公式一点点的区别就会影响到最终的结果&#xff0c;如下面代码…

下载仓颉sdk安装时遇到“无法运行”问题

图1. 社区地址&#xff1a;GitCode - 全球开发者的开源社区,开源代码托管平台 在GitCode社区中下载Cangjie-0.53.4-windows_x64的sdk后&#xff0c;双击安装时遇到“此应用无法在你的电脑上运行的问题” 经过反复排查后&#xff0c;确定是sdk直接下载有问题&#xff1b;‘需要…

《电脑与电信》是什么级别的期刊?是正规期刊吗?能评职称吗?

​问题解答 问&#xff1a;《电脑与电信》是不是核心期刊&#xff1f; 答&#xff1a;不是&#xff0c;是知网收录的第一批认定学术期刊。 问&#xff1a;《电脑与电信》级别&#xff1f; 答&#xff1a;省级。主管单位&#xff1a;广东省科学技术厅 主办单位&#xff1a…

解决C#读取US7ASCII字符集oracle数据库的中文乱码

&#x1f468; 作者简介&#xff1a;大家好&#xff0c;我是Taro&#xff0c;全栈领域创作者 ✒️ 个人主页&#xff1a;唐璜Taro &#x1f680; 支持我&#xff1a;点赞&#x1f44d;&#x1f4dd; 评论 ⭐️收藏 文章目录 前言一、解决方法二、安装System.Data.OleDb连接库三…

vue 实现下拉框的数据是树状结构

页面显示效果 vue实现代码 <el-form-item label"公司名称" prop"comName"><el-select ref"select" v-model"queryParams.comName" placeholder"请选择公司名称" clearable size"small"change"handl…

FastAPI 学习之路(五十)WebSockets(六)聊天室完善

我们这次只是对于之前的功能做下优化&#xff0c;顺便利用下之前的操作数据的接口&#xff0c;使用下数据库的练习。 在聊天里会有一个上线的概念。上线要通知大家&#xff0c;下线也要通知大家谁离开了&#xff0c;基于此功能我们完善下代码。 首先&#xff0c;我们的登录用…

昇思25天学习打卡营第二天|初学入门/初学教程/03-张量

心得 补充一些基本知识帮助理解张量这个比较理论的概念&#xff1a; 张量&#xff08;tensor&#xff09;理论是数学的一个分支学科&#xff0c;在力学中有重要应用。张量这一术语起源于力学&#xff0c;它最初是用来表示弹性介质中各点应力状态的&#xff0c;后来张量理论发…

《后端程序员 · Nacos 常见配置 · 第一弹》

&#x1f4e2; 大家好&#xff0c;我是 【战神刘玉栋】&#xff0c;有10多年的研发经验&#xff0c;致力于前后端技术栈的知识沉淀和传播。 &#x1f497; &#x1f33b; CSDN入驻不久&#xff0c;希望大家多多支持&#xff0c;后续会继续提升文章质量&#xff0c;绝不滥竽充数…

windows系统安装nacos

1、github下载nacos并解压。 https://github.com/alibaba/nacos 2、启动nacos: 进入bin目录&#xff0c;打开命令行,然后输入命令&#xff1a; startup.cmd -m standalone2.1 如何直接启动 修改bin目录下的startup.cmd启动文件&#xff0c;修改为&#xff1a;MODE“standalone…

Jenkins安装nodeJs环境

首先插件市场安装nodeJS插件&#xff0c;我这里已经安装了&#xff0c;没安装的话在 Available plugins 中搜索安装 安装完成后需要下载需要的nodejs版本 新增完成就可以在构建的时候选择当前版本号了

Kafka Producer发送消息流程之分区器和数据收集器

文章目录 1. Partitioner分区器2. 自定义分区器3. RecordAccumulator数据收集器 1. Partitioner分区器 clients/src/main/java/org/apache/kafka/clients/producer/KafkaProducer.java&#xff0c;中doSend方法&#xff0c;记录了生产者将消息发送的流程&#xff0c;其中有一步…

Mongodb数组字段索引之多键索引

学习mongodb&#xff0c;体会mongodb的每一个使用细节&#xff0c;欢迎阅读威赞的文章。这是威赞发布的第92篇mongodb技术文章&#xff0c;欢迎浏览本专栏威赞发布的其他文章。如果您认为我的文章对您有帮助或者解决您的问题&#xff0c;欢迎在文章下面点个赞&#xff0c;或者关…

跨境电商小白0-1教程,跨境电商新手开店教程

跨境电商新纪元&#xff0c;新手开店秘籍大公开&#xff01;&#x1f680; 还在为跨境电商的浩瀚海洋感到迷茫&#xff1f;别怕&#xff0c;从0到1的开店之旅&#xff0c;我们为你精心铺设了每一步&#xff01;&#x1f463; 无论你是完全的新手跨境小白&#xff0c;还是对未来…

【雷丰阳-谷粒商城 】【分布式高级篇-微服务架构篇】【23】【订单服务】

持续学习&持续更新中… 守破离 【雷丰阳-谷粒商城 】【分布式高级篇-微服务架构篇】【23】【订单服务】 订单中心订单信息用户信息订单基础信息商品信息优惠信息支付信息物流信息 订单状态订单流程订单创建与支付逆向流程 订单确认页Feign远程调用丢失请求头问题Feign异步…

Qt第十一章 其他控件

其他控件 文章目录 其他控件按钮组项目小部件输入控件显示控件容器 按钮组 命令链接按钮 对话框按钮盒子 添加基础按钮 改变排列方向 项目小部件 列表控件List Widget 也可以通过代码添加 // 添加ui->listWidget->addItem("你好啊");ui->listWidge…

数据链路层重点协议

目录 一、以太网 二、MTU 1、MTU对IP协议的影响 2、MTU对UDP的影响 3、MTU对TCP协议的影响 三、ARP协议 1、作用&#xff1a;建立主机IP地址和MAC地址的映射关系 2、工作流程 一、以太网 以太网不是一种具体的网络&#xff0c;而是一种技术标准。既包含了数据链路层的…

数据库第9

安装redis&#xff0c;启动客户端、验证 C:\Windows\System32>redis-cli string类型数据的命令操作&#xff1a; 设置键值 set k1 12 读取键值 get k1 ​ 数值类型自增1 incr k1 数值类型自减1 decr k1 查看值的长度 STRLEN k1 list类型数据的命令操作&#xff1a; &#x…

[MySQL][内置函数][日期函数][字符串函数][数学函数]详细讲解

目录 1.日期函数1.基础语法2.示例13.示例2 2.字符串函数1.基础语法2.示例 3.数学函数1.基础语法2.示例 4.其他函数 1.日期函数 1.基础语法 日期时间在MYSQL中是区分开的 日期&#xff1a;年月日时间&#xff1a;时分秒 获得年月日select current_date();----------------| cur…

Open3D 最小二乘法拟合点云平面

目录 一、概述 1.1最小二乘法原理 1.2实现步骤 1.3应用场景 二、代码实现 2.1关键函数 2.2完整代码 三、实现效果 3.1原始点云 3.2matplotlib可视化 3.3平面拟合方程 前期试读&#xff0c;后续会将博客加入该专栏&#xff0c;欢迎订阅 Open3D点云算法与点云深度学习…