Google Lunar XPrize

Anything About Anything...
User avatar
Lucifer
Project Developer
Posts: 8640
Joined: Sun Aug 15, 2004 3:32 pm
Location: Republic of Texas
Contact:

Google Lunar XPrize

Post by Lucifer »

http://www.googlelunarxprize.org/

Basically, they're still working on the rules, but that's no reason we can't get to work. :) I'm considering the possibility that the community here (and others who want to be involved) can put together a component needed for the prize: the rover.

Here's what I've got in mind, but I have to warn you all that I haven't advanced the idea far enough to consider planning, still in "under consideration" stage.

We build a rover, a carrier for the rover, a piece of gear to leave in lunar orbit, and the ground station stuff. We fund it out of our own pockets (I haven't got much to offer, but I'm confident my wife will get behind this). We solicit donations. We build the stuff.

The largest part of this project, imo, is going to be the programming and the electronics. We can do all of that stuff on the cheap! We can use all sorts of open source software components to fill in the blanks needed, we just have to tie it all together into a robotic brain. Then we need to build a proof of concept robot, and solicit funding of course. We can test the code we write in a simulator (we may have to write that, may not), and we can start with basic field testing using my roomba vacuum. :) We can move on to more complex stuff from there depending on availability of funds.

Now, why should we do this? I'm thinking that we could literally spend the next 4-5 years working on it, and we won't have a launch platform because that takes big bucks we definitely don't have, and skills that don't exist in the community here yet. But there are plenty of people working on launch platforms that are not working on rovers and will need a rover. So if we keep ourselves privately funded, and we develop the rover in a regular open source fashion, we can pitch the rover to groups working on a launch platform and it'll be an obvious fit. Maybe we'll even get a chunk of the prize money, although to be honest I'd be happy just to see my own code running on the moon. :)

So does this sound interesting? I thought I'd approach the subject and we can toss it around and see if we can determine exactly how feasible the idea is, or if it's just another one of Luci's crazy ideas. ;)
Image

Be the devil's own, Lucifer's my name.
- Iron Maiden
User avatar
kyle
Reverse Outside Corner Grinder
Posts: 1876
Joined: Thu Jun 08, 2006 3:33 pm
Location: Indiana, USA, Earth, Milky Way Galaxy, Universe, Multiverse
Contact:

Post by kyle »

When i first saw this it was something i wanted to work on. basic stamp would probably be the programming language.

I would be interested in coding it.
User avatar
Jonathan
A Brave Victim
Posts: 3391
Joined: Thu Feb 03, 2005 12:50 am
Location: Not really lurking anymore

Post by Jonathan »

I'm trying to envision using my RCX (Lego microcontroller, the old one) for testing. Probably too weak, but it would be funny if it could be involved.

So how do you program a Lunar rover? Let's start with the goals. What do we want/need it to do? (This might not get far, but it could be fun.)
ˌɑrməˈɡɛˌtrɑn
User avatar
Lucifer
Project Developer
Posts: 8640
Joined: Sun Aug 15, 2004 3:32 pm
Location: Republic of Texas
Contact:

Post by Lucifer »

I'll put you on the list. :)

I'm wanting to talk about feasibility. Here's the project as I see it:

Stage 1: Build the simulator, and the apis that will be used to access the hardware. Build a library to hook up those apis to the simulator. Start writing all the control software for the robot. Spec the other components in their finished form, and define a development path that allows us to test, as much as possible without leaving this planet, those components.

Stage 2: Build a proof of concept rover that includes versions of every component. This should show the complete working software chain. Webcams are cheap (and I have two laying around), old-ass motherboards are cheap, etc. Maybe we could load up my roomba with all the imaging and comm gear for this.

Stage 3: Develop the physical rover to the point where we can certify it'll survive the trip to the moon and still do its job. This brings the rover to its finished state, as much as we can do so without actually putting one on a rocket and launching it. This is where the big money will be needed.

Stage 4: Develop the other components to that same point.

The other components, as I mentioned, will be these:

* Base station on the moon. This is the carrier of the rover. It has to include imaging hardware. It also has to transmit to the rover in a way that allows the rover to always be able to determine its position relative to its home. Finally, it should relay radio communications from the rover up to orbit, and from orbit to the rover.

