之前的博客创作了三偏关于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_human是dataset的 绝对路径
--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结果如下: