Difference between revisions of "Space Shuttle Deluxe"

From OrbiterWiki
Jump to navigation Jump to search
m
Line 1: Line 1:
 +
novarr
 
{{Addon|1=[http://www.orbithangar.com/searchid.php?ID=2761 OrbitHangar]|2=Kwan3217, Donamy, Panchi, [[#Help Wanted|You!]]}}
 
{{Addon|1=[http://www.orbithangar.com/searchid.php?ID=2761 OrbitHangar]|2=Kwan3217, Donamy, Panchi, [[#Help Wanted|You!]]}}
  
Line 7: Line 8:
  
 
== Credits ==
 
== Credits ==
IK Arm, aerodynamic and mass model improvements, and MPS engine gimballing by Chris Jeppesen (kwan3217). Copyright © 2006-2007 Chris Jeppesen.
+
IK Arm, aerodynamic and mass model improvements, and MPS engine gimballing by Chris Jeppesen (kwan3217). Copyright © 2006-2007 Chris Jeppesen.
  
Payload bay and RMS cameras by Francisco López (panchi). Copyright © 2006-2007 Francisco López.
+
Payload bay and RMS cameras by Francisco López (panchi). Copyright © 2006-2007 Francisco López.
  
VC 3D panels and textures by Don Gallagher (Donamy). Copyright © 2006-2007 Don Gallagher.
+
VC 3D panels and textures by Don Gallagher (Donamy). Copyright © 2006-2007 Don Gallagher.
  
Our changes are released under the GNU Library GPL. As this is a derivative work of the stock Atlantis, Martin Schweiger and the other original authors retain copyright on the parts we didn’t change. Martin’s original work is used by permission.
+
Our changes are released under the GNU Library GPL. As this is a derivative work of the stock Atlantis, Martin Schweiger and the other original authors retain copyright on the parts we didn’t change. Martin’s original work is used by permission.
  
 
== Help Wanted ==
 
== Help Wanted ==
Line 48: Line 49:
 
=== Inverse Kinematics RMS Arm ===
 
=== Inverse Kinematics RMS Arm ===
 
[[Image:IK Control Panel.png|right]]
 
[[Image:IK Control Panel.png|right]]
Kinematics is the study of motion, independent of force (that’s dynamics). In robotics, forward kinematics is the method of using the joint rotation angles and other actuator states to determine the location of the end effector. Inverse kinematics, or IK, is the method used to find joint angles given a target location.
+
Kinematics is the study of motion, independent of force (that’s dynamics). In robotics, forward kinematics is the method of using the joint rotation angles and other actuator states to determine the location of the end effector. Inverse kinematics, or IK, is the method used to find joint angles given a target location.
  
Think about how you move your own arm. When you reach out to grab something, you don’t consciously think “Well, I have to rotate my shoulder so much, my elbow like this, and do it all at the right speed.You just think of your hand being in the right place, and your motor control center (down in your cerebellum) figures out how to do it. It’s instinctive for a person, and can be programmed into a robot.  
+
Think about how you move your own arm. When you reach out to grab something, you don’t consciously think “Well, I have to rotate my shoulder so much, my elbow like this, and do it all at the right speed.” You just think of your hand being in the right place, and your motor control center (down in your cerebellum) figures out how to do it. It’s instinctive for a person, and can be programmed into a robot.  
  
 
On the real space shuttle, the RMS arm is controlled primarily by the aft translation and rotation controllers. The translation controller is used to move the end effector, and the rotation controller is used to aim it. In this mode, the arm computer figures out what speed to rotate each joint at in order to satisfy a translation or rotation command. The crew can control the arm manually by moving each joint, but this is clearly not the easiest way to do it. Up to now in Orbiter, only this manual joint-by-joint mode has been available. This addon fixes that. It allows you to command a translation of the end effector, and have the machine satisfy it in whatever way is necessary.
 
On the real space shuttle, the RMS arm is controlled primarily by the aft translation and rotation controllers. The translation controller is used to move the end effector, and the rotation controller is used to aim it. In this mode, the arm computer figures out what speed to rotate each joint at in order to satisfy a translation or rotation command. The crew can control the arm manually by moving each joint, but this is clearly not the easiest way to do it. Up to now in Orbiter, only this manual joint-by-joint mode has been available. This addon fixes that. It allows you to command a translation of the end effector, and have the machine satisfy it in whatever way is necessary.
  
The control panel (pictured to the right) is similar to the standard RMS control panel, with the addition of a new cluster of buttons, marked “Translation”. These buttons are used to directly command the end effector to move in a straight line along one of the cargo bay axes.
+
The control panel (pictured to the right) is similar to the standard RMS control panel, with the addition of a new cluster of buttons, marked “Translation”. These buttons are used to directly command the end effector to move in a straight line along one of the cargo bay axes.
  
 
The cargo bay reference frame is as follows: The origin is at the center of the shoulder pitch joint.  
 
The cargo bay reference frame is as follows: The origin is at the center of the shoulder pitch joint.  
*The X axis extends down the cargo bay sill, from nose to tail. As you are looking out one of the aft flight deck windows, +X is directly away from you and –X is directly towards you.
+
*The X axis extends down the cargo bay sill, from nose to tail. As you are looking out one of the aft flight deck windows, +X is directly away from you and –X is directly towards you.
*The Y axis extends across the cargo bay, from arm joint towards the KU antenna. Again, looking out the rear windows, +Y is to the left and –Y is to the right.
+
*The Y axis extends across the cargo bay, from arm joint towards the KU antenna. Again, looking out the rear windows, +Y is to the left and –Y is to the right.
*The Z axis is perpendicular to X and Y, and completes a right-handed system. +Z is “up” and –Z is “down”, again from the point of view of the aft flight deck.
+
*The Z axis is perpendicular to X and Y, and completes a right-handed system. +Z is “up” and –Z is “down”, again from the point of view of the aft flight deck.
  
Simply push and hold one of the buttons, and the arm end effector (actually the center of the wrist pitch joint) will move in the indicated direction. All the joints will move at the appropriate speed to move the end effector at 0.1m/s. If a translation command would move the wrist to a point the arm can’t reach, the arm will ignore the translation command and stop moving.
+
Simply push and hold one of the buttons, and the arm end effector (actually the center of the wrist pitch joint) will move in the indicated direction. All the joints will move at the appropriate speed to move the end effector at 0.1m/s. If a translation command would move the wrist to a point the arm can’t reach, the arm will ignore the translation command and stop moving.
  
 
There is only a limited amount of rotational IK in place now. The wrist pitch joint is rotated such that it stays at the same angle, regardless of how the shoulder and elbow pitch joints move. Other than that, you are on your own. I recommend using the wrist yaw and roll joints only minimally, and then only after the wrist is already translated to the correct position to grapple an object.
 
There is only a limited amount of rotational IK in place now. The wrist pitch joint is rotated such that it stays at the same angle, regardless of how the shoulder and elbow pitch joints move. Other than that, you are on your own. I recommend using the wrist yaw and roll joints only minimally, and then only after the wrist is already translated to the correct position to grapple an object.
Line 70: Line 71:
 
Various changes to the mass, engine power, and aerodynamics model have been made. Although these are designed to make the model more realistic, most of them have the actual effect of improving the performance of the vehicle. In particular, the accurate empty mass of the vehicle is much lower than previously coded. The boosters have significantly increased peak thrust, but a more realistic thrust curve.
 
Various changes to the mass, engine power, and aerodynamics model have been made. Although these are designed to make the model more realistic, most of them have the actual effect of improving the performance of the vehicle. In particular, the accurate empty mass of the vehicle is much lower than previously coded. The boosters have significantly increased peak thrust, but a more realistic thrust curve.
  
Most of these changes are transparent to the pilot. You don’t have to fly the ship any differently, it just may “feel” a little bit different.
+
Most of these changes are transparent to the pilot. You don’t have to fly the ship any differently, it just may “feel” a little bit different.
  
The new aerodynamic model is a significant realism improvement over any previous shuttle model, but its performance is somewhat less than that used by David413’s Shuttle Fleet. In particular, this vehicle has significantly less crossrange capability, compared to the fleet. Entries will have to be flown somewhat more carefully with this model, but users report that the AutoFCS addon has no difficulty flying this model.
+
The new aerodynamic model is a significant realism improvement over any previous shuttle model, but its performance is somewhat less than that used by David413’s Shuttle Fleet. In particular, this vehicle has significantly less crossrange capability, compared to the fleet. Entries will have to be flown somewhat more carefully with this model, but users report that the AutoFCS addon has no difficulty flying this model.
  
 
=== MPS Engine Steering ===
 
=== MPS Engine Steering ===
Line 123: Line 124:
 
Bugs? Surely you jest! Well, maybe one or two... Add any bugs (features you know don't work as intended, or features which are only partially implemented) here. New feature requests go in the next section
 
Bugs? Surely you jest! Well, maybe one or two... Add any bugs (features you know don't work as intended, or features which are only partially implemented) here. New feature requests go in the next section
  
*Don’t use the Payload camera rotation controls when you are not looking through a payload camera. Doing this will cause the camera to look at an odd angle, and no longer respond to the rotation control butons. To fix this, just hop to a different VC location, then hop back.
+
*Don’t use the Payload camera rotation controls when you are not looking through a payload camera. Doing this will cause the camera to look at an odd angle, and no longer respond to the rotation control butons. To fix this, just hop to a different VC location, then hop back.
 
*MPS engine yaw steering is not pure yaw. Some of the yaw command couples into the roll axis.
 
*MPS engine yaw steering is not pure yaw. Some of the yaw command couples into the roll axis.
 
*IK only maintains end effector pitch. It should also do yaw and roll.
 
*IK only maintains end effector pitch. It should also do yaw and roll.

Revision as of 14:46, 12 November 2007

novarr

Project home: OrbitHangar
Author: Kwan3217, Donamy, Panchi, You!
Current version: Unknown
Compatibility: Unknown


SpaceShuttleDeluxeCover.png

Space Shuttle Deluxe is based on the code and model of the stock Atlantis which comes with Orbiter 060929. Since it is in a state of continuous slow flux, it is better to host its manual here.

Our aim is to make a model of the Space Shuttle which is as realistic as possible, at the expense of everything, including possibly ease of use.

Credits

IK Arm, aerodynamic and mass model improvements, and MPS engine gimballing by Chris Jeppesen (kwan3217). Copyright © 2006-2007 Chris Jeppesen.

Payload bay and RMS cameras by Francisco López (panchi). Copyright © 2006-2007 Francisco López.

VC 3D panels and textures by Don Gallagher (Donamy). Copyright © 2006-2007 Don Gallagher.

Our changes are released under the GNU Library GPL. As this is a derivative work of the stock Atlantis, Martin Schweiger and the other original authors retain copyright on the parts we didn’t change. Martin’s original work is used by permission.

Help Wanted

If you want to add any features to Space Shuttle Deluxe, and you feel you have the skills, let us know! We need

  • Test Pilots
  • Feature Suggestions
  • People willing to code features

Our project is intended to be open to anyone with skills relating to developing addons. Coding, modeling, texturing, documentation, test pilots, whatever. If you wish to participate, send a forum PM to kwan3217 stating how you wish to contribute.

Anyone is welcome to look at our code, see how we did stuff, and incorporate our ideas into their projects. Anyone is welcome to include code from our project into theirs, subject to the terms of the GNU Library GPL.

Discuss changes here on the Talk Page, or on the Orbiter Forum (http://orbit.m6.net/forum/)

Project SVN Server

NOTE! You don't have to get the project this way. You can get it off of OrbitHangar, source code and all, updated irregularly once every few weeks. This is mostly intended for people who want to actively help write the program.

This project is hosted on an SVN source control server at svn://dejiko.kwansystems.org:3691/trunk/ . This is not a normal URL that you can point a web browser at. Instead, it is used in an SVN client such as Tortoise SVN.

Anyone can check out code. The most convenient way to do it is as follows:

  • Create a blank directory. This will have a clean install of Orbiter and Deluxe when we are done
  • Enter that directory and check out the project into it. Using Tortoise SVN, right click on the directory window and select 'SVN Checkout'. Then enter the URL above. With command-line SVN, use the command
svn checkout svn://dejiko.kwansystems.org:3691/trunk/
  • Unpack the normal Orbiter base and SDK zips into this folder, overwriting as necessary
  • Now here's the important step: Use the revert command to get back all the new files from Deluxe which were overwritten. Using Tortoise SVN, right click on the directory window, and select Tortoise SVN/Revert.... With command-line SVN, use the command
svn revert

User Manual

Inverse Kinematics RMS Arm

IK Control Panel.png

Kinematics is the study of motion, independent of force (that’s dynamics). In robotics, forward kinematics is the method of using the joint rotation angles and other actuator states to determine the location of the end effector. Inverse kinematics, or IK, is the method used to find joint angles given a target location.

Think about how you move your own arm. When you reach out to grab something, you don’t consciously think “Well, I have to rotate my shoulder so much, my elbow like this, and do it all at the right speed.” You just think of your hand being in the right place, and your motor control center (down in your cerebellum) figures out how to do it. It’s instinctive for a person, and can be programmed into a robot.

On the real space shuttle, the RMS arm is controlled primarily by the aft translation and rotation controllers. The translation controller is used to move the end effector, and the rotation controller is used to aim it. In this mode, the arm computer figures out what speed to rotate each joint at in order to satisfy a translation or rotation command. The crew can control the arm manually by moving each joint, but this is clearly not the easiest way to do it. Up to now in Orbiter, only this manual joint-by-joint mode has been available. This addon fixes that. It allows you to command a translation of the end effector, and have the machine satisfy it in whatever way is necessary.

The control panel (pictured to the right) is similar to the standard RMS control panel, with the addition of a new cluster of buttons, marked “Translation”. These buttons are used to directly command the end effector to move in a straight line along one of the cargo bay axes.

The cargo bay reference frame is as follows: The origin is at the center of the shoulder pitch joint.

  • The X axis extends down the cargo bay sill, from nose to tail. As you are looking out one of the aft flight deck windows, +X is directly away from you and –X is directly towards you.
  • The Y axis extends across the cargo bay, from arm joint towards the KU antenna. Again, looking out the rear windows, +Y is to the left and –Y is to the right.
  • The Z axis is perpendicular to X and Y, and completes a right-handed system. +Z is “up” and –Z is “down”, again from the point of view of the aft flight deck.

Simply push and hold one of the buttons, and the arm end effector (actually the center of the wrist pitch joint) will move in the indicated direction. All the joints will move at the appropriate speed to move the end effector at 0.1m/s. If a translation command would move the wrist to a point the arm can’t reach, the arm will ignore the translation command and stop moving.

There is only a limited amount of rotational IK in place now. The wrist pitch joint is rotated such that it stays at the same angle, regardless of how the shoulder and elbow pitch joints move. Other than that, you are on your own. I recommend using the wrist yaw and roll joints only minimally, and then only after the wrist is already translated to the correct position to grapple an object.

All of the other direct joint buttons still work as before. The only other difference is that the arm, when stowed, goes to a perfectly straight configuration.

Aerodynamics and Mass model improvements

Various changes to the mass, engine power, and aerodynamics model have been made. Although these are designed to make the model more realistic, most of them have the actual effect of improving the performance of the vehicle. In particular, the accurate empty mass of the vehicle is much lower than previously coded. The boosters have significantly increased peak thrust, but a more realistic thrust curve.

Most of these changes are transparent to the pilot. You don’t have to fly the ship any differently, it just may “feel” a little bit different.

The new aerodynamic model is a significant realism improvement over any previous shuttle model, but its performance is somewhat less than that used by David413’s Shuttle Fleet. In particular, this vehicle has significantly less crossrange capability, compared to the fleet. Entries will have to be flown somewhat more carefully with this model, but users report that the AutoFCS addon has no difficulty flying this model.

MPS Engine Steering

The stock Atlantis has limited Main Propulsion System (MPS) steering. In particular, it was limited to steering the center SSME to compensate for changes in thrust of the SRBs. Maneuvering during the launch phase depended on a set of invisible RCS engines scattered about the stack.

This version has an improved MPS steering system. The center engine is still used to compensate for SRB thrust, but the left and right engines, and SRBs while they are attached, are also gimbaled in response to commands to the RCS. To the pilot, the ship will still be steerable as usual. Just make sure the controller is in rotation mode and steer like normal. However, if you look outside during launch, you will see that the engine exhaust jets steer in response to steering commands. No RCS is needed during launch phase. The normal shuttle RCS becomes active as soon as the MPS thrust drops below 10%.

Payload Bay Cameras

Camera Control.png

There are five new camera views: The four cameras at the corners of the payload bay, and the camera on the RMS end effector. These are accessable as normal VC views by pressing Ctrl-Arrow. A chart of the available VC views, including old cockpit views and new camera views, appears below.

Cockpit View Left Right Up Down
Commander - Pilot - Aft
Pilot Commander - - Aft
Aft Flight Deck Pilot Commander RMS Commander
RMS - - FL Aft
FL Payload Bay FR - BL RMS
FR Payload Bay - FL BR RMS
BL Payload Bay - BR FL RMS
BR Payload Bay BL - FR RMS

Also, the new Payload camera control panel is available. To access it, press ctrl-Space, then select Payload camera operations. To rotate a camera, select it with the Camera radio button, then use the rotation controls to pan the camera.

Landing Gear Control

The landing gear is now controlled by the buttons on panel F6, right below the Commander's MFDs. There are two covered buttons there, one to arm the landing gear system (ARM) and one to lower the gear (DN).

You can use Ctrl-G to arm the gear, and G to lower them

DO NOT lower the landing gear in space, as you can't re-raise them.

Customizable Name

You can now paint any name you want on the side of the ship. In the scenario file, add this line to the section describing the Space Shuttle:

WING_NAME Independence

This will paint the name "Independence" below the flag on the right wing, and on each side of the cockpit.

Known issues, bugs, and other unplanned features

Bugs? Surely you jest! Well, maybe one or two... Add any bugs (features you know don't work as intended, or features which are only partially implemented) here. New feature requests go in the next section

  • Don’t use the Payload camera rotation controls when you are not looking through a payload camera. Doing this will cause the camera to look at an odd angle, and no longer respond to the rotation control butons. To fix this, just hop to a different VC location, then hop back.
  • MPS engine yaw steering is not pure yaw. Some of the yaw command couples into the roll axis.
  • IK only maintains end effector pitch. It should also do yaw and roll.
  • IK control panel doesn't change its title to reflect the name of the ship as specified by WING_NAME

Planned Features not yet implemented

  • Use all three main engines to counteract changes in thrust of the SRBs. The MPS engine steering still only uses the center engine to counteract changes in thrust in the SRBs. Near SRB burnout, the center engine pitch will increase to unreasonable levels.
  • Add an animation so main engine gimbal action is visible
  • Add an APU system with limited fuel. This system is a set of small turbine engines powered by a limited supply of hydrazine. These engines turn hydraulics pumps, which allow the engines to be steered, control surfaces to be moved, and landing gear lowered. If the APUs are off, or they run out of fuel, you will no longer be able to use any of the hydraulic systems on the Shuttle.
  • Add propellant resources so that there is a separate forward RCS tank, and perhaps two separate tanks in the OMS pods. Since all engines in the aft can be cross-fed, maybe it makes sense just to model it as one resource.
  • Calculate the center of gravity based on the loading of the fuel tanks and payload.
  • Customizable roundel (NASA Logo) and flag
  • Correct Rudder deflection. Rudder currently moves to the left when it should move to the right and vice versa
  • Disable Flight Control System (FCS) operation on orbit. Once APU's are shut down, Flight Control Surfaces do not move on orbit. FCS is phased back in during various times in rentry.
  • Correct Reaction Control System (RCS) operation. Only one engine per cluster/direction will fire at a time to preserve redundancy. Currently three or two per cluster fire.

Gallery

Precis

This article has a precis and appears in the Random addon or Random article section on the Main Page. The precis can be found at Space Shuttle Deluxe/precis and is displayed below.

SpaceShuttleDeluxeCover.png

Space Shuttle Deluxe was an Orbiter addon based on the code and model of the stock Atlantis which came with Orbiter 2006. The goal of the project was to fill in the virtual cockpit with active controls, and to make as detailed and accurate a flight model as possible... (More...)