EcoCoder-AI - Automatic Code Generation Tool

EcoCoder-AI is a powerful automatic code generation MATLAB/Simulink library that links directly to the target controller. The highlighted features of EcoCoder-AI include code generation, compilation and one-click generation of executable files.

With EcoCoder-AI, the Simulink model-based control strategy can be directly converted into a ROS-based executable program for the target controller and downloaded to the target controller. It helps developers make most use out of Simulink's generic libraries, which makes it extremely easy for application developers to use model-based programming method to develop ROS-based applications.

Dependencies for EcoCoder-AI Installed in Linux


Ubuntu is an open-source GNU/Linux operating system for desktop applications.


Minicom is a text-based modem control and terminal emulation program for Unix-like operating systems.


Robot Operating System (ROS) provides some standard operating system services such as hardware abstraction, low-level components control, common function implementation, inter-process messages, and packet management. ROS is based on a graph-like architecture whereby processes at different nodes can accept, publish, and aggregate various information. ROS can be divided into two layers, the lower layer is the operating system layer described above, and the upper layer is the various software packages that contributed by different user groups to realize different functions, such as localization and mapping, action path planning, sensing, simulation and so on.

AI Calibration - On-the-fly Calibration

Simulink external mode provides communication between two systems, the host and the target. The host is the computer that runs MATLAB and Simulink environments. The target is the ADCU hardware platform that runs the executable file generated by the host.

The host (Simulink environment) can request the target to receive changed parameters or upload signals by passing messages. The external mode communication is based on a client/server structure, in which the Simulink environment plays the role of the client and the target machine acts as the server.

Simulink External Mode

The external mode can modify the parameters of EcoCoder-AI blocks in real time, and Simulink will automatically download modified parameter to the target machine. External mode thus can be used for on-the-fly calibration.

The external mode can also enable the developer to monitor the input and output of each block and subsystem in real time without editing any interfaces. By connecting an oscilloscope block to the input and output ports, you can see the data of the corresponding input and output ports running in the target machine in real time. External mode thus can be used for on-the-fly monitoring and measurement.

In addition to Simulink model-based development of autonomous driving algorithms, EcoCoder-AI implements the calibration and measurement functions based external mode and supports one-click code generation and automatic cross-compilation. After the model is built, the compiled executable file is automatically downloaded to the target machine and run.