自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

赵虚左

传道授业解惑,愿更多人一同加入到机器人行业中

  • 博客(174)
  • 收藏
  • 关注

转载 自动驾驶之Carla_ROS_Bridge

主要功能是生成Carla仿真器中的主要可控车辆,加载配置参数文件config/sensors/json还会触发carla_ego_vehicle.py,主要包括Carla_ego_vehicle 类:• 该类是脚本的核心,用于管理生成ego_vehicle和其对应的传感器。• 初始化生成AD车的位置,设置蓝图等。在自动驾驶仿真中,Carla_ROS_Bridge是一个关键工具,就像其名字一样,它是一个桥,连接Carla模拟器与第三方自动驾驶程序,如Autoware和Apollo,实现联合仿真。

2024-11-07 20:49:13 282

转载 自动驾驶之仿真测试

交通场景仿真是构建自动驾驶仿真系统的重要保障。1.激光雷达仿真思路:激光雷达通过激光发射器将生成的激光光束向外发出,通过伺服电机与反光镜后,激光光束将被反射到各个方向,反射到周围环境中的激光会一直往前飞行,当激光在飞行途中与障碍物相交时,会触发激光产生折射或反射等现象,而反射的部分激光会原路返回至雷达的激光接收模块,最后通过计算单元解析生成点云数据。根据被测对象的不同,自动驾驶仿真平台实可分为:模型在环(MIL)、软件在环(SIL)、硬件在环(HIL)、驾驶员在环(DIL)以及车辆在环(VIL)。

2024-11-05 18:41:31 381

转载 结构化道路下强化学习自动驾驶技术研究综述

对结构化道路环境下基于强化学习的自动驾驶技术进行综合评述。首先介绍了强化学习的基本原理;随后讨论了基于视觉和非视觉的感知信息表征方法在强化学习任务上的作用;接着从强化学习在自动驾驶中的作用角度出发,划分为基于强化学习的决策规划和决策控制两个层面,针对不同层面,依附主要研究场景,讨论具体强化学习应用方法;最后对研究现状以及该新技术带来的新问题进行总结。

2024-10-25 19:11:06 204

转载 自动驾驶汽车的物体跟踪:卡尔曼滤波器背后的直观理解和数学原理

通过将概率曲线相乘,我们可以找到预测一致的地方,从而强化最终的预测。如果我们的信念很强(日本子弹头列车的时刻表),而测量值很弱,则最终预测(下面的黑色曲线)将类似于我们信念的概率曲线。相反,如果测量准确,但我们不确定我们的信念,则最终预测将类似于测量值。左边是我们的信念,右边是 GPS 测量。您已经摆脱了繁琐的符号,这就是我们使用卡尔曼滤波器进行更好的状态估计的方法。为了简化我们的说明,我们假设我们的汽车仅沿 x 轴移动。由于估计状态(更新前)和测量都是高斯分布的,因此最终的估计状态也是高斯分布的。

2024-10-18 10:19:23 190

转载 自动驾驶算法——端到端自动驾驶:挑战与前沿

摘要---自动驾驶社区见证了采用端到端算法框架的方法的快速增长,利用原始传感器输入来生成车辆运动计划,而不是专注于检测和运动预测等单个任务。与模块化管道相比,端到端系统受益于感知和规划的联合特征优化。由于大规模数据集的可用性、闭环评估以及对自动驾驶算法在具有挑战性的场景中有效执行的日益增长的需求,该领域蓬勃发展。在本次调查中,我们对 270 多篇论文进行了全面分析,涵盖了端到端自动驾驶的动机、路线图、方法、挑战和未来趋势。我们深入研究了几个关键挑战,包括多模态性、可解释性、因果混淆、稳健性和世界模型

2024-10-15 20:07:18 2043

转载 面向预期功能安全的 NOP 巡航车速控制性能优化方法

声明:本文为学习所用,若有转载文章或图片侵犯了您的合法权益,请作者私信或留言,我们将及时更正、删除,谢谢。

2024-10-12 18:22:28 53

转载 自动驾驶算法—PID控制算法概述

