4190
Comment:
|
4540
|
Deletions are marked like this. | Additions are marked like this. |
Line 25: | Line 25: |
=== MATLAB-Processing-Admoveo: Using matlabcontrol in Processing === | === MATLAB-Processing-Arduino/AdMoveo: Using matlabcontrol in Processing === |
Line 72: | Line 72: |
}}} | }}} Other examples in the [[http://code.google.com/p/matlabcontrol/wiki/Walkthrough|Walkthrough]] can be modified in a similar manner for Processing. * F.N.A. Al-Kaylani, K.J.F de Greef and N.M. Nelson had successfully using this approach in combination with Admoveo robots. See their report: [[attachment:Learning_Robots_SuggestionRobot.pdf]] |
Learning Robots
This wiki site is part of the Learning Robots module.
Contents
1. Connecting MATLAB and Arduino/Admoveo
1.1. Arduino support in MATLAB (no Admoveo robot support)
MathWorks has a software package to support Arduino directly in MATLAB. You can find the package from its website. Please notice that:
- You do need to login with your MATLAB account, in order to download the package and get access to other resources such as tutorials.
Check out the Additional Resources to find a useful Webinar.
- In the downloaded zip file, readme.txt has very detailed instructions for installing the firmware to Arduino and the necessary library to MATLAB.
if you plan to use servo motors, you need the motor shield for MATLAB to control the motors properly using the given package.
- To get the online documentation of the arduino class in MATLAB, type in "arduino(" and wait for a dialogue box to pop up:
1.2. MATLAB-Processing-Arduino/AdMoveo: Using matlabcontrol in Processing
The matlabcontrol library for Java is available from http://code.google.com/p/matlabcontrol/
- To install the library to be used in Processing:
Download "matlabcontrol jar with source files included" from http://code.google.com/p/matlabcontrol/downloads/list.
- Rename the jar file (for example, matlabcontrol-4.0.0.jar) to "matlabcontrol.jar".
Create a directory in your Processing library path: <Sketchbook location>\libraries\matlabcontrol\library, put "matlabcontrol.jar" in this directory.
To verify your installation, start processing, go to menu "Sketch->Import Libraries", you should be able to able to import "matlabcontrol":
Follow the Walkthrough to understand how to communicate to MATLAB in JAVA.
Similar approach described in the Walkthrough can be done in Processing. Take the "Hello World" example in Java:
1 public static void main(String[] args) throws MatlabConnectionException, MatlabInvocationException 2 { 3 //Create a proxy, which we will use to control MATLAB 4 MatlabProxyFactory factory = new MatlabProxyFactory(); 5 MatlabProxy proxy = factory.getProxy(); 6 7 //Display 'hello world' just like when using the demo 8 proxy.eval("disp('hello world')"); 9 10 //Disconnect the proxy from MATLAB 11 proxy.disconnect(); 12 }
The same can be done in Processing by removing the "main" method. However in Processing we need to catch the exceptions:
1 import matlabcontrol.internal.*; 2 import matlabcontrol.extensions.*; 3 import matlabcontrol.*; 4 5 try { 6 //Create a proxy, which we will use to control MATLAB 7 MatlabProxyFactory factory = new MatlabProxyFactory(); 8 MatlabProxy proxy = factory.getProxy(); 9 10 //Display 'hello world' just like when using the demo 11 proxy.eval("disp('hello world')"); 12 13 //Disconnect the proxy from MATLAB 14 proxy.disconnect(); 15 } 16 catch (Exception e) { 17 //do nothing, or cry. 18 }
Other examples in the Walkthrough can be modified in a similar manner for Processing.
F.N.A. Al-Kaylani, K.J.F de Greef and N.M. Nelson had successfully using this approach in combination with Admoveo robots. See their report: Learning_Robots_SuggestionRobot.pdf
2. Admoveo Robot
Install Processing and the Processing library for controlling the Admoveo robot.