你好andreas,
我怀疑在这里发生的事情是图书馆路径冲突。ROS工具箱与ROS库一起船舶,可能与RVIZ使用的库重叠。启动MATLAB时,MATLAB中的环境是在环境路径上设置MATLAB的库。如果将环境变量与来自标准终端的标准终端的那些进行比较,则可以看到差异。
我通常会建议从Matlab外的RVIZ开始。如果您的工作流程从MATLAB中启动它,则可以将相关环境变量暂时设置为从MATLAB外部复制的硬编码值,调用system命令启动rviz,然后将环境变量重置为原始值。我将首先查看的变量是路径和ld_library_path,尽管可能有其他人。
这样的东西:
%准备将环境重置为Matlab的当前值
InmatlabPath = GetEnv(“小路”);
Inmatlabldpath = getEnv(“ld_library_path”);
CleanPath = oncleanup(@()setEnv(“小路”,inmatlabpath));
cleanldpath = oncleanup(@()setEnv(“ld_library_path”,InmatlabldPath));
%设置环境匹配MATLAB外部
setenv(“小路”,outsidematlabpath)
setenv(“ld_library_path”,outsidematlabldpath)
%开始rviz
(地位、cmdout) =系统('rviz rviz -d runMyRvizLaunchFile.rviz');
将环境重置为默认值
清晰的CleanPath Cleandldpath.
-CAM.