比例-积分-微分 (PID) 控制器广泛用于控制系统,以调节过程并维持所需的设定值。它们结合了三种控制动作:比例、积分和微分,以实现精确控制和所需的性能。控制系统是一种设备或一组设备,用于管理、命令、指挥或调节其他设备或系统的行为。工业控制系统用于工业生产中控制设备或机器。有两类常见的控制系统:开环控制系统:输出仅基于输入生成。示例:假设您正在使用洗衣机,并将计时器设置为 15 分钟。现在,无论 15 分钟的洗涤后衣服是否仍然脏,机器都会在 15 分钟后停止。

2024-10-12 18:03:07 185

转载 ​从美路线图看无人系统技术体系与发展趋势

对无人系统技术进行了综合评述,并对其发展趋势进行了展望。首先,基于美国国防部八版无人机/无人系统路线图的规划,深入分析了互操作性、自主性、人机协同、通信、网络安全、动力与能源、载荷等主要技术方向的内涵和关键能力,绘制了各个技术方向的发展规划脉络。随后,调研分析了美国在不同技术方向的发展现状和应用情况。最后,综合路线图分析和发展情况分析,研判了未来无人系统技术的发展趋势。综述表明,未来无人系统技术将呈现体系化、智能化、高能化三大发展趋势。

2024-10-10 20:38:25 2916

转载 无人机气动隐身联合优化的关键技术与研究进展

摘 要 对无人机气动与隐身联合优化进行了综合评述,并对未来研究进行了展望。首先阐述了目前隐身无人机在复杂飞行环境下的性能挑战,指出了传统设计方法的局限性;随后以无人机气动与隐身联合优化设计为研究对象,将联合优化设计分为基于工程算法的直接优化、基于代理模型的优化以及基于改善流程的优化等三类技术路线,总结了各个优化路线的基本原理、发展历程和最新研究进展,并针对气动隐身联合优化中的共性技术如参数化建模、网格划分等进行了总结与阐述;最后给出了无人机气动隐身联合优化的发展趋势分析。

2024-10-08 15:54:57 659

转载 从零入门激光SLAM(十三)——LeGo-LOAM源码超详细解析3

Lego_Loam包括了Image projection、Feature association、MapOptmization、Transform Fusion四个部分,下面博主将按照算法的逻辑顺序对代码中的重要函数进行讲解。本节是解析Feature association文件中的特征匹配部分。该专栏的其他章节链接如下。

2024-09-30 18:04:09 247

转载 基于Gazebo仿真环境的机器人自动导航循迹和目标检测

经咨询联想客服知:依次点击开始→设置→更新和安全→恢复→高级启动→立即重新启动→疑难解答→高级选项 UEFI固件设置→重启,进入 BIOS界面,打开Intel(R) Virtualizaton Technology,F10保存退出。该问题亦无解,通过csdn查询到多种修改方法,操作后均无效,最后只能通过共享文件夹的方式实现文件互传:如图所示,在主机创建share文件夹,开启共享,可在虚拟机中如下位置找到share文件夹,从而实现文件互传。国内源pass,中科大源pass,阿里源pass……

2024-09-29 09:06:41 731

转载 ROSCon背后的力量 | 强大的社区支持与贡献

ROSCon China 2024,由机器人操作系统 (ROS)教育基金会与国际ROSCon活动的组织方 OSRF(Open Source Robotics Foundation)合作举办。ROSCon China 是中国内地首次举办的ROSCon活动。

2024-09-29 08:41:15 167

原创 百度Apollo智能驾驶之CyberRT__自定义cyber_param命令行工具

自定义 cyber_param 命令工具前言最近在使用 Apollo 的实时通信框架 CyberRT,难免的使用中会与ROS作比较,就个人感受而言,CyberRT更简洁高效,尤其是当从CyberRT切换回ROS时更是能够感觉到ROS设计的臃肿且冗余,不过简洁的的代价之一就是功能上的弱化,比如:命令行工具无论在CyberRT还是ROS中都是极其常用的,使用命令工具可以大大提高我们的开发调试效率,不过使用过程中发现较之于ROS,在CyberRT中竟然没有提供参数服务相关的命令。咋办?自己写一个呗!闲话少说,

