rockin-robot-challenge / at_work_central_factory_hub Goto Github PK
View Code? Open in Web Editor NEWThe referee box for the RoCKIn competitions.
Home Page: http://www.rockinrobotchallenge.eu/
The referee box for the RoCKIn competitions.
Home Page: http://www.rockinrobotchallenge.eu/
The time fact is continuously asserted (see [1]), but never retracted. Is this the desired behavior?
[1] https://github.com/mas-group/rockin-refbox/blob/master/src/refbox/refbox.cpp#L976
The CLIPS rules are loaded from one hard-coded directory. To support multiple sets of CLIPS rules, the directory from where the rules are loaded should be configurable.
The question has been asked how to handle no object detected -> Can the feedback be given with an empty string?
On Ubuntu 14.04 following error
robocup@robocup-xmg-1:..[AT_WORK_CENTRAL_FACTORY_HUB:rockin2015 *]/at_work_central_factory_hub$ ./bin/llsf-refbox
Attempt to add global initializer failed, status: DuplicateKey throwSockExcep
Aborted (core dumped)
Removing $(LDFLAGS_MONGODB) from ./src/refbox/Makefile works, as README suggests for another issue.
The ClipsProtobufCommunicator tries to validate messages which it receives from the CLIPS environment. However the checks
if (!*m)
and
if (!(m || *m))
are not implemented correctly.
In the LLSF there is currently only one type of devices: the production machines. The production machines have a common interface which is directly integrated into the RefBox.
The idea is to introduce a common machine interface for all kinds of networked devices. The interface should offer a setup function (in which the device is initialized and also registered with CLIPS), an update function (which e.g. interprets the inputs from CLIPS, handles the communication with the devices themselves and provides read values to CLIPS) and finally a cleanup function.
This interface is implemented by dynamically-loadable (based on a configuration file) plugins. This approach keeps the logic and communication of the networked devices separated from the RefBox and allows for a dynamic extension of the RefBox.
In a fresh 1404 install:
Installed dependencies without any issues.
Checked out latest branch.
alex@ubuntu:/workspace/rockin/at_work_central_factory_hub$ git checkout rockin2015/workspace/rockin/at_work_central_factory_hub$ make
Branch rockin2015 set up to track remote branch rockin2015 from origin.
Switched to a new branch 'rockin2015'
alex@ubuntu:
--> Entering sub-directory src ---
[... in libs: core, util, config compiled fine ... ]
--> Entering sub-directory protobuf_comm ---
--- Compiling client.cpp (C++)
--- Compiling crypto.cpp (C++)
Then:
In file included from /home/alex/workspace/rockin/at_work_central_factory_hub/src/libs/protobuf_comm/crypto.cpp:37:0:
/home/alex/workspace/rockin/at_work_central_factory_hub/src/libs/protobuf_comm/crypto.h:70:9: error: ‘EVP_CIPHER’ does not name a type
const EVP_CIPHER *cipher_;
^
/home/alex/workspace/rockin/at_work_central_factory_hub/src/libs/protobuf_comm/crypto.cpp: In constructor ‘protobuf_comm::BufferEncryptor::BufferEncryptor(const string&, std::string)’:
/home/alex/workspace/rockin/at_work_central_factory_hub/src/libs/protobuf_comm/crypto.cpp:66:3: error: ‘cipher_’ was not declared in this scope
cipher_ = cipher_by_name(cipher_name.c_str());
^
/home/alex/workspace/rockin/at_work_central_factory_hub/src/libs/protobuf_comm/crypto.cpp:66:47: error: ‘cipher_by_name’ was not declared in this scope
cipher_ = cipher_by_name(cipher_name.c_str());
^
[... followed by about 30 similar errors ...]
And stop publishing inventory + order when the "reset" button was pressed
In the LLSFRefBox::clips_load_config function (see https://github.com/mas-group/rockin-refbox/blob/master/src/refbox/refbox.cpp#L439) the CLIPS environment is accessed without locking the mutex clips_mutex_. Is this the desired behavior?
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.