Eric, your recommended change fixes the issue. Thanks for your help! Richard
Hi Richard, Thanks for the bug report. Please insert a call to BodyStatesToNodeStates in OrderNMultiBodyRK4 (like in KaneNBodyRK4) and see if that fixes the issue. It should, but I don't have time to test it properly right now. The refactoring of nodes postdates the inclusion of Order-N dynamics, and I missed adding that. Regards, -Eric
gyro not updated if single-body spacecraft and ORDER_N dynamics
Hi Eric, I hope you are well. I understand that you have not had an enquiry on here in a while, so I hope this reaches you. I am hoping to create a bespoke environment within 42 for Attitude and Orbital Control System (AOCS) research over the course of my summer internship. My aims include adding specific visualisations of a 3-unit CubeSat as part of a student-led project, and defining the interfaces to define properties for: Position sensors (e.g. sun/star trackers) Reaction wheels Magnetorquers...
Hi Eric, I hope you are well. I understand that you have not had an enquiry on here in a while, so I hope this reaches you. I am hoping to create a bespoke environment within 42 for Attitude and Orbital Control System (AOCS) research over the course of my summer internship. My aims include adding specific visualisations of a 3-unit CubeSat as part of a student-led project, and defining the interfaces to define properties for: Position sensors (e.g. sun/star trackers) Reaction wheels Magnetorquers...
Hi, I am trying to open and run 42 on my mac, but I am having trouble. I keep getting errors when i try to run the make file. This is the error I get when I do not change any of the code: Loaner205849-18:~ loaner$ /Users/loaner/Downloads/42\ 2/Makefile ; exit; command not foundoads/42 2/Makefile: line 2: /Users/loaner/Downloads/42 2/Makefile: line 5: AUTOPLATFORM: command not found /Users/loaner/Downloads/42 2/Makefile: line 6: syntax error near unexpected token $(MSYSTEM),MINGW32' 'Users/loaner/Downloads/42...
Hi Eric, I hope you are well. I realise you have not had an enquiry on here in a while, so I hope this reaches you. I'm creating a simulation within 42 to find the torque outputs, and therefore slew rates, of a magnetorquer board onboard a 3U Cubesat platform. For now, this is just a basic simulation to advise mission concept of operations. I am learning 42 as a valuable part of a Masters major project. My first question is: How do you output the IGRF magnetic field vector into an output (.42) file?...
AcApp missing link to math.h?
The 4th one.
The 3rd one.
The 2nd one.
It seems that the video is so large that I failed to attached as a piece. I just cut it into four clips.
Hello Dr. Stoneking, I'm Yu Tso. It's nice to meet you. I'm working on making 42 a GUI like those of STK, GMAT, or FreeFlyer. The attached video describes what I have done so far. I have two questions (listed as the title of this topic). My friend any I are wondering whether we can send commands to 42 through sockets through a terminal as a control end and 42 as a receiving end. Our goal is to use linux command "nc -l 42042" and the commands like "0.0 SC[0] qrl = [0.0 0.0 0.0 1.0]" in "Inp_Cmd.txt"...
Ok Thank you!
You can fix this by running the following in the terminal: sudo apt-get install freeglut3-dev
I can confirm I have the same problem.
Linux Installation Error
Hi Javier, Sorry about the belated response. I don't monitor this page, and somehow your message didn't get forwarded to my email. To your question. I recommend that you download the latest version, and read "Docs/Using Standalone AcApp/Using Standalone AcApp.txt". To give away the ending, 42 can talk over sockets. If you can get Simulink to talk over a socket (and I suspect you can), then you can set up exactly the architecture you describe. Regards, -Eric
Hi Eric, I'm designing an attitude control model in Simulink and I wonder if it is possible to create an interface with 42 to validate it. The idea is that Simulink recieves the dynamics from 42, then applies the control laws and finally sends the information back to 42. Thanks in advance. Best regards, Javier
Hi Eric, I'm designing an attitude control model in Simulink and I wonder if it is possible to create an interface with 42 to validate it. The idea is that Simulink recieves the dynamics from 42, then applies the control laws and finally sends the information back to 42. Thanks in advance. Best regards, Javier
Hi Charles, For Earth-centric problems, I have the conversions from True-Equator-True-Equinox (TETE) and True-Equator-Mean-Equinox (TEME) to J2000 in HiFiEarthPrecNute. I have conversions from ECEF to WGS84 and back. As noted in 42 Overiew.pdf, planet positions use ephemerides from Meeus, with no conversion for reference frame creep, so the implied assumption is that those are their TOD positions. Beyond that, the best answer is that if the distinction matters to you, then you might want to bring...
Hi Eric, I hope your day is going well. I saw in your documentation that the input is expected to be in the TOD (True of Date) frame. Is that TOD frame an Equator or Ecliptic version of TOD? Thank you. If this question is already answered in the documentation then can you also point me towards it in your response also. Best Regards, Charles Cain
Real Time Simulation Speed
Terms retained in the equations for flexible bodies
Mac Installation
Reaction Wheel Crash (Windows)
Hi Peter, You are correct. The application I was writing for at the time wasn't sensitive to clock drift, so I wasn't very careful about it. Here's one way to keep the clock from drifting: In 42exec.c:AdvanceTime(), replace the usleep call with: while(CurrTick == PrevTick) { CurrTick = (long) (1.0E-6*usec()/DTSIM); } PrevTick = CurrTick; with PrevTick and CurrTick defined as: static long PrevTick = 0; static long CurrTick = 1; (I already had a usec() function, so this is a more modest change than...
Real Time Simulation Speed
Hi. I'm trying to install 42 on my Mac, running OSX El Capitan 10.11.6 I have download the folder. I have changed directory in a terminal to the folder and then try to run "make". But I get the error: error: unable to open output file './Object/42main.o': 'No such file of directory' I have tried the same procedure on my Ubuntu 16.04 partion and get the exact same error. Can someone help me? Best Hasse
Hi Eric, I absolutely agree with your second comment. After this error is fixed, my first question would reduce to "why are the deformation-related terms in the inertial matrix dropped". In B&L the inertial matrix is inertial matrix, as can be seen from its appendix, while in 42 the inertial matrix seems to be a constant matrix. Maybe they are dropped because the spacecrafts are stiff enough and they don't make much of a difference? And thanks again for sharing your powerful tool, I've never been...
Hi Eric, I absolutely agree with your second comment. After this error is fixed, my first question would reduce to "why are the deformation-related terms in the inertial matrix dropped". In B&L the inertial matrix is inertial matrix, as can be seen from its appendix. Maybe they are dropped because the spacecrafts are stiff enough and they don't make much of a difference? And thanks again for sharing your powerful tool, I've never been able to see a multibody code in operation in NASA before. I have...
Hi Eric, I absolutely agree with your second comment. After this error is fixed, my first question would reduce to "why are the deformation-related terms in the inertial matrix dropped". In B&L the inertial matrix is inertial matrix, as can be seen from its appendix. Maybe they are dropped because the spacecrafts are stiff enough and they dont make much of a difference? And thanks again for sharing your powerful tool, I've never been able to see a multibody code in operation in NASA before. I have...
dd
dd
Hi Shawn, Never mind, I see it. You are correct. I erroneously re-ordered the cross product. ax(bxc) != (axc)xb. Thanks for catching the error. I'll correct that for the next drop. Regards, -Eric
Hi Shawn, Thanks very much for the paper. Had I read more in my youth, I might have written less in my middle age :-) I'm looking at equation (10) of B&L. It looks to me like the terms on my slide 13 line up with the terms in (10) that are multiplied by the partial velocities. The terms in (10) multiplied by the Kronecker delta don't appear in my slides till slide 27. (B&L observe "...the operations indicated in equation (9) become straightforward, but massive and extremely laborious." I concur.)...
Moreover, in the last line of the second equation (related to the angular momentum or rotation) on page 13 of /Docs/Kane_NBody_Flex, the last term (2w x H_psi * xi) is only a part of the corresponding term (r x (2w x Psi * xi)) (in the first line of this equation). Is there an explanation?
Moreover, in the last line of the second equation (related to the angular momentum or rotation) on page 13 of /Docs/Kane_NBody_Flex, the last term (2w x H_psi * eps) is only a part of the corresponding term (r x (2w x Psi * eps)) (in the first line of this equation). Is there an explanation?
Hi, Eric On page 13 of /Docs/Kane_NBody_Flex, it is commented that 'Most terms that are second-order in modal coordinates have been dropped'. However, it seems that some of the first-order terms have also been dropped (such as the deformation-related terms in the inertial matrix, this can be seen by comparing to the equations in the paper Multi-Flexible Body Dynamics Capturing Motion-Induced Stiffness by Banerjee and Lemak). Is there a criterion of reference on your choice about which terms should...
Hi, Eric On page 13 of /Docs/Kane_NBody_Flex, it is commented that 'Most terms that are second-order in modal coordinates have been dropped'. However, it seems that some of the first-order terms have also been dropped (this can be seen by comparing to the equations in the paper Multi-Flexible Body Dynamics Capturing Motion-Induced Stiffness by Banerjee and Lemak). Is there a criterion of reference on your choice about which terms should be retained in the equations? Thx.
Terms retained in the equations for flexible bodies
There could be a couple things going on. First, look at line 7 of your SC file. If your orbit propagation is FIXED, then your SC is locked onto your reference orbit, and will ignore the effects of any perturbation forces. To see perturbations from the reference orbit, I'd suggest ENCKE. Second, I wouldn't expect gravity perturbation forces to affect altitude much, certainly not in a secular fashion. Depending on your orbit radius and inclination, I'd expect to see your ascending node precess. You...
Good morning. Today I have a different question: I would like to analyze the altitude variation of a SC in Low Earth orbit. I have enabled the gravitational forces of the Earth, but can not see any change in altitude. Can you please give me some advise? Thanks! Sebastian
Let's say the circular orbit is Orb[0], and the elliptical one is Orb[1], and the SC[0] is initially on Orb[0]. That means that SC[0].RefOrb is 0. At the appropriate time, change SC[0].RefOrb to 1, and SC[0] will then be fixed on Orb[1].
I instead come with another question... I am trying to change the orbit of the SC, I am attaching an image with both orbits... I will appreciate your comments in how to pass from the circular orbit to the eccentric one, when those touch each other. Thank you!
EDIT I decided to use another approach, no longer need of comments... Thank you! Of course... In fact I want to analyze the behaviour (angular speed, etc.) of the Ideal Actuators, just for comparison wrt reaction wheels... I tried to achieve this without success, since the IdealTrq belongs to a different Structure(?) Regards.
Of course... In fact I want to analyze the behaviour (angular speed, etc.) of the Ideal Actuators, just for comparison wrt reaction wheels... I tried to achieve this without success, since the IdealTrq belongs to a different Structure(?) Regards.
Hi Sebastian, As an exercise in mathematical dynamics, sure. As a practical matter, I'm guessing that whatever you'd be trying to achieve, there's a better way. Would you be willing to share some context? Regards, -Eric
Hi! Is it possible to have the angular speed of IdealTrq, as it is possible to have Whl.w? Regards,
Hi Sebastian, There is a much easier way. The WhlType structure has both the angular momentum and angular speed. Whl.H is angular momentum in Nms. Whl.w is angular speed in rad/sec. Regards, -Eric
Goodmorning, today I have a challanging question, I will appriciate any comment that could help: After setting the RW's on the SC file, and implementing a FSW to controll them, I want to study a little bit further the angular velocity of the wheels: For that, the only clue I have is: I can retrieve the torque generated by the wheels from: Torque = SC[0].Whl[0].Trq, and this torque is ruled by Torque = Inertia_moment [Kg*m^2] * Angular_Acceleration [rad/sec^2] At this point I need to Integrate (...Runge-Kutta...
First, put some reaction wheels in your SC file. Copy/paste the === Wheel 0 === section as many times as needed. Then, in your FSW function, instead of sending the torque commands to FSW->IdealTrq (as PrototypeFSW does), map your torque commands to FSW->Twhlcmd. If you have three on-axis wheels, this mapping is simple --- see ThreeAxisFSW for an example. If you have more wheels, then you'll need the appropriate mapping. 42 tries to be helpful by computing a pseudo-inverse, FSW->AwhlPlus, in InitFSW....
Hi! Could I please have some advice on how to have a FSW that works similar to PROTOTYPE_FSW, but using the reaction wheels of the SC? Thank you!
Works perfect! Thank you!
Interesting. The easiest way involves adding some commands to the repertoire. In 42fsw.c:FswCmdInterpreter(), there is a big if-elseif ladder. Add these lines to it: else if (sscanf(CmdLine,"%lf SC[%ld] FswTag = %s", CmdTime,&Isc,response) == 3) { NewCmdProcessed = TRUE; SC[Isc].FswTag = DecodeString(response); } Then in your SC.txt file, change line 5 from PROTOTYPE_FSW to PASSIVE_FSW. And in Inp_Cmd.txt, when you want to enable control (say, 100.0 sec in) 100.0 SC[0] FswTag = PROTOTYPE_FSW The...
Hi! Today with another question... I'm trying to model the detumbling for a SC, for that I have set an initial Angular Vel (6.0 6.0 6.0) [deg/sec]... I have a "Bogus Euler Sequence 0 in A2C" when I try to change the 0.0 SimTime of command execution in the Command Script file... Is there a way to have the SC tumble for some time and after that apply the command to control its attitude?