Jump to content

Wheels in space


Recommended Posts

I was trying to give BahamutoD's amazing critter crawlers the ability to walk on ships instead of just ground, and everything worked just fine so long as the ship was landed on the surface. However, after I moved my little experiment to orbit, namely a 1500km orbit around kerbin, my crawlers refused to move another inch. The way the crawlers work is that they use four invisible wheels for movement, and upon further investigation I found out that wheels in general firmly believe their efforts are not needed in space.

Does anyone have any idea how to work around this? I tried firespitter wheels and they refused to spin as well, and I can't think of any other stock wheel alternatives of the top of my head. I'd rather not reinvent the wheel, but it's starting to look like that's exactly what I'll have to do, unless I opt for a different movement system, or forget about crawling in space entirely.

Edited by Yski
Link to comment
Share on other sites

I think it's because wheels are programmed to become weaker as surface velocity increases which means that wheels should work normally at geostationary orbit.

If you watch

by HOC you might get a better idea of what I'm on about. :) Edited by Ringotuna
Link to comment
Share on other sites

It seems I wasn't clear enough in my OP, so I made a quick video demonstration.

Goal: Make the crawlers walk while in orbit.

Problem: The crawler moves using wheels. Wheels don't work in orbit.

What I'm looking for: a way to make those wheels move in orbit, or some other way to implement orbit crawling without doing it all from scratch.

If you watch
by HOC you might get a better idea of what I'm on about. :)

He seems to be moving using RCS though, isn't he? At any rate, simply sticking to geostationary orbits isn't the kind of solution I'm looking for.

Edited by Yski
Link to comment
Share on other sites

He seems to be moving using RCS though, isn't he? At any rate, simply sticking to geostationary orbits isn't the kind of solution I'm looking for.

Wheel needs a reaction force from the surface. Reaction force appears when some another force (gravity or rocket engine) presses the vehicle to the surface.

No reaction - no movement.

Btw Rosetta/Philae's problems have begun when a Philae's gas rocket had gone. It was designed specially to press the drone to the comet surface.

I guess, you would first try putting LV-1/LV-1R on the top of you critter to press it to the ship. Maybe this helps.

Link to comment
Share on other sites

I guess, you would first try putting LV-1/LV-1R on the top of you critter to press it to the ship. Maybe this helps.

The critter already pulls itself towards whatever surface it happens to be walking on. The problem is that the motors on the wheels do not work in orbit. As you can see in the video I posted earlier, wheels do not start rotating in orbit when you attempt to move forward. I also demonstrated how the critter pulls itself to the ship and sticks to it, but is unable to move due to the wheels.

It has nothing to do with the way wheels work in real life; the problem I'm trying to solve is the way wheels are coded in the game. The ksp implementation of wheels was never meant to be used away from the surface, and as such it flat out does not work. Because it's the stock game that's the problem, not a mod, there's nothing I can do to modify it to work myself. What I'm trying to ask is if anyone knows of a way to work around this limitation of ksp's engine, or a mod that already does wheels that do not have the same limitations that I could use instead of the stock wheels.

Edited by Yski
Link to comment
Share on other sites

if I remember correctly, they tried once to build a artificial gravity thing that rotated so you could drive/walk inside..

it failed on the driving part, because wheels break if the surface speed is too high..

in space that makes no sense, but wheels break because of that.

it only worked in geostationary orbit because there was the surfacespeed low enough..

It might be, that is the cause here too..

just found the video..

Link to comment
Share on other sites

Please, read the thread before posting. I'm not asking about wheels breaking, the issue I have is with the motors that rotate the wheels not doing anything in space. More over, what I'm looking for is solutions, not being repeatedly linked to giant hamster wheels. I appreciate the effort, but this is not what what I was asking for.

So, I think we can conclude that there probably isn't anyone that can help me here. Truth be told I had a feeling it wouldn't be so easy, but I thought it best to ask anyway, just in case. Still, the bottom line seems to be that if I want the crawlers to crawl, I'll have to get rid of the wheels and make my own movement system.

