Robo4j framework has received new major update of the core logic and architecture. The small first taste has been already mention in previous blog post as simple sketch. The sketch has pictured the relation between RoboUnits and RobotAgents. In simplified written words the RoboUnit contains the number of agents. Those agents are interacting between each other and providing the result of the RoboUnit according to its assignment.
Let's focused little bit on RoboAgents. RoboAgents behaviour can be simplified as the relation between Producers and Consumers.
The Producers are basically providing result of the external inputs to the Consumers. External Producers inputs can be defined by Sensors or the result of the external computation/process.
On the other-hand Consumers are applying desired logic on such inputs. Consumers are allowed to use bounded resources, which are provided to the RoboUnit.
Current Robo4j framework release contains 1st simple example of RoboUnit implementation by implementing Robo Front-Hand. The front-hand unit is located in the front part of the robot and it's able to carry small things.
The Robo Front-hand consists from one engine and one touch sensor. This is enough to employ Producer Consumer scenario where the sensors provides appropriate data to the consumer which is represented by the engine.
@RoboUnit(value = FrontHandUnit.UNIT_NAME, system = FrontHandUnit.SYSTEM_NAME, producer= FrontHandUnit.PRODUCER_NAME, consumer= FrontHandUnit.CONSUMER_NAME) public class FrontHandUnit extends DefaultUnit implements LegoUnit { /* all connected pars */ private static final int CONNECTED_ELEMENTS = 2; private static final int DEFAULT_SPEED = 300; private static final int AGENT_POSITION = 0; static final String UNIT_NAME = "frontHandUnit"; static final String SYSTEM_NAME = "legoBrick1"; static final String PRODUCER_NAME = "frontHandSensor"; static final String CONSUMER_NAME = "frontHand"; ... @Override public LegoUnit init(... this.agents.add(createAgent( "frontHandAgent", new FrontHandTouchProducer(exchanger, sensorCache.entrySet()
.stream() .filter(sensorEntry -> sensorEntry.getValue()
.getPart().equals(LegoEnginePartEnum.HAND)) .map(Map.Entry::getValue) .map(legoSensor ->
createTouchSensor(legoBrickRemote,
legoSensor.getPort())) .reduce(null, (e1, e2) > e2)), new FrontHandEngineConsumer(exchanger, engineCache.entrySet()
.stream() .filter(entry -> entry.getValue()
.getPart().equals(LegoEnginePartEnum.HAND)) .map(Map.Entry::getValue) .map(legoEngine ->
createEngine(legoBrickRemote,
legoEngine.getPort(), DEFAULT_SPEED)) .reduce(null, (e1, e2) > e2)))); ... @SuppressWarnings(value = "unchecked") @Override public boolean process(RoboUnitCommand command){ if(!active.get()){ return false; } ProcessAgent processAgent = (ProcessAgent) agents.get(AGENT_POSITION); return processAgent.process(command, (cm) -> { final FrontHandCommandEnum commandEnum = (FrontHandCommandEnum)cm; return logic.get(commandEnum).apply(processAgent); }).getStatus().equals(AgentStatusEnum.ACTIVE); } ... @SuppressWarnings(value = "unchecked") @Override protected Map<RoboUnitCommand, Function<ProcessAgent, AgentStatus > > initLogic(){ final Map<RoboUnitCommand, Function<ProcessAgent, AgentStatus > > result = new HashMap< >(); result.put(FrontHandCommandEnum.COMMAND, (ProcessAgent agent) -> { agent.setActive(true); agent.getExecutor().execute((Runnable) agent.getProducer()); final Future<Boolean> engineActive =
agent.getExecutor()
.submit((Callable<Boolean>) agent.getConsumer()); try { agent.setActive(engineActive.get()); } catch (InterruptedException | ConcurrentModificationException
| ExecutionException e) { throw new
FrontHandException("SOMETHING ERROR CYCLE COMMAND= ", e); } return new AgentStatus<String>(AgentStatusEnum.ACTIVE); }); result.put(FrontHandCommandEnum.EXIT, (ProcessAgent agent) -> { FrontHandEngineConsumer consumer = (FrontHandEngineConsumer)
agent.getConsumer(); FrontHandTouchProducer producer = (FrontHandTouchProducer)
agent.getProducer(); try { consumer.getMotorHandPortA().close(); producer.getTouchSensor().close(); } catch (RemoteException e) { throw new FrontHandException("RUN ERROR PROCESS: ", e); } agent.getExecutor().shutdown(); agent.setActive(false); active.set(false); return new AgentStatus<String>(AgentStatusEnum.OFFLINE); }); return Collections.unmodifiableMap(result); } ...
Following code has shown that RoboUnit consist from two agents one Producer and one Consumer. Producer is represented by TouchSensor and Consumer by Engine. The RoboUnit does accept two commands from outside as the input -> COMMAND and EXIT.
The following RoboUnit implementation allows Robo4j-Brick-Client to accept following POST request
{ "commands" : [ {"name" : "hand", "target" : "hand_unit", "value" : "command"} ] }
And this is not all we can add additional properties to the command as following example
{ "commands" : [ {"name" : "hand", "target" : "hand_unit", "value" : "command"}, {"name" : "move", "target" : "platform", "value" : "20", "speed" : "400" } ] }
...but more in the upcoming posts...
Stay tuned!!!
Thanks for one marvelous posting! I enjoyed reading it; you are a great author. I will make sure to bookmark your blog and may come back someday. I want to encourage that you continue your great posts, have a nice weekend!
ReplyDeletejava training in bangalore
Big data is a term that describes the large volume of data – both structured and unstructured – that inundates a business on a day-to-day basis. big data projects for students But it’s not the amount of data that’s important.Project Center in Chennai
DeleteSpring Framework has already made serious inroads as an integrated technology stack for building user-facing applications. Corporate TRaining Spring Framework the authors explore the idea of using Java in Big Data platforms.
Spring Training in Chennai
The new Angular TRaining will lay the foundation you need to specialise in Single Page Application developer. Angular Training
Your good knowledge and kindness in playing with all the pieces were very useful. I don’t know what I would have done if I had not encountered such a step like this.
ReplyDeleteselenium training in chennai|
The young boys ended up stimulated to read through them and now have unquestionably been having fun with these things.."Devops Training in Chennai"
ReplyDeleteNeeded to compose you a very little word to thank you yet again regarding the nice suggestions you’ve contributed here.
ReplyDeleteBesant technologies Marathahalli
Existing without the answers to the difficulties you’ve sorted out through this guide is a critical case, as well as the kind which could have badly affected my entire career if I had not discovered your website.
ReplyDeletefull stack developer training in bangalore
It has been simply incredibly generous with you to provide openly what exactly many individuals would’ve marketed for an eBook to end up making some cash for their end, primarily given that you could have tried it in the event you wanted
ReplyDeletedigital marketing training in tambaram
Thank you for taking the time and sharing this information with us. It was indeed very helpful and insightful while being straight forward and to the point.
ReplyDeleteClick here:
python training in chennai
Click here:
python training in chennai
Thanks for the informative article. This is one of the best resources I have found in quite some time. Nicely written and great info. I really cannot thank you enough for sharing.
ReplyDeleteBlueprism training in Chennai
Blueprism training in Bangalore
Blueprism training in Pune
Great Article… I love to read your articles because your writing style is too good, its is very very helpful for all of us and I never get bored while reading your article because, they are becomes a more and more interesting from the starting lines until the end.
ReplyDeleteData Science Training in Chennai
Data science training in bangalore
Data science online training
Data science training in pune
Thanks Admin for sharing such a useful post, I hope it’s useful to many individuals for developing their skill to get good career.
ReplyDeletejava online training | java training in pune
java training in chennai | java training in bangalore
mytectra placement Portal is a Web based portal brings Potentials Employers and myTectra Candidates on a common platform for placement assistance.
ReplyDeleteReally very nice blog information for this one and more technical skills are improve,i like that kind of post.
ReplyDeletepython training in pune | python training institute in chennai | python training in Bangalore
Hello! This is my first visit to your blog! We are a team of volunteers and starting a new initiative in a community in the same niche. Your blog provided us useful information to work on. You have done an outstanding job.
ReplyDeleteAWS Training in Bangalore | Amazon Web Services Training in Bangalore
AWS Training in Bangalore |Best AWS Training Institute in BTM ,Marathahalli
AWS Training in Rajaji Nagar | Amazon Web Services Training in Rajaji Nagar
Best AWS Training Institute in BTM Layout Bangalore ,AWS Coursesin BTM
Best AWS Training in Marathahalli | AWS Training in Marathahalli
I have ever read such a nice blog and you made a good effort to wrote this.
ReplyDeletei request you to update such kind of data on your wall.
Qtp training in Chennai
Big Data Training in Chennai
Hadoop Training in Chennai
Android Training in Chennai
Selenium Training in Chennai
Digital Marketing Training in Chennai
JAVA Training in Chennai
German Training in Chennai
German Classes in Chennai
German classes in Porur
I found this informative and interesting blog so i think so its very useful and knowledge able.I would like to thank you for the efforts you have made in writing this article.
ReplyDeleteMicrosoft Azure online training
Selenium online training
Java online training
Java Script online training
Share Point online training
Well somehow I got to read lots of articles on your blog. It’s amazing how interesting it is for me to visit you very often.
ReplyDeleteDevops Training in Chennai | Devops Training Institute in Chennai
This is a nice post in an interesting line of content.Thanks for sharing this article, great way of bring this topic to discussion.
ReplyDeletedevops online training
aws online training
data science with python online training
data science online training
rpa online training
Interesting information and attractive.This blog is really rocking... Yes, the post is very interesting and I really like it.I never seen articles like this. I meant it's so knowledgeable, informative, and good looking site. I appreciate your hard work. Good job.
ReplyDeleteKindly visit us @
Sathya Online Shopping
Online AC Price | Air Conditioner Online | AC Offers Online | AC Online Shopping
Inverter AC | Best Inverter AC | Inverter Split AC
Buy Split AC Online | Best Split AC | Split AC Online
LED TV Sale | Buy LED TV Online | Smart LED TV | LED TV Price
Laptop Price | Laptops for Sale | Buy Laptop | Buy Laptop Online
Full HD TV Price | LED HD TV Price
Buy Ultra HD TV | Buy Ultra HD TV Online
Buy Mobile Online | Buy Smartphone Online in India
This is a great post. I like this topic.This site has lots of advantage.I found many interesting things from this site. It helps me in many ways.Thanks for posting this again.
ReplyDeleteAI learning course malaysia
Attend The Python training in bangalore From ExcelR. Practical Python training in bangalore Sessions With Assured Placement Support From Experienced Faculty. ExcelR Offers The Python training in bangalore.
ReplyDeletepython training in bangalore
Get the best nursing services baby care services medical equipment services and allso get the physiotherapist at home in Delhi NCR For more information visit our site
ReplyDeletenursing attendant services in Delhi NCR
medical equipment services in Delhi NCR
nursing services in Delhi NCR
physiotherapist at home in Delhi NCR
baby care services in Delhi NCR
We are giving the best service to our clints in all over india for more info visit our site
ReplyDeleteTop elevators companies in India
Best quality elevators companies
Top elevators companies in Delhi - NCR
Customized elevators New installation elevators company in Delhi-NCR
Top escalators companies in India
Get the best furniture manufacturers in delhi ncr for more info visit our site
ReplyDeletetop Sofa Manufacturers in Delhi
Sofa set manufacturers in Delhi
Best Furniture dealers in Delhi
Furniture repairing in Delhi
Sofa repairing in Delhi
designed furniture manufacturers in delhi
Best bed repairing in Delhi
Best furniture manufacturing in Delhi NCR
headboard manufacturing services
Best headboard manufacturing manufacturers in Delhi
Home Furniture repairing in Delhi
Get the best and cheapest sound systems led wals lfd screen and more other components on rent for more info visit our site
ReplyDeleteProjector on rent
4K LED TV on rent
Sound system on rent
LED Wall on rent
LFD Video wall on rent
Touch Screen Monitor on rent
LFD Video wall for exhibition
Projector and screen
Professional Sound System
LED display wall on rent
We are the one of top rated service provider in construction and contractor Fore more info visit our site
ReplyDeleteBest interior decorators in manesar
Best civil contractors in delhi
Best building contractor in gurugram
Top builder in gurugram
Top builder in Noida
Best Interior decorators in delhi NCR
Best office interior decorators in gurugram
Construction finishing in delhi NCR
Residential construction in delhi NCR
We are the best service provider for the ads and posters on auto or wall paints for all informations visit our site
ReplyDeleteRural wall painting advertising
Auto rickshaw ad in delhi
Advertising wall painting
Auto Rickshaw advertising
Digital wall painting
Hoardings in Delhi
Wall painting advertising
Outdoor advertising
Outdoor Advertising Companies in Delhi
Hoarding advertising
Just saying thanks will not just be sufficient, for the fantasti c lucidity in your writing. I will instantly grab Python training in pune your rss feed to stay informed of any updates.
ReplyDeleteGood to become visiting your weblog again, it has been months for me. Nicely this article that i've been waited for so long. I will need this post to total my assignment in the college, and it has exact same topic together with your write-up. Thanks, good share.
ReplyDeletepmp certification malaysia
This comment has been removed by the author.
ReplyDeleteI learned World's Trending Technology from certified experts for free of cost. I Got a job in decent Top MNC Company with handsome 14 LPA salary, I have learned the World's Trending Technology from Python Training in pune experts who know advanced concepts which can help to solve any type of Real-time issues in the field of Python. Really worth trying Freelance seo expert in bangalore
ReplyDeletegood
ReplyDeletefreeinplanttrainingcourseforECEstudents
internship-in-chennai-for-bsc
inplant-training-for-automobile-engineering-students
freeinplanttrainingfor-ECEstudents-in-chennai
internship-for-cse-students-in-bsnl
application-for-industrial-training
keep sharing to gain knowledge
ReplyDeleteinterview-questions/aptitude/permutation-and-combination/how-many-groups-of-6-persons-can-be-formed
tutorials/oracle/oracle-delete
technology/chrome-flags-complete-guide-enhance-browsing-experience/
interview-questions/aptitude/time-and-work/a-alone-can-do-1-4-of-the-work-in-2-days
interview-questions/programming/recursion-and-iteration/integer-a-40-b-35-c-20-d-10-comment-about-the-output-of-the-following-two-statements
GOOD
ReplyDeletePermutation and Combination Aptitude Interview Questions
Oracle Delete
Time and Work Aptitude Interview Questions
Chrome Flags Complete Guide Enhance Browsing Experience
Recursion and Iteration Programming Interview Questions
Apache Pig Subtract Function
Xml Serializer there was an Error Reflecting Type
Simple Interest Aptitude Interview Questions
Compound Interest Aptitude Interview Questions
Specimen Presentation of Letters Issued by Company
Thank you so much for this useful article. Visit OGEN Infosystem for Web Designing and SEO Services in Delhi, India.
ReplyDeleteSEO Service in Delhi
Great post! I am actually getting ready to across this information, is very helpful my friend. Also great blog here with all of the valuable information you have. Keep up the good work you are doing here.
ReplyDeleteAdvertising Agency
3d Animation Services
Branding services
Web Design Services in Chennai
Advertising Company in Chennai
Nice information, valuable and excellent design, as share good stuff with good ideas and concepts, lots of great information and inspiration, both of which I need, thanks to offer such a helpful information here.
ReplyDeleteAre You looking for best online courses and free webniars you just click following links
Online Certificate Courses
Machine Learning Online Courses
Best Online Certificate Courses In India
Online Courses On Digital Marketing
Online It Courses In India
ReplyDeleteThanks for sharing,very impressive content.If u are looking for any courses visit our site
big data training institute in btm
Appslure is Best app development company in mumbai and you can get website development service at a very affordable price.
ReplyDeleteApp development company in mumbai
I would like to thank you for the efforts you have made in writing this post. Thanks for posting Really Such Things. I should recommend your site to my friends. If you are interested for CRM Software visit here:- CRM Software in Mumbai | CRM Software In Pune | CRM Software in Ahmedabad | Order Management Software in Mumbai | Field Management Software in Mumbai
ReplyDeleteI have to voice my passion for your kindness giving support to those people that should have guidance on this important matter.
ReplyDeletesalesforce admin training in bangalore
salesforce admin courses in bangalore
salesforce admin classes in bangalore
salesforce admin training institute in bangalore
salesforce admin course syllabus
best salesforce admin training
salesforce admin training centers
Wow!!! It was really an Informational Article which provide me with much Insightful Information. I would like to first thank the author for such an Insightful Content. If someone here is looking for a Website Designing Company in India, then look no further than Jeewangarg.com as we are the Best website designing company in Delhi working in the arena for the last 8 years.
ReplyDeleteDigital Marketing company in Delhi
Well I definitely enjoyed reading it. This tip procured by you is very constructive for correct planning.
ReplyDeletevideo production
film production
Really this is awsome post, which is so informative. We are the largest shot blasting machine manufacturers & Suppliers in India. Get the all types of sandblasting machine and their equipments @ best prices & unmatched services. Call us @ 9811083740.
ReplyDeleteThanks for posting such a great post. mostly person have many doubt that the product which is puchaging through online is really right for us! is this better product? That's why right select is standing infront of you to provide right products. Right Select help to select right products.
ReplyDeleteOut of them: Top 10 injection molding machine manufacturers in india
Thanks for the great article and post. Need a Industrial UPS? Don’t go beyond nexusups. 10 kva online ups which offers an extensive range of exceptional Industrial UPS, and Online UPS Free to contact.
ReplyDeleteThanks for the great article and post. Need a servo voltage stabilizer manufacturers in india? Don’t go beyond servo star “A popular 10 kva single phase voltage stabilizer which offers an extensive range of exceptional servo stabilizer. Feel Free to contact.
ReplyDeleteHi...Thanks for sharing this useful article. RPA is the most trending now a days in Machine Learning and Artificial Intelligence. Your shared information is very useful for those who wants to shifts their business logic to robotics.Its a new upcoming technology so this information will play such a great role. And its very important to improve our knowledge for Robotics and their Architect, frameworks and logics.
ReplyDeleteAll you should know about Best OOH Monitoring company in India and dooh advertising in india how it works
ReplyDelete
ReplyDeleteI think this is an informative post and it is very useful and knowledgeable. therefore, I would like to thank you for the efforts you have made in writing this article.
Patient care home service in Dhaka
Oxygen Cylinder home service in dhaka
Oxygen Cylinder sell and rent
Nursing Home Services
day night Home care
medical equipment rent and sell in Dhaka
Orthopedic Care in Dhaka
NEUROLOGICAL CARE in Dhaka
NEUROLOGICAL CARE in Dhaka
POST SURGERY CARE in Dhaka
PALLIATIVE CARE in Dhaka
CANCER PATIENT CARE in Dhaka
caregiver service in dhaka
nurse service at home in dhaka
ambulance service in dhaka
emergency medical oxygen home service in dhaka
Thanks for sharing such a great information, Here we are India's best service provider of sbi kiosk banking.
ReplyDeletecsp bank mitra
bank mitra
Dextrous Info Solutions is worldwide and Android App Development Company giving various end-to-end app development solutions at affordable pricing structure. putlocker
ReplyDeleteVery informative post and it was quite helpful to me.
ReplyDeleteAWS training in chennai | AWS training in annanagar | AWS training in omr | AWS training in porur | AWS training in tambaram | AWS training in velachery
This is a wonderful article. I really enjoyed reading this article. Thanks for sharing such detailed information. share somemore info
ReplyDeleteAi & Artificial Intelligence Course in Chennai
PHP Training in Chennai
Ethical Hacking Course in Chennai Blue Prism Training in Chennai
UiPath Training in Chennai
I have study your article, it is very informative and beneficial for me. I recognize the valuable statistics you offer in your articles. Thanks for posting it and is.
ReplyDeleteVisit us for custom cake packaging boxes.
Airo Shot Blast is Sand Blasting Machine Manufacturer in India. We also Manufacturer, Supplier & Exporter of Shot Blasting Machine, Grit Blasting Machine, Sand Blasting Hopper in India at a low price for sale.
ReplyDeleteSee More :
Sand Blasting Machine price in India
Sand Blasting Machine
ReplyDeleteThank you very much for your information. I have gained great information from your post.
This site is a very good site. I am sure that you will benefit from this web site.
Whatever you are looking for can be helpful. Click Here
Thank you very much for your information.I stumbled upon your top nursing blog sites page. I have gained great information from your post.
This site is a very good site. I am sure that you will benefit from this web site.
Whatever you are looking for can be helpful. Click Here
Excellent post, thanks for this. I gathered lots of information from this and I am happy about it. Do share more updates.
ReplyDeleteDevOps certification in Chennai
DevOps Training in Chennai
DevOps course in Chennai
DevOps certification
DevOps Training
DevOps Foundation Certification
Best DevOps Training in Chennai
DevOps Training institute in Chennai
DevOps course
DevOps Training in Velachery
Nice Blog!!!
ReplyDeleteHere we are Manufacturers of Sand Blasting Cabinet in india.We provide all type of sand blasting machine, shot blasting machine & Grit blasting machine.
See More:-
Large Sand Blasting Cabinet
Sand Blasting Machine
Really nice and interesting post. I was looking for this kind of information and enjoyed reading this one. Keep posting. Thanks for sharing.
ReplyDeletedigital marketing course in guduvanchery
Really nice and interesting post. I was looking for this kind of information and enjoyed reading this one. Keep posting. Thanks for sharing.
ReplyDeleteread more
Thanks for sharing the valuable information. Your article gave me a lot of information.I have gained great information from your post.
ReplyDeleteThis site is a very good site. I am sure that you will benefit from this web site.
Whatever you are looking for can be helpful. Click Here
ReplyDeleteAyonz is a Market Development Company in Sydney provides a service solution that is end-to-end like technology design, manufacturing, supply & brand development for consumer lifestyle products sold in retail, through resellers or online shopping channels.
This is one of the best work i came across today, keep it up. Your information is really appreciable.
ReplyDelete1000 free youtube subscribers
SMM service
Great share!
ReplyDeleteI love this bucket list and you know you're right. Sand blasting machine everything takes time and we all have the same amount of hours in a day so put them to good use. We all have to start somewhere and your plan is perfect. I understand the way of the attractive to the customer with the products.
Sand Blasting Machines like shot blasting machine, sand blasting machine, and grit blasting machines, Wood Working Machinery Dust Extraction unit, Abrasive Blasting Media and various others. Keep it works and share with us your latest information. My time will come but I know I'm on the right path.
They are similar to small communities that you own - check them out if you haven't already. It's all got a lot better than before!t.Value that list of thousands but I'll get there.
Thanks for sharing. Have a nice week ahead.
Regards,
Ankit Sharma.
Worth reading! Our experts also have given detailed inputs about these trainings & courses! Presenting here for your reference. Do checkout
ReplyDeleteoracle training in chennai & enjoy learning more about it.
Cool stuff you have and you keep overhaul every one of us
ReplyDeletedata science training in delhi
Sharing the same interest, Infycle feels so happy to share our detailed information about all these courses with you all! Data Science Training in Chennai & get to know everything you want to about software trainings.
ReplyDeleteAMO is an award winning home loans specialist. Our mortgage brokers have helped thousands of ordinary Australians to secure finance for home or investment property.
ReplyDelete