论文复现我能行:Dynamic Movement Primitives: Volumetric Obstacle Avoidance

一、论文介绍

论文题目:《Dynamic Movement Primitives: Volumetric Obstacle Avoidance Using Dynamic Potential Functions》,Journal of Intelligent & Robotic Systems

该论文在2019年ICRA《Dynamic Movement Primitives: Volumetric Obstacle Avoidance》上进行了改进。

论文作者:Michele Ginesi,Daniele Meli,Andrea Roberti,Nicola Sansonetto,Paolo Fiorini
一作为:Michele Ginesi,意大利University of Verona博士,期间发表了多篇论文,很高产,其导师为Paolo Fiorini,早年发了多篇IJRR,2009年获IEEE Fellow。

Michele Ginesi博士论文《Learning of Surgical Gestures for Robotic Minimally Invasive Surgery using Dynamic Movement Primitives and Latent Variable Models》

系统:Windows 11

代码链接:
作者个人网站:https://sites.google.com/view/michele-ginesi/home?authuser=0
DMP避障代码:https://github.com/mginesi/dmp_vol_obst
个人代码路径:E:\manipulator_programming\DMP code\dmp_vol_obst-master

二、程序复现

1.下载作者的python项目包及环境配置

a.下载作者的python项目包

进入https://github.com/mginesi/dmp_vol_obst网站,下载压缩文件,另存到E:\manipulator_programming\DMP code文件夹,并解压

a.创建运行dmp_vol_obst包的conda环境
# windows系统左下角搜索Anaconda Prompt,创建名为DmpVolObst的python3.6的conda环境
conda create -n DmpVolObst python=3.6
# 激活conda环境
conda activate DmpVolObst
# 进入到D盘存放代码的文件夹
E:
cd E:\manipulator_programming\DMP code\dmp_vol_obst-master
# 安装依赖
pip3 install .

小技巧pip3 install .就是安装当前目录下setup.py提到的功能包,比如numpy、matplotlib等等,pip3 install .的具体解释及用法可查阅我的另外一篇CSDN pip3 install .和pip install .的用法以及在Windows环境下,如何通过命令行cd到D盘

至此,运行避障DMP代码的前期准备工作均已完成,执行命令

conda env list

可查看当前的conda环境列表,进入某个conda环境后,执行命令

conda list

可查看当前conda环境下,安装的所有功能包,如下图所示
在这里插入图片描述

2.运行程序
a.启动pycharm,新建项目dmp_vol_obst-master
b. pycharm启动conda环境,具体步骤参见Windows系统配置Anaconda虚拟环境,并安装Numpy、Scipy和Matplotlib等模块方法
c.运行demo程序,看效果,路径为:E:/manipulator_programming/DMP code/dmp_vol_obst-master/demos/ginesi_2020/panda_demo.py

在这里插入图片描述
此时,若报错No mudule seaborn字样,则回到Anaconda prompt命令行窗口,在DmpVolObst的conda环境下执行命令pip3 install seaborn即可

以下是成功运行panda_demo.py的结果

在这里插入图片描述

三、遇到的bug

因作者把2019年的ICRA及2021年Journal of Intelligent & Robotic Systems期刊上的代码放到一起了,所以当运行ginesi_2019里的one_obstacle.py时,报如下错:
在这里插入图片描述
解决办法:将one_obstacle.py中的代码from dmp import dmp_cartesian修改为from dmp import dmp as dmp_cartesian即可解决,效果如下:
在这里插入图片描述
运行程序E:/manipulator_programming/DMP code/dmp_vol_obst-master/demos/ginesi_2019/two_obstacles.py:结果如下:
在这里插入图片描述
运行程序E:/manipulator_programming/DMP code/dmp_vol_obst-master/demos/ginesi_2019/synthetic_test.py:结果如下:
在这里插入图片描述

四、未解决的问题

程序E:/manipulator_programming/DMP code/dmp_vol_obst-master/demos/ginesi_2019/point_cloud_test.py运行不通过,报错ModuleNotFoundError: No module named ‘dmp.dmp_cartesian’

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

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

相关文章

即插即用篇 | DenseNet卷土重来! YOLOv8 引入全新密集连接卷积网络 | ECCV 2024

本改进已同步到YOLO-Magic框架! 本文重新审视了密集连接卷积网络(DenseNets),并揭示了其在主流的ResNet风格架构中被低估的有效性。我们认为,由于未触及的训练方法和传统设计元素没有完全展现其能力,DenseNets的潜力被忽视了。我们的初步研究表明,通过连接实现的密集连接…

R语言中的shiny框架

R语言中的shiny框架 Shiny 的基本概念基本用法示例常见用法示例1. 输入控件2. 输出控件3. 动态 UI4. 数据传递和反应式编程 高级功能1. 使用 shinyjs2. 使用 shinythemes Shiny 是一个 R 语言的框架,用于构建交互式的网页应用,可以让用户以最少的 HTML、…

彻底理解前端模块化

目录 引入历史问题 CommonJSexports导出module.exports导出require导入加载过程缺点 AMD规范(基本不用)require.js使⽤ CMD规范(基本不用)SeaJS的使⽤ ES Module简单使用export关键字import关键字export和import结合default⽤法im…

MySQL多版本并发控制MVCC实现原理

MVCC MVCC 是多版本并发控制方法,用来解决读和写之间的冲突,比如脏读、不可重复读问题,MVCC主要针对读操作做限制,保证每次读取到的数据都是本次读取之前的已经提交事务所修改的。 概述 当一个事务要对数据库中的数据进行selec…

论文不会写怎么办?推荐这5款AI论文工具帮你一键搞定!

