I have not played with Java friendly micros but Clojure works on the
beagle/pi. As for building robots using clojure,

 - Our software for our Robocup team is all Clojure except couple
   hundred lines of C for the firmware running on the AVRs. All heavy
   lifting is done on the PC, AVRs only deal with interfacing with the
   motor controllers, kicking circuit etc. [5] is our old code from
   2012.

 - I was working on a blob tracking nerf gun which I never
   finished. That was using beagleboard for vision and an Arduino for
   controlling the servos. I never finished it and I did port it to
   gambit scheme for some reason I don't remember.

   It used, vision[1] to find/track blobs and cloudino[2] to talk to
   Arduino which controlled the servos of the gun.

   When using beagle/pi you are going to need a seperate
   microcontroller to deal with real time stuff, PWM generation etc.

Another option I am playing with right now is actually putting an
android phone on the robot.

 - I did port a simple autopilot (following a set of waypoints using,
   GPS from the phone and IMU from the AR Drone) to android using lein
   droid [3]. Taped the phone on top of an Ar Drone. It barely worked
   in the lab with mock GPS when there was no wind but the phone is
   too heavy for AR Drone but this scheme would work with a more power
   full quad.

 - I am applying the same idea to a boat now. Android phone on the
   boat, a webapp (http-kit/compojure/hiccup) for getting telemetry
   and setting way points over 3G, usb-serial-for-android[4] for
   talking to arduino which handles interfacing with the motor
   controllers, phone GPS/IMU for navigation.

 [1] https://github.com/nakkaya/vision
 [2] https://github.com/nakkaya/clodiuno
 [3] https://github.com/clojure-android/lein-droid
 [4] http://code.google.com/p/usb-serial-for-android/
 [5] http://dropbox.nakkaya.com/neu-islanders.pdf

Best,

On Mon, Sep 2, 2013 at 6:21 AM, Jeremy Wright <wright...@gmail.com> wrote:
> Here are some updates on my own research.
>
> This post is a little over a year old, but has the type of information on
> the BeagleBone I'm looking for. It covers doing some simple I/O using
> Clojure. The author states that he's unsure what he's doing on the hardware
> side of things, but it's a start.
> This post says it's easy to get Clojure working on the Beagleboard, but is a
> couple of years old and doesn't give too much detail. I do like that the
> author does some benchmarking that could be adapted to the BeagleBone Black
> though.
> This post is about a year old, and gives a benchmark comparison of OpenJDK
> vs Oracle's Embedded JRE on a BeagleBone.
> Videos of Kevin Downey (less than a year old) showing a robot using Clojure
> on a BeagleBone. He gives some insight into how to make using the Bone's I/O
> system in Clojure a little easier.
>
> Video 1 of 3
> Video 2 of 3
> Video 3 of 3
>
> Kevin Downey's Beaglebone robot code on Github.
> Kevin Downey mentioned clojure-jna which should make working with native
> code (to do I/O) on the Bone a little easier. The clojure-jna code on GitHub
> is about 4 years old though, and I may have read something about a newer
> replacement on this mailing list. I can't remember for sure though.
>
> That's what I've found so far. The information has some age on it and is
> focused on the older BeagleBone and Beagleboard. It's good information to
> get started with though I think.
>
> On Saturday, August 31, 2013 11:13:59 PM UTC-4, Jeremy Wright wrote:
>>
>> I recently watched Carin Meier's OSCON talk The Joy of Flying Robots with
>> Clojure and it made me wonder about Clojure on embedded systems. A quick
>> search on this list didn't turn up much so I thought I'd ask. How much work
>> has been done with Clojure on either Java friendly microcontroller systems
>> (i.e. Systronix), or on something like a Beaglebone or Beagleboard? I'm very
>> new to Clojure, so I don't yet understand the challenges that Clojure would
>> face trying to run on a system that may not support all the JVM's features.
>>
>> Any thoughts on this? Any links you can give me on what's been/being done?
>>
>> Thanks.
>
> --
> --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@googlegroups.com
> Note that posts from new members are moderated - please be patient with your
> first post.
> To unsubscribe from this group, send email to
> clojure+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
> ---
> You received this message because you are subscribed to the Google Groups
> "Clojure" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to clojure+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/groups/opt_out.



-- 
Nurullah Akkaya
http://nakkaya.com

-- 
-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to