GithubHelp home page GithubHelp logo

nasa / icarous Goto Github PK

View Code? Open in Web Editor NEW
155.0 28.0 66.0 127.77 MB

ICAROUS is a software architecture for the development of UAS applications

License: Other

C++ 44.70% Makefile 0.54% Shell 0.06% Python 2.76% C 49.07% CMake 0.55% Lua 0.02% Dockerfile 0.02% Jupyter Notebook 1.95% Cython 0.32%

icarous's Introduction

Independent Configurable Architecture for Reliable Operations of Unmanned Systems (ICAROUS)

ICAROUS (Independent Configurable Architecture for Reliable Operations of Unmanned Systems) is a software architecture that enables the robust integration of mission specific software modules and highly assured core software modules for building safety-centric autonomous unmanned aircraft applications. The set of core software modules includes formally verified algorithms that detect, monitor, and control conformance to safety criteria; avoid stationary obstacles and maintain a safe distance from other users of the airspace; and compute resolution and recovery maneuvers, autonomously executed by the autopilot, when safety criteria are violated or about to be violated. ICAROUS is implemented using the NASA's core Flight Systems (cFS) middleware. The aforementioned functionalities are implemented as cFS applications which interact via a publish/subscribe messaging service provided by the cFS Software Bus.

User Guide

https://nasa.github.io/icarous/

Current Releases

  • ICAROUS V-2.2.6 - January 3, 2022

Pycarous

Refer to Python/pycarous/README.md for more information about the Icarous python framework.

License

The code in this repository is released under NASA's Open Source Agreement. See the directory LICENSES; see also the copyright notice at the end of this file.

Contact

Maria Consiglio ([email protected]), NASA Langley Research Center.

Detect and Avoid (DAA) and Geofencing Capabilities

ICAROUS integrates NASA's open source software packages DAIDALUS (Detect and Avoid Alerting Logic for Unmanned Systems) and PolyCARP (Algorithms and Software for Computations with Polygons). DAIDALUS provides detect and avoid capabilities, while PolyCARP provides geofencing capabilities.

Logo

The ICAROUS logo was designed by Mahyar Malekpour, NASA Langley Research Center.

Copyright Notice

Copyright 2016 United States Government as represented by the Administrator of the National Aeronautics and Space Administration. All Rights Reserved.

No Warranty: THE SUBJECT SOFTWARE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY OF ANY KIND, EITHER EXPRESSED, IMPLIED, OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, ANY WARRANTY THAT THE SUBJECT SOFTWARE WILL CONFORM TO SPECIFICATIONS, ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR FREEDOM FROM INFRINGEMENT, ANY WARRANTY THAT THE SUBJECT SOFTWARE WILL BE ERROR FREE, OR ANY WARRANTY THAT DOCUMENTATION, IF PROVIDED, WILL CONFORM TO THE SUBJECT SOFTWARE. THIS AGREEMENT DOES NOT, IN ANY MANNER, CONSTITUTE AN ENDORSEMENT BY GOVERNMENT AGENCY OR ANY PRIOR RECIPIENT OF ANY RESULTS, RESULTING DESIGNS, HARDWARE, SOFTWARE PRODUCTS OR ANY OTHER APPLICATIONS RESULTING FROM USE OF THE SUBJECT SOFTWARE. FURTHER, GOVERNMENT AGENCY DISCLAIMS ALL WARRANTIES AND LIABILITIES REGARDING THIRD-PARTY SOFTWARE, IF PRESENT IN THE ORIGINAL SOFTWARE, AND DISTRIBUTES IT "AS IS."

Waiver and Indemnity: RECIPIENT AGREES TO WAIVE ANY AND ALL CLAIMS AGAINST THE UNITED STATES GOVERNMENT, ITS CONTRACTORS AND SUBCONTRACTORS, AS WELL AS ANY PRIOR RECIPIENT. IF RECIPIENT'S USE OF THE SUBJECT SOFTWARE RESULTS IN ANY LIABILITIES, DEMANDS, DAMAGES, EXPENSES OR LOSSES ARISING FROM SUCH USE, INCLUDING ANY DAMAGES FROM PRODUCTS BASED ON, OR RESULTING FROM, RECIPIENT'S USE OF THE SUBJECT SOFTWARE, RECIPIENT SHALL INDEMNIFY AND HOLD HARMLESS THE UNITED STATES GOVERNMENT, ITS CONTRACTORS AND SUBCONTRACTORS, AS WELL AS ANY PRIOR RECIPIENT, TO THE EXTENT PERMITTED BY LAW. RECIPIENT'S SOLE REMEDY FOR ANY SUCH MATTER SHALL BE THE IMMEDIATE, UNILATERAL TERMINATION OF THIS AGREEMENT.

