riebl / artery Goto Github PK
View Code? Open in Web Editor NEWOMNeT++ V2X simulation framework for ETSI ITS-G5
License: GNU General Public License v2.0
OMNeT++ V2X simulation framework for ETSI ITS-G5
License: GNU General Public License v2.0
Hi, Riebl
With the help of your work, I can build some simple scenarios of my own. Thanks so much.
However, when testing my scenario, I found that the DEN service and its use cases may not work when using Veins module as the PHY.
My scenario:
A truck controlled by Storyboard will stop and send a DEN messages, and vehicles receiving this message will stop or avoid the choosing the road where the truck is.
My work:
I added my DEN use cases under artery/src/artery/application/den/ and added my scenarios under artery/src/artery/scenarios.
The problem and relevant test:
Everything goes well when using the INET network as the PHY in omnetpp.ini, but when changing INET to Veins, my use case doesn't work anymore. Vehicles were not controlled by my use case.
In order to know why, I tested your TrafficJamAhead use case (one use case of DEN service) under the scenario storyboard. I added some outputs in void TrafficJamAhead::initialize(int stage) using EV commands. It looks like this:
void TrafficJamAhead::initialize(int stage)
{
UseCase::initialize(stage);
if (stage == 0) {
mNonUrbanEnvironment = par("nonUrbanEnvironment").boolValue();
mDenmMemory = mService->getMemory();
mVelocitySampler.setDuration(par("sampleDuration"));
mVelocitySampler.setInterval(par("sampleInterval"));
mUpdateCounter = 0;
mLocalDynamicMap = &mService->getFacilities().get_const<LocalDynamicMap>();
EV << "***TrafficJamAhead::initialize stage=0***";
}
EV << "***TrafficJamAhead::initialize***";
}
The results:
When using INET, I could see these outputs in the log window of OMNet++.
While, on the other side, I could not see these output with Veins and it seems that TranfficJamAhead doesn't initialize at all.
My question:
I am not sure whether this occurs due to my own fault or not, since I have done some modifications to the DEN service. But since I can run my scenario correctly under INET, why it is not OK with Veins?
When building artery from scratch, we get the following errors:
src/artery/CMakeFiles/core.dir/build.make:1203: recipe for target 'src/artery/CMakeFiles/core.dir/inet/AntennaMobility.cc.o' failed make[2]: *** [src/artery/CMakeFiles/core.dir/inet/AntennaMobility.cc.o] Error 1 CMakeFiles/Makefile2:221: recipe for target 'src/artery/CMakeFiles/core.dir/all' failed make[1]: *** [src/artery/CMakeFiles/core.dir/all] Error 2 Makefile:94: recipe for target 'all' failed make: *** [all] Error 2
I have troubles with inet also (fixed by this )
full error after command cmake --build .
is in this file:
error.txt
artery/src/traci/Time.h:18:8: error: ‘SimTime’ does not name a type; did you mean ‘SUMOTime’?
inline SimTime time_cast(SUMOTime sumo)
^~~~~~~
SUMOTime
src/traci/CMakeFiles/traci.dir/build.make:86: recipe for target 'src/traci/CMakeFiles/traci.dir/API.cc.o' failed
make[2]: *** [src/traci/CMakeFiles/traci.dir/API.cc.o] Error 1
CMakeFiles/Makefile2:414: recipe for target 'src/traci/CMakeFiles/traci.dir/all' failed
make[1]: *** [src/traci/CMakeFiles/traci.dir/all] Error 2
Makefile:94: recipe for target 'all' failed
When running a simulations, a segfault occurs when a vehicle exits. Backtrace shows that the problem is in :
Veins::ChannelAccess::calculatePropagationDelay
Presumably the simulation continues to attempt to pass messages to/from the vehicle after it has been deleted, resulting in an invalid pointer.
Bug is quickly reproducible by running the example provided with only 5 cars (change 195 to 5 in /extern/veins/examples/veings/erlangen.rou.xml, this allows the bug to appear after around 10 seconds. The full simulation is much slower)
When cloning the current master, I get the following error in the mt-its2017 submodule (not relevant to us, but maybe to others):
git clone --recursive https://github.com/riebl/artery.git artery
[...]
error: Server does not allow request for unadvertised object 789334632b2245ea2b41866c4372e9e23e26ff52
Fetched in submodule path 'scenarios/mt-its2017', but it did not contain 789334632b2245ea2b41866c4372e9e23e26ff52. Direct fetching of that commit failed.
Maybe that submodule's repository is missing a commit to be pushed?
Hi,
when i will run the run _example Omnet throws the following error:
<!> std::runtime_error: Can't determine size for unaligned PER encoding of type CAM because of Latitude sub-type -- in module (artery::VehicleMiddleware) World.node[1].appl.middleware (id=15), at t=0.260276337038s, event #14
The start command gives the following output:
`baa4hi@hi-z0f30:~/artery$ cmake --build build --target run_example
[ 13%] Built target traci
[ 14%] Building Vanetza (external dependency)
CMake Warning at /usr/share/cmake-3.5/Modules/FindBoost.cmake:725 (message):
Imported targets not available for Boost version 106501
Call Stack (most recent call first):
/usr/share/cmake-3.5/Modules/FindBoost.cmake:763 (_Boost_COMPONENT_DEPENDENCIES)
/usr/share/cmake-3.5/Modules/FindBoost.cmake:1332 (_Boost_MISSING_DEPENDENCIES)
CMakeLists.txt:42 (find_package)
-- Boost version: 1.65.1
-- Found the following Boost libraries:
-- date_time
CMake Warning at /usr/share/cmake-3.5/Modules/FindBoost.cmake:725 (message):
Imported targets not available for Boost version 106501
Call Stack (most recent call first):
/usr/share/cmake-3.5/Modules/FindBoost.cmake:763 (_Boost_COMPONENT_DEPENDENCIES)
/usr/share/cmake-3.5/Modules/FindBoost.cmake:1332 (_Boost_MISSING_DEPENDENCIES)
CMakeLists.txt:45 (find_package)
CMake Warning at /usr/share/cmake-3.5/Modules/FindBoost.cmake:725 (message):
Imported targets not available for Boost version 106501
Call Stack (most recent call first):
/usr/share/cmake-3.5/Modules/FindBoost.cmake:763 (_Boost_COMPONENT_DEPENDENCIES)
/usr/share/cmake-3.5/Modules/FindBoost.cmake:1332 (_Boost_MISSING_DEPENDENCIES)
CMakeLists.txt:45 (find_package)
-- Cohda SDK not found (missing: COHDA_ROOT)
-- Configuring done
-- Generating done
-- Build files have been written to: /home/baa4hi/artery/extern/vanetza/build
[ 80%] Built target asn1
[ 81%] Built target common
[ 83%] Built target net
[ 90%] Built target security
[ 92%] Built target dcc
[ 97%] Built target geonet
[ 98%] Built target btp
[ 99%] Built target facilities
[100%] Built target gnss
[100%] Built target proxy_fake_feed
[ 14%] Built target build_vanetza
[ 14%] Building INET (external dependency)
*** COMPILING with:
g++ -c -std=c++11 -O2 -DNDEBUG=1 -MMD -MP -MF .d -fPIC -fno-stack-protector -DHAVE_SWAPCONTEXT -DWITH_MPI -DXMLPARSER=libxml -DPREFER_QTENV -DWITH_QTENV -DWITH_TKENV -DWITH_PARSIM -DWITH_NETBUILDER -DWITH_OSG -DWITH_OSGEARTH -Wno-overloaded-virtual -include inet/common/precompiled_release.h -DINET_EXPORT -I. -I/home/baa4hi/omnest-5.1.1/include
*** LINKING with:
g++ -shared -fPIC -o ../out/gcc-release/src/libINET.so -Wl,--no-as-needed -Wl,--whole-archive -Wl,--no-whole-archive -loppenvir -loppsim -ldl -lstdc++ -lOpenThreads -losg -losgText -losgDB -losgEarth -losgEarthUtil -Wl,-rpath,/home/baa4hi/omnest-5.1.1/lib -Wl,-rpath,/lib -Wl,-rpath,. -L/home/baa4hi/omnest-5.1.1/lib
Building...
[ 14%] Built target build_inet
[ 15%] Building Veins (external dependency)
[ 15%] Built target build_veins
[ 63%] Built target core
[ 78%] Built target envmod
[100%] Built target storyboard
Scanning dependencies of target run_example
OMNEST Discrete Event Simulation (C) 1992-2017 Andras Varga, OpenSim Ltd.
Version: 5.1.1, build: 170508-adbabd0, edition: Commercial Edition
See the license for distribution terms and warranty disclaimer
Setting up Qtenv...
Loading NED files from /home/baa4hi/artery/src/artery: 41
Loading NED files from /home/baa4hi/artery/src/traci: 10
Loading NED files from /home/baa4hi/artery/extern/veins/examples/veins: 1
Loading NED files from /home/baa4hi/artery/extern/veins/src/veins: 33
Loading NED files from /home/baa4hi/artery/extern/inet/src: 666
Loading NED files from /home/baa4hi/artery/extern/inet/examples: 174
Loading NED files from /home/baa4hi/artery/extern/inet/tutorials: 19
Loading NED files from /home/baa4hi/artery/extern/inet/showcases: 33
Loading images from './bitmaps': : 0
Loading images from './images': : 0
Loading images from '/home/baa4hi/omnest-5.1.1/images': : 0 abstract/: 90 background/: 4 block/: 320 device/: 195 logo/: 1 maps/: 9 misc/: 70 msg/: 55 old/: 111 status/*: 28
Loading configuration... done.
[Warning: Program was compiled without debug info, ignoring debug-on-error=true setting.]
`
Sumo is starting without trouble.
I think something with my installation is still wrong.
I make Veins, INET and Vanetza out of the Artery root dir.
In case off make all i got the error that Omnet find some "release" and some "debug" versions.
So i must create INET with make INET MODE=release.
I m very interested in to use Artery, but the installation is more difficult than I thought.
Regards,
Bargmann
Hi, with some special start times the simulation is crashing. For example 100 s in the artery run_exmaple. 99 s, 101 s and other times working fine. But when 100 s is used the simulation is crashing with this message: opp_run_release: /home/baa4hi/artery/src/artery/application/LocalDynamicMap.cc:24: void artery::LocalDynamicMap::updateAwareness(const CaObject&): Assertion
entry.expiry > omnetpp::simTime() && entry.expiry < omnetpp::simTime() + 2.0' failed.` I choose 100 s in my first test complete random. I could not reconstruct this failure with the storyboard example.
Hello,
after trying to include Car.ned from your project into one of my networks, with NEDPATH resolved correctly and with no error on .ned's loading, after this and on Network initialization, i get this error:
Error: Class "InetMobility" not found -- perhaps its code was not linked in, or the class wasn't registered with Register_Class(), or in the case of modules and channels, with Define_Module()/Define_Channel() -- in module (omnetpp::cModule) MANET.anode[0] (id=4), during network setup
Already confirmed InetMobility.cc has Define_Module() called...
I modified the example scenario that is run with --target run_example and I added custom road and took away the obstacles. In the default configuration, the services.xml have the CAM service and an Example service, but I would like to add DENM messages that are triggered on demand, let's say, each exponential(10 s). Is there a way to do so by just activating the DEN service in the services.xml file and modifying the trigger method in DenService.cc? Or, is there an example of the DEN service that I can run and/or modify as the --taget run_example?
In our simulations, we are recording the channel load and CBR via two different ways:
auto cpp { getFacilities().getConstPtr<artery::DccFacility>()->getChannelProbeProcessor(channel) };
auto scpp { notNullPtr(dynamic_cast<vanetza::dcc::SmoothingChannelProbeProcessor*>(cpp)) };
auto channelBusyRatio = scpp->channel_load().value();
emit(scSignal_channelBusyRatio, channelBusyRatio);
simsignal_t const cSignalChannelLoad = cComponent::registerSignal( "ChannelLoad" );
void Probe::initialize(int stage) {
// ...
inet::getContainingNode( this )->subscribe( cSignalChannelLoad, this );
}
void Probe::receiveSignal(..., double cbr, ...) {
// ...
vector.record( cbr );
}
As far as we understand it, the CBR according to 1. is a DCC-specific or DCC-dependent metric while the latter one in 2. is a more generic metric for the load on the channel.
Our goal is to investigate how much additional stress our service is putting on the channel, e.g., in addition to CA service. With regards to this goal: Can you give any suggestion which metric is the better one to use?
Thanks in advance!
Hello,
I want to measure the delay of CAM dissemination.
So I want to put cam.generationDeltaTime in 'ms' resolution.
But it seems that "mLastUpdate" in "VehicleDataProvider::update" has only '10^-1s' resolution (I did cout << mLastUpdate << endl;).
I tried to fix this, but I couldn't.
Is this a bug? Or my configuration's fault?
Best regards,
Masahiro
Hi!
I managed to compile and run artery, but only after disabling the storyboard component (by commenting out the respective lines in CMakeLists.txt
and scenarios/storyboard/CMakeLists.txt
).
The following error occurs if I try to compile with the storyboard target:
/home/namnatulco/simulation/artery/src/artery/storyboard/Storyboard.cc: In member function ‘virtual void Storyboard::initialize(int)’:
/home/namnatulco/simulation/artery/src/artery/storyboard/Storyboard.cc:26:43: error: ‘initstoryboard’ was not declared in this scope
PyImport_AppendInittab("storyboard", &initstoryboard);
^
/home/namnatulco/simulation/artery/src/artery/storyboard/Storyboard.cc:27:41: error: ‘inittimeline’ was not declared in this scope
PyImport_AppendInittab("timeline", &inittimeline);
^
src/artery/storyboard/CMakeFiles/storyboard.dir/build.make:254: recipe for target 'src/artery/storyboard/CMakeFiles/storyboard.dir/Storyboard.cc.o' failed
gmake[2]: *** [src/artery/storyboard/CMakeFiles/storyboard.dir/Storyboard.cc.o] Error 1
CMakeFiles/Makefile2:239: recipe for target 'src/artery/storyboard/CMakeFiles/storyboard.dir/all' failed
gmake[1]: *** [src/artery/storyboard/CMakeFiles/storyboard.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
gmake: *** [all] Error 2
I took a look at the code, and I don't really see an obvious fix -- initstoryboard
and inittimeline
don't exist anywhere in the source tree (according to grep -r
). I also checked the header files for similarly named variables, but nothing turned up.
Am I missing something, or is the storyboard
target not supposed to be functional yet?
Hi @riebl its me again :-)
I'm update my Artery fork for the newest version. I have a service running in a RSU (purely an OMNeT++ module) with send and receive messages for some vehicles using GBC. After the update, the application on RSU can send messages but no more receive.
The service running in the vehicle, can send messages V2V but not for my RSU.
I have tested with SHB and then works fine.
My initial Artery fork is from September and I see there is a lot of changes since then. I'm trying to find the problem, but without success.
Do you have any idea what possible is wrong ?
Regards,
Daniel
The geo-co-ordinates provided by SUMo are in (Longitude,Latitude) format, however GeoPosition as defined in artery/utility/Geometry.h is in format (latitude,longitude). This means that when the GeoPosition is created as in the function VehicleController::getGeoPosition() (artery/traci/VehicleController.cc: line 38) the longitude is saved as latitude and latitude as longitude
Hello,
Im trying to make an RSU DEN use case
My scenario:
A truck controlled by Storyboard will stop and send a DEN message, and RSU receiving this message will re-broadcast it for 10 minutes
My work:
I added my DEN use case (IcyRoadUseCaseRSU) under artery/src/artery/application/den/ and modified mt-its2017 scenario to use my usecase. The use case's class (IcyRoadRSU) inherits from the provided UseCase.cc (class IcyRoadRSU : public UseCase).
The problem and relevant test:
When using the DEN use case, i get the following error:
no valid object of type 'N6artery19VehicleDataProviderE' registered -- in module (artery::den::IcyRoadRSU) World.rsu[0].middleware.DEN.IcyRoadRSU (id=155), during network initialization
My diagnosis:
It comes from the UseCase.cc being targeted at vehicles and not RSUs because it uses VehicleDataProvider
This issue is very much related to #39
Is there any UseCase capable of being used in RSU already implemented? If so, where/how can I find it?
Best regards and thank you very much for your work and great support of the community with excelent answers!!
Hi,
I'm tring to use some RSUs with artery.veins.World
. After set the X and Y positions, and start the simulation, the RSUs don't apear in the right place. I look at the artery exemple and the same problem ocurrs. This is a bug?
To resolve the problem, I add in the initialize method of VeinsMobility.cc
the follow code:
using boost::units::si::meter;
mPosition.x = hasPar("x") ? par("x").doubleValue() : -1;
mPosition.y = hasPar("y") ? par("y").doubleValue() : -1;
mPosition.z = hasPar("z") ? par("z").doubleValue() : -1;
move.setStart(mPosition);
Is this approach correct?
Regards,
Daniel
Dear,
Afterimporting artery and integrating it into my project NED's, as I can see through the omnet's IDE all went with success. The problem is while trying to run my simulation, after the NED loading I get this error:
Error: The following NED types could not be fully resolved due to a missing base type or interface: artery.veins.ApplicationLayer, artery.veins.ConnectionManager, artery.veins.Mobility, artery.veins.ObstacleControl
What should this mean? any error on imports not caught by the IDE?
The following assertion fails when a vehicle exits the simulation
ASSERT: Condition '!obj_ptr.expired()' does not hold in function 'printSensorObjectList' at artery/src/artery/envmod/service/EnvmodPrinter.cc:41 -- in module (artery::EnvmodPrinter) World.node[2].middleware.artery.envmod.service.EnvmodPrinter (id=77), at t=257.989177300176s, event #12471810
I try to install artery and succeed,then I try to input "cmake --build build --target run example" into IDE, and error appeared.
It located in inet/src/inet/visualizer/networknode/NetworkNodeOsgVisualization.cc。
Error as follow:
inet/visualizer/networknode/NetworkNodeOsgVisualization.cc: In constructor ‘inet::visualizer::NetworkNodeOsgVisualization::NetworkNodeOsgVisualization(omnetpp::cModule*, bool)’:
inet/visualizer/networknode/NetworkNodeOsgVisualization.cc:131:39: error: expected type-specifier
auto objectNode = new cObjectOsgNode(networkNode);
I try to search and locate the class/function cObjectOsgNode,but failed.
so I wonder how to fix it?
Anyway, thank u.
Hello,
When I built, no error came out.
But when I did
"cmake --build build --target run_example"
and chose "veins" in Set Up inifile Configuration,
the following error occurred.
"""
A runtime error occurred:
Class "VeinsConnectionManager" not found -- perhaps its code was not linked in, or the class wasn't registered with Register_Class(), or in the case of modules and channels, with Define_Module()/Define_Channel() -- in module (omnetpp::cModule) World (id=1), during network setup
Launch a debugger with the following command?
nemiver --attach=12722 &
"""
Does anybody know how to fix this?
Please let me know.
Best regards,
Masahiro
We want to record the x/y positions of all vehiceles in simulation, i.e., also those that do not run a middleware (PlainVehicle.ned).
We've found that a communicating car already has statistics for these metrics in (Car.ned)[https://github.com/riebl/artery/blob/master/src/artery/inet/Car.ned]:
@statistic[posX](source="xCoord(mobilityPos(mobilityStateChanged))"; record=vector?);
@statistic[posY](source="yCoord(mobilityPos(mobilityStateChanged))"; record=vector?);
However, we were not able to enable the recording of these statistics, even if we enabled everything globally.
Have we missed something and can you point us to the correct method to enable these statistics? Could we just add these lines to the PlainVehicle.ned
, or do they need a middleware to be triggered? Are they currently triggered at all?
Thanks in advance!
Dear Artery users,
I have a problem, simulations starts normally and then at 120 s, I obtain this bug :
"SQLite error 'NOT NULL constraint failed: vectorData.value' on file 'results/inet_rsu-#0.vec' while processing statistic signal stateChanged (id=124) with data type long, emitted from (inet::ieee80211::Contention)World.node[29].wlan[0].mac.hcf.edca.edcaf[3].contention -- in module (inet::ieee80211::Contention) World.node[29].wlan[0].mac.hcf.edca.edcaf[3].contention (id=2154), at t=120.781021488476s, event #500162"
Have you an idea about this kind of issues ?
Regards,
Mouna
As I was trying to implement ITS-G5 stack on top of my project, i ran into this problem. Nic80211pItsG5.ned file as this import of MacItsG5... As i figured out this file has been removed recently form the project 3 months ago... What should be my workaround?
Hello guys,
I was able to configure the build in debug mode as mentioned in #48. Still I have some open issues regarding the debugging, hope someone can help me:
Many thanks and best regards!
During rebasing of our internal branches, I stumbled upon a duplicate [submodule "extern/vanetza"] entry in .gitmodules (Lines 8 and 19 in current master: https://github.com/riebl/artery/blob/master/.gitmodules). Most probably has no effect, yet one of those could be deleted, I guess?
Hello,
as discussed in: #30
I successfully imported artery's build directory as a project into omnet's IDE, the issue is that the src folder inside the build directory doesn't contain the .ned files I require to use in my personal project. It actually only has a small amount of files from the original src project folder...
This is a issue, since i'm unable to import the .ned files I require to use in my personal project since the IDE is unable to find them on project explorer... Of course, I already have the original artery's path into my NEDPATH env. variable.
I have the following problem while I run the "cmake --build build --target run_example" command as written:
marcello@marcello-GE62-6QL:~/artery$ cmake --build build --target run_example
[ 1%] Building Veins (external dependency)
[ 1%] Built target build_veins
[ 19%] Built target traci
[ 20%] Building Vanetza (external dependency)
CMake Warning at /usr/share/cmake-3.5/Modules/FindBoost.cmake:725 (message):
Imported targets not available for Boost version 106600
Call Stack (most recent call first):
/usr/share/cmake-3.5/Modules/FindBoost.cmake:763 (_Boost_COMPONENT_DEPENDENCIES)
/usr/share/cmake-3.5/Modules/FindBoost.cmake:1332 (_Boost_MISSING_DEPENDENCIES)
CMakeLists.txt:42 (find_package)
-- Boost version: 1.66.0
-- Found the following Boost libraries:
-- date_time
CMake Warning at /usr/share/cmake-3.5/Modules/FindBoost.cmake:725 (message):
Imported targets not available for Boost version 106600
Call Stack (most recent call first):
/usr/share/cmake-3.5/Modules/FindBoost.cmake:763 (_Boost_COMPONENT_DEPENDENCIES)
/usr/share/cmake-3.5/Modules/FindBoost.cmake:1332 (_Boost_MISSING_DEPENDENCIES)
CMakeLists.txt:45 (find_package)
CMake Warning at /usr/share/cmake-3.5/Modules/FindBoost.cmake:725 (message):
Imported targets not available for Boost version 106600
Call Stack (most recent call first):
/usr/share/cmake-3.5/Modules/FindBoost.cmake:763 (_Boost_COMPONENT_DEPENDENCIES)
/usr/share/cmake-3.5/Modules/FindBoost.cmake:1332 (_Boost_MISSING_DEPENDENCIES)
CMakeLists.txt:45 (find_package)
-- Cohda SDK not found (missing: COHDA_ROOT)
-- Configuring done
-- Generating done
-- Build files have been written to: /home/marcello/artery/extern/vanetza/build
[ 0%] Built target access
[ 63%] Built target asn1
[ 66%] Built target common
[ 70%] Built target net
[ 82%] Built target security
[ 87%] Built target dcc
[ 98%] Built target geonet
[ 99%] Built target btp
[100%] Built target facilities
[100%] Built target gnss
[100%] Built target proxy_fake_feed
[ 20%] Built target build_vanetza
[ 20%] Building INET (external dependency)
*** COMPILING with:
g++ -c -std=c++11 -g -Wall -MMD -MP -MF .d -fPIC -fno-stack-protector -DHAVE_SWAPCONTEXT -DWITH_MPI -DXMLPARSER=libxml -DWITH_PARSIM -DWITH_NETBUILDER -DWITH_OSG -DWITH_OSGEARTH -Wno-overloaded-virtual -include inet/common/precompiled_debug.h -DINET_EXPORT -I. -I/home/marcello/omnetpp-5.4.1/include
*** LINKING with:
g++ -shared -fPIC -o ../out/gcc-debug/src/libINET_dbg.so -Wl,--no-as-needed -Wl,--whole-archive -Wl,--no-whole-archive -loppenvir_dbg -loppsim_dbg -ldl -lstdc++ -lOpenThreads -losg -losgText -losgDB -losgEarth -losgEarthUtil -Wl,-rpath,/home/marcello/omnetpp-5.4.1/lib -Wl,-rpath,/lib -Wl,-rpath,. -L/home/marcello/omnetpp-5.4.1/lib
Building...
[ 20%] Built target build_inet
[ 69%] Built target core
[ 86%] Built target storyboard
[100%] Built target envmod
Scanning dependencies of target run_example
OMNeT++ Discrete Event Simulation (C) 1992-2018 Andras Varga, OpenSim Ltd.
Version: 5.4.1, build: 180629-5e28390, edition: Academic Public License -- NOT FOR COMMERCIAL USE
See the license for distribution terms and warranty disclaimer
Setting up Cmdenv...
Loading NED files from /home/marcello/artery/src/artery: 75
Loading NED files from /home/marcello/artery/src/traci: 16
Loading NED files from /home/marcello/artery/extern/veins/examples/veins: 1
Loading NED files from /home/marcello/artery/extern/veins/src/veins: 38
Loading NED files from /home/marcello/artery/extern/inet/src: 666
Loading NED files from /home/marcello/artery/extern/inet/examples: 174
Loading NED files from /home/marcello/artery/extern/inet/tutorials: 19
Loading NED files from /home/marcello/artery/extern/inet/showcases: 33
Preparing for running configuration General, run #0...
Assigned runID=General-0-20181121-10:25:11-4032
RUNTIME ERROR. A cRuntimeError exception is about to be thrown, and you
requested (by setting debug-on-errors=true in the ini file) that errors
abort execution and break into the debugger.
You should now probably be running the simulation under gdb or another
debugger. The simulation kernel will now raise a SIGINT signal which will
get you into the debugger. If you are not running under a debugger, you can
still use the core dump for post-mortem debugging. Once in the debugger,
view the call stack (in gdb: "bt" command) to see the context of the
runtime error.
<!> Network '' not found, check .ini and .ned files
TRAPPING on the exception above, due to a debug-on-errors=true configuration option. Is your debugger ready?
Trace/breakpoint trap (core dumped)
scenarios/artery/CMakeFiles/run_example.dir/build.make:57: recipe for target 'scenarios/artery/CMakeFiles/run_example' failed
make[3]: *** [scenarios/artery/CMakeFiles/run_example] Error 133
CMakeFiles/Makefile2:653: recipe for target 'scenarios/artery/CMakeFiles/run_example.dir/all' failed
make[2]: *** [scenarios/artery/CMakeFiles/run_example.dir/all] Error 2
CMakeFiles/Makefile2:660: recipe for target 'scenarios/artery/CMakeFiles/run_example.dir/rule' failed
make[1]: *** [scenarios/artery/CMakeFiles/run_example.dir/rule] Error 2
Makefile:285: recipe for target 'run_example' failed
make: *** [run_example] Error 2
This problem happened after that I try to run it in debug (to solve another problem presented).
To have all in debug mode I did as follow:
Omnet:
$ cd omnetpp-5.4.1
$ gedit configure.user
WITH_TKENV=no
WITH_QTENV=no
$ ./configure
$ make MODE=debug
Sumo:
$ cd sumo-0.32.0
$ ./configure
$ make MODE=debug
$ sudo make install
Artery:
$ git clone --recurse-submodule https://github.com/riebl/artery.git
$ cd artery
$ make all MODE=debug
$ mkdir build
$ cd build
$ cmake ..
$ ccmake --build .
CMAKE_BUILD_TYPE Debug
$ cmake --build .
Now I read that my problem could be some interconnection problem with sumo, but I'm not finding a solution. Can you give me some indication?
Hello,
I successful built Veins, Vanetza, Inet and Artery but I am stuck at : cmake --build build --target run_example
This command always failed with the following output :
user@debian:~/ITS/artery/build$ make run_example
[ 13%] Built target traci
[ 14%] Building Vanetza (external dependency)
-- Boost version: 1.62.0
-- Found the following Boost libraries:
-- date_time
-- Cohda SDK not found (missing: COHDA_ROOT)
-- Configuring done
-- Generating done
-- Build files have been written to: /home/user/ITS/artery/extern/vanetza/build
[ 80%] Built target asn1
[ 81%] Built target common
[ 83%] Built target net
[ 90%] Built target security
[ 92%] Built target dcc
[ 97%] Built target geonet
[ 98%] Built target btp
[ 99%] Built target facilities
[100%] Built target gnss
[100%] Built target proxy_fake_feed
[ 14%] Built target build_vanetza
[ 14%] Building INET (external dependency)
*** COMPILING with:
g++ -c -std=c++11 -O2 -DNDEBUG=1 -MMD -MP -MF .d -fPIC -fno-stack-protector -DHAVE_SWAPCONTEXT -DWITH_MPI -DXMLPARSER=libxml -DPREFER_QTENV -DWITH_QTENV -DWITH_TKENV -DWITH_PARSIM -DWITH_NETBUILDER -DWITH_OSG -DWITH_OSGEARTH -Wno-overloaded-virtual -include inet/common/precompiled_release.h -DINET_EXPORT -I. -I/home/user/ITS/omnetpp-5.1.1/include
*** LINKING with:
g++ -shared -fPIC -o ../out/gcc-release/src/libINET.so -Wl,--no-as-needed -Wl,--whole-archive -Wl,--no-whole-archive -loppenvir -loppsim -ldl -lstdc++ -lOpenThreads -losg -losgText -losgDB -losgEarth -losgEarthUtil -Wl,-rpath,/home/user/ITS/omnetpp-5.1.1/lib -Wl,-rpath,/lib -Wl,-rpath,. -Wl,--export-dynamic -L/home/user/ITS/omnetpp-5.1.1/lib
Building...
[ 14%] Built target build_inet
[ 15%] Building Veins (external dependency)
[ 15%] Built target build_veins
[ 63%] Built target core
[ 78%] Built target envmod
[100%] Built target storyboard
OMNeT++ Discrete Event Simulation (C) 1992-2017 Andras Varga, OpenSim Ltd.
Version: 5.1.1, build: 170508-adbabd0, edition: Academic Public License -- NOT FOR COMMERCIAL USE
See the license for distribution terms and warranty disclaimer
<!> Error: Attempt to load the oppsim shared library more than once. This usually happens when part of your simulation is using release libraries while other parts are using the debug version. Make sure to rebuild all parts of your model in either release or debug mode!
Segmentation fault
scenarios/artery/CMakeFiles/run_example.dir/build.make:57 : la recette pour la cible « scenarios/artery/CMakeFiles/run_example » a échouée
make[3]: *** [scenarios/artery/CMakeFiles/run_example] Erreur 139
CMakeFiles/Makefile2:679 : la recette pour la cible « scenarios/artery/CMakeFiles/run_example.dir/all » a échouée
make[2]: *** [scenarios/artery/CMakeFiles/run_example.dir/all] Erreur 2
CMakeFiles/Makefile2:686 : la recette pour la cible « scenarios/artery/CMakeFiles/run_example.dir/rule » a échouée
make[1]: *** [scenarios/artery/CMakeFiles/run_example.dir/rule] Erreur 2
Makefile:287 : la recette pour la cible « run_example » a échouée
make: *** [run_example] Erreur 2
The recipe for the target " run_example" failed
And I do not understand this warning message :
Attempt to load the oppsim shared library more than once. This usually happens when part of your simulation is using release libraries while other parts are using the debug version. Make sure to rebuild all parts of your model in either release or debug mode!
I just followed the tutorial step by step, that's all. What am I supposed to do/change ?
Could you help me ?
Thank you
`OMNeT++ Discrete Event Simulation (C) 1992-2017 Andras Varga, OpenSim Ltd.
Version: 5.2, build: 170929-f95315d, edition: Academic Public License -- NOT FOR COMMERCIAL USE
See the license for distribution terms and warranty disclaimer
Setting up Qtenv...
Loading NED files from /home/oscar/artery/src/artery:
<!> Error: Could not load NED sources from '/home/oscar/artery/src/artery': Syntax error, at /home/oscar/artery/src/artery/networking/Vanetza.ned:26
End.
scenarios/artery/CMakeFiles/run_example.dir/build.make:57: recipe for target 'scenarios/artery/CMakeFiles/run_example' failed
make[3]: *** [scenarios/artery/CMakeFiles/run_example] Error 1
CMakeFiles/Makefile2:576: recipe for target 'scenarios/artery/CMakeFiles/run_example.dir/all' failed
make[2]: *** [scenarios/artery/CMakeFiles/run_example.dir/all] Error 2
CMakeFiles/Makefile2:583: recipe for target 'scenarios/artery/CMakeFiles/run_example.dir/rule' failed
make[1]: *** [scenarios/artery/CMakeFiles/run_example.dir/rule] Error 2
Makefile:259: recipe for target 'run_example' failed
make: *** [run_example] Error 2
`
I'm installing the newest version of the simulation environment, and this error shows up. I'm running it in buntu 16.04, with GCC , Boost 1.65.1 and OMNET++ 5.2. I've also tried to reset to previous releases, but different errors occur.
Hello, I have run into a strange issue with running artery in debug mode. It seems that there is some issue with the setup of the scenarios in debug mode which causes an error to occur when running any
debug simulation.
I am running Omnet++ 5.4.1 with SUMO 1.0.1, gdb 7.12-6, running on Debian 9
The following is what I'm running the basic debug example
cmake --build debug --target debug_example
Below is a backtrace of what issue happens when beginning a simulation in debug mode.
(gdb) backtrace
backtrace
#0 0x00007fffec3b1ace in std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::map<int, std::shared_ptr<libsumo::TraCIResult>, std::less<int>, std::allocator<std::pair<int const, std::shared_ptr<libsumo::TraCIResult> > > > >, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::map<int, std::shared_ptr<libsumo::TraCIResult>, std::less<int>, std::allocator<std::pair<int const, std::shared_ptr<libsumo::TraCIResult> > > > > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::map<int, std::shared_ptr<libsumo::TraCIResult>, std::less<int>, std::allocator<std::pair<int const, std::shared_ptr<libsumo::TraCIResult> > > > > > >::_M_begin (this=0x20)
at /usr/include/c++/6/bits/stl_tree.h:666
#1 0x00007fffec3b5538 in std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::map<int, std::shared_ptr<libsumo::TraCIResult>, std::less<int>, std::allocator<std::pair<int const, std::shared_ptr<libsumo::TraCIResult> > > > >, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::map<int, std::shared_ptr<libsumo::TraCIResult>, std::less<int>, std::allocator<std::pair<int const, std::shared_ptr<libsumo::TraCIResult> > > > > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<c---Type <return> to continue, or q <return> to quit---
har> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::map<int, std::shared_ptr<libsumo::TraCIResult>, std::less<int>, std::allocator<std::pair<int const, std::shared_ptr<libsumo::TraCIResult> > > > > > >::lower_bound (this=0x20, __k="")
at /usr/include/c++/6/bits/stl_tree.h:1103
#2 0x00007fffec3b200b in std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::map<int, std::shared_ptr<libsumo::TraCIResult>, std::less<int>, std::allocator<std::pair<int const, std::shared_ptr<libsumo::TraCIResult> > > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::map<int, std::shared_ptr<libsumo::TraCIResult>, std::less<int>, std::allocator<std::pair<int const, std::shared_ptr<libsumo::TraCIResult> > > > > > >::lower_bound
(this=0x20, __x="") at /usr/include/c++/6/bits/stl_map.h:1150
#3 0x00007fffec3b042e in std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::map<int, std::shared_ptr<libsumo::TraCIResult>, std::less<int>, std::allocator<std::pair<int const, std::shared_ptr<libsumo::TraCIResult> > > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::map<int, std::shared_ptr<libsumo::TraCIResult>, std::less<int>, std::allocator<std::pair<int const, std::shared_ptr<libsumo::TraCIResult> > > > > > >::operator[] (
this=0x20, __k="") at /usr/include/c++/6/bits/stl_map.h:479
---Type <return> to continue, or q <return> to quit---
#4 0x00007fffec3a07fb in TraCIAPI::readVariables (this=0x2ccd450, inMsg=...,
objectID="", variableCount=4,
into=<error reading variable: Cannot access memory at address 0x48>)
at /home/veins/integration/artery/src/traci/sumo/utils/traci/TraCIAPI.cpp:483
#5 0x00007fffec3a1180 in TraCIAPI::readVariableSubscription (this=0x2ccd450,
cmdId=235, inMsg=...)
at /home/veins/integration/artery/src/traci/sumo/utils/traci/TraCIAPI.cpp:544
#6 0x00007fffec3ae616 in TraCIAPI::TraCIScopeWrapper::subscribe (
this=0x2ccd9d0, objID="",
vars=std::vector of length 4, capacity 4 = {...}, beginTime=-1073741824,
endTime=-1073741824)
at /home/veins/integration/artery/src/traci/sumo/utils/traci/TraCIAPI.cpp:3166
#7 0x00007fffec357f94 in traci::BasicSubscriptionManager::subscribeSimulationVariables (this=0x2ca7440, add_vars=std::set with 4 elements = {...})
at /home/veins/integration/artery/src/traci/BasicSubscriptionManager.cc:110
#8 0x00007fffec35792d in traci::BasicSubscriptionManager::traciInit (
this=0x2ca7440)
at /home/veins/integration/artery/src/traci/BasicSubscriptionManager.cc:50
#9 0x00007fffec368477 in traci::Listener::receiveSignal (this=0x2ca7440,
signal=196) at /home/veins/integration/artery/src/traci/Listener.cc:47
---Type <return> to continue, or q <return> to quit---
#10 0x00007ffff6a6eecc in omnetpp::cComponent::fire<omnetpp::SimTime> (
this=0x2cc94e0, source=0x2cc94e0, signalID=196, x=..., details=0x0)
at ccomponent.cc:637
#11 0x00007ffff6a6c796 in omnetpp::cComponent::emit (this=0x2cc94e0,
signalID=196, t=..., details=0x0) at ccomponent.cc:604
#12 0x00007fffec35ff58 in traci::Core::handleMessage (this=0x2cc94e0, msg=
0x2cb27c0) at /home/veins/integration/artery/src/traci/Core.cc:68
#13 0x00007ffff6b36298 in omnetpp::cSimulation::doMessageEvent (this=0x6889c0,
msg=0x2cb27c0, module=0x2cc94e0) at csimulation.cc:669
#14 0x00007ffff6b35e43 in omnetpp::cSimulation::executeEvent (this=0x6889c0,
event=0x2cb27c0) at csimulation.cc:611
#15 0x00007ffff748cd58 in omnetpp::qtenv::Qtenv::doRunSimulation (this=
0x822070) at qtenv.cc:895
#16 0x00007ffff748c293 in omnetpp::qtenv::Qtenv::runSimulation (this=0x822070,
mode=omnetpp::qtenv::RUNMODE_STEP, until_time=..., until_eventnum=0,
until_msg=0x0, until_module=0x0, stopOnMsgCancel=true) at qtenv.cc:745
#17 0x00007ffff73f526b in omnetpp::qtenv::MainWindow::runSimulation (this=
0x28d1e40, runMode=omnetpp::qtenv::RUNMODE_STEP) at mainwindow.cc:496
#18 0x00007ffff74055ca in omnetpp::qtenv::MainWindow::on_actionOneStep_triggered (this=0x28d1e40) at ./mainwindow.h:95
#19 0x00007ffff750f65b in omnetpp::qtenv::MainWindow::qt_static_metacall (
_o=0x28d1e40, _c=QMetaObject::InvokeMetaMethod, _id=2, _a=0x7fffffffca00)
at moc_mainwindow.cpp:274
---Type <return> to continue, or q <return> to quit---
#20 0x00007ffff750fc55 in omnetpp::qtenv::MainWindow::qt_metacall (
this=0x28d1e40, _c=QMetaObject::InvokeMetaMethod, _id=2, _a=0x7fffffffca00)
at moc_mainwindow.cpp:370
#21 0x00007ffff48b0a54 in QMetaObject::activate(QObject*, int, int, void**) ()
from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#22 0x00007ffff40f71c2 in QAction::triggered(bool) ()
from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#23 0x00007ffff40f9bb0 in QAction::activate(QAction::ActionEvent) ()
from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#24 0x00007ffff41e733d in ?? ()
from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#25 0x00007ffff41e7574 in QAbstractButton::mouseReleaseEvent(QMouseEvent*) ()
from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#26 0x00007ffff42b368a in QToolButton::mouseReleaseEvent(QMouseEvent*) ()
from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#27 0x00007ffff4145118 in QWidget::event(QEvent*) ()
from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#28 0x00007ffff42b3769 in QToolButton::event(QEvent*) ()
from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#29 0x00007ffff40fdb8c in QApplicationPrivate::notify_helper(QObject*, QEvent*)
() from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#30 0x00007ffff410620d in QApplication::notify(QObject*, QEvent*) ()
from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
---Type <return> to continue, or q <return> to quit---
#31 0x00007ffff4884d30 in QCoreApplication::notifyInternal2(QObject*, QEvent*)
() from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#32 0x00007ffff41048bd in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) ()
from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#33 0x00007ffff415f626 in ?? ()
from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#34 0x00007ffff4162003 in ?? ()
from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#35 0x00007ffff40fdb8c in QApplicationPrivate::notify_helper(QObject*, QEvent*)
() from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#36 0x00007ffff4105351 in QApplication::notify(QObject*, QEvent*) ()
from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#37 0x00007ffff4884d30 in QCoreApplication::notifyInternal2(QObject*, QEvent*)
() from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#38 0x00007ffff4bceb03 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) ()
from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#39 0x00007ffff4bd0675 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) ()
from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#40 0x00007ffff4bae60b in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
---Type <return> to continue, or q <return> to quit---
from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
#41 0x00007fffcf8b0360 in ?? ()
from /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#42 0x00007ffff24cd7f7 in g_main_context_dispatch ()
from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#43 0x00007ffff24cda60 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#44 0x00007ffff24cdb0c in g_main_context_iteration ()
from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#45 0x00007ffff48d91cf in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#46 0x00007ffff4882d1a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#47 0x00007ffff488b46c in QCoreApplication::exec() ()
from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#48 0x00007ffff74894b0 in omnetpp::qtenv::Qtenv::doRun (this=0x822070)
at qtenv.cc:638
#49 0x00007ffff78d948f in omnetpp::envir::EnvirBase::run (this=0x822080)
at envirbase.cc:742
#50 0x00007ffff78d6527 in omnetpp::envir::EnvirBase::run (this=0x822080,
argc=14, argv=0x7fffffffe278, configobject=0x689180) at envirbase.cc:354
#51 0x00007ffff78cd531 in omnetpp::envir::setupUserInterface (argc=14,
argv=0x7fffffffe278) at startup.cc:259
#52 0x00007ffff78ce584 in evMain (argc=14, argv=0x7fffffffe278) at evmain.cc:33
---Type <return> to continue, or q <return> to quit---
#53 0x0000000000400762 in main (argc=14, argv=0x7fffffffe278) at main.cc:31
Is there any obvious issue that would cause this, I can't determine what the cause might be, especially as if I run the example in release mode it works normally. This also happens with all other scenarios, and same applies, debug doesn't work, while release does. Any clues, it may be due to my own setup that's causing the issue as well I can't be sure.
Hello,
With the help of your work, I can build some simple scenarios of my own. Thanks so much!!
Much similarly to #60 (comment)
My scenario:
A truck controlled by Storyboard will stop and send a DEN message, and vehicles receiving this message will stop or avoid the choosing the road where the truck is.
My work:
I added my DEN use case (IcyRoadUseCase) under artery/src/artery/application/den/ and modified mt-its2017 scenario to use my usecase (the reason I modified is because I don't know how to create a new one, I tried this: #49 but I wasn't successful) .
The problem and relevant test:
Whenever I run the altered mt-its2017, i get the following error:
Class "artery::den::IcyRoad" not found -- perhaps its code was not linked in, or
the class wasn't registered with Register_Class(), or in the case of modules and channels,
with Define_Module()/Define_Channel() -- in module (artery::DenService) World.node[0].middleware.DEN (id=85),
at t=0.1s, event 2
From my understanding, the error is saying that the module is not defined, but it is:
So it seems the Makefiles are not compiling my IcyRoadUseCase, because in src/artery/CMakeFiles/core.dir/application/den it only shows the other usecases.o
I am very grateful of the work you have done and am using it for my master's thesis. Thank you for your help :D
Additional information:
services.xml:
service type="artery.application.DenService" name="DEN">
listener port="2002" />
usecases.xml:
usecase type="artery.application.den.IcyRoad" />
Hi, Riebl
I wrote a service which is modified from the CAM service and its main function is to regularly check the location of a vehicle and remove the vehicle if it reaches specific areas that I have defined.
In this service, I called remove(self, vehID, reason)
function from traci
to remove the vehicle from SUMO and it did work. However, I don't know how to remove a vehicle from OMNeT++.
I guess I should call some function from artery/src/traci/BasicNodeManager.cc
to destruct a vehicle node but I am not sure about how to do it. Do u have any suggestion on this?
Thanks.
artery/src/artery/inet/VanetRx.cc:19:25: error: no matching function for call to ‘VanetRx::initialize(int&)’
Rx::initialize(stage);
artery/extern/inet/src/inet/linklayer/ieee80211/mac/Rx.h:53:22: note: candidate: ‘virtual void inet::ieee80211::Rx::initialize()’
virtual void initialize() override;
artery/extern/inet/src/inet/linklayer/ieee80211/mac/Rx.h:53:22: note: candidate expects 0 arguments, 1 provided
When repeating simulation runs, in omnet++ with the "repeat" keyword in the .ini file, pybind is initialized several times. This leads to an error in the "initialize_interpreter" function in embed.h stating: "The interpreter is already running".
artery/src/artery/application/DenmService.cc
Line 144 in 99cacef
and
artery/src/artery/application/DenmService.cc
Line 145 in 99cacef
does not do what they are supposed to do (convert the degrees to microdegrees). The longitude is simply multiplied by a factor of 10 by Longitude_oneMicrodegreeEast and the same goes for the latitude but since eventPosition.longitude and the eventPosition.latitude in the management container are integers its this only results in a slightly more precise but still truncated coordinate.
While trying to run the simulation "run_example", right after selecting the chosen config and trying to start the simulation, I'm getting this error:
std::runtime_error: Can't determine size for unaligned PER encoding of type CAM because of Latitude sub-type -- in module (artery::VehicleMiddleware) World.node[0].appl.middleware (id=16), at t=0.260276337038s, event #5
Is this a known error?
Dear developers,
I would like to kindly ask you if it would be possible to include some of the TraCI commands in the one of the subsequent versions of Artery. For example having an opportunity to use:
-stop (0x12)
-change lane (0x13)
-change route (0x57)
-change target (0x31)
-resume (0x19)
-slow down (0x14)
directly from a VehicleController instance would be a great option.
Thank you very much for your great work on Artery.
Kindest regards,
Tibor
Hi,
Artery implements any type of forwarding for multi-hop, like Greedy Forwarding or Contention Based Forwarding ?
Regards,
Daniel
When building artery from scratch, we get the following error about a missing directory:
$ git clone --recursive https://github.com/riebl/artery.git
$ cd artery
$ make -j10 vanetza
$ make -j10 veins MODE=release
$ make -j10 inet MODE=release
$ mkdir build
$ cd build
$ cmake --build .
[...]
[ 12%] Built target build_vanetza
[ 12%] Building CXX object src/traci/CMakeFiles/traci.dir/PosixLauncher.cc.o
[ 13%] Building CXX object src/traci/CMakeFiles/traci.dir/TestbedModuleMapper.cc.o
[ 14%] Building CXX object src/traci/CMakeFiles/traci.dir/TestbedNodeManager.cc.o
[ 15%] Building CXX object src/traci/CMakeFiles/traci.dir/ValueUtils.cc.o
[ 15%] Building CXX object src/traci/CMakeFiles/traci.dir/VariableCache.cc.o
[ 16%] Building CXX object src/traci/CMakeFiles/traci.dir/sumo/foreign/tcpip/socket.cpp.o
[ 17%] Building CXX object src/traci/CMakeFiles/traci.dir/sumo/foreign/tcpip/storage.cpp.o
[ 18%] Building CXX object src/traci/CMakeFiles/traci.dir/sumo/utils/traci/TraCIAPI.cpp.o
[ 19%] Linking CXX shared library libtraci.so
[ 19%] Built target traci
[ 20%] Generating artery/utility/AsioData
/bin/sh: 1: cd: can't cd to /path/to/artery/build/opp_messages/artery/utility
src/artery/CMakeFiles/core.dir/build.make:62: recipe for target 'opp_messages/artery/utility/AsioData_m.cc' failed
make[2]: *** [opp_messages/artery/utility/AsioData_m.cc] Error 2
CMakeFiles/Makefile2:221: recipe for target 'src/artery/CMakeFiles/core.dir/all' failed
make[1]: *** [src/artery/CMakeFiles/core.dir/all] Error 2
Makefile:94: recipe for target 'all' failed
make: *** [all] Error 2
Plainly creating the directory and re-running build solves this:
$ mkdir -p /path/to/artery/build/opp_messages/artery/utility
$ cmake --build .
[...]
# Success
As OMNeT++ 5.4 is released, we are evaluating its compatibility with artery and our own code. Most notably the evaluation of expressions regarding SimTime in NED files seem to have changed (since OMNeT++ 5.3 already).
For example, this seems to be an issue in the CaService.ned, line 31f. which leads to an runtime error in OMNeT++ 5.4 stating "Cannot cast from type double to integer".
So, this issue is just a question, as you probably have a better insight into CaService, etc.: In general, what is the state of artery regarding OMNeT++ 5.4 compatibility? Thanks in advance!
Hi,
I am currently trying to get running your environment model. Looking at your highway-police example, I do not get how you include this model. In the services.xml the PoliceService is configured, while in services-envmod.xml the PoliceServiceEnvmod is configured. Running the example without any changes does never call a function from the PoliceServiceEnvmod class. Changing the services.xml file such that the PoliceServiceEnvmod class is called, results in an error as the LocalEnvironmentModel is not registered so far.
In Middleware.cc where all facilities get registered, the LocalEnvironmentModel is missing. What am I doing wrong?
Many thanks and best regards!
In my tests, the ItsG5Middleware class has never received the inet::IMobility::mobilityStateChangedSignal signal. As a result the vehicle data is never updated.
My quick fix was to move this call to the ItsG5Middleware::updatePosition() function
Hello. I don't think this goes in the issues page, but I'll post it anyway. I was wondering if the Security Entity is enabled by default, since Line 26 in Vanetza.ned shows:
security: <default("")>
In the last version of Artery I was working with, this was dealt with in Middleware.ned, setting a value to true.
Also, and this might be more of a Veins question, do you happen to know how to activate the Nakagami analog model in config.xml? I mean, which tags and values would be the ones to write in there.
Thanks!
Hi,
I'am trying implement the GeoBroadcast in my research.
The idea is a application hosted on a RSU send some messages to certain area.
I see the code in TransfusionService.cc, but i cant understand. Why is latitude and longitude multiplied by 0.1 and microdegree?
area.position.latitude = vanetza::units::GeoAngle { gbc.area().latitude() * 0.1 * microdegree };
area.position.longitude = vanetza::units::GeoAngle { gbc.area().longitude() * 0.1 * microdegree };
Thanks.
To optimize for single-thread performance, we set up a new simulation server based on a Intel Xeon W-2125 CPU with Ubuntu 16.04.5 LTS.
For an MWE, we cloned the artery repository on branch master and built artery following the README. We get no compile or linker errors throughout veins, vanetza, inet and artery.
When trying to run the included artery example in OMNeT++'s Cmdenv with the following script:
cd /path/to/artery/scenarios/artery/ && \
/path/to/contrib/omnetpp-5.4/bin/opp_run_release \
-n /path/to/artery/src/artery:/path/to/artery/src/traci:/path/to/artery/extern/veins/examples/veins:/path/to/artery/extern/veins/src/veins:/path/to/artery/extern/inet/src:/path/to/artery/extern/inet/examples:/path/to/artery/extern/inet/tutorials:/path/to/artery/extern/inet/showcases \
-l /path/to/artery/build/src/artery/envmod/libartery_envmod.so \
-l /path/to/artery/build/src/artery/envmod/libartery_envmod.so \
-l /path/to/artery/build/src/artery/storyboard/libartery_storyboard.so \
-l /path/to/artery/extern/inet/out/gcc-release/src/libINET.so \
-l /path/to/artery/extern/veins/out/gcc-release/src/libveins.so \
-l /path/to/artery/build/src/artery/libartery_core.so \
omnetpp.ini \
-u Cmdenv -c envmod -r 0
We get the following error:
OMNeT++ Discrete Event Simulation (C) 1992-2017 Andras Varga, OpenSim Ltd.
Version: 5.4, build: 180611-572210e, edition: Academic Public License -- NOT FOR COMMERCIAL USE
See the license for distribution terms and warranty disclaimer
Setting up Cmdenv...
Loading NED files from /ibr/projects/artery-lte/artery/src/artery: 53
Loading NED files from /ibr/projects/artery-lte/artery/src/traci: 15
Loading NED files from /ibr/projects/artery-lte/artery/extern/veins/examples/veins: 1
Loading NED files from /ibr/projects/artery-lte/artery/extern/veins/src/veins: 38
Loading NED files from /ibr/projects/artery-lte/artery/extern/inet/src: 666
Loading NED files from /ibr/projects/artery-lte/artery/extern/inet/examples: 174
Loading NED files from /ibr/projects/artery-lte/artery/extern/inet/tutorials: 19
Loading NED files from /ibr/projects/artery-lte/artery/extern/inet/showcases: 33
Preparing for running configuration envmod, run #0...
Scenario: $preseletion=1, $repetition=0
Assigned runID=envmod-0-20180820-11:38:10-42030
Setting up network "artery.envmod.World"...
[Warning: Program was compiled without debug info, you might not be able to debug.]
RUNTIME ERROR. A cRuntimeError exception is about to be thrown, and you
requested (by setting debug-on-errors=true in the ini file) that errors
abort execution and break into the debugger.
You should now probably be running the simulation under gdb or another
debugger. The simulation kernel will now raise a SIGINT signal which will
get you into the debugger. If you are not running under a debugger, you can
still use the core dump for post-mortem debugging. Once in the debugger,
view the call stack (in gdb: "bt" command) to see the context of the
runtime error.
<!> Class "RadioMedium" not found -- perhaps its code was not linked in, or the class wasn't registered with Register_Class(), or in the case of modules and channels, with Define_Module()/Define_Channel() -- in module (omnetpp::cModule) World (id=1), during network setup
TRAPPING on the exception above, due to a debug-on-errors=true configuration option. Is your debugger ready?
(Probably irrelevant) gdb stack trace at this point:
#0 0x00007ffff7509060 in omnetpp::cRuntimeError::notifyEnvir() () from /misc/ibr/projects/artery-lte/contrib/omnetpp-5.4/lib/liboppsim.so
#1 0x00007ffff7509221 in omnetpp::cRuntimeError::cRuntimeError(char const*, ...) () from /misc/ibr/projects/artery-lte/contrib/omnetpp-5.4/lib/liboppsim.so
#2 0x00007ffff74cfd7e in omnetpp::cObjectFactory::get(char const*, char const*, bool) () from /misc/ibr/projects/artery-lte/contrib/omnetpp-5.4/lib/liboppsim.so
#3 0x00007ffff74cfdc2 in omnetpp::cObjectFactory::createOne(char const*) () from /misc/ibr/projects/artery-lte/contrib/omnetpp-5.4/lib/liboppsim.so
#4 0x00007ffff74d8078 in omnetpp::cModuleType::instantiateModuleClass(char const*) () from /misc/ibr/projects/artery-lte/contrib/omnetpp-5.4/lib/liboppsim.so
#5 0x00007ffff74d96a2 in omnetpp::cModuleType::create(char const*, omnetpp::cModule*, int, int) () from /misc/ibr/projects/artery-lte/contrib/omnetpp-5.4/lib/liboppsim.so
#6 0x00007ffff7616e9e in omnetpp::cNedNetworkBuilder::addSubmodule(omnetpp::cModule*, omnetpp::nedxml::SubmoduleElement*) () from /misc/ibr/projects/artery-lte/contrib/omnetpp-5.4/lib/liboppsim.so
#7 0x00007ffff761731e in omnetpp::cNedNetworkBuilder::addSubmodulesAndConnections(omnetpp::cModule*) () from /misc/ibr/projects/artery-lte/contrib/omnetpp-5.4/lib/liboppsim.so
#8 0x00007ffff7617413 in omnetpp::cNedNetworkBuilder::buildRecursively(omnetpp::cModule*, omnetpp::cNedDeclaration*) () from /misc/ibr/projects/artery-lte/contrib/omnetpp-5.4/lib/liboppsim.so
#9 0x00007ffff761751a in omnetpp::cNedNetworkBuilder::buildInside(omnetpp::cModule*, omnetpp::cNedDeclaration*) () from /misc/ibr/projects/artery-lte/contrib/omnetpp-5.4/lib/liboppsim.so
#10 0x00007ffff7610302 in omnetpp::cDynamicModuleType::buildInside(omnetpp::cModule*) () from /misc/ibr/projects/artery-lte/contrib/omnetpp-5.4/lib/liboppsim.so
#11 0x00007ffff752d5a2 in omnetpp::cModule::buildInside() () from /misc/ibr/projects/artery-lte/contrib/omnetpp-5.4/lib/liboppsim.so
#12 0x00007ffff755aa4c in omnetpp::cSimulation::setupNetwork(omnetpp::cModuleType*) () from /misc/ibr/projects/artery-lte/contrib/omnetpp-5.4/lib/liboppsim.so
#13 0x00007ffff79463d1 in omnetpp::envir::EnvirBase::setupNetwork(omnetpp::cModuleType*) () from /misc/ibr/projects/artery-lte/contrib/omnetpp-5.4/lib/liboppenvir.so
#14 0x00007ffff7bcf9ec in omnetpp::cmdenv::Cmdenv::doRun() () from /misc/ibr/projects/artery-lte/contrib/omnetpp-5.4/lib/liboppcmdenv.so
#15 0x00007ffff794366d in omnetpp::envir::EnvirBase::run() () from /misc/ibr/projects/artery-lte/contrib/omnetpp-5.4/lib/liboppenvir.so
#16 0x00007ffff7948a2c in omnetpp::envir::EnvirBase::run(int, char**, omnetpp::cConfiguration*) () from /misc/ibr/projects/artery-lte/contrib/omnetpp-5.4/lib/liboppenvir.so
#17 0x00007ffff793e565 in omnetpp::envir::setupUserInterface(int, char**) () from /misc/ibr/projects/artery-lte/contrib/omnetpp-5.4/lib/liboppenvir.so
#18 0x00007ffff793fe10 in evMain () from /misc/ibr/projects/artery-lte/contrib/omnetpp-5.4/lib/liboppenvir.so
#19 0x00007ffff5aea830 in __libc_start_main (main=0x400670 <main>, argc=22, argv=0x7fffffffd508, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffffffd4f8) at ../csu/libc-start.c:291
Tested with OMNeT++ versions 5.4 and 5.4.1. This only happens with this server. Other hardware (and/or distributions, namely ArchLinux and Gentoo) is fine.
So, we're kindly asking for any ideas on what's happening here? Some sort of race condition when setting up modules?
Hi,
i have some problems to install Artery. Veins, Vanetza and Inet can build with the make skript very well. When i want to make artery with the cmake i get the follwing Error:
-- opp_cmake generated following error log
CMake Error at cmake/ImportOppTarget.cmake:24 (message):
Traceback (most recent call last):
File "opp_cmake.py", line 325, in <module>
main()
File "opp_cmake.py", line 317, in main
target = parse_opp_makefile(makefile)
File "opp_cmake.py", line 287, in parse_opp_makefile
return handler.target()
File "opp_cmake.py", line 194, in target
self._project.read_ned_folders()
File "opp_cmake.py", line 38, in read_ned_folders
with open(os.path.join(self.root_directory, '.nedfolders'), 'r') as dotnedfolders:
FileNotFoundError: [Errno 2] No such file or directory:
'/home/baa4hi/.nedfolders'
Call Stack (most recent call first):
CMakeLists.txt:15 (import_opp_target)
CMake Error at cmake/ImportOppTarget.cmake:25 (message):
import_opp_target for veins aborted due to above opp_cmake error
Call Stack (most recent call first):
CMakeLists.txt:15 (import_opp_target)
Has somebody a hint for me how to solve this failure?
Regards
Thank you for the former question's answer.The question finally find is I use omnet++ ver5.2, but 5.1 is ok. Now I can run example successfully by cmake -- buid . As a noob ,I want to use omnet +sumo+artery+vanetza to simulate ITS-G5 routing algorithm,so I import artery-master as existing Project into omnet++,,and build project.
Then I found artery build failed in omnet, but modules nested such as veins, inet ,veins-inet build successfully.So I failed to run example.
I wonder if i need to build artery in omnet ,then create my module.If I need, what should I do to fix the error?
errors like this:
Description Resource Path Location Type
'NodeStatus': no such module type TestNode.ned /artery-master/extern/inet/tests/misc/lifecycle/lib line 21 NED Consistency Problem
Description Resource Path Location Type
declared package "" does not match expected package "extern.inet.tests.features" FeatureTest.ned /artery-master/extern/inet/tests/features line 1 NED Consistency Problem
declared package "" does not match expected package "extern.inet.tests.misc.etherfixes" network-hub.ned /artery-master/extern/inet/tests/misc/etherfixes line 1 NED Consistency Problem
declared package "" does not match expected package "extern.inet.tests.misc.etherfixes" network-switch.ned /artery-master/extern/inet/tests/misc/etherfixes line 1 NED Consistency Problem
declared package "" does not match expected package "extern.inet.tests.misc.etherfixes" network-twohosts.ned /artery-master/extern/inet/tests/misc/etherfixes line 1 NED Consistency Problem
declared package "" does not match expected package "extern.inet.tests.misc.lifecycle.lib" TestNode.ned /artery-master/extern/inet/tests/misc/lifecycle/lib line 1 NED Consistency Problem
declared package "" does not match expected package "extern.inet.tests.misc.ns3.lib" Ns3Test.ned /artery-master/extern/inet/tests/misc/ns3/lib line 1 NED Consistency Problem
declared package "" does not match expected package "extern.inet.tests.module.lib" ClientServer.ned /artery-master/extern/inet/tests/module/lib line 1 NED Consistency Problem
declared package "" does not match expected package "extern.inet.tests.module.lib" EthTest.ned /artery-master/extern/inet/tests/module/lib line 1 NED Consistency Problem
....
—————————————————————————————————————————————
however, I right click artery in omnet ,chose proporities, click OMNET++,click NED SOURCE Folders, and add following path:
extern.inet
extern.veins
src
scenarios
then apply and ok. Now Artery show no errors.
But when I try to run omnetpp.ini, error occurs again
Description Resource Path Location Type
No such NED type: artery.envmod.World omnetpp.ini /artery-master/scenarios/artery line 64 Inifile Validation Problem
Description Resource Path Location Type
No such NED type: artery.inet.World omnetpp.ini /artery-master/scenarios/artery line 50 Inifile Validation Problem
No such NED type: artery.veins.World omnetpp.ini /artery-master/scenarios/artery line 21 Inifile Validation Problem
What's more, when I choose *.ned, omnet will inform me:
This NED file is not under a NED Source Folder, and will be opened in a standard text editor. [...]
what should I do?
Thank u. Have a nice day XD
Hello Raphael
I got stuck when installing the master branch
I've checked vanetza. This commit causes the problem:
riebl/vanetza@3453822
Maybe Artery master should catch that up.
Best Regards
Wei
Hi guys,
I installed artery and all its dependencies successfully and also integrated the project in the Omnet++ IDE (5.2). What I would like to do is to use a new veins example, so with my own sumo.net, sumo.rou, etc. Therefore I have created a new folder under extern/veins/examples. Basically it should replace the original /veins/examples/veins folder in order to create a new omnetpp.ini file and load different applications.
Furthermore, I have created in [Source directory]/scenarios a new folder, which is basically a copy of your scenarios/artery folder. I have adjusted the omnetpp.ini file, used my own launchd.xml file and changed the CMakeLists.txt.
This automatically generates the corresponding build target, so under scenarios aside your artery run_example, there is also my own example in a separated folder with the corresponding build target. Executing your example works perfectly: the Qt environment appears and the example is running.
Using my own example: the making process finishes without any errors, Qt environment is opening and I am able to start the simulation. Once the first vehicle appears, I get the following error message:
std::runtime_error: Can't determine size for unaligned PER encoding of type CAM because of Latitude sub-type -- in module (artery::VehicleMiddleware) World.node[0].appl.middleware (id=17), at t=1.160276337038s, event #4
This is the same error as mentioned in #33. I have checked the solution there (PROJ feature in Sumo), but it was already installed (and the run_example is working...). Do you have any idea what is going wrong?
That is the output in Omnet++ IDE:
Setting up Qtenv... Loading NED files from .../artery/src/artery: 75 Loading NED files from .../artery/src/traci: 16 Loading NED files from .../artery/extern/veins/examples/veins: 1 Loading NED files from .../artery/extern/veins/src/veins: 38 Loading NED files from .../artery/extern/inet/src: 666 Loading NED files from .../artery/extern/inet/examples: 174 Loading NED files from .../artery/extern/inet/tutorials: 19 Loading NED files from .../artery/extern/inet/showcases: 33
followed by the info that the server was started successfully and the .net.xml file was loaded. Probably the Loading NED files from .../artery/extern/veins/examples/veins
is a problem, as it accesses the original veins example, that I wanted to substitute. But I do not have an idea where to change this in the framework. Tried to manipulate the generated build.make file, as also there the mentioned example appeared. This changed the path in Loading NED files ...
but the error is persistent.
Hope you can give me a hint how to solve the problem. Thanks in advance and best regards!
Dear all,
I'm having a doubt on integrating artery into my project.
My current project has a MANET including some custom nodes that "represent" cars, my idea is to replace them implementing Artery components in it, the goal is to get all communications done using ETSI ITS-G5.
What sould be the best approach? use Car.ned as my nodes and alter their source code in order to implement my applications over it, or change my custom nodes code in order to copy the modules included in Car.ned? For example, how is node's mobility implemented on your project?
Is there any code example I can access for a successfull running simulation?
Other question is regarding CAM message forwarding, are them compliant to what they should do in platooning situations?
Best regards,
Bruno Vieira
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.