* Orbital comm station. This is a piece that stays in lunar orbit and acts as a relay for the base station on the moon and the base station on the earth. The big problem I see here is having enough power to transmit the signal from the moon back to the earth. There are also visibility issues, so it needs enough hardware to cache data while it's on the back side of the moon and unable to communicate with us. It should include the ability to daisy chain with other identical copies of itself to provide communications even when some of them are on the back side of the moon. Maybe an orbit can be set for it that allows it to always be able to communicate with earth.

* Earth base station. This is us. :)

* Optionally: a LEO comm station. This is most useful to us, imo, only if there's an entire chain of devices in orbit that provide full-time comm relay services. This could probably just be our same orbital comm station that just gets left in LEO and not carried to the moon.
Image

Be the devil's own, Lucifer's my name.
- Iron Maiden
QUARG
Round Winner
Posts: 223
Joined: Thu Sep 14, 2006 2:38 pm
Location: montreal

Post by QUARG »

I can offer my technical know how. I work as a machinist and have disigned many automated machines in my day. I dont know how much time i can offer but the time i can is yours.
User avatar
Lucifer
Project Developer
Posts: 8640
Joined: Sun Aug 15, 2004 3:32 pm
Location: Republic of Texas
Contact:

Post by Lucifer »

@Quarg: Seems likely we'll need some machine work sooner or later. :) Definitely your experience building crap already will be valuable, even if all you do is kibitz.

@Jonathan: I wrote that long post at the same time as you, so it's not a direct response to yours, obviously. Here's a direct response:

The prize requires the craft to be privately funded. Where we sit in there, I don't know. We could sell the rover to a private group and use public monies, I think. But there's grey area, and I'm still waiting for a response from google on another question of mine. They're still working on the rules, so hopefully they'll be quicker to respond after they've finalized the rules. In the meantime, I think we should restrict any funding we receive to private monies until we can get clarification. That probably only impacts students who might otherwise get some money from their schools. To make it work, I suspect we'll need a donation system (we'll want to solicit donations anyway), and we can each just use that to put our own money in. I'd like to lay out ownership on the basis of contributions to the project, but the capitalist system measures contributions solely on the basis of money laid out. **** capitalism. I say anybody who codes, designs, and/or builds and tests gets an equal share, and anybody who participates gets that. :) We can worry this some more, but let's make sure this stays in the discussion so we all know where we stand. I'm not in a hurry to make any profit off this thing, I just want to put my name on the moon somehow. :)

So, to the rest of the rules. The XPrize Foundation has a page about it:

http://www.googlelunarxprize.org/lunar/ ... guidelines

That page causes a recursive loop. It says to see google's xprize homepage for details about the rules, but google links to that site for the homepage about the prize. I guess I'll put that on the list of questions for google, too.

Here's a summary of the rover's requirements:

* Self-portait
* 2pi panorama
* Travel 500m
* Broadcast high definition video of its travels
* Transmit a package that will be put into it before launch, i.e. first email from the moon.

There are some bonuses we should consider as well.

* Long distance roving ( > 5km)
* Imaging man-made artifacts.
* Discovering water
* Surviving lunar night

So we need stuff that accomplishes all of that.

The camera is obvious. We either need a still photo shooter, or we need some code to extract the still photos from a video stream. The latter option has the advantage of reducing hardware needed on the rover, but probably introduces more code complexity. It's still too early to tell what's best, and what we go with will probably not be the first thing we try. :) So we obviously need a camera, and to get the self portrait we need to be able to extend and rotate the camera. On the list of questions for google: Can the carrier rocket take the photo of the rover? Or does the self-portrait have to obviously be taken from a camera on the rover itself? Whatever camera does the self-portrait should be the same camera we take the panorama with. If it's a still shooter, it obviously needs to be able to extend and rotate. Well, even if it's a regular video camera it needs to do that stuff.

By specifying near real-time videos of its travels, google is basically requiring a video camera. I guess I should ask them if there's a certain minimum framerate associated with this, because if we use a still shooter I'd like to be able to just use that, but its framerate will be pretty low, maybe 2-3 fps or less.

Imaging objects on the moon will be a very useful feature to have. I'd like something where we can tell the robot to image an object it has seen, and it literally images the entire object, driving around it as necessary and if possible assembling a 3d model of the object that we can load into a good cad program or blender or something. With this function, the robot should have no problem giving a good image of any man-made artifacts, we'll just have to command it to do so.

