anchor.diff:  disp(char(recv_data));
   ----
   
  -It was implemented as a single MEX function that selects an appropriate action based on the first argument. State was maintained by using socket IDs that were passed in by the user at every call. The code below shows a simplified snippet of the send action.
  +It was implemented as a single MEX function that selects appropriate sub-functions based on a string argument. State was maintained by using socket IDs that were passed in by the user at every call. The code below shows a simplified snippet of the send action.
   
   [source,c++]
   ----
  
positive.code: |====================
  | Project | Notes
  
  | https://github.com/ragavsathish/RabbitMQ-Matlab-Client[RabbitMQ] 
  | Simple Java wrapper for RabbitMQ 
  
  | https://sourceforge.net/projects/urbi/?source=typ_redirect[URBI] (http://agents.csse.uwa.edu.au/aibosig/resources/downloads/tutorial_liburbiMatlab_0.1.pdf[tutorial])
  | Seems to be deprecated
  
negative.code: <script>hljs.initHighlightingOnLoad()</script>
  ++++
  
  MATLAB(C) is a programming language and environment designed for scientific computing. It is one of the best languages for developing robot control algorithms and is extremely widespread in the research community. While it is generally thought of as an offline programming language, there are several ways to include hardware in the loop. As part of our own development we surveyed many different projects and compared the approaches they took. This post focuses on projects that leverage message passing frameworks such as ROS (Robot Operating System) or LCM (lightweight communication and marshalling).
  
  The main motivation for prototyping directly on real hardware is to significantly speed-up the development cycle by reducing the time it takes from considering an idea to finding out whether an algorithm can withstand real world physics. A workflow that requires researchers to port prototype code to another language before being able to test on real hardware can lead to multiple weeks or months being lost in chasing down rabbit holes. Additionally, programming in a language like C++ can pose a significant barrier to controls engineers who often do not have a computer science background.
  
  