2022-05-02 12:33:54 2450 3

原创 10.5 本章小结

10.5 本章小结《ROS入门-理论与实践》视频教程镇楼本章介绍了ROS中的一些进阶内容,主要内容如下:Action 通信;动态参数;pluginlib;nodelet。上述内容其实都是对之前通信机制缺陷的进一步优化:action较之于以往的服务通信是带有连续反馈的,更适用于耗时的请求响应场景;动态参数较之于参数服务器实现,则可以保证参数读取的实时性;最后,nodelet可以动态加载多个节点到同一进程,不再是一个节点独占一个进程,从而可以零成本的实现不同节点之间的数据交互,降低了数据传

2021-06-07 21:34:13 798 1

原创 10.4.2 nodelet实现

ROS入门 10.4.2 nodelet实现《ROS入门-理论与实践》视频教程镇楼nodelet本质也是插件,实现流程与插件实现流程类似,并且更为简单,不需要自定义接口,也不需要使用类加载器加载插件类。需求:参考 nodelet 案例,编写 nodelet 插件类,可以订阅输入数据,设置参数,发布订阅数据与参数相加的结果。流程:准备;创建插件类并注册插件;构建插件库;使插件可用于ROS工具链;执行。1.准备新建功能包,导入依赖: roscpp、nodelet;2.创建插件类

2021-06-06 23:17:39 611

原创 10.4.1 使用演示

ROS入门 10.4.1 使用演示《ROS入门-理论与实践》视频教程镇楼在ROS中内置了nodelet案例,我们先以该案例演示nodelet的基本使用语法,基本流程如下:案例简介;nodelet基本使用语法;内置案例调用。1.案例简介以“ros- [ROS_DISTRO] -desktop-full”命令安装ROS时,nodelet默认被安装,如未安装,请调用如下命令自行安装:sudo apt install ros-<<ROS_DISTRO>>-nodel

2021-06-05 23:42:20 381

原创 10.4 nodelet

ROS入门 10.4 nodelet《ROS入门-理论与实践》视频教程镇楼ROS通信是基于Node(节点)的,Node使用方便、易于扩展,可以满足ROS中大多数应用场景,但是也存在一些局限性,由于一个Node启动之后独占一根进程,不同Node之间数据交互其实是不同进程之间的数据交互,当传输类似于图片、点云的大容量数据时,会出现延时与阻塞的情况,比如:现在需要编写一个相机驱动,在该驱动中有两个节点实现:其中节点A负责发布原始图像数据,节点B订阅原始图像数据并在图像上标注人脸。如果节点A与节点B仍

2021-06-04 23:03:10 386

原创 10.3.1 pluginlib使用