Moving is probably going to be the biggest portion of the code we have to write. We need some way for it to sense the environment around it. Anybody know what radar options are available for this? There are projects that use regular video feeds, usually from two cameras. Is there code we can just plug in to two cameras to get this information? We can do dead reckoning navigation on the size of the wheels/treads. That's going to require a little sensor that's already available for automotive applications (used to detect position of the crankshaft in the engine). We need path-finding capabilities that work with knowledge of the environment that the robot gains from its own sensor array. What are our options for sensors? One obvious sensor comes from the communication system. It should be reasonably possible to have it triangulate on its home, the carrier it came in, based on signal strengths for two antennas on the base unit. It may also be possible to have it receive a signal from the orbiter to give it some location clues, but that will require the orbiter to know its location.

Google doesn't specify on their page if the initial 500m movement is a radial distance or actual path distance, nor is it specified if it has to happen on one charge. I'm already thinking we should copy the mars rover system as much as we can: put some rechargeable power supply and solar panels to recharge it. Ultracapacitors are interesting. :)

Communications are something I talked about in that other post, so I'll just refer to that. We do need to take inventory of what software already exists that'll handle the relaying, and what hardware exists that'll work with whatever kernel we use (probably linux, but let's not rule out any of the other good open source kernels).

Speaking of kernels, it probably goes without saying that we should stick to open source software. :)

So what this boils down to for programming is this:

* Video streaming capabilities, even if we're just encoding and streaming still pictures taken at 2-3 fps. (if it requires too much power to do this encoding on the rover, we can move it to the base, the orbiter, or the earth station)

* Best possible movement/range. For programming this is largely a navigation problem, making sure we don't fall down a steep slope and be unable to recover.

* Sending other data back to earth somehow. I'm interested in having it carry up a package of armagetron and we can download it and it'll be the first software download from the moon. :)

* Package management and software updater. This has to be able to update/upgrade onboard software without requiring on-side human intervention to finish the job. Personally, I was very impressed with the feisty->gusty upgrade and am inclined towards apt-get and ubuntu's software updater for that reason. I think we'll be able to simplify our packages to a point where upgrading a desktop distribution is several orders of magnitude more difficult than upgrading our rover.

* Simulator. The simulator is to allow us to code the robot control stuff without developing actual hardware. We still have to build the hardware sooner or later, of course. I found an open source mechanics simulator awhile back that was built by the army, I'll try to dig it up. Otherwise, I think we might have to build our own. Maybe there's an existing game engine we can use? There is a tank program game out there whose name escapes me, but I suspect we'll need a more advanced simulation than that. What's most important in the simulator, imo, is a good terrain and gravity simulation.

For the hardware itself, I don't know what all to specify. Obviously we have to worry about surviving the launch, surviving the landing, and then surviving falls and stuff. We'll have to account for as many failure modes as possible and build in general mechanisms for recovering.

So, first and immediate goals:

