Skip to content

Commit

Permalink
Merge branch 'master' into stagging
Browse files Browse the repository at this point in the history
  • Loading branch information
YannickNovelab committed Aug 17, 2023
2 parents dd07fee + 4b70b5e commit 96718c5
Show file tree
Hide file tree
Showing 5 changed files with 305 additions and 16 deletions.
6 changes: 5 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,11 @@ JSBSim is used in a range of projects among which:
* Machine Learning Aircraft control: [gym-jsbsim](https://github.com/galleon/gym-jsbsim)
* [DARPA Virtual Air Combat Competition](https://www.darpa.mil/news-events/2019-10-21) where one of the AI went undefeated in five rounds of mock air combat against an Air Force fighter (see the [video on YouTube](https://www.youtube.com/watch?v=IOJhgC1ksNU)).

JSBSim is also used in academic and industry research ([more than 700 citations referenced by Google Scholar](https://scholar.google.com/scholar?&q=jsbsim) as of May 2022).
## Academic and Industry Research

JSBSim is also used in academic and industry research ([more than 700 citations referenced by Google Scholar](https://scholar.google.com/scholar?&q=jsbsim) as of May 2023).

In 2023 JSBSim has been featured in the article ["A deep reinforcement learning control approach for high-performance aircraft"](https://link.springer.com/article/10.1007/s11071-023-08725-y) on _Nonlinear Dynamics_, an International Journal of Nonlinear Dynamics and Chaos in Engineering Systems by Springer. The open access article is available as a PDF here [https://link.springer.com/content/pdf/10.1007/s11071-023-08725-y.pdf](https://link.springer.com/content/pdf/10.1007/s11071-023-08725-y.pdf). The work demonstrates an application of Deep Reinforcement Learning (DRL) to flight control and guidance, leveraging the JSBSim interface to MATLAB/Simulink.

# User Guide

Expand Down
17 changes: 8 additions & 9 deletions src/input_output/FGInputSocket.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -66,13 +66,13 @@ FGInputSocket::FGInputSocket(FGFDMExec* fdmex) :

FGInputSocket::~FGInputSocket()
{
//delete socket;
delete socket;
}

//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

bool FGInputSocket::Load(Element* el)
{/*
{
if (!FGInputType::Load(el))
return false;

Expand All @@ -87,14 +87,13 @@ bool FGInputSocket::Load(Element* el)
if (to_upper(action) == "BLOCKING_INPUT")
BlockingInput = true;

return true;*/
return false;
return true;
}

//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

bool FGInputSocket::InitModel(void)
{/*
{
if (FGInputType::InitModel()) {
delete socket;
socket = new FGfdmSocket(SockPort, SockProtocol);
Expand All @@ -104,15 +103,15 @@ bool FGInputSocket::InitModel(void)

return true;
}
*/

return false;
}

//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

void FGInputSocket::Read(bool Holding)
{
/*if (!socket) return;
if (!socket) return;
if (!socket->GetConnectStatus()) return;

if (BlockingInput)
Expand Down Expand Up @@ -271,7 +270,7 @@ void FGInputSocket::Read(bool Holding)
" info\n\r\n");

} else {
//socket->Reply(string("Unknown command: ") + command + "\r\n");
socket->Reply(string("Unknown command: ") + command + "\r\n");
}

start = string_end;
Expand All @@ -285,7 +284,7 @@ void FGInputSocket::Read(bool Holding)
else
data.clear();
}
}*/
}

}

Expand Down

0 comments on commit 96718c5

Please sign in to comment.