<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Patrick Martin @ York College </title>
	<atom:link href="http://www.drpatrickmartin.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.drpatrickmartin.com</link>
	<description></description>
	<lastBuildDate>Sun, 19 May 2013 21:03:41 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>NSF CPS Proposal Awarded</title>
		<link>http://www.drpatrickmartin.com/2012/11/nsf-cps-proposal-awarded/</link>
		<comments>http://www.drpatrickmartin.com/2012/11/nsf-cps-proposal-awarded/#comments</comments>
		<pubDate>Fri, 30 Nov 2012 01:30:58 +0000</pubDate>
		<dc:creator>pjmartin</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[Research]]></category>

		<guid isPermaLink="false">http://www.drpatrickmartin.com/?p=385</guid>
		<description><![CDATA[<p>I am pleased to announce that I was awarded an NSF Grant entitled <a href="http://www.nsf.gov/awardsearch/showAward?AWD_ID=1239221&#38;HistoricalAwards=false">Hybrid Control Tools for Power Management and Optimization in Cyber-Physical Systems</a>. This grant is a joint research endeavor with Georgia Tech. It will allow for close interaction between Georgia Tech and York College. Furthermore, it facilitates the establishment of a novel Research Co-op experience for undergraduate students at York College. Stay tuned for more details as the grant gets going!</p>]]></description>
				<content:encoded><![CDATA[<p>I am pleased to announce that I was awarded an NSF Grant entitled <a href="http://www.nsf.gov/awardsearch/showAward?AWD_ID=1239221&amp;HistoricalAwards=false">Hybrid Control Tools for Power Management and Optimization in Cyber-Physical Systems</a>. This grant is a joint research endeavor with Georgia Tech. It will allow for close interaction between Georgia Tech and York College. Furthermore, it facilitates the establishment of a novel Research Co-op experience for undergraduate students at York College. Stay tuned for more details as the grant gets going!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.drpatrickmartin.com/2012/11/nsf-cps-proposal-awarded/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Phidgets and Clojure Integration</title>
		<link>http://www.drpatrickmartin.com/2012/06/phidgets-and-clojure-integration/</link>
		<comments>http://www.drpatrickmartin.com/2012/06/phidgets-and-clojure-integration/#comments</comments>
		<pubDate>Wed, 06 Jun 2012 20:16:27 +0000</pubDate>
		<dc:creator>pjmartin</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[clojure]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[phidgets]]></category>

		<guid isPermaLink="false">http://www.drpatrickmartin.com/?p=354</guid>
		<description><![CDATA[<p>I have been using <a href="http://www.phidgets.com">Phidgets</a> in sensing and control applications in our Automation and Robotics Lab for several months. These devices are awesome since the company supports so many languages &#8211; including my favorite: Java. Since I have been learning Clojure, I thought it would be a great experience to play with Phidgets utilizing Clojure&#8217;s built-in Java interoperability. It turns out it is relatively simple to get Phidgets talking within Clojure!</p> <p>The current Phidget I am working on is the Interface Kit 8/8/8, which provides 8 digital inputs, 8 digital outputs, and 8 analog inputs. To use it in  … <a href="http://www.drpatrickmartin.com/2012/06/phidgets-and-clojure-integration/"> Continue reading <span class="meta-nav">&#8594; </span></a>]]></description>
				<content:encoded><![CDATA[<p>I have been using <a href="http://www.phidgets.com">Phidgets</a> in sensing and control applications in our Automation and Robotics Lab for several months. These devices are awesome since the company supports so many languages &#8211; including my favorite: Java. Since I have been learning Clojure, I thought it would be a great experience to play with Phidgets utilizing Clojure&#8217;s built-in Java interoperability. It turns out it is relatively simple to get Phidgets talking within Clojure!</p>
<p>The current Phidget I am working on is the Interface Kit 8/8/8, which provides 8 digital inputs, 8 digital outputs, and 8 analog inputs. To use it in Clojure, you just add the correct Java library in the namespace form:</p>
<pre class="brush: clojure; light: true; title: ; notranslate">
(ns robocloj.core (:import (com.phidgets InterfaceKitPhidget)))
</pre>
<p>Now, to operate on this Phidget using Clojure, I had to think a bit differently when calling the Interface Kit. First, Clojure&#8217;s syntax treats the first element within the parentheses as a function call, so I create and open the Interface Kit with:</p>
<pre class="brush: clojure; light: true; title: ; notranslate">
(def ikit (new InterfaceKitPhidget))
(.openAny ikit)
(.waitForAttachment ikit)
</pre>
<p>No big deal here, just a different way of calling the functions. The neatest part for me was making this code more Clojure-like using anonymous functions that wrap up the Java function call.</p>
<pre class="brush: clojure; light: true; title: ; notranslate">

(defn update-sensor-vals [&amp; more]
(map #(.getSensorRawValue ikit %) more))

</pre>
<p>This function uses the notion of &#8220;variable arity&#8221; to allow for any number of sensors to be read within a single line of code. For example, I could read both sensors by making the following call within my REPL:</p>
<pre class="brush: clojure; light: true; title: ; notranslate">
(update-sensor-vals 0 1)
</pre>
<p>This call results in a sequence of integer values read from the A/D:</p>
<pre class="brush: clojure; light: true; title: ; notranslate">
(871 1686)
</pre>
<p>Cool! But I still have much more to learn.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.drpatrickmartin.com/2012/06/phidgets-and-clojure-integration/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Getting Clojure</title>
		<link>http://www.drpatrickmartin.com/2012/05/getting-clojure/</link>
		<comments>http://www.drpatrickmartin.com/2012/05/getting-clojure/#comments</comments>
		<pubDate>Sun, 20 May 2012 11:18:54 +0000</pubDate>
		<dc:creator>pjmartin</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Research]]></category>
		<category><![CDATA[clojure]]></category>
		<category><![CDATA[robotics]]></category>

		<guid isPermaLink="false">http://www.drpatrickmartin.com/?p=349</guid>
		<description><![CDATA[<p>I have recently explored the use of <a href="http://www.clojure.org">Clojure</a> as an implementation language for my research. In the past, I came across the use of functional languages, such as <a href="http://www.haskell.org/haskellwiki/Haskell">Haskell</a>, in control and robotics. However, I was too wrapped up in coding everything in Java to really dig into the language. But then along came Clojure: a <a href="http://en.wikipedia.org/wiki/Lisp_(programming_language)">Lisp</a> that runs on the JVM.</p> <p>I have studied Clojure for about a month and I am excited by its potential to facilitate my work on motion description languages. I also like that it has a new approach to concurrency, a  … <a href="http://www.drpatrickmartin.com/2012/05/getting-clojure/"> Continue reading <span class="meta-nav">&#8594; </span></a>]]></description>
				<content:encoded><![CDATA[<p>I have recently explored the use of <a href="http://www.clojure.org">Clojure</a> as an implementation language for my research. In the past, I came across the use of functional languages, such as <a href="http://www.haskell.org/haskellwiki/Haskell">Haskell</a>, in control and robotics. However, I was too wrapped up in coding everything in Java to really dig into the language. But then along came Clojure: a <a href="http://en.wikipedia.org/wiki/Lisp_(programming_language)">Lisp</a> that runs on the JVM.</p>
<p>I have studied Clojure for about a month and I am excited by its potential to facilitate my work on motion description languages. I also like that it has a new approach to concurrency, a topic important for robotics and muti-agent systems. In future posts, I will be reporting on my exploration of the language and how to get it working on the Turtlebots in my lab at <a href="http://www.ycp.edu/academics/academic-departments/physical-sciences/programs-in-engineering-and-computer-science/">York College of Pennsylvania</a>. Stay tuned!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.drpatrickmartin.com/2012/05/getting-clojure/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Student Projects page is live!</title>
		<link>http://www.drpatrickmartin.com/2012/01/student-projects-page-is-live/</link>
		<comments>http://www.drpatrickmartin.com/2012/01/student-projects-page-is-live/#comments</comments>
		<pubDate>Mon, 16 Jan 2012 12:57:57 +0000</pubDate>
		<dc:creator>pjmartin</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[robotics]]></category>
		<category><![CDATA[teaching]]></category>

		<guid isPermaLink="false">http://www.drpatrickmartin.com/?p=326</guid>
		<description><![CDATA[<p>My student projects page is now live! The inaugural project is from four computer science students here at YCP. <a title="Student Projects" href="http://www.drpatrickmartin.com/?page_id=317">Check it out</a>!</p>]]></description>
				<content:encoded><![CDATA[<p>My student projects page is now live! The inaugural project is from four computer science students here at YCP. <a title="Student Projects" href="http://www.drpatrickmartin.com/?page_id=317">Check it out</a>!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.drpatrickmartin.com/2012/01/student-projects-page-is-live/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JamVM on Phidget SBC</title>
		<link>http://www.drpatrickmartin.com/2011/06/jamvm-on-phidget-sbc/</link>
		<comments>http://www.drpatrickmartin.com/2011/06/jamvm-on-phidget-sbc/#comments</comments>
		<pubDate>Thu, 16 Jun 2011 18:20:18 +0000</pubDate>
		<dc:creator>pjmartin</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Research]]></category>
		<category><![CDATA[compiling]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[phidgets]]></category>

		<guid isPermaLink="false">http://www.drpatrickmartin.com/?p=229</guid>
		<description><![CDATA[<p>I recently acquired a slew of <a title="Phidgets!" href="http://www.phidgets.com">Phidget SBCs</a> for my lab and have been working to upgrade their Java runtime to use the most recent version of <a href="http://jamvm.sourceforge.net/">JamVM</a>. After successfully building a new kernel with JamVM 1.5.4 support, I decided to share the process for anyone else interested in upgrading JamVM! Note that this tutorial is for upgrading JamVM on the Phidget 1070 SBC, which has less RAM than their newer 1072. Furthermore, the newer 1072 runs a Debian distribution, which should make it easier to upgrade.</p> <p>Prerequisites:</p> <ul> <li>Linux based computer (I used Ubuntu 10.10).</li> <li>Most  … <a href="http://www.drpatrickmartin.com/2011/06/jamvm-on-phidget-sbc/"> Continue reading <span class="meta-nav">&#8594; </span></a>]]></description>
				<content:encoded><![CDATA[<p>I recently acquired a slew of <a title="Phidgets!" href="http://www.phidgets.com">Phidget SBCs</a> for my lab and have been working to upgrade their Java runtime to use the most recent version of <a href="http://jamvm.sourceforge.net/">JamVM</a>. After successfully building a new kernel with JamVM 1.5.4 support, I decided to share the process for anyone else interested in upgrading JamVM! Note that this tutorial is for upgrading JamVM on the Phidget 1070 SBC, which has less RAM than their newer 1072. Furthermore, the newer 1072 runs a Debian distribution, which should make it easier to upgrade.</p>
<p>Prerequisites:</p>
<ul>
<li>Linux based computer (I used Ubuntu 10.10).</li>
<li>Most recent Phidget SBC <a href="http://www.phidgets.com/drivers.php">buildroot</a>. View the README to make sure you have all required libraries for buildroot.</li>
<li>JamVM 1.5.4 source.</li>
</ul>
<p>Extract the the SBC buildroot into a convenient location, i.e. your home directory, <code>~username</code>, and go into the directory. Run the basic configuration command; however, before you can compile you need to manually tweak some files.</p>
<p>First, I recommend creating a symbolic link within the buildroot directory to a list of downloaded source packages that you want the SBC to have. For example:</p>
<p style="text-align: left;"><code>ln -s ~username/PhidgetDL dl</code></p>
<p>will link the <code>dl</code> directory within buildroot to your own local &#8220;PhidgetDL&#8221; directory. The buildroot process looks in here for all required software packages at compile time. If it sees that you have *.tar.gz files, it will extract them rather than hit a Sourceforge mirror and download. I found that the build process would halt if the mirror was unavailable; consequently, it was more convenient to download myself and place in the download directory. Place your JamVM tarball in this directory, as well as any other packages that the build process cannot download.</p>
<p>Since my priority was to upgrade JamVM, I mainly tweaked gnu-classpath and jamvm configuration files within the <code>buildroot/package/java</code> directory. Start by changing into the <code>classpath</code> directory. Within here, edit the <code>classpath.mk</code> file with the following line under <code>CLASSPATH_CONFIG_OPT</code>:  <code>--disable-gjdoc</code>. This change will not affect your functionality, but it will save a little space and prevent an antlr build error.</p>
<p>Next, go into the <code>jamvm</code> directory and open the <code>jamvm.mk</code> file. Within <code>jamvm.mk</code> you need to change the version line to: <code>JAMVM_VERSION=1.5.4</code>. Also, you need to pass the option to disable thread local storage (TLS). This change is required since the uClibc version used in the SBC buildroot does not support TLS (as far as I can tell). In the future, this feature may be added if uClibc is migrated to 0.9.32 in the SBC buildroot. To disable TLS, pass in <code>--disable-tls</code> under the <code>JAMVM_CONFIG_OPT</code> section of the file.</p>
<p>Once you have made these changes, you can run <code>make</code> in the root of your buildroot directory. If everything is configured correctly, you will get a shiny new custom Linux build with JamVM 1.5.4. To finish the process, just point your web browser to your SBC&#8217;s address on your network and upload the new <code>.bin</code> file!</p>
<p>In the future, I hope to change the Phidget buildroot to use the most recent uClibc, which would then let me get TLS enabled again. If you have success with that upgrade, do tell! That is all for now.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.drpatrickmartin.com/2011/06/jamvm-on-phidget-sbc/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pancakes Marches On!</title>
		<link>http://www.drpatrickmartin.com/2010/09/pancakes-marches-on/</link>
		<comments>http://www.drpatrickmartin.com/2010/09/pancakes-marches-on/#comments</comments>
		<pubDate>Wed, 15 Sep 2010 02:01:07 +0000</pubDate>
		<dc:creator>pjmartin</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[Research]]></category>

		<guid isPermaLink="false">http://www.rawksolid.com/?p=170</guid>
		<description><![CDATA[<p>Pancakes, a software framework I have been working on with <a href="http://opengarage.net/blog/" target="_blank">my</a> <a href="http://users.ece.gatech.edu/~magnus/" target="_blank">colleagues</a> at the Georgia Tech GRITS Lab has been accepted at the 10th International Symposium on Distributed Autonomous Robotics Systems (<a href="http://dars2010.epfl.ch/" target="_blank">DARS2010</a>). We will be working towards a release in the near future.</p> <p>In the meantime, I will be populating my lab at York College with robots, sensor nodes, and other fun things for studying robotics and cyber-physical systems.</p>]]></description>
				<content:encoded><![CDATA[<p>Pancakes, a software framework I have been working on with <a href="http://opengarage.net/blog/" target="_blank">my</a> <a href="http://users.ece.gatech.edu/~magnus/" target="_blank">colleagues</a> at the Georgia Tech GRITS Lab has been accepted at the 10th International Symposium on Distributed Autonomous Robotics Systems (<a href="http://dars2010.epfl.ch/" target="_blank">DARS2010</a>). We will be working towards a release in the near future.</p>
<p>In the meantime, I will be populating my lab at York College with robots, sensor nodes, and other fun things for studying robotics and cyber-physical systems.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.drpatrickmartin.com/2010/09/pancakes-marches-on/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Life after Georgia Tech</title>
		<link>http://www.drpatrickmartin.com/2010/06/life-after-georgia-tech/</link>
		<comments>http://www.drpatrickmartin.com/2010/06/life-after-georgia-tech/#comments</comments>
		<pubDate>Thu, 10 Jun 2010 15:03:23 +0000</pubDate>
		<dc:creator>pjmartin</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://www.rawksolid.com/?p=88</guid>
		<description><![CDATA[<p>My work at GT has come to a close. I am migrating to York College of Pennsylvania to continue my work in robotics and cyber-physical systems. Speaking of which: my research page is updated. <a href="http://www.rawksolid.com/research">Check it out</a>!</p>]]></description>
				<content:encoded><![CDATA[<p>My work at GT has come to a close. I am migrating to York College of Pennsylvania to continue my work in robotics and cyber-physical systems. Speaking of which: my research page is updated. <a href="http://www.rawksolid.com/research">Check it out</a>!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.drpatrickmartin.com/2010/06/life-after-georgia-tech/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installing Player/Stage 3 on Mac OS X</title>
		<link>http://www.drpatrickmartin.com/2010/05/installing-player-stage-on-mac-os-x/</link>
		<comments>http://www.drpatrickmartin.com/2010/05/installing-player-stage-on-mac-os-x/#comments</comments>
		<pubDate>Sun, 02 May 2010 14:41:16 +0000</pubDate>
		<dc:creator>pjmartin</dc:creator>
				<category><![CDATA[Coding]]></category>

		<guid isPermaLink="false">http://www.rawksolid.com/?p=67</guid>
		<description><![CDATA[<p>After several days of struggling to compile player 3.0.1 and stage 3.2.2 on my new Mac, I found a <a title="P/S 3 on Mac!" href="http://www.doesnotunderstand.org/wikka.php?wakka=InstallingPlayerAndStageInMacOSX106" target="_blank">quick tutorial</a> that gets it running. It worked great and now I can get back to work!</p>]]></description>
				<content:encoded><![CDATA[<p>After several days of struggling to compile player 3.0.1 and stage 3.2.2 on my new Mac, I found a <a title="P/S 3 on Mac!" href="http://www.doesnotunderstand.org/wikka.php?wakka=InstallingPlayerAndStageInMacOSX106" target="_blank">quick tutorial</a> that gets it running. It worked great and now I can get back to work!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.drpatrickmartin.com/2010/05/installing-player-stage-on-mac-os-x/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Math win!</title>
		<link>http://www.drpatrickmartin.com/2010/04/math-win/</link>
		<comments>http://www.drpatrickmartin.com/2010/04/math-win/#comments</comments>
		<pubDate>Mon, 26 Apr 2010 21:08:38 +0000</pubDate>
		<dc:creator>pjmartin</dc:creator>
				<category><![CDATA[Fun]]></category>
		<category><![CDATA[education]]></category>
		<category><![CDATA[science]]></category>

		<guid isPermaLink="false">http://www.rawksolid.com/?p=57</guid>
		<description><![CDATA[<p>I just received my new SIAM News and found a <a href="http://www.whydomath.org" target="_blank">great link for the aspiring scientist or mathematician</a>. This page that showcases how mathematics is used to solve real world challenges. I especially like the &#8220;Space Travel&#8221; article, since it brings together modern physics with engineering.</p>]]></description>
				<content:encoded><![CDATA[<p>I just received my new SIAM News and found a <a href="http://www.whydomath.org" target="_blank">great link for the aspiring scientist or mathematician</a>. This page that showcases how mathematics is used to solve real world challenges. I especially like the &#8220;Space Travel&#8221; article, since it brings together modern physics with engineering.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.drpatrickmartin.com/2010/04/math-win/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dr. Martin, I presume?</title>
		<link>http://www.drpatrickmartin.com/2010/04/dr-martin-i-presume/</link>
		<comments>http://www.drpatrickmartin.com/2010/04/dr-martin-i-presume/#comments</comments>
		<pubDate>Fri, 02 Apr 2010 13:18:21 +0000</pubDate>
		<dc:creator>pjmartin</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://www.rawksolid.com/?p=34</guid>
		<description><![CDATA[<p>I successfully defended my dissertation at Georgia Tech! I will soon be joining the ECE faculty at <a title="YCP ECE!" href="http://depts.ycp.edu/engineering/" target="_blank">York College of Pennsylvania</a> to teach and continue my research in bridging the gap between computation and control.</p>]]></description>
				<content:encoded><![CDATA[<p>I successfully defended my dissertation at Georgia Tech! I will soon be joining the ECE faculty at <a title="YCP ECE!" href="http://depts.ycp.edu/engineering/" target="_blank">York College of Pennsylvania</a> to teach and continue my research in bridging the gap between computation and control.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.drpatrickmartin.com/2010/04/dr-martin-i-presume/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
