MathWorks India conducted the annual MATLAB EXPO, last Thursday, on the 13th of April, 2017. The annual conference brought together more than 1000 engineers and scientists to learn more about the potential of tools like MATLAB and Simulink. The conference comprised of multiple tracks and sessions, covering a broad range of topics, and spanning multiple applications and industries.
The experts spoke about MATLAB and Simulink’s improved capabilities. Most of the speakers belonged to different industrial segments. This reflects on the fact that these tools are leveraged for multitude of applications, stretching across multiple industry verticals. The key speakers, present at the event included Managing Director, MathWorks India, Kishore Rao; MathWorks Fellow, Jim Tung; and Technical Manager, MathWorks, Prashant Rao. Besides talking about the new capabilities of MATLAB and SImulink, the speakers also touched upon real-world customer use cases and the industry trends.
Vivek Raju, Application Engineer for The MathWorks was also present at “MATLAB EXPO, and presented his talk during the conference. His talk was titled “Developing Autonomous Systems with MATLAB and Simulink”, and it revolved around discussing the key challenges encountered in developing an autonomous system. He simultaneously discussed about the approaches to overcome the constraints using industry-proven tools like MATLAB and Simulink.
Challenge 1: Comprehending the dynamics, and developing the control algorithm
Autonomous systems can range into different systems, self-driving cars, robotic systems, etc. Raju decided to explain the challenges through the example of an aerial vehicle. He used a quadcopter to define the challenges and find solutions to addressing them. To understand the dynamics, it’s important to model it, and then design the control algorithm.
Simulink gives you platform where you can mathematically model the dynamic and design the control. Raju explains, “Simulink is a block diagram approach used to model the mathematical equations, representing them in terms of block diagram, and simulating it to see how the system behaves with respect to time.” Basically, dynamic analysis is an important element of Simulink. Users can easily understand the system level simulation, and design the control algorithm within the simulation.
Simulink is the most effective platform to overcome the first challenge. Additionally, you can use the tool for aerospace applications to model various environmental effects like wind, aerodynamics, 6 degrees of freedom equation, and to connect them to various virtual environments.
This is not all, the software lets you parameterise all the elements of the simulation based on certain standards, viz., low or high temperature. Raju comments, “Simulink is a robust platform that lets you perform system level simulation, besides enabling you to generate the code out of the model in languages like C and C++, etc.”
Case Study: What does the quadcopter do in case there’s any fault in the system?
These system models usually run on event-driven control logic. This type of logic can detect any event, besides detecting a fault. It allows the quadcopter model to come back to its original functioning state, in case there’s any fault detected. Simulink can be used for robotic systems too, for instance, to detect if a motor is drawing power above the threshold value.
Challenge 2: Designing vision, radar, and perception algorithms; and synchronizing various sensors into visualizing the environment data
MATLAB helps you in bringing the data which primarily governs various environmental elements. Based on this data, users can simulate a map for visualising the available objects and events in the available environment. Various customised “Apps” have been developed by the MATLAB team to bring disparate data sets onto one platform, for visualizing them and further implementing.
The customised Apps can be integrated and utilized, to churn and translate the data coming in from the various sensors like IR sensors, linear inertial sensors, radar, and sonar. This enables the user to create a 3D point cloud on the simulated visualization, which can be further used to triangulate the distance between the robot module and the object. “Visualizing the data and then devising the algorithm becomes easy using the customised Apps,” remarks Raju. As each and every sensor and module installed have their on purpose, they can be used to bring together a framework of operations, running on a set protocol algorithm for the system to function.
MATLAB helps you address two key questions:
- How to visualize sensor data?
MATLAB provides you with the option to bring in different kinds of data and visualize them. Data can flow in from a variety of sensors, radar, LIDAR, etc.
- How to develop the algorithm?
MATLAB can help you develop the algorithm from the multilog data that has been acquired from different sources, precisely sensors. The same tool lets you refine the algorithm and collect more sensor data, besides drastically reducing the time taken in writing those algorithms. Moreover, users can fuse sensors together and develop an algorithm using MATLAB, to check if the system behaves as expected.
Challenge 3: Implementing the algorithm on actual hardware; testing and refining the Simulation
Raju discusses the various approaches to creating robotic simulation and visualization, in estimating how the system can behave in real-time applications, “Buy and Build.”
There are several tools and platforms, available in the market today which allows users to test and build their own autonomous or robotic projects, leveraging robotic simulation scenarios or autonomous driving scenario. “Gazebo is a robust robotic simulation platform, allowing users to create their own virtual environment for test purposes,” mentions Raju.
Raju draws user back to the first challenge where he modeled the dynamics, incorporating low level control. “You can communicate this model with Gazebo’s environment, which contains detailed physics,” remarks Raju. Once tested in the virtual environment of Gazebo, the model can be implemented to real hardware.
Robot Operating System, or ROS as it is popularly called, is another powerful tool for testing robotic optimal system. It functions like an Operating System, with different architectures distributed within the system, to help users test their autonomous projects.
Advantages of ROS:
- It helps you connect to 3D virtual simulation environment, for mapping, controls, etc.
- It has different kind of drivers, wherein it can access different kinds of data, and send it back to hardware for action/response.
- MATLAB can easily integrate with ROS.
Key features of ROS:
- Motion control
- Obstacle avoidance
- Global map