Aloha 机械臂的学习记录3——AWE:Pycharm运行代码记录

2024-01-11 06:44

本文主要是介绍Aloha 机械臂的学习记录3——AWE:Pycharm运行代码记录,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

之前的博客创作了三偏关于Aloha_AWE的liunx终端指令运行代码的示例:

Aloha 机械臂的学习记录——AWE:Bimanual Simulation Suite:

https://blog.csdn.net/qq_54900679/article/details/134889183?spm=1001.2014.3001.5502

Aloha 机械臂的学习记录1——AWE:Bimanual Simulation Suite(Save waypoints):

https://blog.csdn.net/qq_54900679/article/details/134890424?spm=1001.2014.3001.5502

 Aloha 机械臂的学习记录2——AWE:AWE + ACT:

Aloha 机械臂的学习记录2——AWE:AWE + ACT_aloha机械臂-CSDN博客

今天在Pycharm编辑器中运行代码发现了一些报错,所以撰写此篇博客来记录:

以TASK = sim_insertion_human为例子:

首先将default="data/act/sim_insertion_human"取消注释(在act_waypoint.py文件中)

 然后配置conda的awe_venv环境以及参数环境变量

 首先配置参数,我们以运行act_waypoint.py文件为例子,对应Visualize waypoints

Liunx终端的指令为:

python example/act_waypoint.py --dataset=data/act/sim_insertion_human --err_threshold=0.01 --plot_3d --end_idx=0

在liunx的终端运行上面的指令是没有问题的,但是!在Pycharm编辑器中运行时会报错。

---------------------------------------------------------------------------------------------------------------------------------

Pycharm编辑器中参数(Parameters)的配置应该如下:

--dataset=/home/hjx/hjx_file/aloha/awe/data/act/sim_insertion_human --err_threshold=0.01 --plot_3d --end_idx=0

注意:其中/home/hjx/hjx_file/aloha/awe/data/act/sim_insertion_humandataset的绝对路径

--err_threshold=0.01 --plot_3d --end_idx=0 无需更改

需要寻找的是sim_insertion_human文件的绝对路径,如下图所示:

Pycharm编辑器中右击并点击Copy path...,第一个Absolute path就是绝对路径,点击复制

然后是环境变量(Environment variables)的配置:

这里是个大坑!!!

Liunx终端运行时会执行.bashrc文件,我们执行一次程序注意到如下报错:

 意思是缺少环境变量,需要正确设置 LD_LIBRARY_PATH 环境变量,以便找到Mujoco的库文件

但是,PyCharm的环境变量设置:LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/hjx/.mujoco/mujoco210/bin与LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/nvidia重名(LD_LIBRARY_PATH依次添加的话会覆盖其中一个,导致变量不全,如何解决?)

其中很简单,只需要这个配置即可:

LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/nvidia:/home/hjx/.mujoco/mujoco210/bin

请注意,冒号 : 用于分隔不同的路径,而不需要额外的空格。这个设置将在PyCharm中设置 LD_LIBRARY_PATH 环境变量,包括系统路径 /usr/lib/nvidia 和Mujoco路径 /home/hjx/.mujoco/mujoco210/bin。确保在保存设置后重新启动PyCharm,以确保环境变量生效。

 环境变量配置完成后点击OK即可

好了~ 万事俱备,只欠东风

下面就可以开始运行act_waypoint.py文件,Run

可以看到,在Pycharm编辑器中代码运行成功!!!

但是,还没结束,再保存最终的图片时,又出现了问题

报错如下:

 这个错误消息表明您的程序尝试打开名为

'plot/act/sim_insertion_human_0_t_0.01_waypoints.png' 的文件,

但未能找到该文件

需要进行act_waypoint.py文件中代码段落的修改:

 复制一段此代码后再注释原先的代码,将plot的路径改为绝对路径,再次运行!

 最终发现,问题得到了解决,代码成功跑通,案例演示结束~~~

输出的plot结果如下:

 

这篇关于Aloha 机械臂的学习记录3——AWE:Pycharm运行代码记录的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/593485

相关文章

