Showing posts with label Robotics. Show all posts
Showing posts with label Robotics. Show all posts
Friday, 15 October 2010
Friday, 1 January 2010
TriBot Test Code
I've writtten some test code for the Tribot (uploaded to the repository). It's just basic test code in a class with a main method, nothing special at the moment.
For the Ultrasonic sensor we have an output to the screen based on readings taken from the surrounding environment.
For the Touch sensor, whilst the sensor is pressed again an output to the screen and same for the colour sensor whilst a reading can be detected an output is displayed to the LCD screen on the brick.
For the motors, the results are physically visible so it's a combination of forward and backwards movement with output to the screen.
The touch, light and motors work fine but I'm a bit worried as the Ultrasonic sensor doesn't seem to be doing much. Maybe it's a coding or LeJos problem. I might use the mindstorms software to test it. I hope it's not faulty :( I don't want to fork out £22 for a new one.
For the Ultrasonic sensor we have an output to the screen based on readings taken from the surrounding environment.
For the Touch sensor, whilst the sensor is pressed again an output to the screen and same for the colour sensor whilst a reading can be detected an output is displayed to the LCD screen on the brick.
For the motors, the results are physically visible so it's a combination of forward and backwards movement with output to the screen.
The touch, light and motors work fine but I'm a bit worried as the Ultrasonic sensor doesn't seem to be doing much. Maybe it's a coding or LeJos problem. I might use the mindstorms software to test it. I hope it's not faulty :( I don't want to fork out £22 for a new one.
Tribot
I spent 5 hours yesterday building the tribot (picture below). It was pretty fiddly to do, there are 2 wheels at the front and 1 small one at the back. As well as that this robot has 3 sensors on it too. The touch sensor, which has a mechanism build around it and a colour sensor on top both of which can be used for object detection. I have also put a sonar sensor on top (looks a bit Johnny 5ish ;-)).
It looks pretty cool, but I'm not entirely convinced about the stability of this bot. I liked the robustness of the old 4 wheel chassis I made (but that was very basic and lacking functionality other than movement) however I haven't programmed the robot as of yet nor tested it so we shall see (I will keep you posted).
It looks pretty cool, but I'm not entirely convinced about the stability of this bot. I liked the robustness of the old 4 wheel chassis I made (but that was very basic and lacking functionality other than movement) however I haven't programmed the robot as of yet nor tested it so we shall see (I will keep you posted).
Wednesday, 30 December 2009
LeJos Robotics Repository...
...has been created using google code and can be viewed here . If anyone would like to be added to the project, please let me know.
Tuesday, 29 December 2009
The Beginning of a Tweetbot
Although in terms of setting up LeJos on mac osx 10.4 has been very pain staking today, we did manage to get the tweet bot up and running in it's basic form (although no interaction with twitter as of yet).
We have created a lego tweetbot code repository using google code and created twitter account for Tweetbot (if you wish to follow). We also wrote some basic code for communication. A good start to the project (if you discount silly problems hardware and LeJos related).
Here are the two bots that will be part of the tweetbot project
We have created a lego tweetbot code repository using google code and created twitter account for Tweetbot (if you wish to follow). We also wrote some basic code for communication. A good start to the project (if you discount silly problems hardware and LeJos related).
Here are the two bots that will be part of the tweetbot project
Labels:
Artificial Intelligence,
LeJos,
Robotics,
Tweetbot
Thursday, 17 December 2009
Tweetbot 2nd stage
As chris pointed out the 2nd stage of the tweetbot would be to perform actions indicated by a request from the followers. This however is something that is quite tricky and will require a lot of thought to implement as understanding of language and semantics is required.
Wednesday, 16 December 2009
Tweetbot
Another idea I have had which I would like to incorporate in my robot is for it to state it's actions via twitter. I could set up a twitter account for the bot, then when it is running get it to tweet what it is doing and looking for in natural language over twitter. So, for example, take my final year intelligent robotics project where we created a robotic dog which would wag it's tail when stroked but stop wagging if stroked too hard, these are posts the bot could make over twitter.
Also the bot had a planning system in place and would scan for objects in order to find a ball and then use manhattan distance to bring it back to the 'master' again things we can tweet would be it's location, the object it is scanning (whether it's a ball or not), 'got it' when it has retrieved it and then how it is getting back to it's master.
So for my new bot, once it has been programmed up, I think it would be cool to try and implement something like this. Any thoughts?
Also the bot had a planning system in place and would scan for objects in order to find a ball and then use manhattan distance to bring it back to the 'master' again things we can tweet would be it's location, the object it is scanning (whether it's a ball or not), 'got it' when it has retrieved it and then how it is getting back to it's master.
So for my new bot, once it has been programmed up, I think it would be cool to try and implement something like this. Any thoughts?
Tuesday, 1 December 2009
Robotics Brainstorming
I've had a lot of robotics thoughts on my mind so I thought I would share them here.
Firstly I have been thinking about self healing robots. The technology seems to exist for robots that are able to repair themselves, so that would be pretty cool. Another area I've been thinking about is self replicating robots, or robots that build themselves based on a bunch of components. A robot that is able to change it's shape, transformer style would be pretty cool too.
Ok so now back to my current robot. Well in terms of behaviour, I will be attempting to take my Final Year Project (Mars Rover Planning System implemented in Java as a piece of software) and attemtping to program it into a physical robot.
There are going to be some problems with this, in particular relating to distance calculations and determining it's own location. When building it purely from a software perspective, my Mars terrain was a fixed value. This meant that it was always going to be that fixed space and the rocks and rover could be added anywhere within that space. Using java code the robot could determine it's own location and then using pytahgoras' theorem determine how far each rock was.
Now, I guess in a real environment this could be overcome by creating a fixed grid like environment but that to me sort of defeats the point. Also, if it was a fixed grid, how does the robot determine it's own location? (Unless it always starts from the same position). As well as that, what about determining the distance of the objects I mean the sensors would have to really perform on this front. I haven't as of yet played with the sensors or quite deduced how I will do this but it's definitely something worth thinking about.
Firstly I have been thinking about self healing robots. The technology seems to exist for robots that are able to repair themselves, so that would be pretty cool. Another area I've been thinking about is self replicating robots, or robots that build themselves based on a bunch of components. A robot that is able to change it's shape, transformer style would be pretty cool too.
Ok so now back to my current robot. Well in terms of behaviour, I will be attempting to take my Final Year Project (Mars Rover Planning System implemented in Java as a piece of software) and attemtping to program it into a physical robot.
There are going to be some problems with this, in particular relating to distance calculations and determining it's own location. When building it purely from a software perspective, my Mars terrain was a fixed value. This meant that it was always going to be that fixed space and the rocks and rover could be added anywhere within that space. Using java code the robot could determine it's own location and then using pytahgoras' theorem determine how far each rock was.
Now, I guess in a real environment this could be overcome by creating a fixed grid like environment but that to me sort of defeats the point. Also, if it was a fixed grid, how does the robot determine it's own location? (Unless it always starts from the same position). As well as that, what about determining the distance of the objects I mean the sensors would have to really perform on this front. I haven't as of yet played with the sensors or quite deduced how I will do this but it's definitely something worth thinking about.
Sunday, 29 November 2009
Programming the Bot
My little brother was eager to program the bot, so I thought I'd give it a little whirl with the Mindstorms software. I got him to program it using the Mindstorms software:
And here is the video .
Saturday, 28 November 2009
NXT Bot: Building the Chassis
I've just spent the past 2 hours building the chassis for my robot. I still need to put LeJos on my laptop and then onto the NXT block before I can start programming it. If I get the chance, I will do that tomorrow.
Here is the progress:
Here is the progress:
Next week I will be enhancing it in terms of a claw for gripping and then putting sensors on for object detection.
It has been a very productive robotics day :D
Monday, 23 November 2009
LeJos Setup
Courtesy of Mike Brook (aka @FrozenKnight on twitter)
Helpful links for getting LEJOS setup with your NXT brick.
Make sure you download all the latest updates from the Lego Mindstorms Tech Support pages (get the 1.02 version driver, and the fix for Mac OSX 10.5+) http://mindstorms.lego.com/en-us/support/files/Driver.aspx
How to install LEJOS onto Mac running OSX 'Snow Leopard' http://lejos.sourceforge.net/forum/viewtopic.php?t=1696&postdays=0&postorder=asc&start=0
Getting NetBeans setup to compile and upload your programs http://lejos.sourceforge.net/nxt/nxj/tutorial/Preliminaries/CompileAndRun.htm
Read this post if you have problems with compile and upload http://lejos.sourceforge.net/forum/viewtopic.php?t=1696&postdays=0&postorder=asc&start=15
Helpful links for getting LEJOS setup with your NXT brick.
Make sure you download all the latest updates from the Lego Mindstorms Tech Support pages (get the 1.02 version driver, and the fix for Mac OSX 10.5+) http://mindstorms.lego.com/en-us/support/files/Driver.aspx
How to install LEJOS onto Mac running OSX 'Snow Leopard' http://lejos.sourceforge.net/forum/viewtopic.php?t=1696&postdays=0&postorder=asc&start=0
Getting NetBeans setup to compile and upload your programs http://lejos.sourceforge.net/nxt/nxj/tutorial/Preliminaries/CompileAndRun.htm
Read this post if you have problems with compile and upload http://lejos.sourceforge.net/forum/viewtopic.php?t=1696&postdays=0&postorder=asc&start=15
Saturday, 14 November 2009
Beginnings of a New Robot
Back in April I started building a robot using the old Mindstorms kit. This entailed using an RCX block which communicated through the infra-red port connected up via a serial cable. Although now archaic technology I managed to install LeJos on there and make it work.
A few months later the programs failed to download to the RCX block. I decided to upgrade to the newer model. This week the brand spanking new Mindstorms NXT 2.0 robot arrived (I am still awaiting my Java Brains book).
Before I install LeJos on this robot (and waiting for my Java Brains book, which won't be dispatched for (between) a few weeks to a month) I thought I would install the Mindstorms software and test out all the hardware.
Here are the pics, including the old and new kit:


It's nice that there's quite a few cool sensors, including a colour sensor. I remember the good ol' uni days where in the robotics class I had to build a colour sensor out of an infra-red sensor and roses sweet wrappers (that's right chocolate wrappers) and then determine what object it was by picking up the RGB values.
So my plan for the bot is to next week build the physical robot (as I didn't really have time today) and then to try and (re)program my final year Mars Rover planning system Java project into a LeJos project using a physical bot instead of being software based.
A few months later the programs failed to download to the RCX block. I decided to upgrade to the newer model. This week the brand spanking new Mindstorms NXT 2.0 robot arrived (I am still awaiting my Java Brains book).
Before I install LeJos on this robot (and waiting for my Java Brains book, which won't be dispatched for (between) a few weeks to a month) I thought I would install the Mindstorms software and test out all the hardware.
Here are the pics, including the old and new kit:


It's nice that there's quite a few cool sensors, including a colour sensor. I remember the good ol' uni days where in the robotics class I had to build a colour sensor out of an infra-red sensor and roses sweet wrappers (that's right chocolate wrappers) and then determine what object it was by picking up the RGB values.
So my plan for the bot is to next week build the physical robot (as I didn't really have time today) and then to try and (re)program my final year Mars Rover planning system Java project into a LeJos project using a physical bot instead of being software based.
Saturday, 4 April 2009
The Beginnings of a Robot
A few months ago, I purchased and old lego mindstorms kit from a friend. He wasn't using it much and I wanted to play around with some robotics in my spare time (as PhD funding is so hard to secure). I figured before investing in a new kit, it would be good to have a play around and install LeJos on an older model.
Since it is not a USB kit, it has in fact caused a lot of hassle. Firstly, connecting to the Com1 port and making sure that the environment variables are set up. Secondly, ensuring that the battery that is used for the infra red port doesn't drain quickly and thirdly having to re-install the firmware for LeJos everytime the battery dies on the RCX block.
All I want to do is install LeJos so I can write code, instead of using the mindstorms software, which is in fact for kids!!! So tomorrow, I will set out in buying a new battery for the IR tower.
In the mean time, here is a photograph of the robot so far. Currently, I have only built it in it's basic elements. Additions to come soon...

I am hoping to invest in the newer NXT Model soon.
Lastly, watch this space for more updates on progress.
Since it is not a USB kit, it has in fact caused a lot of hassle. Firstly, connecting to the Com1 port and making sure that the environment variables are set up. Secondly, ensuring that the battery that is used for the infra red port doesn't drain quickly and thirdly having to re-install the firmware for LeJos everytime the battery dies on the RCX block.
All I want to do is install LeJos so I can write code, instead of using the mindstorms software, which is in fact for kids!!! So tomorrow, I will set out in buying a new battery for the IR tower.
In the mean time, here is a photograph of the robot so far. Currently, I have only built it in it's basic elements. Additions to come soon...

I am hoping to invest in the newer NXT Model soon.
Lastly, watch this space for more updates on progress.
Wednesday, 1 April 2009
Robot Problems!
I have an old mindstorms kit (pre-usb days) which I recently acquired off a friend. This is to allow me to play around with robotics in my spare time. Now being an AI graduate and a developer, I don't really want to be using the mindstorms software so I put LeJos (Java for lego) on it before. Once the battery dies, you have to re-install the firmware. Only it's not working. At first I was having problems with the RCXTTY variable not being set, although I've solved that.
The current problem I am encountering is that it tries to install the firmware and then I get the following error:
C:\Lejos\bin>firmdl.bat
read firmware srec
100%
Installing firmware
Loading native libs
Tower error: write failure
I have spent a good part of the night trying to sort this out and only half watching the England game. I've googled for help and I'm at a loss. I have read and followed the the instructions and I'm sure they are correct.
The only other thing I can think of is that the battery might not be at the capacity required to install this. I'll try a battery replacement and if that doesn't work just throw it out the window.
The current problem I am encountering is that it tries to install the firmware and then I get the following error:
C:\Lejos\bin>firmdl.bat
read firmware srec
100%
Installing firmware
Loading native libs
Tower error: write failure
I have spent a good part of the night trying to sort this out and only half watching the England game. I've googled for help and I'm at a loss. I have read and followed the the instructions and I'm sure they are correct.
The only other thing I can think of is that the battery might not be at the capacity required to install this. I'll try a battery replacement and if that doesn't work just throw it out the window.
Subscribe to:
Posts (Atom)