- 博客(188)
- 资源 (6)
- 问答 (7)
- 收藏
- 关注
原创 pytorch多GPU训练教程
首先打乱数据顺序,然后用 11/2 =6(向上取整),然后6乘以GPU个数2 = 12,因为只有11个数据,所以再把第一个数据(索引为6的数据)补到末尾,现在就有12个数据可以均匀分到每块GPU。BatchSampler原理: DistributedSmpler将数据分配到两个GPU上,以第一个GPU为例,分到的数据是6,9,10,1,8,7,假设batch_size=2,就按顺序把数据两两一组,在训练时,每次获取一个batch的数据,就从组织好的一个个batch中取到。
2024-12-06 11:02:08
2262
2
原创 【含源码】基于Carla的跟驰仿真环境设计
本文实现在Carla仿真环境中的跟车模型,具体为在仿真环境中放置两个车辆,前车与后车,通过 Carla API设置前车的自动驾驶模式,然后我们通过编程手段实现后车跟随前车的路线行动,目前有两种手段完成,第一种为使用安全距离以及速度差的方式驱动油门和刹车,逼近方法是PID;跟车主程序实现了自车在复杂交通环境中的跟车行为,通过多种方法检测前车的行驶状态,并根据情况调整自车的控制策略,包括在交叉路口和弯道的特殊处理,以及自动驾驶和手动控制的切换。,其在预定义的位置生成前车和自车。
2024-12-06 11:01:07
1318
2
原创 深入剖析梯度弥散以及排查手段
既然梯度传播是靠的求偏导,那么势必算法框架可以找到运算关系,每次计算之后,pytorch会维护计算图,记录下哪一步是谁参与了什么样的计算,计算梯度的时候要根据运算类型来分别处理,以下是打印计算图的代码,以判断你的模型流程是否拥有正确的数据流。就为0,那么就会导致神经元的参数更新为0,根据链式求导法则的传递关系,这会导致级联的0出现,这种“陷阱”的传递对于前面的层的影响也是愈发严重的,参数变化的越来越小,学习就近乎停滞了,这样的现象就是常说的梯度消失也叫梯度弥散。这是判断梯度弥散还是没有梯度的重要标准。
2024-12-05 17:31:02
1039
原创 ImportError: cannot import name ‘implements‘ from ‘zope.interface‘
中在使用zope.interace中使用了老表达。
2024-12-05 17:28:43
809
原创 Python多进程/多线程通信实例
多线程(Multithreading) 是一种并发执行的编程技术,在一个进程内创建和管理多个线程,每个线程可以独立执行任务。线程是进程中的一个执行单元,多个线程共享进程的资源(如内存、文件句柄等),但可以独立调度和执行。
2024-11-27 18:14:11
1277
原创 【Agorversev1.1数据转换】Agorverse高清地图转OpenStreetMap及SUMO路网
在 OSM 中,“Way”通常是由一系列有序的“Nodes”组成的道路中心线。OSM 中的 Way 通常表示线性或多边形特征,例如道路、溪流、森林或湖泊。在 OpenStreetMap (OSM) 中,“Node”是指一个兴趣点,或者是某条线性特征(例如道路)的组成点。然而,在 Argoverse 中,“Way”对应的是车道段的中心线。在 Argoverse 中,一个 LaneSegment 对象由一个 Way 和两个或更多的 Node 组合而成。最终效果:转换的高精地图与原始版本一致。
2024-11-27 18:12:52
1210
1
原创 /.conda/envs/xxx/compiler_compat/ld: cannot find xxx: 没有那个文件或目录
直接使用本机环境ld,避免anaconda中的繁琐且不好用的路径。替换anaconda中的ld。
2024-10-15 15:55:44
845
1
原创 蛙跳扩散模型轨迹预测
采用扩散模型生成轨迹预测的顶会论文,研读并分享方法,借鉴AI结合到轨迹预测方面的最新研究,新兴的扩散模型在众多生成任务中展现了其巨大的表示能力,显示出随机轨迹预测的潜力。
2024-07-24 11:22:49
1412
原创 Ubuntu20.04安装中文百度输入法
在Ubuntu中安装搜狗输入法等基于fcitx的输入法前,可能需要重新安装fcitx源,因为Ubuntu自带的fcitx版本可能与某些输入法不兼容。它允许应用程序不必具体考虑在不同语言环境下的输入问题,系统会根据相应的locale自动寻找合适的输入法。它支持多种输入法,包括拼音(全拼、简拼、双拼)以及基于码表的输入法(如五笔、郑码等)。XIM是一个较老的输入法协议,与现代的输入法框架相比,可能在功能和兼容性方面有所欠缺。fcitx为许多流行的中文输入法(如搜狗输入法)提供了桌面图形环境支持。
2024-07-24 11:21:41
2920
原创 Ubuntu20.04 FUEL与MARSIM实验复现与协同过程记录
根据源码状态有这些"INIT", “WAIT_TRIGGER”, “PLAN_TRAJ”, “PUB_TRAJ”, “EXEC_TRAJ”, “FINISH”看来与么melodic不太相同,这个路径是累加的,当我把自己本地的路径管理器屏蔽掉,然后catkin_make,发现(FUEL)注释掉pcl,pcl仍然在,这里确实有些离谱注释掉仍然可以找到pcl_render的节点,不合逻辑。frontier一直有数据接收,只是数组为空,所以,这个报错应该是暂时定为未运行,轨迹同理。
2024-05-22 16:39:31
960
2
原创 Ubuntu20.04 Carla安装以及ros-bridge控制
开启两个终端,一个启动Carla,一个通过ROS控制。runtime导包,在非虚拟环境中安装pygame。创建虚拟环境,避免包依赖破坏读者的原生环境程序。写入用户配置,使得ROS可以找到编译的程序。创建工作空间,拉取源码。改称0.9.15即可。
2024-05-22 15:53:32
2355
12
原创 基于联邦强化学习的集群机器人协同导航
在收集24个激光传感器读数后,将读数归一化到[0,1]之间,并将归一化读数反向,以便当障碍物接近机器人时,归一化传感器读数接近1,从而进行更有效的神经网络训练。由于群居昆虫能够集体完成单个个体无法完成的具有挑战性的任务,因此群体机器人系统有望在动态复杂环境下完成单个机器人难以完成的具有挑战性的任务。在原论文中,SEDDPG的优点是通过共享可以鼓励探索,从而更快收敛和更好的性能。在模拟评价实验中,每个agent在训练阶段使用4个训练模型,在20次以上的环境中平均4个agent的表现,计算出成功率和完成时间。
2024-03-17 19:38:34
2557
32
原创 机械臂实验入门知识
机械臂的机械机构由一系列刚性构件(连杆)通过链接(关节)联结起来,机械手的特征在于具有用于保证可移动性的臂( arm ),提供灵活性的腕( wrist )和执行机器人所需完成任务的末端执行器( end - effector )。机械臂的运动能力由关节保证。两个相邻连杆的连接可以通过移动关节( prismatic joint)或旋转关节( revolute joint)实现。在一个开式运动链中,每一个移动关节或转动关节都为机械结构提供一个自由度( degrees of freedom , DOF )。
2024-03-17 18:51:34
1769
5
原创 【具身智能】开放词汇移动操控(OVMM) 实验复现教程(Habitat-challenge2023)
HomeRobot:开放词汇移动操作 (OVMM) 挑战赛的目标是创建一个平台,使研究人员能够开发能够导航陌生环境、操作新颖对象以及从封闭对象类别转向开放词汇自然语言的代理。该挑战赛旨在利用机器学习、计算机视觉、自然语言和机器人技术的最新进展,促进具体人工智能的跨领域研究。本文复现了habitat具身智能挑战赛的实验,希望可以帮到相关研究人员。
2024-03-15 21:11:59
2307
17
原创 【日常问题】huggingface git代理解决访问受限(代理方式)
通过代理,可以监控和记录网络流量,检测恶意活动,并提供额外的安全层,如防火墙和入侵检测系统。网络代理是一种充当网络中间人的设备或服务,用于代表用户或设备执行网络请求。此外,代理还可以实施内容缓存,加速对常见资源的访问,减轻网络流量和提高响应速度。通过选择最佳路径,代理可以提高数据传输的效率,并降低延迟。由于这个操作是操作的环境变量,所以对全局生效,如果出现其他问题(例如pip ssl验证失败,记得回退)通过代理服务器,可以对网络流量进行优化,例如使用压缩算法、缓存静态资源等,从而提高整体网络性能。
2024-03-13 11:07:29
9057
3
原创 【具身智能】facebook home-robot环境搭建
HomeRobot:一种经济实惠的兼容机器人,可以在家中导航并操纵各种物体以完成日常任务。开放词汇移动操纵(OVMM)是指在任何看不见的环境中拾取任何物体并将其放置在指定位置的问题。对于机器人成为人类环境中有用的助手来说,这是一个基本挑战,因为它涉及解决机器人技术中的子问题:感知、语言理解、导航和操作对于 OVMM 来说都是至关重要的。此外,整合这些子问题的解决方案也带来了巨大的挑战。
2024-03-13 11:05:49
1270
7
原创 Ubuntu20.04开启/禁用ipv6
redhat等/etc/hosts:配置主机名(域名)和IP地址的对应/etc/sysconfig/network:配置主机名和网关/etc/sysconfig/network-scripts/ifcfg-:eth0配置文件,eth1则文件名为ifcfg-eth1,以此类推/etc/resolv.conf:配置DNS客户端(关于使用哪个DNS配置)
2024-02-23 14:33:22
7466
1
原创 ROS bridge内网穿透例程
ros_bridge使用的是websocket的通信机制此处为内网穿透工具的使用 ,将远程的服务器ROS映射到本地端口。
2024-02-04 13:48:24
771
7
原创 【具身智能】目标导航实验复现详细教程
参考论文Object Goal Navigation using Goal-Oriented Semantic Exploration。复现经典机器人顶会视觉目标导航实验,提供细节的过程问题与解决办法,希望可以帮助到人工智能以及机器人领域的研究初学者。
2024-02-04 11:55:28
3025
27
原创 【具身智能】Habitat挑战赛2023环境搭建
以保证docker可以在运行时使用NVIDIA的Container。我们暂时模拟一下,在mini数据集的目录中创建链接,以适应程序中对于。创建链接,将数据集链接到挑战赛的目录中。在你需要的DockerFile中添加。切换到项目的docker目录。此时,验证集等划分按照。
2024-01-31 18:07:06
1362
11
原创 【日常问题】Failed to enable unit: Unit file docker.service does not exist.
笔者问题的产生是因为在ubuntu20.04下采用snapd安装的docker,因此并不能找到守护进程同时使用docker命令时还会产生若干连接的权限问题。
2024-01-31 09:45:06
7528
2
原创 【具身智能】AI仿真工具-Habitat安装教程
一种灵活的高性能 3D 模拟器,具有可配置代理、多个传感器和通用 3D 数据集处理(内置对 MatterPort3D、 Gibson和其他数据集的支持)。:用于具身智能端到端开发的模块化高级库 - 定义嵌入式人工智能任务(例如导航、指令遵循、问答)、配置嵌入式代理(物理形式、传感器、功能)、训练这些代理(通过模仿或强化学习,或者像经典 SLAM 那样根本不学习),并使用标准指标在定义的任务上对他们的表现进行基准测试。
2024-01-30 11:27:04
6760
17
原创 浅述热点方向-具身智能
人工智能、机器学习和计算机视觉的最新研究趋势催生了一个不断增长的研究领域,称为“具身智能”。Facebook 人工智能研究中心 (FAIR) 和英特尔实验室一直在引领嵌入式人工智能领域的新项目。“体现”被定义为“为想法提供有形或可见的形式”。简而言之,“Embodied AI”的意思是“虚拟机器人的人工智能”。更具体地说,嵌入式人工智能是为虚拟机器人解决人工智能问题的领域,虚拟机器人可以在虚拟世界中移动、观看、说话和与其他虚拟机器人交互——然后将这些模拟机器人解决方案转移到现实世界的机器人上。
2024-01-10 21:49:26
1864
11
原创 【Gazebo】场景模型生成及生成坐标不正确问题
本文介绍了rospy在gazebo中创建和删除模型的基本逻辑和代码示例,并举例了一个在创建时坐标不正确的情况的解决方案
2023-12-14 17:16:21
946
11
原创 ROS rviz常用可视化插件
TF是ROS中的一个库,用于管理和查询不同坐标系之间的关系,尤其在机器人系统中常用。args中是配置文件路径,自己在rviz中设置的可视化组建的组合以及参数都会保存在这个文件中,启动后会加载,这样的效果是不必在每次启动rviz后都去重新添加需要的可视化组件。在RViz中,Map(地图)的参数通常是通过Map显示属性进行配置的,以显示静态地图或实时地图数据。此参数最为重要,可以选择接收的地图话题,一般/map为SLAM或者直接加载的静态地图,也可以选择代价地图,例如。用于设置可视化中点云数据点的颜色范围。
2023-09-12 16:12:34
6257
30
原创 ROS地图/像素坐标描点调试【Python源码实现】
在ROS开发中,有时会加载图片文件转为地图载入move_base,这个时候调试程序的时候会有像素坐标系到map坐标系的转换,需要确认自己的程序是否正确的达到了转换的目的,那么需要这样一个工具来描点,然后消除点,可以用Debug的方式逐步运行,保证绘点和消除点的效果正确性。在图片格式的地图中,地图有自己的像素坐标系,对于转换关系在笔者之前的博客中已有提及。那么在map坐标系到像素坐标系的转换中,需要验证像素坐标系生成是否正确,这一点比较重要,像素坐标系的像素点表达了占据栅格信息。以debug的形式,消除点。
2023-09-07 12:06:57
1989
74
原创 【ROS】例说mapserver静态地图参数(对照Rviz、Gazebo环境)
其中数据部分表明了,未知区域为-1,其他数值为占据概率,取值范围为[0,100],结合上面的配置,不难得出,在生成的地图中,取值65以上的点为黑色点,取值19.6以下的为白色点,灰色未知区域为-1。这行指定了地图的原点,也就是地图中(0, 0)栅格的位置。在建图过程中,rviz会显示建图的实时情况,其输出来自于SLAM,浅蓝色区域为地图大小,黑色像素为障碍物占据栅格,白色区域为自由区域。将栅格数量修改为10,栅格大小修改为2后,发现其占5个格子,仍然是10m,同时,所建的静态地图仍然为精度0.05,尺寸。
2023-09-05 10:07:35
2989
56
原创 【综述】跨模态可信感知
随着人工智能相关理论和技术的崛起,通信和感知领域的研究引入了一种全新的模式。传统的通信方式不再局限于传统的调制信号,而是可以利用各种介质收集数据并进行编码。同样,感知的输入也不再受限于传感器的数据,而可以包括来自手机扬声器的音波振幅和能量等信息。这一创新使得在原本没有直接控制关系的运动和声波等数据模式之间实现了跨界控制,为跨模态的方法在控制安全方面带来了挑战。在面对跨模态可信感知的安全问题时,各大设备厂商也纷纷采取一系列对策,限制对数据的感知。
2023-09-02 23:42:07
1336
56
原创 Gazebo仿真环境下的强化学习实现
实际上利用Gazebo进行强化学习无非是环境获取上的不同,Gazebo的环境控制需要使用ROS服务进行控制,状态可以通过Gazebo进行获取,同时某些必要数据需要从话题中获取,最重要的是组织获取 的数据(通过话题等)与控制Gazebo的仿真步骤之间的组合。强化学习的手段与传统算法无异,强化学习方法最重要的是要确定动作空间、状态空间、奖励空间,这三个空间是work的前提。在笔者自己的环境中,将获取里程计的话题以及获取激光点的数据替换成为了自己的本机的仿真环境匹配的话题。
2023-09-01 20:40:36
4715
17
原创 ROS获取目标点导航完成状态(rospy)
一种常见的方法是使用ROS的Action服务器(Action Server)和Action客户端(Action Client)来监视导航的状态。话题消息的状态字段(status)可以有多种不同的取值,每个取值表示不同的导航状态。可以根据你的应用程序需求来监视这些状态,以确定导航任务的进展和结果。方法来等待导航完成,并检查返回的结果来确定导航是否成功完成。,对于导航完成情况的状态可以使用Action的客户端实现,需要导入。6:PREEMPTING(正在中断) - 导航目标正在被中断。
2023-09-01 17:09:29
1410
4
原创 Gazebo GPU加速【gzserver running in GPU】
Gazebo仿真帧率极低,fps在10以下,同时显卡驱动已安装,但是跑Gazebo仍然消耗CPU严重。通过nvidia-smi查看,gzserver和gzclient均不在GPU中消耗显存,怀疑GPU未对Gazebo有效工作。本机环境:CPU:12490FGPU:RTX3060(GRAM 12G)GPU Driver:535.104.05CUDA:12.2
2023-08-27 13:39:51
7088
34
原创 darknet yolo make报错,缺少instance-segmenter.o的规则
Makefile没有识别到对于instance-segmenter.o的编译规则,但其实instance-segmenter.cpp是存在的。由于删除了instance-segmenter.o,导致最终darknet生成会缺少一个依赖。
2023-08-26 22:20:40
541
5
原创 基于注意力神经网络的深度强化学习探索方法:ARiADNE
基于深度强化学习(DRL)的ARE方法,在注意力机制的加持下,允许智能体在不同的空间尺度上推理局部地图中不同区域的依赖关系,从而允许智能体在不需要优化长路径的情况下有效地对空间非近视决策进行排序。首先将自主探索表述为覆盖已知可穿越区域的无碰撞图上的顺序决策问题,其中一个节点是机器人的当前位置。然后,使用基于注意力的神经网络选择机器人当前位置的一个相邻节点作为机器人的下一个视点。
2023-08-13 15:31:29
1528
17
原创 STM32CubeMX联合CLion开发环境搭建
优雅的进行STM32开发,MDK已经不是唯一的选择,依托jetbrains系列开发工具的高效和舒适的开发体验,稚晖君也对STM32CubeMX与CLion的联合开发环境进行了推荐,同时HAL库又是官方推荐,提升开发体验势在必行。
2023-06-28 11:10:07
1606
38
原创 【自注意力机制必学】BERT类预训练语言模型(含Python实例)
BERT(Bidirectional Encoder Representations from Transformers)是一种预训练模型,它是自然语言处理(NLP)领域的重大里程碑,被认为是当前的State-of-the-Art模型之一。BERT的设计理念和结构基于Transformer模型,通过无监督学习方式进行训练,并且能够适配各种NLP任务。预训练模型是指在大规模文本数据上进行大量无监督训练,学习得到丰富的语言表示。
2023-06-22 20:44:47
13816
54
原创 移动机器人底盘-四轮差速模型(四轮独立)
对于底盘的前轮和后轮来说,其速度是同步的,那么在理想条件下,可以将底盘运动视为以ICR为圆心做圆周运动,对于四个轮子来说,圆周运动的角速度是一致的,圆周运动圆心ICR始终位于底盘几何中心COG的y轴延长线上,ICR与COG之间的距离。有关,整个底盘的速度位于速度瞬心COM处,用。四轮差速底盘设定左轮、右轮得速度分别为。圆周运动的角速度公式如式1所示。受约束,约束与圆周运动的角速度。合成,设四个轮子的速度分别为。,设左轮和右轮之间的轴距为。为圆周运动角速度,线速度为。,其均由预设目标速度。
2023-06-19 01:12:16
11398
48
原创 经典基于外观的SLAM框架-RTABMAP(RGBD视觉输入方案)
RGB-D的视觉传感器数据输入SM内存块,本内存块对传感器的观测数据进行数据降维、特征提取、位姿计算后,加入STM内存块,在STM内存块添加时序相邻的节点若相似度较高,则对两个节点进行权重更新的融合计算,当STM区满后,挑选最早加入STM的节点移出,并加入到WM进行后续的闭环检测搜索节点储备,WM中的闭环检测涉及词袋模型和贝叶斯滤波,视觉词袋用于计算两个节点之间的相似度,贝叶斯滤波器维护节点之间的相似性。Core(核心):这是RTAB-Map的核心模块,提供了地图构建、回环检测和姿态估计等功能。
2023-06-15 10:32:43
8615
26
原创 基于双视角图表示算法的双向人职匹配偏好建模推荐系统构建
针对偏好匹配问题,采用了双视角图表示学习的算法模型对问题进行了双向偏好建模;通过模拟交互记录的手段,丰富化了数据的语义信息,数据采用look-table和BERT接线性层混合编码的方式进行连接充分提取语义特征并组合偏好ID;将求职者与岗位分为主动选择偏好节点与被动偏好节点的形式,对图神经网络进行建模,通过构建混合偏好传播的策略,更新整个网络;通过自监督增强的双视角排序优化策略,定义四元损失函数的方式优化正样本和负样本距离的偏阶,为求职者和招聘信息的两种表示运用了双视角对比学习的优化函数;通过最大化一致性和最
2023-06-06 22:17:40
2918
38
原创 基于深度强化学习的目标驱动型视觉导航泛化模型
目标是仅使用视觉输入就能导航并到达用户指定目标的机器人,对于此类问题的解决办法一般有两种。基于地图的导航算法或者SLAM系统与最先进的物体检测或图像识别模型的局限性深度卷积神经网络(cnn)与强化学习(RL)相结合的方法优势 深度强化学习(DRL)确实允许以自然的方式管理视觉和运动之间的关系,并且它在无地图视觉导航和许多其他机器人任务中显示出令人印象深刻的结果。局限 在目标驱动的视觉导航中,算法的每次运行都可能指定不同的目标。强化学习不同目标点解决方案在策略中嵌入目标目标和当前状态。由两个网络组成的
2023-05-23 22:47:22
3131
74
原创 【机器人仿真Webots教程】-控制器编程指南
在每个controller中都有,定期调用,因此通常放在主循环中,参数代表毫秒数,,为控制步骤的持续时间,函数根据设定的毫秒数进行仿真返回计算值,仿真时间量并不是真实的时间,在实际中可能是1毫秒或者一分钟的时间。在 Windows 上,根据 Windows 语法,冒号将替换为分号,斜线将替换为反斜线。返回-1,控制器进程不再与webots进程通信,在实际时间的1s后,如果控制器程序没有主动终止,Webots进行将发送SIGKILL信号杀死控制器进程,并给控制器程序足够的时间完成数据的转储和文件关闭。
2023-05-08 10:50:58
7116
42
软件工程实验报告-自己设计操作系统50个UML图
2023-01-05
AI数据集格式转换Python源码
2022-02-19
Visual Assist X10.9 Build 2341.2.zip
2021-12-17
ChatApp_Java.zip
2021-11-08
Markdown中有全称量词和存在量词吗?
2021-11-28
学生党请教课程设计简单输出有没有在线生成器
2017-12-07
STM32C语言位操作符的知识
2017-10-21
ARM小白请教大神,对于这些任务,近期我应该怎样去学
2017-09-13
向大神求助!!ubuntu不能连接wifi
2017-09-03
双系统ubuntu键盘触摸板失灵
2017-09-02
win10和ubuntu双系统启动安装崩溃
2017-08-30
TA创建的收藏夹 TA关注的收藏夹
TA关注的人