Last Thursday I received two new Trackbots( latest hardware / firmware version) from Systronix with the virtual intelligence adapter (Bluetooth comms).  I think these new Trackbots will be able to communicate with each other using their built-in LED beaconing systems.

On Friday we verified that we could indeed get both of the Trackbots to communicate at the same time to one Computer.  We verified this on Windows and OSX.

The next steps will be to implement the communication system as graphical blocks in robotFoundry and get these Trackbots to perform some very interesting swarm behaviours ( follow the leader, beacon naviagation).  See James McLurkin’s work on Swarms for more information

Trackbots with virtual intelligence adapter

Trackbots with virtual intelligence adapter

We gave a talk on Tuesday about robotics and video gaming.  A lot of people are interested in exactly what we are doing and how it applies to robotics and video games.  The robotics part is easy, robotSuite need I say more.  As for video games, we have tailored robotFoundry to be able to program the AI for video game characters.  Check out my previous post on this, AI Development using visual coding / graphical programming

 
So part of what I have been doing is tailoring our graphical coding engine to allow it to generate AI for video games.  This is very similar to the Unreal Engine’s Kismet system. 

 

Here are a couple of screen shots and a link to our youtube video for AIA.

 

AIA

AIA

robotFoundry

robotFoundry

YouTube Video

AI Apocalypse

I can now execute motion commands in a basic program using the direct serial link. Getting data out of the basic program is also easy, but without a properly documented serial protocol it is hard say what is going on. Bottom line writing to the first defined variable works good, but reading other variables some times send commands to the first variable executing motion sequence 1.

I will be implementing a direct serial motion system, but I will be reading and writing to the variables directly to start motions and to find out when they are complete. For this the stock 9600 baud rate will be good enough.

So after posting on the robosavvy forums, one of the members robots42 informed me that you can indeed execute the stock motions that are available in the standard BASIC program. I totally did not read the very first line of the MR3024 serial data sheet, YOU CAN WRITE TO THE FIRST VARIABLE in the basic program. I think I will do some testing and see what I come up with. I would like to be able to read a specific BASIC variable or memory location via the direct serial connection. This would allow my program to find out when a motion command is completed. I think this is possible using READ_DATA and WRITE_DATA and peek and poke.

On Sunday I started to figure out the Robonova. Very interesting robot.  I like the Idea of preprogrammed motions, so I would like to keep that functionality.  

So far I am looking at two ways of communicating with the RN-1 and robotFoundry

1.)  Get servo values and set servo positions all from the built in serial port.

2.) use the ETX and  ERX port and write a basic program to communicate with the PC.

option 1 is the easiest for end users but also the slowest.  This option also means that the predifined motions cannot be used and we would have to replicate them in  robotFoundry

option2 will allow us to transmit data the fastest, but will be a little work for the end user.  The end user would have to wireup a external 5 volt com  port and download the robotFoundry RN1.bas firmware.  Also there are some speed considerations to consider. I have read on the robosavvy forums that the MCR3024 executes one basic command every 1-2ms so this could really slow things down.  What I mean is that if we are sending Joint positions down to the RN-1 and then having these executed on the RN-1 this could take a long time to process and could be slower than the 9600 bps of the built in com port.  I will have to do the calculations and weigh the differences and come up with the best solution.

This blog is about Robotics and any other technology that interests me.

« Previous Page