在当今的学术研究和写作领域,AI论文工具已经成为不可或缺的助手。这些工具不仅能够提高写作效率,还能帮助研究者生成高质量的论文。本文将推荐五款优秀的AI论文工具,并特别推荐千笔-AIPassPaper,以帮助读者更好地完成学术写作任务…

[笔记]某视觉三维定位系统参数表

表中的参数是彼此关联的,其实是就是视频解算的速度。里面的1秒直接对应1FPS300m秒直接对应3FPS0-20m的识别范围,与摄像头分辨率、视在焦距与摄像头基线有明确的对应关系。它的矩阵非正方。怀疑一组用于远距,一组用于近距,属于固定…

ZYNQ:开发环境搭建

资料下载 http://47.111.11.73/docs/boards/fpga/zdyz_qimxing(V2).html Vivado软件是什么? Vivado软件是Xilinx(赛灵思)公司推出的一款集成设计环境(IDE),主要用于FPGA(现场可编程门阵列&am…

Django5 使用pyinstaller打包成 exe服务

首先:确保当前的django项目可以完美运行,再进行后续操作 python manage.py runserver第一步 安装 pyinstaller pip install pyinstaller第二步 创建spec 文件 pyinstaller --name manage --onefile manage.pypyinstaller:这是调用 PyInsta…

Electron-vue asar 局部打包优化处理方案——绕开每次npm run build 超级慢的打包问题

背景 因为组员对于 Electron 打包过程存在比较迷糊的状态,且自己也没主动探索 Electron-vue 打包细节,导致每次打包过程都消耗 5-6 分钟的时间,在需要测试生产打包时,极其浪费时间,为此针对 Electron-vue 打包的几个环…

Cilium + ebpf 系列文章-什么是ebpf?(一)

前言: 这篇非常非常干,很有可能读不懂。 这里非常非常推荐,建议使用Cilium官网的lab来辅助学习!!!Resources Library - IsovalentExplore Isovalents Resource Library, your one-stop destination for ins…

刷题计划 day10 栈与队列上【用栈实现队列】【用队列实现栈】【有效的括号】【删除字符串中的所有相邻重复项】

⚡刷题计划day10栈与队列继续,可以点个免费的赞哦~ 往期可看专栏,关注不迷路, 您的支持是我的最大动力🌹~ 目录 ⚡刷题计划day10继续,可以点个免费的赞哦~ 往期可看专栏,关注不迷路, 您的…

【中级通信工程师】终端与业务(三):电信业务

【零基础3天通关中级通信工程师】 终端与业务(三):电信业务 本文是中级通信工程师考试《终端与业务》科目第三章《电信业务》的复习资料和真题汇总。终端与业务是通信考试里最简单的科目,有效复习通过率可达90%以上,本文结合了高频考点和近几…

数字化转型:开启未来发展新引擎

在当今飞速发展的时代,数字化转型已成为企业、组织乃至整个社会发展的关键趋势。 信息技术的迅猛发展,如互联网、大数据、人工智能等,为数字化转型提供了强大支撑。市场竞争的加剧,也促使企业不断寻求提升竞争力的方法&#xff0c…

【CSS/HTML】圣杯布局和双飞翼布局实现两侧宽度固定,中间宽度自适应及其他扩展实现

前沿简介 圣杯布局和双飞翼布局是前端重要的布局方式。两者的功能相同,都是为了实现一个两侧宽度固定,中间宽度自适应的三栏布局。 圣杯布局来源于文章In Search of the Holy Grail,双飞翼布局来源于淘宝UED。 两者的实现方式有差异,但是都…

黑马头条day4 自媒体文章自动审核

阿里云内容安全调用 其实这个接口调用不是很难 但是需要花钱 就没买 我开了按量计费 但是还是不行 所以就没测试 于是尝试自己写返回成功值 效果不好 后来发现不如直接在函数里边取消调用文字和图片审核 这样更简单 远程调用与降级处理 这里有个bug调试了好久 第一个就是总…

STL之vector篇(下)(手撕底层代码,从零实现vector的常用指令,深度剖析并优化其核心代码)

文章目录 1.基本结构与初始化1.1 空构造函数的实现与测试1.2 带大小和默认值的构造函数1.3 使用迭代器范围初始化的构造函数(建议先看完后面的reserve和push_back)1.4 拷贝构造函数1.5 赋值操作符的实现(深拷贝)1.6 析构函数1.7 begin 与 end 迭代器 2. …

使用 sponge + dtm 轻松实现秒杀抢购服务(HTTP),彻底解决库存与订单数据不一致的难题

秒杀场景的挑战 秒杀是电商中常见的抢购商品场景,其技术特点是瞬间请求量巨大,对服务的性能和一致性要求极高。即使服务出现崩溃,也必须确保库存扣减和订单生成保持一致,避免出现超卖或超买的现象。通过使用 dtm(分布…

【重要提示】由于找不到msvcr110.dll 无法继续执行的解决途径全面解析

在使用Windows操作系统时,您可能会遇到这样的问题:某些应用程序在启动时提示“由于找不到 msvcr110.dll,无法继续执行代码。重新安装程序可能会解决此问题。” 这种错误通常会导致应用程序无法正常运行,影响用户体验。本文将全面介…

MySQL 预处理语句:强大的数据库工具

《MySQL 预处理语句:强大的数据库工具》 在 MySQL 数据库的使用中,预处理语句是一个非常有用的功能。它可以提高数据库的性能、安全性和可维护性。那么,什么是预处理语句呢?它又有哪些优点呢?让我们一起来了解一下。 …

docker - 镜像操作(拉取、查看、删除)

文章目录 1、docker search --help(用于显示 Docker 搜索命令的帮助信息)2、docker pull(拉取镜像)3、docker images (查看镜像)3.1、docker images --help(用于显示 Docker 镜像管理相关命令的帮助信息)3.…