* Email questions to google (we should talk more because we'll come up with more questions, no doubt)

* Find/start the simulator. This needs to come with the api I mentioned previously.

* Research sensor options. Find out what NASA used on the rovers, what other off-the-shelf components are available, power requirements, PC interfaces, etc. The simulator can only provide sensory input data that we can put on the rover, but we should go ahead and make the simulator provide whatever sounds reasonable and code to not require any particular combination of sensors, as much as possible.

* Research communication hardware. Find out what NASA used on the mars rovers. What we really need to know here are power requirements, range (probably as a function of available power), and open source kernel support. Otherwise, as long as there's IP at the core, we can use any open source software we want for video streaming and other data transmissions. So wifi is an option, at least, and there may be others. IP by carrier pigeon is definitely not an option unless you want to build a spacesuit for a pigeon.

* Languages. I'd just as soon specify python as the language, but let's find out what else is available. Size is going to be a bit of a premium, but I'd hate to use C++ only to find out later we could've used Ada. So get a list of available, mature languages, size of their interpreters, etc. What's actually most important here isn't size of interpreter, but I want to feel like we looked over the possibilities pretty well.

Next set of goals:

* Specify sensors and code simulator to provide the expected sensory input.

* Load whatever lunar surface images we can get into the simulator. It wouldn't surprise me if google has GIS data for the moon available for us on request. We need to test in the simulator for many landing points on the moon.

* Turn simulator testing into an automated test setup, similar to unit tests themselves run from a buildbot. When we move into actual hardware testing, we'll want the simulator to act as regression tester.

* Probably should make sure we have unit tests for the code, which should be done from the beginning. I've never done unit testing, believe it or not, so I'm at something of a loss here.

* Establish a hardware development path that gets us a working test platform we can take out into the street and test with, and ends with a complete rover.

* Establish target communication hardware, if at all possible. This might wind up taking quite awhile, but I'm going to set an early ambitious target for this. The fact is, as long as what we end up with has an IP layer, we're fine, even if we have to write a kernel module for it.

* Research writing kernel modules. There's absolutely no way we can avoid this. I'd like a comparison, if possible, of writing linux kernel modules, openbsd/netbsd/freebsd, and any of the other open source kernels that are mature enough for this kind of application.

* Research computer hardware used by NASA and other rapid acceleration projects. We need boards that'll survive the launch, after all.

That's it for now, I'm pretty sleepy, hope I didn't miss anything. Did I? :) Anybody want to start claiming tasks? Are there approaches that I've missed? I've never tried to build a robot before, so maybe there are obvious approaches that I've totally missed.
Image

Be the devil's own, Lucifer's my name.
- Iron Maiden
User avatar
Lucifer
Project Developer
Posts: 8640
Joined: Sun Aug 15, 2004 3:32 pm
Location: Republic of Texas
Contact:

Post by Lucifer »

Here's the Open Dynamics Engine, which appears to provide enough simulation for our purposes:

http://www.ode.org/

Also, Jonathan, the idea of using legos to build a prototype is a good one. :) I wonder if it'll be cheaper that way or not? My kids don't have enough for me to steal theirs....

Edit: I forgot to mention, an obvious early goal also is to have a working prototype to take to next year's X Prize Cup, and get as many of us there as possible.
Image

Be the devil's own, Lucifer's my name.
- Iron Maiden
User avatar
saragei
Core Dumper
Posts: 177
Joined: Tue Oct 23, 2007 11:18 am
Location: Germany

Post by saragei »

I am deeply impressed, lucifer. Since I neither have loads of money to donate nor programming skills to throw in, the only thing I may offer is a big carton full of legos. I'll check the costs for shipping it to Texas :wink:

carry on,
sara
User avatar
Tank Program
Forum & Project Admin, PhD
Posts: 6711
Joined: Thu Dec 18, 2003 7:03 pm

Post by Tank Program »

I've got loads of legos and two RCXs.

For a self portrait, could the base station include a mirror and just stick the rover in front of the mirror and snap the picture?
Image
User avatar
Jonathan
A Brave Victim
Posts: 3391
Joined: Thu Feb 03, 2005 12:50 am
Location: Not really lurking anymore

Post by Jonathan »

High-res photos: depending on what high res is video cameras might not do the job. A photo camera also tends to give more control.

Video: I don't think a high framerate is needed if it doesn't add significantly to the result. You won't be doing anything too fast, and I doubt there's anything you'd want to capture that moves fast. Still, keep in mind that still shooters might wear relatively rapidly if you shoot all the time. Maybe do something like the previews of many digital compacts. But we might need specialized imaging hardware anyway; I don't see a rover holding a camera, pressing the shutter, plugging a cable in, and grabbing the result, or anything close to that. :)

Navigation: does it have to be truly autonomous? That would be a pretty silly requirement considering the short round-trip times to the Moon. Manual control should be possible, although you might not want to do it all the time. Are GPS signals good enough? Probably rather weak and with less information than on Earth's surface, but on the Moon there's a line of sight to the majority of satellites, with no atmosphere in the way. With very precise GPS decoding you can get at least a relatively rough impression of the location. Of course, interpretation of the data is something we'll have to do ourselves.

Lunar night: is there enough power to keep running? You might need to shut the main hardware off and restart it somehow when there's power again. On Mars night isn't even as long as on Earth, but on the Moon it lasts more than two weeks; Mars rover-like hardware might not be enough.

