Download Inspect Design Document - MIT Space Systems Laboratory

Transcript
Figure 69: Block diagram of software system for SPHERES and CMG Payload
Onboard of SPHERES, the control algorithm collects the current state vector from the IMU and
uses it to calculate the current error from the target state. With this information, the control law is
then able to prescribe a desired torque on the satellite to be created by the CMGs. This torque is
passed to the CMG Mixer where it is converted into gimbal rates for each of the CMGs. The
current test configuration has this CMG mixer placed on VERTIGO, as communication between
SPHERES and VERTIGO has yet to be accomplished. However, once this is the case, the CMG
mixer could then be properly moved back onto SPHERES. In the single axis of rotation case, the
four CMGs will act as scissor-pairs. This means that they will all change their gimbal positions to
cancel all angular momentum components outside of the y-axis. The calculated gimbal rate is a
non-linear function as it depends on the current gimbal position of each CMG. This data is
requested from the Honeybee CMG Controller and returned to the GSP. Once the desired gimbal
rate is calculated, it is then sent to the Honeybee CMG Controller through the UART port. This
data packet passes from SPHERES through the VERTIGO Avionics Stack, though Halo, through
the CMG PCB, and finally to the CMG Controller Board where it is implemented. Once this
occurs, the inertial measurement unit updates the current state value of the system and the
process is repeated.
4.1.5.7
VERTIGO-CMG Communications Software (HS)
A CMG control GUI was provided by Honeybee Robotics. The GUI runs exclusively on Windows,
and is able to control CMG spin rates, gimbal rates, and gimbal positions via sliders. It can also
take a slew of gimbal rates, which allows for an entire series of maneuvers to be specified at
once. The code that underlies the GUI is also Windows-specific, which presents challenges in
adapting the communications with the CMGs to VERTIGO’s Linux system.
A low-level API was also provided by Honeybee [15], which specifies the bytes that must be sent
over the CMG’s serial connection to get status information and send commands to the CMGs.
The message is built using a series of hexadecimal packets that all contain the following (in
order): a message start section, a command type, a message body length, a message body, and
a CRC checksum.
May 15, 2014
16.831 SPHERES INSPECT Design Document
85