ROS入门 10.3.1 pluginlib使用《ROS入门-理论与实践》视频教程镇楼需求:以插件的方式实现正多边形的相关计算。实现流程:准备;创建基类;创建插件类;注册插件;构建插件库;使插件可用于ROS工具链;配置xml导出插件使用插件;执行。1.准备创建功能包xxx导入依赖: roscpp pluginlib。在 VSCode中需要配置 .vascode/c_cpp_properties.json文件中关于 includepath 选项的设置。{

2021-06-03 23:08:32 499

原创 10.3 pluginlib

ROS入门 10.3 pluginlib《ROS入门-理论与实践》视频教程镇楼pluginlib直译是插件库,所谓插件字面意思就是可插拔的组件,比如:以计算机为例,可以通过USB接口自由插拔的键盘、鼠标、U盘…都可以看作是插件实现,其基本原理就是通过规范化的USB接口协议实现计算机与USB设备的自由组合。同理,在软件编程中,插件是一种遵循一定规范的应用程序接口编写出来的程序,插件程序依赖于某个应用程序,且应用程序可以与不同的插件程序自由组合。在ROS中,也会经常使用到插件,场景如下:1.导航插

2021-06-02 23:55:28 348

原创 10.2.3 动态参数服务端B(Python)

ROS入门 10.2.3 动态参数服务端B(Python)《ROS入门-理论与实践》视频教程镇楼需求:编写两个节点,一个节点可以动态修改参数,另一个节点时时解析修改后的数据。服务端实现流程:新建并编辑 Python 文件;编辑CMakeLists.txt;编译并执行。0.vscode配置需要像之前自定义 msg 实现一样配置settings.json 文件,如果以前已经配置且没有变更工作空间,可以忽略,如果需要

2021-04-25 23:35:17 217

原创 10.2.2 动态参数服务端A(C++)

ROS入门 10.2.2 动态参数服务端A(C++)《ROS入门-理论与实践》视频教程镇楼需求:编写两个节点,一个节点可以动态修改参数,另一个节点时时解析修改后的数据。服务端实现流程:新建并编辑 c++ 文件;编辑CMakeLists.txt;编译并执行。0.vscode配置需要像之前自定义 msg 实现一样配置settings.json 文件,如果以前已经配置且没有变更工作空间,可以忽略,如果需要配置,配置方式与之前相同:{ "configurations":

2021-04-24 22:34:11 249

原创 10.2.1 动态参数客户端

ROS入门 10.2.1 动态参数客户端《ROS入门-理论与实践》视频教程镇楼需求:编写两个节点,一个节点可以动态修改参数,另一个节点时时解析修改后的数据。客户端实现流程:新建并编辑 .cfg 文件;编辑CMakeLists.txt;编译。1.新建功能包新建功能包,添加依赖:roscpp rospy std_msgs dynamic_reconfigure。2.添加.cfg文件新建 cfg 文件夹,添加 xxx.cfg 文件(并添加可执行权限),cfg 文件其实就是一个

2021-04-22 22:21:20 194

原创 rosdep

rosdep 初始化时异常解决方案rosdep 初始化时异常解决-视频教程安装构建依赖在 noetic 最初发布时,和其他历史版本稍有差异的是:没有安装构建依赖这一步骤。随着 noetic 不断完善,官方补齐了这一操作。首先安装构建依赖的相关工具sudo apt install python3-rosdep python3-rosinstall python3-rosinstall-generator python3-wstool build-essentialROS中使用许多工具前,要求

2021-04-21 23:12:38 4104 1

原创 10.2动态参数

ROS入门 10.2动态参数《ROS入门-理论与实践》视频教程镇楼参数服务器的数据被修改时,如果节点不重新访问,那么就不能获取修改后的数据,例如在乌龟背景色修改的案例中,先启动乌龟显示节点,然后再修改参数服务器中关于背景色设置的参数,那么窗体的背景色是不会修改的,必须要重启乌龟显示节点才能生效。而一些特殊场景下,是要求要能做到动态获取的,也即,参数一旦修改,能够通知节点参数已经修改并读取修改后的数据,比如:机器人调试时,需要修改机器人轮廓信息(长宽高)、传感器位姿信息…,如果这些信息存储在参数

2021-04-21 22:05:05 165

原创 10.1.3 action通信自定义action文件调用(Python)

ROS入门 10.1.3 action通信自定义action文件调用(Python)《ROS入门-理论与实践》视频教程镇楼需求:创建两个ROS 节点,服务器和客户端,客户端可以向服务器发送目标数据N(一个整型数据)服务器会计算 1 到 N 之间所有整数的和,这是一个循环累加的过程,返回给客户端,这是基于请求响应模式的,又已知服务器从接收到请求到产生响应是一个耗时操作,每累加一次耗时0.1s,为了良好的用户体验,需要服务器在计算过程中,每累加一次,就给客户端响应一次百分比格式的执行进度,使用 a

2021-04-20 21:22:13 613

原创 10.1.2 action通信自定义action文件调用A(C++)

ROS入门 10.1.2 action通信自定义action文件调用A(C++)《ROS入门-理论与实践》视频教程镇楼需求:创建两个ROS 节点,服务器和客户端,客户端可以向服务器发送目标数据N(一个整型数据)服务器会计算 1 到 N 之间所有整数的和,这是一个循环累加的过程,返回给客户端,这是基于请求响应模式的,又已知服务器从接收到请求到产生响应是一个耗时操作,每累加一次耗时0.1s,为了良好的用户体验,需要服务器在计算过程中,每累加一次,就给客户端响应一次百分比格式的执行进度,使用 act

2021-04-19 23:28:05 482

原创 10.1.1action通信自定义action文件

ROS入门 10.1.1action通信自定义action文件《ROS入门-理论与实践》视频教程镇楼action、srv、msg 文件内的可用数据类型一致,且三者实现流程类似:按照固定格式创建action文件;编辑配置文件;编译生成中间文件。1.定义action文件首先新建功能包,并导入依赖: roscpp rospy std_msgs actionlib actionlib_msgs;然后功能包下新建 action 目录,新增 Xxx.action(比如:AddInts.acti

2021-04-19 23:26:31 416

原创 10.1 action通信

ROS入门 10.1 action通信《ROS入门-理论与实践》视频教程镇楼关于action通信,我们先从之前导航中的应用场景开始介绍,描述如下:机器人导航到某个目标点,此过程需要一个节点A发布目标信息,然后一个节点B接收到请求并控制移动,最终响应目标达成状态信息。乍一看,这好像是服务通信实现,因为需求中要A发送目标,B执行并返回结果,这是一个典型的基于请求响应的应答模式,不过,如果只是使用基本的服务通信实现,存在一个问题:**导航是一个过程,是耗时操作,如果使用服务通信,那么只有在导航结

2021-04-18 23:25:58 343

原创 第 10 章 ROS进阶

ROS入门 第 10 章 ROS进阶《ROS入门-理论与实践》视频教程镇楼在本教程的第二章内容介绍了ROS的核心实现:通信机制 ——话题通信、服务通信和参数服务器。三者结合可以满足ROS中的大多数数据传输相关的应用场景,但是在一些特定场景下可能就有些力不从心了,本章主要介绍之前的通信机制存在的问题以及对应的优化策略,本章主要内容如下:action通信;动态参数;pluginlib;nodelet。本章预期达成的学习目标:了解服务通信应用的局限性(action的应用场景),熟练掌握

2021-04-18 23:24:15 554

原创 7.4 本章小结

ROS入门 7.4 本章小结《ROS入门-理论与实践》视频教程镇楼本章介绍了在仿真环境下的机器人导航实现,主要内容如下:导航概念以及架构设计SLAM概念以及gmapping实现地图的序列化与反序列化定位实现路径规划实现导航中涉及的消息解释导航整体设计架构中,包含地图、定位、路径规划、感知以及控制等实现,感知与控制模块在上一章机器人系统仿真中已经实现了,因此没有做过多介绍,其他部分,当前也是基于仿真环境实现的,后续,我们将搭建一台实体机器人并实现导航功能。...

2021-04-17 23:57:36 273

原创 7.3.8 深度图像转激光数据

ROS入门 7.3.8 深度图像转激光数据《ROS入门-理论与实践》视频教程镇楼本节介绍ROS中的一个功能包:depthimage_to_laserscan,顾名思义,该功能包可以将深度图像信息转换成激光雷达信息,应用场景如下:在诸多SLAM算法中,一般都需要订阅激光雷达数据用于构建地图,因为激光雷达可以感知周围环境的深度信息,而深度相机也具备感知深度信息的功能,且最初激光雷达价格比价比较昂贵,那么在传感器选型上可以选用深度相机代替激光雷达吗?答案是可以的,不过二者发布的消息类型是完全不同

2021-04-15 23:39:26 3179 6

原创 7.3.7 导航之相机

ROS入门 7.3.7 导航之相机《ROS入门-理论与实践》视频教程镇楼深度相机相关消息有:sensor_msgs/Image、sensor_msgs/CompressedImage、sensor_msgs/PointCloud2sensor_msgs/Image 对应的一般的图像数据,sensor_msgs/CompressedImage 对应压缩后的图像数据,sensor_msgs/PointCloud2 对应的是点云数据(带有深度信息的图像数据)。调用rosmsg info sensor

2021-04-15 23:37:25 482

原创 7.3.6 导航之激光雷达

ROS入门 7.3.6 导航之激光雷达《ROS入门-理论与实践》视频教程镇楼激光雷达相关消息是:sensor_msgs/LaserScan,调用rosmsg info sensor_msgs/LaserScan显示消息内容如下:std_msgs/Header header uint32 seq time stamp string frame_idfloat32 angle_min #起始扫描角度(rad)float32 angle_max #终止扫描角度(rad)float32

2021-04-15 23:36:24 424 1

原创 7.3.5 导航之目标点与路径规划

ROS入门 7.3.5 导航之目标点与路径规划《ROS入门-理论与实践》视频教程镇楼目标点相关消息是:move_base_msgs/MoveBaseActionGoal,调用rosmsg info move_base_msgs/MoveBaseActionGoal显示消息内容如下:std_msgs/Header header uint32 seq time stamp string frame_idactionlib_msgs/GoalID goal_id time stamp

2021-04-14 23:34:03 672

原创 7.3.4 导航之定位

ROS入门 7.3.4 导航之定位《ROS入门-理论与实践》视频教程镇楼定位相关消息是:geometry_msgs/PoseArray,调用rosmsg info geometry_msgs/PoseArray显示消息内容如下:std_msgs/Header header uint32 seq time stamp string frame_idgeometry_msgs/Pose[] poses #预估的点位姿组成的数组 geometry_msgs/Point positio

2021-04-14 23:32:41 581

原创 7.3.3 导航之坐标变换

ROS入门 7.3.3 导航之坐标变换《ROS入门-理论与实践》视频教程镇楼坐标变换相关消息是: tf/tfMessage,调用rosmsg info tf/tfMessage 显示消息内容如下:geometry_msgs/TransformStamped[] transforms #包含了多个坐标系相对关系数据的数组 std_msgs/Header header uint32 seq time stamp string frame_id string child

2021-04-14 23:31:58 237

原创 7.3.2 导航之里程计

ROS入门 7.3.2 导航之里程计《ROS入门-理论与实践》视频教程镇楼里程计相关消息是:nav_msgs/Odometry,调用rosmsg info nav_msgs/Odometry 显示消息内容如下:std_msgs/Header header uint32 seq time stamp string frame_idstring child_frame_idgeometry_msgs/PoseWithCovariance pose geometry_msgs/Pos

2021-04-13 21:49:57 469

原创 7.3.1 导航之地图

ROS入门 7.3.1 导航之地图《ROS入门-理论与实践》视频教程镇楼地图相关的消息主要有两个:nav_msgs/MapMetaData地图元数据,包括地图的宽度、高度、分辨率等。nav_msgs/OccupancyGrid地图栅格数据,一般会在rviz中以图形化的方式显示。1.nav_msgs/MapMetaData调用rosmsg info nav_msgs/MapMetaData显示消息内容如下:time map_load_timefloat32 resolutio

2021-04-13 21:48:59 333

原创 7.3 导航相关消息

ROS入门 7.3 导航相关消息《ROS入门-理论与实践》视频教程镇楼在导航功能包集中包含了诸多节点,毋庸置疑的,不同节点之间的通信使用到了消息中间件(数据载体),在上一节的实现中,这些消息已经在rviz中做了可视化处理,比如:地图、雷达、摄像头、里程计、路径规划…的相关消息在rviz中提供了相关组件,本节主要介绍这些消息的具体格式。...

2021-04-13 21:47:39 173

原创 7.2.5 导航与SLAM建图

7.2.5 导航与SLAM建图添加链接描述场景:在 7.2.1 导航实现01_SLAM建图中,我们是通过键盘控制机器人移动实现建图的,而后续又介绍了机器人的自主移动实现,那么可不可以将二者结合,实现机器人自主移动的SLAM建图呢?上述需求是可行的。虽然可能会有疑问,导航时需要地图信息,之前导航实现时,是通过 map_server 包的 map_server 节点来发布地图信息的,如果不先通过SLAM建图,那么如何发布地图信息呢?SLAM建图过程中本身就会时时发布地图信息,所以无需再使用map_se

2021-04-12 21:22:28 1409 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除