Comms: I think I read something about the Arecibo dish also used by SETI for receiving transmissions. No IP if we go that route, I guess.

Kernel: anything should do, as long as it doesn't fail!

Package management and such: make it very robust. You don't want some failure to mess up everything.

Simulator: need accurate physics, probably down to some internals of the rover. That way we can predict problems better. Also, should be solid, maybe more solid than game engines can offer. Framerate/movement speed ratio might make up for that.

Sensors: depends on how autonomous it should be. If interpretation of imagery is needed and humans aren't allowed to help don't expect to use high-level programming for everything!

Hardware: if we have some use for stream processing GPGPU stuff could be useful. Cheap and powerful, although I'm not sure how the physical hardware fares on the Moon. For video encoding we can again use dedicated hardware. This could save power and speed up processing, without adding much to the total cost.

Long-term forces are probably too weak to damage the hardware or prevent it from functioning correctly (we're not going to use hard disks, right?). Shock can be absorbed if the landing isn't too rough. I'm more concerned about radiation. Does anyone know what exactly radiation means to us?

Language: size isn't a problem if we can get hardware not significantly more expensive than that used in PCs. High-level language for high-level processing, low-level language for low-level processing?

Rules: IMO anything feasible in 'practice' should be allowed.

Lego: at least the RCX won't get you far. Perhaps it can be used as a platform to drive limited equipment around. Standard gears can make up for a possible lack of power. :) Actually I also happen to have a second RCX around. Got it from a reviewer, including most of the rest of the set. Unfortunately it had been in storage for too long with batteries still in it, destroying the battery compartment once the batteries started to leak. With some alu foil or an external power supply (it's the original RCX with a DC connector) it can still work. I have a few thousand Technic pieces, but they're from relatively recent times meaning only a fraction is general-purpose construction stuff.

Tank: mirror might be too fragile.
ˌɑrməˈɡɛˌtrɑn
User avatar
Lucifer
Project Developer
Posts: 8640
Joined: Sun Aug 15, 2004 3:32 pm
Location: Republic of Texas
Contact:

Post by Lucifer »

I got a response from google. Well, from the XPrize foundation, anyway. They've sent me several documents, including an application for registration for the prize. I emailed back to ask if I can post these documents in a public place or if there's some confidentiality thing associated with it. I expect to get a yes, because they didn't make me sign an NDA to get this information.

They've had inquiries from over 300 people, companies, schools, and individuals. They've also had a lot of inquiries from people wanting to contact other teams for collaboration. This adds up to a lot of rover projects, so the competition could be pretty fierce. I think we can compete. :)

I'll wait a little bit and see if he responds to tell me I can post those materials here. If he doesn't respond pretty quickly, I'll PM them, or Tank can give us a special forum (if it's not too hard, since the guy probably will say I can post them here).

Gotta go take a crap, bbiab. :)
Image

Be the devil's own, Lucifer's my name.
- Iron Maiden
User avatar
Lucifer
Project Developer
Posts: 8640
Joined: Sun Aug 15, 2004 3:32 pm
Location: Republic of Texas
Contact:

Post by Lucifer »

Ok, my question was answered, and the current working rules document is attached. Will had this to say about posting it in a public place:
Will Pommerance wrote: You can feel free to share the rules. However, it's very helpful for us to be able to track the number of potential teams and their nationalities--statistics like that help us recruit donors for other prizes, or for additional bonus prizes for this program--so I'd prefer that requests come through us as often as possible.
So anybody stumbling across this post looking for rules, if you're intending to compete, please contact the XPrize Foundation so you can get their full level of support, and everybody benefits that way. :)

Imagery: The rules document has precise specifications for the imagery. Jonathan, you know a lot more about this stuff than I do, care to take a look? :)

Navigation: The degree of autonomy needed depends, imo, on the speed at which it moves. A certain amount of autonomy is needed to deal with failures, for example if a wheeled vehicle falls into a ditch we didn't see and tips over, it needs some onboard systems to mitigate the damages and possibly recover, although we can certainly consider systems that allow us to initiate and control the recovery. If it's a fast-moving vehicle, such as armadillo's XPC rocket, then it probably goes without saying that it needs a high degree of autonomy, particularly if it's a ground walker.