icarous's People

Contributors

5nefarious avatar bjduffy avatar bryanpetty14 avatar cesaramh avatar dependabot[bot] avatar iotadraconis avatar jasonduley avatar kant avatar lightmare avatar sweewarman avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

icarous's Issues

issues about running core-cpu1

Hi, I have run into an issue after building the ICAROUS.
I cannot find the App Startup file: /cf/cfe_es_startup.scr after "make" and "make install".
2020-10-04 08-49-04 的屏幕截图
Is there anything wrong?

How to connect Icarous and MAVProxy

The first picture shows the screenshot of MAVProxy running on a virtual machine which has a connection to a telemetry radio. The second picture is of the user interface of a drone which is running Icarous. Now I have this question how to make the connection between the Icarous on the drone and MAVProxy on the virtual machine.

image

rsz_neue_bitmap

Issues running the examples (Geofence, flight plans)

Dear all,

Sorry to bother you in advance. I have been trying to run the flight plans provided in the repo (i.e. flightplan.txt, flightplan1.txt) and I am trying to create a geofence by drawing it on the map (keep out fence), however I think I am doing something wrong because it is not working correctly (see video Issue_Icarous-Geofence2.mp4). Additionally, when I start a mission with flightplan.txt, for some reason, I do not know why, at some point it re-computes the path without any apparent motive (because there are not fences at all, see video Issue_Icarous.mp4). Finally, I would like to understand a little bit more the DAA scenario (see video Issue_Icarous-DAA.mp4), I would like to know if the resolutions to avoid the conflict are vertical (hence we cannot see the effect in the screen), where I can check what kind of actions were taken to avoid the conflict, and what the colors mean (specifically, what the yellow and the red circle means). I have followed Issue #62 but unfortunately I have not been able to solve the issues. Do you have any idea about what can be happening?.

Icarous_Issues.zip

Thank you very much in advance.
Kind regards,

How to fix -lwrap error? /usr/bin/x86_64-linux-gnu-ld: cannot find -lwrap

