配置ROS节点生成的MATLAB编码器
要从MATLAB函数为ROS节点生成c++代码,必须配置一个MATLAB®编码器™配置对象。本主题向您展示如何配置对象的属性,以自定义ROS Node的生成。
要创建MATLAB Coder配置对象,请使用coder.config
(MATLAB编码器)对象。ROS Toolbox仅支持MAT金宝appLAB Coder配置对象的可执行构建类型。
CFG = code .config('exe');
指定硬件
对象的属性“机器人操作系统”
硬件配置对象,使用coder.hardware
(MATLAB编码器)函数。
cfg。硬件=编码器。硬件(“机器人操作系统”);
然后,您可以指定这些编码器。硬件
ROS节点生成的特性。对于远程设备部署,设备参数自动保存到MATLAB首选项,并在下次将部署站点设置为时使用“远程设备”
。
财产 | 值 | 描述 |
---|---|---|
coder.Hardware.DeployTo |
|
代码的部署站点,可以是远程设备或本地主机设备。 |
coder.Hardware.BuildAction |
|
为代码生成构建操作。 |
coder.Hardware.RemoteDeviceAddress |
特征向量 |
远端设备的IP地址或主机名。 |
coder.Hardware.RemoteDeviceUsername |
特征向量 |
远端设备的用户名。 |
coder.Hardware.RemoteDevicePassword |
特征向量 |
远端设备密码。 |
coder.Hardware.CatkinWorkspace |
特征向量 |
远程设备中的Catkin工作区的路径。对于Windows设备,将替换默认值“~” 使用用户路径。 |
coder.Hardware.ROSFolder |
特征向量 |
ROS安装文件夹路径。留空以使用MATLAB ROS分布。 |
coder.Hardware.PackageMaintainerName |
特征向量 |
ROS包维护器名称,用于package.xml 的一代。 |
coder.Hardware.PackageMaintainerEmail |
特征向量 |
ROS包维护电子邮件ID,用于package.xml 的一代。 |
coder.Hardware.PackageLicense |
特征向量 |
ROS许可信息,用于package.xml 的一代。 |
coder.Hardware.PackageVersion |
特征向量 |
ROS包的版本号。 |
例如,以下代码指定生成的代码必须部署到远程设备,并在构建之后运行。它还指定远端设备参数。
cfg.Hardware.DeployTo = '远程设备';cfg.Hardware.BuildAction = '构建并运行';cfg.Hardware.RemoteDeviceAddress = '192.168.243.144';cfg.Hardware.RemoteDeviceUsername = 'user';cfg.Hardware.RemoteDevicePassword = 'password';
要指定其他特定于硬件的配置参数,请使用编码器。HardwareImplementation
(MATLAB编码器)对象。例如,此代码指定硬件的制造商和类型以及很久很久
的数据类型支持金宝appint64
而且uint64
值。
cfg.HardwareImplementation.ProdHWDeviceType = 'Intel->x86-64 (Linux 64)';prodlonglongmode = true;
要指定外部ROS包作为生成ROS节点的依赖项,请在编码器配置对象中指定适当的自定义工具链选项。
cfg。BuildConfiguration = '指定';cfg。CustomToolchainOptions{4} = '"ROS_PKG1","ROS_PKG2"';%添加ROS所需包cfg。CustomToolchainOptions{6} = '/usr/include/opencv';%添加包含目录cfg。CustomToolchainOptions{8} = '"-lopencv_core","-lopencv_shape"';%添加链接库cfg。CustomToolchainOptions{10} = '/usr/lib/opencv'; % Add Library Paths cfg.CustomToolchainOptions{12} = '-DMYVAR=1'; % Add Defines
有关ROS节点生成的更多信息,请参见代码生成的MATLAB编程。