Similarly, we don't actually need to know our precise position, we just need to be able to measure distance travel and do dead reckoning. Since GPS is only accurate to within a couple of meters on the surface of the earth, I doubt it'll be accurate enough for our purposes on the surface of the moon, but I don't know enough about how it works. It may be that the irony is that it's more accurate on the moon. :) This also assumes an earth-oriented landing site. Since we don't have a delivery system, I think we should aim for something that can work on the other side of the moon as well. If we do build orbital comm relays, we might consider having enough to use gps to find the location of the relays on the earth side and then go from there to get the rover's position. That sounds pretty complex, though, so should probably be considered something like last resort. It also depends on what we can get for a delivery system, which depends on other teams.

Finally, on navigation, there is no autonomy requirement. We can make it pure remote control, and I expect a lot of teams will do that. I think we'll have the most luck with a device that will turn at 30 degree increments, and has only right/left controls. ;) Brakes are for sissies.

Legos: I was actually thinking the legos themselves would be very useful as a cheap, lightweight building material for working up mockups and prototypes. We can still load any arbitrary hardware on them we want, but they might make it easier/faster to build a body for the thing. Depending on the vehicle, of course.

Now more about the vehicle. The rules do not specify that it has to be a rover ala the mars rovers. It can be a rocket-powered hoverer, a digger, anything. I was thinking a little while ago about a pogo-stick hopper. :) Obviously we can't build a balloon or air plane. What are our options for flying? Are there existing model rocket engines that could be used? The required payload is guaranteed not to exceed 500 grams, which isn't much. I think the system itself will be simplest if we build a wheeled or treaded rover, but I could very well be wrong about that. We definitely don't have the money to work on something like armadillo's XPC craft, but that doesn't mean model rocketry doesn't have existing off-the-shelf components we can use. There isn't a payload requirement outside the minimum required to perform the mission and the 500 grams reserved by XPF. Also, we should consider the possibility of just building a good suspension on a wheeled vehicle and sticking solid model rocket engines on the ass end of it. We don't *have* to have an electric motor to push it.

So, we've been talking like we're building a wheeled rover, and it seems likely that's what we'll build. But let's talk about other possibilities before we hang ourselves on wheels.

Simulator: ODE has the claim that it will simulate down to the internals of the craft, as well as electrical simulations. What they mean by electrical simulation, I don't know. In the next two semesters, I'll have finished the two basic engineering courses that provide all the math needed to worry about this stuff. I'm in statics right now, which is forces acting on a rigid body at equilibrium. Dynamics is next, which is the same class, only there is acceleration on the rigid body. I'm not personally due to study orbital mechanics for another year at least, which may impact when we can actually work out any satellites we need to develop. What I'm trying to say is that I'm already able to do some number-crunching by hand to simulate various situations, and I will probably be able to do it all by hand, to at least provide a sanity check for the simulator. I'd like a more in-depth look at ODE. Any volunteers? (I'll be taking my own look at it in a bit)

Hardware: It probably goes without saying that we need dedicated video hardware. :) I'll email my brother, who has done a fair amount of imaging in security applications, and see what he knows and might be willing to volunteer for help.

Language: I've been assuming that when we talk about language, we're talking about what language the robot's main control stuff that we write will be. If we have to write linux kernel modules, those will be in C, obviously. :) Same with any other software we use, we'll have to use the appropriate language to interface or build our own interface (SWIG? :) ).

Lunar night and lunar day: On the one hand, we probably can't store enough electricity to run continuously throughout the night. On the other hand, we can probably get enough solar power to both run and recharge the battery. But they only say "survive the night", which means we can shutdown at dusk and power back up in the morning. If we determine we need an internal heater to survive, we'll probably want to consider a chemical-based heater, like a propane/natural gas setup. Problem there is we have to ship the oxygen for the reaction.

I like the mirror idea, and it seems like we could make a mirror that'll survive. But the self-portrait has to be 250m from the landing spot.

Edit: Forgot a few things. The main static load we have to worry about is going to be the launch. I believe we'll have an acceleration curve during the launch (which makes it not quite a static load), and I can't see it not being a smooth curve. So we should aim for a maximum on that curve, and then double it or so. We should be able to approximate a static load based on whatever the curve looks like, the real problem is we don't know what it looks like. We can probably crunch numbers to get a good approximation there, too. Then we have to worry about the jolt it's going to get on landing, and there may be other jolts during the flight that we have to worry about, for example if explosive bolts are used to separate the lander from the orbital device. Otherwise, as far as static loads are concerned, if it'll survive earth's 10m/s^2, it'll survive the moon's quite handily.

