Project Idea

Post your NXJ projects, project ideas, etc here!

Moderators: 99jonathan, roger, imaqine

Project Idea

Postby irishhenshin » Wed Oct 14, 2009 8:13 pm

Hi I'm new here but I figure I will post a lot in the coming months. I'm doing a 4th year college project with 2 NXT robots and although I've done a bit of research I haven't really found the answer I'm looking for.

So the project idea is:
Part 1) Robot A will communicate with Robot B, Robot A will move to Robot B's location

Part 2) Once there, Robot A will begin to take coloured balls off of Robot B and place them on their respective colour trays. Again Robot B will communicate to A what colour ball to use. Robot A will have to find the right tray.

I am wondering is this a do-able project? I am confident with enough time I can program this but from your experience are there any issues here I could run into?

My main concern being communication between the 2 Robots, I can't find much information on that!

Thanks!

EDIT: Just a quick edit, let's say the bluetooth communication between the 2 isn't possible. Is it possible for the ultrasonic to be programmed so it can at least see a ball. So from there I wouldn't need communication. ( But I would love to implement this area)
irishhenshin
New User
 
Posts: 21
Joined: Wed Oct 14, 2009 8:04 pm
Location: Ireland

Postby gloomyandy » Wed Oct 14, 2009 8:21 pm

Bluetooth between two NXTs is very easy with leJOS. There are sample programs that show you how to do it...

Andy
User avatar
gloomyandy
leJOS Team Member
 
Posts: 3965
Joined: Fri Sep 28, 2007 2:06 pm
Location: UK

Postby irishhenshin » Wed Oct 14, 2009 8:24 pm

Ah I'm sorry for some reason I completely missed the communication section in the tutorial area!! Thank you for the quick reply as well, I'm currently writing the research paper for this project, so that solves the bluetooth issue :)
irishhenshin
New User
 
Posts: 21
Joined: Wed Oct 14, 2009 8:04 pm
Location: Ireland

Postby gloomyandy » Wed Oct 14, 2009 8:33 pm

Hi,
as an example of using Bluetooth to communicate between two NXTs you might want to take a look at:
http://www.youtube.com/watch?v=sjPzcmWSfQs
and
http://www.youtube.com/watch?v=fJD6vGHKLTQ

Both clips are of a demo we presented at this years JavaOne conference (the second clip is footage of the actual talk). The robots use Bluetooth to allow the primary robot to send comands to the secondary one...

All the best

Andy
User avatar
gloomyandy
leJOS Team Member
 
Posts: 3965
Joined: Fri Sep 28, 2007 2:06 pm
Location: UK

Postby irishhenshin » Wed Oct 14, 2009 8:43 pm

Brilliant thank you Andy! That's what I'm aiming to do, Robot B will command Robot A to take the coloured ball once it has passed the sensor.
irishhenshin
New User
 
Posts: 21
Joined: Wed Oct 14, 2009 8:04 pm
Location: Ireland

Postby irishhenshin » Fri Mar 05, 2010 11:18 am

I didn't want to start a new topic, so I figure I'd bump my old one. I have most of my logic written out for my project. My main question is:

Using NXT 2.0 standard kit.
Where in the API can I find information about a robot being in a location and another robot trying to find it? I had a look at the location javax.microedition.location

Will this do the job?
irishhenshin
New User
 
Posts: 21
Joined: Wed Oct 14, 2009 8:04 pm
Location: Ireland

Postby gloomyandy » Sat Mar 06, 2010 3:25 pm

Hi.
There is no api that will locate an nxt for you. The loacation api basically uses GPS, but I suspect that it will not be accurate for your needs. So you will probably have to come up with some other way to do this. I can think of two major ways this could work...
1. Both robots know or discover their absolute position and then rabat A tells robot B via say Bluetooth where it is so that robot B can move to it. You could use things like GPS, beacons, or perhaps probability based localization to provide the robots with their location.

2. One robot is able to look for the other robot and then move to it. So using say flashing beacons and a camera, or maybe the Ultrasonic sensor with one robot sending pings that picked up by the other.

I'm sure there are other possibilities. The trick will be getting any of them to work with sufficient precision to allow the robots to meet. Perhaps a combination of the two may be best...

Good luck!
Andy
User avatar
gloomyandy
leJOS Team Member
 
Posts: 3965
Joined: Fri Sep 28, 2007 2:06 pm
Location: UK

Postby irishhenshin » Sat Mar 06, 2010 4:27 pm

Thanks Andy for the reply.

So I think the second option might be the most convenient, there would be no problem having robot B sit and send out pings while robot A moves around and tries to pick up those pings. How exactly does the pinging work? I've read a bit in the api about capture and continuous.

EDIT: Actually I'm having a bit of a crisis with my project, I'm not 100% sure on how I will implement things. My main areas of concern are:

Location, obstacle detection and avoidance.

I was thinking maybe I could draw out a big area with black tape, robot A can use it's colour sensor to move along the tape, if there's obstacles, it moves in another direction (Essentially very similar to the JavaOne).

So that is at one end of the area and at the other will be robot B, waiting for A to find it.

Does that sound doable?
irishhenshin
New User
 
Posts: 21
Joined: Wed Oct 14, 2009 8:04 pm
Location: Ireland


Return to NXJ Projects

Who is online

Users browsing this forum: No registered users and 1 guest

more stuff