Java学习手册之Filter和Listener使用方法

《Java学习手册之Filter和Listener使用方法》:本文主要介绍Java学习手册之Filter和Listener使用方法的相关资料,Filter是一种拦截器,可以在请求到达Servl... 目录一、Filter(过滤器)1. Filter 的工作原理2. Filter 的配置与使用二、Listen

利用Python调试串口的示例代码

《利用Python调试串口的示例代码》在嵌入式开发、物联网设备调试过程中,串口通信是最基础的调试手段本文将带你用Python+ttkbootstrap打造一款高颜值、多功能的串口调试助手,需要的可以了... 目录概述:为什么需要专业的串口调试工具项目架构设计1.1 技术栈选型1.2 关键类说明1.3 线程模

Python Transformers库(NLP处理库)案例代码讲解

《PythonTransformers库(NLP处理库)案例代码讲解》本文介绍transformers库的全面讲解,包含基础知识、高级用法、案例代码及学习路径,内容经过组织,适合不同阶段的学习者,对... 目录一、基础知识1. Transformers 库简介2. 安装与环境配置3. 快速上手示例二、核心模

Python如何精准判断某个进程是否在运行

《Python如何精准判断某个进程是否在运行》这篇文章主要为大家详细介绍了Python如何精准判断某个进程是否在运行,本文为大家整理了3种方法并进行了对比,有需要的小伙伴可以跟随小编一起学习一下... 目录一、为什么需要判断进程是否存在二、方法1:用psutil库(推荐)三、方法2:用os.system调用

Java的栈与队列实现代码解析

《Java的栈与队列实现代码解析》栈是常见的线性数据结构,栈的特点是以先进后出的形式,后进先出,先进后出,分为栈底和栈顶,栈应用于内存的分配,表达式求值,存储临时的数据和方法的调用等,本文给大家介绍J... 目录栈的概念(Stack)栈的实现代码队列(Queue)模拟实现队列(双链表实现)循环队列(循环数组

Java使用SLF4J记录不同级别日志的示例详解

《Java使用SLF4J记录不同级别日志的示例详解》SLF4J是一个简单的日志门面,它允许在运行时选择不同的日志实现,这篇文章主要为大家详细介绍了如何使用SLF4J记录不同级别日志,感兴趣的可以了解下... 目录一、SLF4J简介二、添加依赖三、配置Logback四、记录不同级别的日志五、总结一、SLF4J

使用Java将DOCX文档解析为Markdown文档的代码实现

《使用Java将DOCX文档解析为Markdown文档的代码实现》在现代文档处理中,Markdown(MD)因其简洁的语法和良好的可读性,逐渐成为开发者、技术写作者和内容创作者的首选格式,然而,许多文... 目录引言1. 工具和库介绍2. 安装依赖库3. 使用Apache POI解析DOCX文档4. 将解析

C++使用printf语句实现进制转换的示例代码

《C++使用printf语句实现进制转换的示例代码》在C语言中,printf函数可以直接实现部分进制转换功能,通过格式说明符(formatspecifier)快速输出不同进制的数值,下面给大家分享C+... 目录一、printf 原生支持的进制转换1. 十进制、八进制、十六进制转换2. 显示进制前缀3. 指

Python运行中频繁出现Restart提示的解决办法

《Python运行中频繁出现Restart提示的解决办法》在编程的世界里,遇到各种奇怪的问题是家常便饭,但是,当你的Python程序在运行过程中频繁出现“Restart”提示时,这可能不仅仅是令人头疼... 目录问题描述代码示例无限循环递归调用内存泄漏解决方案1. 检查代码逻辑无限循环递归调用内存泄漏2.

在Spring Boot中浅尝内存泄漏的实战记录

《在SpringBoot中浅尝内存泄漏的实战记录》本文给大家分享在SpringBoot中浅尝内存泄漏的实战记录,结合实例代码给大家介绍的非常详细,感兴趣的朋友一起看看吧... 目录使用静态集合持有对象引用,阻止GC回收关键点:可执行代码:验证:1,运行程序(启动时添加JVM参数限制堆大小):2,访问 htt