Ubuntu18.04 下安装 MATLAB 2021a

1、MATLAB 软件获取

南开大学软件之家:http://ca.nankai.edu.cn,非南开大学校园IP无法登陆该平台。
Ubuntu18.04 下安装 MATLAB 2021a_第1张图片点击浏览更多,找到 R2021a_Linux,开始下载,下载 R2021a_Linux.iso 镜像文件。
参考该网页下的个人版在线安装指南,首先注册 MathWorks 账户,然后安装的时候登陆该账户就不用涉及到注册什么的问题。

2、在 Linux 系统上安装 MATLAB

选中 R2021a_Linux.iso,鼠标双击即可 mount 上,下图即为挂载的文件夹:(这表示MATLAB镜像文件已经挂载成功,就相当于一个光盘)
Ubuntu18.04 下安装 MATLAB 2021a_第2张图片在该位置打开终端,运行 sudo ./install(注意加 sudo,不然后续没有权限在 /usr/local 路径下创建 MATLAB 的安装路径)。而后以自己注册的 MathWorks 账户登陆,进行一步步安装就好了,软件默认安装目录位于 /usr/local/MATLAB/R2021a,最后完成安装。

3、MATLAB 启动

/usr/local/MATLAB/R2021a/bin 文件夹下运行 ./matlab,启动 MATLAB。

$ cd /usr/local/MATLAB/R2021a/bin/
$ ./matlab

但是这种运行方式有点麻烦,所以接下来我们创建MATLAB的快捷方式。

4、创建快捷方式

添加启动:终端输入命令:sudo gedit /usr/share/applications/Matlab2021a.desktop
打开编辑文件以后,输入以下内容:

[Desktop Entry]
Encoding=UTF-8
Name=Matlab 2021a
Exec=/usr/local/MATLAB/R2021a/bin/matlab
Icon=/usr/local/MATLAB/R2021a/toolbox/shared/dastudio/resources/MatlabIcon.png
Terminal=true
StartupNotify=true
Type=Application
Categories=Application;

重启电脑,就可以看到 matlab 启动图标了。

5、配置 franka_matlab_v0.3.0

将下载好的 franka_matlab_v0.3.0 文件夹放在 catkin_franka
Ubuntu18.04 下安装 MATLAB 2021a_第3张图片点击 MATLAB 图标,启动 MATLAB。设置路径,然后将 franka_matlab_v0.3.0 添加文件夹。
Ubuntu18.04 下安装 MATLAB 2021a_第4张图片在 MATLAB 命令行窗口运行 init_franka_matlab(),此时会提示找不到 libfranka 库。Ubuntu18.04 下安装 MATLAB 2021a_第5张图片究其原因,实际上 franka_matlab_v0.3.0 下是有 libfranka 库的,但是现在这个库下边没有编译好的 build 文件夹。所以在命令行输入 Y,build该库。(如果该目录下没有该库的话,输入Y也会克隆libfranka库然后编译生成 build文件夹)。
但是输入 Y 后自己下载并编译的 libfranka 库版本不对,在 FCI 模式下运行 example 中的示例代码时都运行不了。
干脆将自己之间源码下载编译的 0.9.0 版本的 libfranka 库给拷贝过来得了,这样 libfranka 肯定没有问题,这时候再 init_franka_matlab()

在第一次使用时,需要>> mex_franka_simulink_library()>> mex_franka_matlab_library() 来MEX Simulink 和 Matlab 库。

6、验证 Simulink,运行示例程序

  • 1、机器人上电,通过网线连接机器人控制柜和电脑,本机 ip:172.16.0.2,机器人 ip:172.16.0.1,通过 desk 界面登陆,解锁机器人关节,可通过 ping 172.16.0.2 验证连通性;
  • 2、激活机器人 FCI,并使机器人处于蓝色亮灯模式;
  • 3、打开 Matlab,使工作取切换到 franka_matlab_v0.3.0,在命令行窗口输入 <,正确初始化。
  • 4、进入 demos 文件夹,在文件demos_common_configs.m中,有一组建立和运行模型所需的默认参数。当模型被打开时,它们会被自动加载。这样,仅须定义 robot_ip 即可。打开 demos 文件夹下的示例程序 joint_impedance_control.slx
    Ubuntu18.04 下安装 MATLAB 2021a_第6张图片

7、用 franka_matlab 做 Simulink 最小项目

7.1 bug 1:Simulink 菜单栏没有 HARDWARE 选项卡

Ubuntu18.04 下安装 MATLAB 2021a_第7张图片解决办法:拷贝示例 slx 文件,从它基础上搭建自己的仿真文件。

7.2 bug2:报错

Error: File: /usr/local/MATLAB/R2021a/rtw/c/tlc/lib/utillib.tlc Line: 1254 Column: 8
%exit directive:  Simulink Coder Fatal in block: "franka_x_track/high level human-machine/Human machine interface/S-Function1", block type "S-Function": MFile S-functions without a corresponding TLC file are not supported. You can inline your S-function (Compute_Fhm) by creating a TLC file for it. You can also remap your S-function to C by creating a corresponding C Mex source file and a Compute_Fhm.tlc file in the same directory as the MFile S-function which contains (on the first line):
  %% CallAsCMexLevel1
or
  %% CallAsCMexLevel2
Component: Simulink | Category: Model error

Ubuntu18.04 下安装 MATLAB 2021a_第8张图片
报错什么意思:我的 Compute_Fhm S函数是用 M 语言写的,在实际编译过程中,不支持没有相应 TLC 文件的 MFile S函数。
他还提供了两种解决途径:

  • 1、通过为我的 S 函数Compute_Fhm 创建一个 TLC 文件来内联它;
  • 2、还可以通过创建相应的 C Mex 源文件和 Compute_Fhm 将 S 函数重映射到 C;

后来我将用 m 语言写的 S 函数改成了用 c 语言编写的 S 函数,编译报错问题消失了。当我兴致勃勃准备测试一下实验结果(点击 Monitor & Tune)的时候,新的问题又出现了:

External Mode Open Protocol CheckData command failed
Caused by:
 - Multiple errors detected. 
	 - Error returned by XCP master: XCP Master TCP/IP error: socket receive error 
	 - Error detected while trying to disconnect Simulink from target application. 
			 - Error returned by XCP master: XCP Master TCP/IP error: socket receive error 
Component: Simulink | Category: Block diagram error

Ubuntu18.04 下安装 MATLAB 2021a_第9张图片
Ubuntu18.04 下安装 MATLAB 2021a_第10张图片

你可能感兴趣的:(Ubuntu,matlab,开发语言)