1.简介前两节介绍的车辆模型 未能考虑车辆的操纵稳定性,或者说只能体现车辆横摆稳定性鉴于无人驾驶车辆的操纵稳定性需要综合考虑车辆的 横摆稳定性 和 侧倾稳定性因此建立 横摆、侧滑和侧倾综合等效约束 的车辆动力学模型十分重要 2.模型受力分析考虑车辆的侧倾运动,建立横摆、侧滑和侧倾综合等效约束的车辆动力学模型受力分析如图:根据牛顿第二定律,分别得到车辆沿 y轴的受力平衡方程以及车辆绕 z轴和 x轴的
1. 进一步简化 点质量车辆动力学模型忽略了车辆的尺寸信息以及由横、纵向加速度引起的载荷转移用一个带质量的点来描述车辆运动,是对车辆单轨模型的进一步简化通常用于无人驾驶车辆的路径规划阶段,可以有效地降低轨迹规划的计算量 点质量车辆动力学模型在惯性坐标系中的运动方程和受力平衡可以表示为: 其中,车辆在纵向上受到阻力的合力F_{dissp} = ma_d 2. 摩擦圆约束 对于无人驾驶车辆点质量
1.车辆横摆动力学模型简化车辆横摆动力学模型是无人驾驶车辆路径跟踪控制中常用的模型之一但是在 《车辆运动控制(2)车辆横摆动力学建模》 中根据单轨模型分析得到2自由度的车辆横摆动力学微分方程:对于模型预测控制器的设计来说还是过于复杂,因此需要对其进行进一步简化 1.1 小角度假设此时,式(21) 所表示的车辆动力学模型的非线性特征主要来自轮胎非线性区的轮胎力表达可以使用《车辆运动控制(3)轮胎模型
1. 简介 在 《车辆运动控制(2)车辆横摆动力学建模》 中根据单轨模型分析得到2自由度的车辆横摆动力学微分方程: 其中,F_{yf},F_{yr}车辆前、后轴上轮胎侧向力的合力还需要进一步通计算而得 在车辆的运动过程中轮胎所受的纵向力、侧向力、垂直力及回正力矩对汽车的操纵稳定性和安全性起着重要作用由于轮胎结构复杂,动力学性能呈非线性选择符合实际又便于使用的轮胎模型是建立车辆动力学模型的关键
1.简介车辆运动规划与控制需要通过对车辆运动学或者动力学系统的控制来实现如果规划阶段能够考虑车辆 运动学和动力学约束,那么运动跟踪控制性能会更好 车辆在地面运动的动力学过程是非常复杂的,为了尽量准确描述车辆运动,需要建立复杂的微分方程组,并用多个状态变量来描述其运动 用于模型预测控制的模型只要能够表现出车辆运动学与动力学约束,就可以使模型预测控制器实现预定控制目的特别是在规划阶段,为了保证规划算法
1. 简介 车辆整车动力学模型一般包括用于分析: 车辆 平顺性 的 质量-弹簧-阻尼模型 车辆 操纵稳定性 的 车辆-轮胎模型两者研究的侧重点不同平顺性分析的重点是车辆的悬架特性而车辆操纵稳定性分析的重点是车辆纵向及侧向动力学特性 主要研究目标是使 车辆快速而稳定地跟踪期望路径,属于车辆操纵稳定性问题因此对于悬架特性不做深人探究 2. 假设条件 这里所建立的动力学模型主要是作为模型预测控制
1. 源码准备 在很早之前,在 《深度学习笔记(40) YOLO》 提及到 YOLO 目标检测 目前已经出到了 YOLOv5,源码放在 Github 上 $ git clone https://github.com/ultralytics/yolov5 然后就进入该文件夹,安装依赖包 $ cd yolov5 $ pip3 install -r requirements.txt 安装好依赖后
1. 数据配置 1.1. 工具安装 Labelimg 是一款开源的数据标注工具,可以标注三种格式: VOC标签格式,保存为xml文件 yolo标签格式,保存为txt文件 createML标签格式,保存为json格式安装也比较简单: $ pip3 install labelimg -i https://pypi.tuna.tsinghua.edu.cn/simple 1.2. 数据准备
ROS2 入门应用 工作空间 1. 创建 2. 检查 3. 编译 4. 加载 1. 创建 前提条件是在ROS2的环境下,即有: source /opt/ros/humble/setup.bash 或者已经按《ROS2官网安装教程补充》写入~/.bashrc echo "source /opt/ros/humble/setup.bash" >&
ROS2 基础概念 节点 1. Nodes 2. 重映射 3. 环境设置 3.1. ROS_DOMAIN_ID 3.2. ROS_LOCALHOST_ONLY 1. Nodes 每个节点应负责单个模块用途(例如,一个节点用于控制车轮电机,一个用于控制激光测距仪等)可以通过话题、服务、操作或参数向其他节点发送和接收数据 启动海龟及其遥控节点
ROS2 基础概念 服务 1. Services 2. 服务 3. 服务类型 4. 查找服务 5. 服务请求 1. Services 服务基于 请求-应答 模型,而不是话题的 发布-订阅 模型虽然话题允许节点订阅数据流并获得持续更新,但服务 仅在客户端专门调用时提供数据 指令 功能 ros2 service call
ROS2 基础概念 参数 1. Parameters 2. 参数 3. 参数查看 4. 参数设置 5. 参数保存 6. 参数加载 1. Parameters 指令 功能 ros2 param delete /node parameter 删除参数值 ros2 param describe /node paramet
ROS2 基础概念 话题 1. Topics 2. rqt_graph 3. 话题 4. 话题类型 5. 话题发布 6. 话题频率 1. Topics 话题是节点交换消息的总线节点可以向任意数量的话题发布数据,并同时订阅任意数量的话题 指令 功能 ros2 topic bw /topic 显示话题所使用的带宽
ROS2 基础概念 动作 1. Actions 2. 动作 3. 中止目标 4. 动作类型 5. 动作请求 1. Actions Actions 动作是ROS 2中的通信类型之一,适用于长时间运行的任务它们由三部分组成:目标、反馈 和 结果,操作基于话题和服务它们的功能类似于服务,只是可以取消操作;还提供稳定的反馈(话题),而不是返回单一响应的服务 操作使用客户
ROS2 入门应用 创建启动文件(C++) 1. 创建功能包 2. 添加依赖关系 3. 添加编译信息 4. 创建启动文件 4.1. Python 4.2. XML 4.3. YAML 5. 编译和运行 1. 创建功能包 用Python、XML或YAML编写的启动文件可以启动和停止不同的节点,以及触发和处理各种事件提供这个框架的包是launch_r
目标检测 YOLOv5 使用入门 1. 源码准备 2. 例子 3. 运行 1. 源码准备 在很早之前,在 《深度学习笔记(40) YOLO》 提及到 YOLO 目标检测 目前已经出到了 YOLOv5,源码放在 Github 上 $ git clone https://github.com/ultralytics/yolov5 然后就进入该文件
目标检测 YOLOv5 训练操作 1. 数据配置 1.1. 工具安装 1.2. 数据准备 1.2.1. 建立文件夹和基础文件 1.2.2. 编辑类别种类 1.2.3. 放置标注图片 1.3. 数据标注 1.4. 数据转换 1.5. 修改配置
OpenCV 透视变换 简介 仿射变换 2.1. 平移 2.2. 旋转 2.3. 放缩 2.4. 错切 2.5. 仿射变换 透视变换 简介 汽车的360度全景影像,从拍照视角变成鸟瞰图 在这里插入图片描述这种变换常常用到透视变换在了解透视变换前,需要了解一下其他的变换,包括 平移,旋转,放缩,错切,以及仿射变换
语义分割 FCN-DenseNet 应用入门 简介 源码 数据集3.1 开源数据集3.2 自定义数据集3.2.1 建立数据集文件夹3.2.2 标注3.2.3 转化 训练 验证 1. 简介 在计算机视觉领域,语义分割指的是将数字图像细分为多个图像子区域的过程语义分割的目的是简化或改变图像的表示形式,使得图像更容易理解和分析语义分割通常用于定位图像中的物体和边界(线,曲线等)更精
简介 源码 数据集3.1. 开源数据集3.2. 建立数据集文件夹3.3. 数据格式统一 网络结构 训练 预测 1. 简介 这里采用了一个在图像分割领域比较熟知的U-Net网络结构是一个基于FCN做改进后的一个深度学习网络包含下采样(编码器,特征提取)和上采样(解码器,分辨率还原)两个阶段,因模型结构比较像U型而命名为U-Net 2. 源码 根据
ROS2 入门应用 请求和应答(C++) 1. 创建功能包 2. 创建源文件 2.1. 服务端 2.2. 客户端 3. 添加依赖关系 4. 添加编译信息 4.1. 添加搜索库 4.2. 增加可执行文件 4.3. 增加可执行文件位置 5. 编译和运行 1. 创建功能包 在《ROS2 入门应用 工作空间》中已创建和加载了ros2_ws
ROS2 入门应用 请求和应答(Python) 1. 创建功能包 1. 创建功能包 2. 创建源文件 2.1. 服务端 2.2. 客户端 3. 添加依赖关系 4. 添加入口点 5. 编译和运行 1. 创建功能包 1. 创建功能包 在《ROS2 入门应用 工作空间》中已创建和加载了ros2_ws工作空间在《ROS2 入门应用 元功能包(C++)》中已
ROS2 入门应用 创建自定义接口 1. 创建功能包 2. 创建自定义 2.1. 自定义消息 2.2. 自定义服务 2.3. 自定义动作 3. 添加依赖关系 4. 添加编译信息 4.1. 添加搜索库 4.2. 生成接口 5. 编译和查看 1. 创建功能包 在《ROS2 入门应用 发布和订阅(C++)》和《ROS2 入门应用 发布和订阅(Python)》中
ROS2 入门应用 引用自定义服务(C++) 1. 查看自定义服务 2. 修改服务应答 3. 修改服务请求 4. 修改依赖关系 5. 修改编译信息 6. 编译和运行 1. 查看自定义服务 引用在《ROS2 入门应用 创建自定义接口》中自定义的服务AddThreeInts.srv ros2 interface show tutorial_interfaces/s
ROS2 入门应用 发布和订阅(Python) 1. 创建功能包 2. 创建源文件 2.1. 话题发布 2.2. 话题订阅 3. 添加依赖关系 4. 添加入口点 5. 编译和运行 1. 创建功能包 在《ROS2 入门应用 工作空间》中已创建和加载了ros2_ws工作空间在《ROS2 入门应用 元功能包(Python)》中已创建和加载了my_package功
ROS2 入门应用 发布和订阅(C++) 1. 创建功能包 2. 创建源文件 2.1. 话题发布 2.2. 话题订阅 3. 添加依赖关系 4. 添加编译信息 4.1. 添加搜索库 4.2. 增加可执行文件 4.3. 增加可执行文件位置 5. 编译和运行 1. 创建功能包 在《ROS2 入门应用 工作空间》中已创建和加载了ros2_ws工作空间在《ROS2
ROS2 入门应用 引用自定义消息(C++) 1. 查看自定义消息 2. 修改话题发布 3. 修改话题订阅 4. 修改依赖关系 5. 修改编译信息 6. 编译和运行 1. 查看自定义消息 引用在《ROS2 入门应用 创建自定义接口》中自定义的消息Sphere.msg ros2 interface show tutorial_interfaces/msg/Sphere
ROS2 入门应用 元功能包(C++) 1. 基本文件 2. 创建 3. 编译 1. 基本文件 使用官方支持的CMake创建功能包,需要一些基本文件: package.xml :包含功能包的元信息的清单文件 CMakeLists.txt :编译文件 最简单的文件夹可能就是: my_package/ CMakeLists.txt
ROS2 入门应用 元功能包(Python) 1. 基本文件 2. 创建 3. 编译 1. 基本文件 使用官方支持的Python创建功能包,需要一些基本文件: package.xml :包含功能包的元信息的清单文件 setup.py:包含如何安装软件包的说明 setup.cfg:包含可执行文件 /<package_name> :与功能包同名
ROS2 入门应用 引用自定义消息(Python) 1. 查看自定义消息 2. 修改话题发布 3. 修改话题订阅 4. 修改依赖关系 5. 编译和运行 1. 查看自定义消息 引用在《ROS2 入门应用 创建自定义接口》中自定义的消息Sphere.msg Sphere.msg ros2 interface show tutorial_interfaces
积分
粉丝
勋章
TA还没有专栏噢
第三方账号登入
看不清?点击更换
第三方账号登入
QQ 微博 微信