Hello,
I am trying to compile Icarous and run into some errors. Would be nice if someone could help me out. I read the readme about compilation errors (https://github.com/nasa/icarous/blob/master/Modules/README.md). Following the error logs:

root@username-VirtualBox:/home/username/icarous/icarous/build# make cpu1-installCMake Warning (dev) at cFS/cFE/cfe/cmake/version.cmake:52 (file):
Policy CMP0053 is not set: Simplify variable reference and escape sequence
evaluation. Run "cmake --help-policy CMP0053" for policy details. Use the
cmake_policy command to set the policy and suppress this warning.

For input:

'#define MISSION_CONFIG      \"@MISSIONCONFIG@\"\n'

the old evaluation rules produce:

'#define MISSION_CONFIG      "Icarous"
'

but the new evaluation rules produce:

'#define MISSION_CONFIG      "@MISSIONCONFIG@"
'

Using the old result for compatibility since the policy is not set.
This warning is for project developers. Use -Wno-dev to suppress it.

CMake Warning (dev) at cFS/cFE/cfe/cmake/version.cmake:52 (file):
Policy CMP0053 is not set: Simplify variable reference and escape sequence
evaluation. Run "cmake --help-policy CMP0053" for policy details. Use the
cmake_policy command to set the policy and suppress this warning.

For input:

'#define MISSION_NAME        \"@MISSION_NAME@\"\n'

the old evaluation rules produce:

'#define MISSION_NAME        "Icarous2"
'

but the new evaluation rules produce:

'#define MISSION_NAME        "@MISSION_NAME@"
'

Using the old result for compatibility since the policy is not set.
This warning is for project developers. Use -Wno-dev to suppress it.

[ 0%] Built target version
[100%] Built target elf2cfetbl
[100%] Built target mission-genfiles
[ 32%] Built target ACCoRD
[ 33%] Built target Utils
[ 33%] Built target GeofenceMonitor
[ 34%] Built target GeofenceTest
[ 34%] Built target GeofenceTestC
[ 43%] Built target ipc
[ 43%] Built target pugixml
[ 43%] Linking CXX shared library ../../../../../Modules/Plexil/lib/libPlexilValue.so
/usr/bin/x86_64-linux-gnu-ld: skipping incompatible //usr/lib/x86_64-linux-gnu/libwrap.so when searching for -lwrap
/usr/bin/x86_64-linux-gnu-ld: skipping incompatible //usr/lib/x86_64-linux-gnu/libwrap.a when searching for -lwrap
/usr/bin/x86_64-linux-gnu-ld: cannot find -lwrap
collect2: error: ld returned 1 exit status
Modules/Plexil/src/value/CMakeFiles/PlexilValue.dir/build.make:250: recipe for target '../Modules/Plexil/lib/libPlexilValue.so' failed
make[6]: *** [../Modules/Plexil/lib/libPlexilValue.so] Error 1
CMakeFiles/Makefile2:753: recipe for target 'Modules/Plexil/src/value/CMakeFiles/PlexilValue.dir/all' failed
make[5]: *** [Modules/Plexil/src/value/CMakeFiles/PlexilValue.dir/all] Error 2
Makefile:140: recipe for target 'all' failed
make[4]: *** [all] Error 2
CMakeFiles/cpu1-install.dir/build.make:57: recipe for target 'CMakeFiles/cpu1-install' failed
make[3]: *** [CMakeFiles/cpu1-install] Error 2
CMakeFiles/Makefile2:68: recipe for target 'CMakeFiles/cpu1-install.dir/all' failed
make[2]: *** [CMakeFiles/cpu1-install.dir/all] Error 2
CMakeFiles/Makefile2:75: recipe for target 'CMakeFiles/cpu1-install.dir/rule' failed
make[1]: *** [CMakeFiles/cpu1-install.dir/rule] Error 2
Makefile:175: recipe for target 'cpu1-install' failed
make: *** [cpu1-install] Error 2

Somehow libwrap is installed, but both tcpd version seem not to like each other.

root@username-VirtualBox:/home/username/icarous/icarous/build# sudo apt-get install tcpd tcpd:i386
Reading package lists... Done
Building dependency tree
Reading state information... Done
tcpd:i386 is already the newest version (7.6.q-27).
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
tcpd : Conflicts: tcpd:i386
tcpd:i386 : Conflicts: tcpd
E: Unable to correct problems, you have held broken packages.

g++-multilib + gcc-multilib are installed

No idea how to install nlopt on Ubuntu and whether it is necessary.

Question about interacting with ICAROUS

Hi
I want to interacting with ICAROUS, when I loaded the flightplan.txt and geofence.xml, I started it using long MISSION_START, I got result as the attachment, and I did not find any copter in the map? Is there any wrong operation or did I miss something or I should use it with Arducopter? Thanks!
Sincerely

make error cannot find -lwrap

Hi, when I make cpu1-install, there is an error:
/usr/bin/ld: cannot find -lwrap
So I miss some thing? Thanks!
Sincerely

Traffic resolution: Pure DAIDALUS stops the drone.

Hi,

I've run into a new issue with the traffic module. Summoning an intruder can stop the drone dead in its tracks for no clear reason as shown in the attachment.

Capture d'écran de 2020-01-11 17-13-42

On this picture the intruder on the right did not trigger the traffic resolution but the one on the left did and stopped the drone even tough it wasn't on its trajectory.

Thank you for your help !

problems with ./runGS.sh

I am having problems while running ./runGS.sh. The error is shown in the screen-shot below. Could you give me any hint, how to fix it ?

Screenshot from 2019-07-12 17-28-30

ICAROUS build issues

Hi, I'm trying to build icarous. I cloned the repository and followed the user guide from the link in the readme to build the project but I get an error at PC_Quadcopter_Simulation.h, it says no such file or directory. it look like this file belongs in a submodule app/rotorsim. but when trying to call git submodule update --init --recursive I get permission issue fetching from the remote repository, it says fatal: Could not read from remote repository. I did use UpdateModules.sh to fetch the public modules as instructed by the user guide, but apparently the build also requires content from the non-public ones as well.
So how do I overcome this issue to continue with my build?
Thanks

Using Mission Planner as a GS with ICAROUS

Hi !
We are trying to create missions to control a rover with Mission planner using ICAROUS's functionnalities. We installed ICAROUS on a virtual machine running Debian 9 ran by a Windows
10 laptop that contains Mission Planner.

We modified the two input file as you can see here, with the two IP adress being the IP of the GS's laptop and the raspberry pie running ardupilot (apmrover) that controls the rover.

Screen_files

And here is the result when we launch it all (GS, Ardupilot and ICAROUS):

> medzego@debian9:~/icarous/cFS/bin/cpu1$ sudo ./core-cpu1
> CFE_PSP: Default Reset Type = PO
> CFE_PSP: Default Reset SubType = 1
> CFE_PSP: Default CPU ID = 1
> CFE_PSP: Default Spacecraft ID = 42
> CFE_PSP: Default CPU Name: cpu1
> CFE_PSP: Starting the cFE with a POWER ON reset.
> CFE_PSP: Clearing out CFE CDS Shared memory segment.
> CFE_PSP: Clearing out CFE Reset Shared memory segment.
> CFE_PSP: Clearing out CFE User Reserved Shared memory segment.
> 2020-008-14:50:21.49190 POWER ON RESET due to Power Cycle (Power Cycle).
> 2020-008-14:50:21.49191 ES Startup: CFE_ES_Main in EARLY_INIT state
> CFE_PSP: CFE_PSP_AttachExceptions Called
> 2020-008-14:50:21.49197 ES Startup: CFE_ES_Main entering CORE_STARTUP state
> 2020-008-14:50:21.49199 ES Startup: Starting Object Creation calls.
> 2020-008-14:50:21.49199 ES Startup: Calling CFE_ES_CDSEarlyInit
> 2020-008-14:50:21.49205 ES Startup: Calling CFE_EVS_EarlyInit
> 2020-008-14:50:21.49208 Event Log cleared following power-on reset
> 2020-008-14:50:21.49208 ES Startup: Calling CFE_SB_EarlyInit
> 2020-008-14:50:21.49215 ES Startup: Calling CFE_TIME_EarlyInit
> 1970-012-14:03:20.00000 ES Startup: Calling CFE_TBL_EarlyInit
> 1970-012-14:03:20.00009 ES Startup: Calling CFE_FS_EarlyInit
> 1970-012-14:03:20.00017 ES Startup: Core App: CFE_EVS created. App ID: 0
> EVS Port1 42/1/CFE_EVS 14: No subscribers for MsgId 0x808,sender CFE_EVS
> EVS Port1 42/1/CFE_EVS 1: cFE EVS Initialized. cFE Version 6.5.0.0
> 1970-012-14:03:20.05066 ES Startup: Core App: CFE_SB created. App ID: 1
> 1970-012-14:03:20.05076 SB:Registered 4 events for filtering
> EVS Port1 42/1/CFE_SB 14: No subscribers for MsgId 0x808,sender CFE_SB
> EVS Port1 42/1/CFE_SB 1: cFE SB Initialized
> 1970-012-14:03:20.10086 ES Startup: Core App: CFE_ES created. App ID: 2
> EVS Port1 42/1/CFE_SB 14: No subscribers for MsgId 0x808,sender CFE_ES
> EVS Port1 42/1/CFE_ES 1: cFE ES Initialized
> EVS Port1 42/1/CFE_SB 14: No subscribers for MsgId 0x808,sender CFE_ES
> EVS Port1 42/1/CFE_ES 2: Versions:cFE 6.5.0.0, OSAL 4.2.1.0, PSP 1.3.0.0, chksm 27035
> EVS Port1 42/1/CFE_SB 14: No subscribers for MsgId 0x808,sender CFE_ES
> EVS Port1 42/1/CFE_ES 91: Mission b2765d9.Icarous, b2765d9, 7139592
> EVS Port1 42/1/CFE_ES 92: Build 202001081345 medzego@debian9
> 1970-012-14:03:20.15123 ES Startup: Core App: CFE_TIME created. App ID: 3
> EVS Port1 42/1/CFE_TIME 1: cFE TIME Initialized
> 1970-012-14:03:20.20238 ES Startup: Core App: CFE_TBL created. App ID: 4
> EVS Port1 42/1/CFE_TBL 1: cFE TBL Initialized.  cFE Version 6.5.0.0
> 1970-012-14:03:20.25255 ES Startup: Finished ES CreateObject table entries.
> 1970-012-14:03:20.25259 ES Startup: CFE_ES_Main entering CORE_READY state
> 1970-012-14:03:20.25266 ES Startup: Opened ES App Startup file: /cf/cfe_es_startup.scr
> 1970-012-14:03:20.25292 ES Startup: Loading shared library: /cf/port_lib.so
> PORT_LIB Initialized.  Version 1.0.0.0
> 1970-012-14:03:20.25372 ES Startup: Loading file: /cf/sch.so, APP: SCH
> 1970-012-14:03:20.25416 ES Startup: SCH loaded and created
> 1970-012-14:03:20.25446 ES Startup: Loading file: /cf/gsInterface.so, APP: GSINTERFACE
> 1970-012-14:03:20.25501 ES Startup: GSINTERFACE loaded and created
> 1970-012-14:03:20.25521 ES Startup: Loading file: /cf/ardupilot.so, APP: ARDUPILOT
> EVS Port1 42/1/SCH 1: SCH Initialized. Version 2.2.1.0
> EVS Port1 42/1/CFE_SB 7: Duplicate Subscription,MsgId 0x818 on GSINTF_PIPE pipe,app GSINTERFACE
> EVS Port1 42/1/GSINTERFACE 1: GS Interface initialized. Version 1.0
> 1970-012-14:03:20.26228 ES Startup: ARDUPILOT loaded and created
> 1970-012-14:03:20.26248 ES Startup: Loading file: /cf/plexil.so, APP: PLEXIL
> EVS Port1 42/1/ARDUPILOT 1: Ardupilot Interface initialized. Version 1.0
> 1970-012-14:03:20.26747 ES Startup: PLEXIL loaded and created
> 1970-012-14:03:20.26756 ES Startup: Loading file: /cf/geofence.so, APP: GEOFENCE
> EVS Port1 42/1/PLEXIL 1: Plexil Initialized. Version 4.0
> 1970-012-14:03:20.26795 ES Startup: GEOFENCE loaded and created
> EVS Port1 42/1/GEOFENCE 0: Geofence App Initialized. Version 1.0
> 1970-012-14:03:20.26803 ES Startup: Loading file: /cf/traffic.so, APP: TRAFFIC
> 1970-012-14:03:20.26836 ES Startup: TRAFFIC loaded and created
> EVS Port1 42/1/TRAFFIC 0: TRAFFIC App Initialized. Version 1.0
> 1970-012-14:03:20.26844 ES Startup: Loading file: /cf/trajectory.so, APP: TRAJECTORY
> 1970-012-14:03:20.26920 ES Startup: TRAJECTORY loaded and created
> 1970-012-14:03:20.26928 ES Startup: Loading file: /cf/logger.so, APP: LOG
> EVS Port1 42/1/TRAJECTORY 0: TRAJECTORY App Initialized. Version 1.0
> 1970-012-14:03:20.26952 ES Startup: LOG loaded and created
> EVS Port1 42/1/LOG 0: Logging application initialized in logging mode. Version 1.0
> 1970-012-14:03:20.72471 ES Startup: CFE_ES_Main entering OPERATIONAL state
> EVS Port1 42/1/CFE_TIME 21: Stop FLYWHEEL
> EVS Port1 42/1/CFE_SB 17: Msg Limit Err,MsgId 0xf01,pipe SCH_ARDUPILOT,sender SCH
> EVS Port1 42/1/CFE_SB 17: Msg Limit Err,MsgId 0xf01,pipe SCH_GSINTERFACE,sender SCH
> EVS Port1 42/1/CFE_SB 17: Msg Limit Err,MsgId 0xf01,pipe SCH_ARDUPILOT,sender SCH
> EVS Port1 42/1/CFE_SB 17: Msg Limit Err,MsgId 0xf01,pipe SCH_GSINTERFACE,sender SCH
> EVS Port1 42/1/CFE_SB 17: Msg Limit Err,MsgId 0xf01,pipe SCH_ARDUPILOT,sender SCH
> EVS Port1 42/1/CFE_SB 17: Msg Limit Err,MsgId 0xf01,pipe SCH_GSINTERFACE,sender SCH
> EVS Port1 42/1/CFE_SB 17: Msg Limit Err,MsgId 0xf02,pipe TRAJ_SCH_PIPE,sender SCH
> EVS Port1 42/1/CFE_SB 17: Msg Limit Err,MsgId 0xf02,pipe GEOFENCE_PIPE,sender SCH
> EVS Port1 42/1/CFE_SB 17: Msg Limit Err,MsgId 0xf01,pipe SCH_ARDUPILOT,sender SCH
> EVS Port1 42/1/CFE_SB 17: Msg Limit Err,MsgId 0xf01,pipe SCH_GSINTERFACE,sender SCH
> EVS Port1 42/1/CFE_SB 17: Msg Limit Err,MsgId 0xf02,pipe TRAJ_SCH_PIPE,sender SCH
> EVS Port1 42/1/CFE_SB 17: Msg Limit Err,MsgId 0xf02,pipe GEOFENCE_PIPE,sender SCH
> EVS Port1 42/1/CFE_SB 17: Msg Limit Err,MsgId 0xf01,pipe SCH_ARDUPILOT,sender SCH
> EVS Port1 42/1/CFE_SB 17: Msg Limit Err,MsgId 0xf01,pipe SCH_GSINTERFACE,sender SCH
> EVS Port1 42/1/CFE_SB 17: Msg Limit Err,MsgId 0xf01,pipe SCH_ARDUPILOT,sender SCH
> EVS Port1 42/1/CFE_SB 17: Msg Limit Err,MsgId 0xf01,pipe SCH_GSINTERFACE,sender SCH
> EVS Port1 42/1/SCH 18: Multiple slots processed: slot = 82, count = 5
> EVS Port1 42/1/SCH 21: Major Frame Sync too noisy (Slot 92). Disabling synchronization.
> EVS Port1 42/1/CFE_TIME 20: Start FLYWHEEL
> EVS Port1 42/1/CFE_TIME 21: Stop FLYWHEEL
> EVS Port1 42/1/CFE_TIME 20: Start FLYWHEEL
> EVS Port1 42/1/CFE_TIME 21: Stop FLYWHEEL
> EVS Port1 42/1/CFE_TIME 20: Start FLYWHEEL
> EVS Port1 42/1/CFE_TIME 21: Stop FLYWHEEL
> EVS Port1 42/1/CFE_TIME 20: Start FLYWHEEL
> EVS Port1 42/1/CFE_TIME 21: Stop FLYWHEEL
> EVS Port1 42/1/CFE_TIME 20: Start FLYWHEEL
> EVS Port1 42/1/CFE_TIME 21: Stop FLYWHEEL

We saw that you recommended using MavLink as a Ground Station, but is it possible to use Mission Planner ?

execution issue

Hi,
I am having an error when I execute the file "./core-cpu1". I don't get any errors during the build and compilation of the code. It seems that there is some problem with OS_Posix and I am testing it on Ubuntu 20.04.
Any hint what might be wrong, would be helpful !
Attached is a screen shot, who can show the error.
icarous_exe

Issue executing ./core-cpu1 -I 0 -C 1 with a Windows Subsystem for Linux

When executing sudo ./core-cpu1 -I 0 -C 1, I get this output:

CFE_PSP: Spacecraft ID: 0
CFE_PSP: CPU ID: 1
CFE_PSP: Default Reset Type = PO
CFE_PSP: Default Reset SubType = 1
CFE_PSP: Default CPU Name: cpu1
CFE_PSP: Starting the cFE with a POWER ON reset.
CFE_PSP: Clearing out CFE CDS Shared memory segment.
CFE_PSP: Clearing out CFE Reset Shared memory segment.
CFE_PSP: Clearing out CFE User Reserved Shared memory segment.
2019-352-16:06:42.08669 POWER ON RESET due to Power Cycle (Power Cycle).
2019-352-16:06:42.08696 ES Startup: CFE_ES_Main in EARLY_INIT state
CFE_PSP: CFE_PSP_AttachExceptions Called
2019-352-16:06:42.08830 ES Startup: CFE_ES_Main entering CORE_STARTUP state
2019-352-16:06:42.08883 ES Startup: Starting Object Creation calls.
2019-352-16:06:42.08953 ES Startup: Calling CFE_ES_CDSEarlyInit
2019-352-16:06:42.09026 ES Startup: Calling CFE_EVS_EarlyInit
2019-352-16:06:42.09260 Event Log cleared following power-on reset
2019-352-16:06:42.09561 ES Startup: Calling CFE_SB_EarlyInit
2019-352-16:06:42.09628 ES Startup: Calling CFE_TIME_EarlyInit
1970-012-14:03:20.00000 ES Startup: Calling CFE_TBL_EarlyInit
1970-012-14:03:20.00072 ES Startup: Calling CFE_FS_EarlyInit
1970-012-14:03:20.00146 ES Startup: Core App: CFE_EVS created. App ID: 0
EVS Port1 0/1/CFE_EVS 14: No subscribers for MsgId 0x808,sender CFE_EVS
EVS Port1 0/1/CFE_EVS 4: CreatePipeErr:OS_QueueCreate returned -1,app CFE_EVS
1970-012-14:03:20.00293 EVS:Call to CFE_SB_CreatePipe Failed:RC=0xCA000005
1970-012-14:03:20.00346 EVS:Application Init Failed,RC=0xCA000005
1970-012-14:03:20.00401 CFE_ES_ExitApp: CORE Application CFE_EVS Had an Init Error.
1970-012-14:03:20.00596 PROCESSOR RESET called from CFE_ES_ResetCFE (Commanded).
CFE_PSP: Exiting cFE with PROCESSOR Reset status.
CFE_PSP: Shared Memory segments have been PRESERVED.
CFE_PSP: Restart the cFE with the PR parameter to complete the Processor Reset.

As it could be related to the OS, it is important to know that I execute this command with a Windows Subsystem for Linux (Debian). Could it be the source of the issue? Thanks!

racecondition in posix platform

Team,

File :
/master/Modules/Plexil/src/interfaces/GanttListener/GanttListener.cc
/master/Modules/Plexil/src/third-party/ipc-3.9.1/xdrgen/runCPP.cc#L95

    if (0 != access (fileName,R_OK)) {
      char buf[80];
      sprintf (buf,"Failed to open config file (%s)",fileName);
      perror (buf);
      return -1;
}

I believe this indicates a security flaw, If an attacker can change anything along the path between the call access() and the files actually used, attacker may exploit the race condition or a time-of-check, time-of-use race condition, request team to please have a look and validate.

Reference: https://linux.die.net/man/2/access

Build error - multiple definitions of appdata.Intgs

Hi,
I'm trying to build ICAROUS in order to test it along with the WebGS, but when building ICAROUS it stops at [ 61%] Linking C shared module gsInterface.so /usr/bin/ld: CMakeFiles/gsInterface.dir/fsw/src/gsProcessMessages.c.o:/PathToIcarous/icarous/apps/gsInterface/fsw/src/gsInterface.h:194: multiple definition of appdataIntGS; CMakeFiles/gsInterface.dir/fsw/src/gsInterface.c.o:/PathToIcarous/icarous/apps/gsInterface/fsw/src/gsInterface.h:194: first defined here
Do you have any idea where it could come from ?
Thanks,
Marin

traffic data not recorded in json file

Hello,
when I try to run python3 RunPySim.py and use --cfs as argument, the traffic data is not recorded. The traffic is added because the ownship does a maneuver during the simulation but no information is stored.

Could you give me any idea how to fix this?

Thanks

How to use geofence.

Hi,
I run Icarous ( sudo ./core-cpu1 -I 0 -C 1)
Then I run the SITL :
cd ~/Documents/BE/Git/ardupilot/Tools/autotest sudo ./sim_vehicle.py -l 37.101783,-76.382997,0,270 -v APMrover2 --map --console

icarous displays :
EVS Port1 0/1/ARDUPILOT 3: Connection to autopilot established
EVS Port1 0/1/SCH 18: Multiple slots processed: slot = 0, count = 2

Then we load the geofence module and then the geofence.xml file but I'm not on how to test the keep in and keep out violations.
Could you provide us with some information about how to use the geofence and traffic modules ?

Thank you.

question about interacting with ICAROUS

Hi,
I use ubuntu 16.04 64 and python 2.7 for ICAROUS, I have some question about this:
1 In the file SetupMavProxy.sh, there is a line " echo "Path to mavproxy modules: $MAVPROXY_PATH/MAVProxy/MAVProxy/modules/" ", Is this /MAVProxy redundant?
2 I do not find setup.py in the fold $MAVPROXY_PATH/MAVProxy, my MAVProxy version is 1.6.4
Thanks

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.