2. Installation

FORCES Pro is a client-server code generation system. The user describes the optimization problem using the client software, which communicates with the server for code generation (and compilation if applicable). The client software is the same for all users, independent of their license type.

2.1. Obtaining FORCES Pro

In order to obtain FORCES Pro, follow the steps below:

  1. Inquire a license from https://www.embotech.com/license-request or by directly contacting licenses@embotech.com.
  2. After receiving a license, the FORCES Pro client will be sent to you via email. If a FORCES Pro client already exists on your machine, the updateClient script will update it to the new version.

2.2. Installing FORCES Pro

Add the path of the downloaded folder FORCES_PRO to the MATLAB path by using the command addpath DIRNAME, e.g. by typing:

addpath /home/user/FORCES_PRO

on your MATLAB command prompt. Alternatively, you can add the path of the FORCES_PRO folder via the graphical user interface of MATLAB as seen in Figure 2.1.

../_images/Installation_SetPath.jpg

Figure 2.1 Adding the FORCES_PRO folder to the MATLAB path.

2.3. System requirements

FORCES Pro is supported on Windows, macOS and the different Linux distributions.

For the MATLAB and Simulink interfaces, 32 or 64 bit MATLAB 2012b (or higher) is required. Older versions might work but have not been tested. A MEX compatible C compiler is also required. A list of compilers that are supported by MATLAB can be found in https://www.mathworks.com/support/sysreq/previous_releases.html.

Run:

mex -setup

to configure your C compiler in MATLAB.

2.4. Keeping FORCES Pro up to date

FORCES Pro is actively developed and client modification are frequent. Whenever your client version is not synchronized with the server version, you will receive a code generation error notifying you that your client is out of date.

To update your client simply type:

updateClient

on your MATLAB command prompt. updateClient without any arguments uses the default embotech server to grab the client, and updates all corresponding client files. The command:

updateClient(URL)

overrides the default server selection and uses the server located at URL instead.