As far as radiation goes, all I really know about it is that it interferes with electronics. That is, since we're not sending any living tissue we only have to worry about its impact on electronics. :) This is particularly important for memory and stuff. I don't know about magnetic material, such as a hard drive, but in general I'm with you that we don't want to send a hard drive if we don't have to.

For anybody who wants to help but is concerned they don't know programming/robotics/whatever, here's some things you can do to help. When I say (or somebody else) "we need to research <this thing>", you can do that. :) If it's researching an API, you can at least dig up links to documentation so the programmers can see the information. Sensors, cameras, model rocket engines, etc, are all within reasonable bounds for just about anybody who participates here to research, even if you don't know what the specifications mean. You'll learn while you're researching, and chances are that most of us don't know enough either and will have to learn. Also, when I say (or somebody else) "we can crunch <these numbers>", you can do that too, provided you know the math. So, for example, one of you reading this might know enough calculus and physics to work out several hypothetical acceleration curves. Knock yourself out, please do so, we need those curves! There are also several other tasks we have to do to satisfy the rules, but since we're on the periphery, we might be able to get away being lax on some of them (such as the weekly blog postings). If my wife does ultimately decide to get behind us (she hasn't yet, or if she has she hasn't said anything), I'm intending to put her on accounting and PR. I guess we'll see what happens with her.
Attachments
rules.zip
This is really a zip file that contains a pdf.
(211.5 KiB) Downloaded 234 times
Image

Be the devil's own, Lucifer's my name.
- Iron Maiden
User avatar
Lucifer
Project Developer
Posts: 8640
Joined: Sun Aug 15, 2004 3:32 pm
Location: Republic of Texas
Contact:

Post by Lucifer »

There is an obvious position finding algorithm we haven't discussed. Point a camera straight up and see what's in the crosshairs. If we're on the earth side, then the earth will be squarely centered in the crosshairs when we're on the prime meridian. The distance from the center of the earth should be able to give us our own angle to the center of the moon. Similarly, the distance from the horizontal center (not the equator!) should give us our latitude. Seems like we can treat the earth as a flat circle for this purpose, provided we can orient the axes on it somehow. I guess this depends on the inclination of the moon's orbit, but it's within reach.

Some math guy come up with a system that works like this, and then try to come up with a system that works on the outside of the moon, using just a camera. I guess it's not safe to assume the camera will be able to see stars.
Image

Be the devil's own, Lucifer's my name.
- Iron Maiden
User avatar
Jonathan
A Brave Victim
Posts: 3391
Joined: Thu Feb 03, 2005 12:50 am
Location: Not really lurking anymore

Post by Jonathan »

I looked at the video/image requirements bit. They want a complete horizontal cycle and 120 degrees vertically for panoramas. Resolution should be at least 0.3 milliradians per pixel, which equals a lot of zoomed HD shots. Same resolution requirements for detail images with the addition that illumination should be "reasonable". Everything should be in color. Which brings me to the next question, what do the resolution requirements mean for a Bayer or similar filter, just to be sure? There are some other quality-related requirements but we're not there yet.

Near-real-time video should be 320x240 at a frame rate appropriate to the action in the frame, with a maximum of 15 frames per second. That means that less than 15 FPS is OK if you can still watch the action. HD video requirements are similar, except they obviously require HD resolution, 720p.

In short, you could use either type of camera, although each limits what you can do. I don't know of still cameras that shoot high-res high-framerate video, and no video cameras that shoot stills at very high resolution either. Custom hardware might do both.

While looking there I also found some self-portrait requirements. Be sure to read them.

The precision problem of GPS is caused mostly by the atmosphere AFAIK, assuming a good receiver. You don't have that problem on the Moon, and the huge amount of satellites could provide some averaging. On the other hand timing differences are much smaller. I don't know what kind of precision you could expect in the end, but it won't be the worst imaginable. Probably better than dead reckoning over longer distances.

Do we really need to get to the other side of the Moon for now? It makes communication harder, and it would take a while to travel to it if you started on the 'other' other side. Remember how one side of the Moon always faces Earth.