Edited by Yski
Link to comment
Share on other sites

It'll just be to do with the torque curve definition, I believe. It's usually defined so torque decreses as the wheels maximum speed is approached, so at 2500m/s, you'll get zero torque.

You ought to be able to bodge a way around it easily enough by creating a torque curve that has a second hump from something above the usual max speed, right to to 99999.

It's a collossl fudge, though. The only other option would be to write your own plugin and measure speed against whatever surface the vessel is on, rather than the surfaceSpeed that the KSP api gives you.

Hth!

Link to comment
Share on other sites

Not true;

philotical is explaining the problem.

Lo-fi described the (easiest) solution precisely.

lo-fi even described the difficult solution precisely.

The method I would use; would be to measure speed relative to the surface but as soon as surface speed exceeded some threshhold (300m/s? maybe altitude? maybe ground-altitude greater than 5? or 50? or something), measure speed based off relative velocity to current target (if there is one).

The problem, is wheels don't provide force when you are moving quickly relative to the surface. (exactly what philotical said)

The proof of this; is despite contact with the ground/another craft. Despite being "stuck" to it by BDs legs, unless you are in geostationary orbit nothing happens. Because the engines are defined not to do anything when your surface speed is too high. (being in anything other than geostationary orbit means your surface speed is likely too high).

lo-fi provided the solution to this, in order for the engines to provide a force, they need to be within their velocity curve. lo-fi's simple solution is to modify the curve so that the wheels work "normally" upto (for example) 30m/s, cease working between 30 and 300, and then after 300, always provide acceleration. That way as long as your orbit is not in the band near geostationary where you are moving at a surface speed between 30 and 300, then you'll have traction on anything. (including the craft you are "glued" to using the legs stickyness).

Link to comment
Share on other sites

  • 3 weeks later...
Please, read the thread before posting. I'm not asking about wheels breaking, the issue I have is with the motors that rotate the wheels not doing anything in space. More over, what I'm looking for is solutions, not being repeatedly linked to giant hamster wheels. I appreciate the effort, but this is not what what I was asking for.

It's not easy. The wheels work by looking at the surface speed. Ground surface speed. Which is a very high number when you are in orbit. You could check this by setting your ship in an near geo-stationary orbit, and check the surface horizontal speed with Kerbal flight engineer. Most likely the wheels will work when you are near a "sane" speed number.

Most likely you need to adjust the "torqueCurve" parameter of the ModuleWheel to have torque on all speeds (as this is what keeps you wheels from turning, 0 torque = 0 rotation). And set the "damageable" property to false, or else the wheels will just break instantly.

Link to comment
Share on other sites

  • 2 weeks later...

I wonder if you could write a mod that dynamically modified the torque curve based off relative velocity to the surface (default), or nearest other entity (say nearest vessel).

Does KSP notice dynamic changes to the torque curve? Or is it locked after the part is instantiated...

(So, the torque curve is 0-30 surface velocity or whatever, you are in orbit doing 2200m/s (surface relative). You come near another vessel and are travelling at 0m/s target-relative velocity. Mod would dynamically modify your torque curve to be 0 between 0-2170, curve in to 100% at 2200m/s, then curve out to zero at 2230 (simulating a 30m/s torque curve at whatever orbital altitude you are at)

If your nearest vessel is travelling at 5m/s relative to you; you would modify the torque curve to simulate a ground-speed equivalent curve of 5m/s.

So, since you are at 2200, your torque curve would have its "centre" point (max torque) at 2195, and it would hit zero at 2225. So it would simulate you having the same torque as ground-speed 5m/s equivalent.

I say use nearest vessel rather than target, because I suspect - while there would be oddly shaped ship exceptions - it would be more realistic than just using your target, since you could move on another object while targeting a significantly different vessel. IE. moving on the outside of a space station while targeting an incoming rendezvous?

But this solution hinges on being able to change the torque curve dynamically, and having KSP actually take it into account.

Link to comment
Share on other sites

This thread is quite old. Please consider starting a new thread rather than reviving this one.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...