MATHWORKS Track






MATLAB for AI | Design AI models and AI-driven systems

AI is everywhere. It's not just powering applications like smart assistants, machine translation, and automated driving, it's also giving engineers and scientists a set of techniques for tackling common tasks in new ways. With MATLAB, you are ready for AI even if you have no experience with machine learning. You can use apps to quickly try out different approaches and apply your domain expertise to prepare the data.

Three main components that MATLAB covers are:

MATLAB for Machine Learning

Discover patterns and build predictive models with engineering, manufacturing, and financial data. [Learn more]

MATLAB for Deep Learning

Data preparation, design, simulation, and deployment for deep neural networks. [Learn more]

MATLAB for Data Science

Explore data, build machine learning models, and do predictive analytics. [Learn more]


Model Your Algorithms, Design the World

Let’s model our algorithms to experience a faster design development and product deployment to make a better world.

Model-Based Design (MBD) with MATLAB and Simulink enables students to efficiently design and build a real-world engineering creation. This is made possible through the help of Simulink with target hardware using automatic C code generation technology.

Model-Based Design (MBD) is not just a framework, it had enable many groups of industrial engineers (in different domains) working on different design modules individually but using the same environment and eventually integrated their work together to deploy a full system. With this proven method, it allows students of cross-disciplinary to work as a team and experience the industry standard tools.

All students will be encouraged to fully deploy Model-Based Design (MBD) with target hardware using automatic C code generation technology.


Students are allowed to use any supported hardware. We will provide hands-on training with the Arduino board. Additionally, MathWorks provides resources on targeting to other boards such as Raspberry Pi, NVIDIA JetsonBeagle Board, Freescale FRDM-KL25Z, BeagleBone Black and Lego Mindstorms.

 Raspberry Pi

MATLAB® Support Package for Raspberry Pi™ Hardware provides two ways of programming Raspberry Pi applications from MATLAB.

Interactive communication: You can remotely communicate with a Raspberry Pi from a desktop installation of MATLAB or through a web browser with MATLAB Online™. Acquire data from sensors and imaging devices connected to the Raspberry Pi and then analyze and visualize it in MATLAB.

Standalone execution: With MATLAB Coder™, you can develop standalone embedded applications for Raspberry Pi. Use the interactive communication to prototype and develop your MATLAB algorithm, then automatically generate equivalent C code and deploy it to the Raspberry Pi to run as a standalone application.

 Nvidia Jetson Boards for Deep learning / Image Processing

GPU Coder™ Support Package for NVIDIA® GPUs automates the deployment of MATLAB® algorithm or Simulink® design on embedded NVIDIA GPUs such as the Jetson platform. Use the interactive communication to prototype and develop your MATLAB algorithm, then automatically generate equivalent C code and deploy it to the drive platform to run as a standalone.

Interactive communication: You can remotely communicate with the NVIDIA target from MATLAB to acquire data from supported sensors and imaging devices connected to the target and then analyze and visualize it in MATLAB. You can log data from supported sensors to help fine-tune your algorithm for early prototyping.

Standalone execution: You can deploy the generated CUDA code as a standalone embedded application on the drive platform. You can build and deploy the generated CUDA code from your MATLAB algorithm, along with the interfaces to the peripherals and the sensors, on the Jetson platform.

The support package supports the NVIDIA Jetson® TK1, Jetson TX1, Jetson TX2, Jetson Xavier and Jetson Nano developer kits. It also supports the NVIDIA DRIVETM platform.


 ROS and Robotics System Toolbox for AGV, UAV and Manipulators

Robotics System Toolbox™ provides an interface between MATLAB® and Simulink® and the Robot Operating System (ROS) that enables you to communicate with a ROS network, interactively explore robot capabilities, and visualize sensor data. You can develop, test, and verify your robotics algorithms and applications on ROS-enabled robots and robot simulators such as Gazebo and V-REP. You can also create a self-contained ROS network directly in MATLAB and Simulink, and import ROS log files (rosbags) to visualize, analyze, and post-process logged data. These features allow you to develop your robotics algorithms in MATLAB and Simulink, while giving you the ability to exchange messages with other nodes on the ROS network. With Embedded Coder®, you can generate C++ code from a Simulink model for a standalone ROS application that can run on any Linux® platform that has ROS installed.

Key features allow you to:

  • Communicate with a ROS network, interactively explore robot capabilities, and visualize sensor data
  • Create ROS nodes, publishers, and subscribers directly from MATLAB and Simulink
  • Create and send ROS messages from MATLAB and Simulink
  • Create and send ROS Custom Messages from MATLAB and Simulink
  • Call and provide ROS services
  • Import ROS log files (rosbags) to visualize, analyze, and post-process logged data
  • Use ROS functionality on any platform (Windows®, Linux, Mac)
  • Use MATLAB as an ROS master
  • Test and verify applications on ROS-enabled robots and robot simulators such as Gazebo and V-REP
  • Create Simulink models that work with a ROS network
  • Generate a standalone ROS C++ node from a Simulink model

 Automate Deployment to the Edge, Asset or Cloud

MATLAB programs or Simulink models can be deployed on the edge, asset, or cloud. For desktop, server, on-premise, or cloud applications, you can generate run-time executables, components, or containers. For embedded devices, you can automatically generate C/C++, Verilog/VHDL, or GPU code. Explore and test where the algorithms of your IoT system should run – whether it is a time-critical control loop that should run at the asset or edge, or a big data analytic that should run at an on-premises data center or the cloud.

 MATLAB, Simulink and Toolboxes

MathWorks provides an extensive set of toolboxes customized for efficient Model-Based Design across application areas in a single integrated design environment. Listed below are toolboxes available to students during the course of the competition:


MathWorks Student Competition Resources

MathWorks prepares and supports the next generation of scientists and engineers with software, training, and mentoring to tackle the same technical issues as professional engineers.

Student teams receive industry-standard tools, with a flexible design environment where they can apply classroom theory to competition problems. [Learn more]



Project Proposal Guideline for MathWorks Track

Clarity of idea
  • Based on what has been written, is the team clear about what they would like to achieve? Are they clear on their problem statement?
  • In terms of language/communication, how well has the team communicated the message?
Potential for AI (Machine Learning, Deep Learning, Data Science) and Model-Based Design (MBD) Utilization
  • Does this project have the potential for integration with MATLAB & Simulink products to tie into the AI and Model-Based Design framework?
Reference
  • Has the team made any academic/commercial reference on this project? Has this project been done elsewhere? If yes, how does their project improve on current work?
Proposed System Design and Design Methodology
  • Has the student provided a system block diagram? Is the proposed design capable of solving the stated problem?
Homework on MATLAB/SIMULINK
  • Has the student done sufficient research on how their project can be used with Matlab & Simulink?

FAQ

  1. I have an Arduino and will be using it in my project. Can I program it using the Arduino IDE?
    No – you must code the board using MATLAB/Simulink. During the training, we will teach you how to do that, specific to Arduino. This applies to all other boards as well.
    An exception is if you demonstrate usage of MATLAB/Simulink. For instance, developing an algorithm using MATLAB/Simulink, and then using Matlab Coder to code-gen to C-code.

  2. Will I get a free board if I join this track?
    No board will be given.

  3. Will I get a free board if I join this track?
    Yes – upon acceptance into the track, we will provide more information on how you can obtain a 1-year temporary license for use in this competition.