Lego could be used for mockups. You just need a lot if you want it to be both large and sturdy.

I think a Mars rover-like vehicle is most practical. Perhaps a walker with stability precautions if we can get a good controller for it. Anything else I can think of is not feasible. Rocketing yourself doesn't seem like a good strategy. If you don't screw up during the ride you're still out of fuel afterwards. You also need to take some pictures and stuff underway which will be harder. Perhaps you can reach a certain distance fastest that way, but it's just stupid IMO. It's also extra weight.

If ODE claims to simulate internals including electricity it's probably good enough. As long as all energy is transferred realistically.

I'm concerned about radiation because electronics keep getting smaller, and perhaps too sensitive. You will catch more with larger electronics, but a storage element is less likely to flip over all the way.

Celestial navigation is a good idea. Photographing stars is a piece of cake if you can reduce glare from sunlight. Stars give the most precision and work everywhere. Still not nearly as precise as GPS probably would be though. :P
ˌɑrməˈɡɛˌtrɑn
User avatar
Lucifer
Project Developer
Posts: 8640
Joined: Sun Aug 15, 2004 3:32 pm
Location: Republic of Texas
Contact:

Post by Lucifer »

So thinking some more about this, by my count at this time, we have 4 people jumping on board for programming and stuff and others that want to help.

Me
Jonathan
Kyle
Quarg

Maybe tank? ;)

So here we go, I'm satisfied that this is feasible, but it won't be easy. Do you guys really want to do it? I'm not asking for a minimum time commitment or anything, but we should all be aware that as the project progresses, we will need to make time commitments and at some point we will need to be able to make minimum time commitments. It'll probably be an emotional rollercoaster, but should be a lot of fun. And even if we don't make it to the moon, we should be in good shape for getting ourselves into the industry after we reach certain milestones.

I'll work up a more detailed plan to start with in the next couple of days, I'm still recruiting. :) I've got two other programmers who say they don't have time right now but want to keep updated and will probably want to jump in. Probably they're thinking about the viability of the project too.

First tasks you guys can start on are these:

Jonathan - Find out our options for imaging. The realtime feed is webcam-quality, to give an idea what we're after. Check the rules, and then survey hardware options. We need to know all options, regardless of whether or not they're pc-compatible.

Kyle: check out ODE, and any other physics simulators you happen to know about. ODE is a library, we still have to write the simulator. I'd like to break code on the simulator asap, because everything we need to do falls from there.

The long-term plan on the simulator is to use it for coding the actual control software and testing the hardware against its operating environment, and later to build prototypes that we test on earth in real-world situations, and compare the results to the simulation so we can tweak and validate the simulator. When we're satisfied with the validity of the simulator, then we can place confidence on how it simulates lunar operations. I'm interested in how we can validate the simulator for launch/landing operations as well, for what should be obvious reasons. :)

Lucifer: come up with a short-term plan that gets us a simulator and a basic platform to start designing from. This is a planning task, not a design task. :) And continue recruiting. I'd like to have a team of 4-6 programmers, 2 builders (where builder is defined as machine work and/or electronic work), and 2-3 electronics guys. I'd like some folks to declare themselves part of some related teams, like a research team. Also, we need some PR type stuff at some point soon.

Quarg: research. :) Specifically, what have other people already done. What materials have been used, what designs, what electronics, etc. Look at NASA particularly, their mars rovers, and ESA recently launched a lunar rover, didn't they? FInd the answer to Jonathan's radiation question. Also, try to get a good picture of what lunar conditions are like on the ground.

The first and most important milestone that I'm seeing right now is to have a display at next year's X Prize Cup with a working prototype. So that gives us a year to have something built. It doesn't have to work well, and it doesn't have to work under actual launch/landing/lunar operations, but it should show working software, including imagery and communications.

Note: this post was written concurrently to jonathan's last post, and I didn't want to edit this one to reflect that one, since it only means some minor grammatical changes, meaning stays as it is. I am largely in agreement that a wheeled or treaded vehicle is best for us. I like the idea of being able to run off solar power indefinitely, rather than running out of rocket fuel.
Image

Be the devil's own, Lucifer's my name.
- Iron Maiden
Post Reply