Roomba python program

Pågår Lagt ut 1 år siden Betales ved levering
Pågår Betales ved levering

This new type of robotic vacuum cleaner has quite simple reflex rules. It will always check the battery level first. If the level is below 30%, it will plan a path to its charging base (“home”), go there, and start the docking procedure. If the battery is sufficient, it will start the function it was commanded to perform. There are two available commands:

Spot cleaning: it will perform a 20s intensive cleaning in a specific area.

General cleaning: go around the room and vacuum dust until the battery falls under 30% or completes the task. If the dust sensor detects a particularly dirty spot, the robot will perform a 35s spot cleaning.

The blackboard must contain at least the following elements, but you can add more if your implementation requires it:

BATTERY_LEVEL: an integer number between 0 and 100.

SPOT_CLEANING: a Boolean value – TRUE if the command was requested, FALSE

GENERAL_CLEANING: a Boolean value – TRUE if the command was requested, FALSE

DUSTY_SPOT: a Boolean value – TRUE if the sensor detected a dusty spot during the cycle, FALSE

HOME_PATH: The path to the docking station.

As specified in the tree, SPOT_CLEANING and GENERAL_CLEANING should not change state until the command has been completed. The tree evaluation should be called several times. For the sake of simplicity, we will assume that each call is at 1s intervals. Certain tasks should return RUNNING if they have not completed the job yet, and last for the specified number of cycles (20 or 35 cycles).

Your implementation of the sensor should change the value of DUSTY_SPOT. You are free to simulate the sensor response in any way you want.

The CLEAN_FLOOR task will fail when there is nothing more to clean. The result of the task can be determined at random (with a low probability of failure) or by asking the user (maybe every few evaluation cycles).

The goal of this assignment is to implement the provided behavior tree. Each specific task, condition, and decorator in the figure should be implemented as a descendant of the hierarchy provided by our code.

I strongly suggest implementing this agent as a basic reflex agent. The sensors can be simulated with simple random values or input from the user. The state of the environment (the percepts) is stored on the blackboard before being passed to the behavior tree evaluation (condition-action rules block). Except for DONE GENERAL and DONE SPOT, none of the other tasks will need to be implemented. A simple print statement with the name of the task and the state (SUCCEEDED, FAILED, RUNNING) will be sufficient. DONE GENERAL and DONE SPOT will set the corresponding values on the blackboard to FALSE.

BT [login to view URL]

C-programmering Elektronikk Linux Python Programvarearkitektur

Prosjekt-ID: #35959690

Om prosjektet

4 bud Eksternt prosjekt Aktiv 1 år siden

4 frilansere byr i gjennomsnitt $223 for denne jobben

MrAndreyZhdanov

Hi, there. I read your project description carefully and I am interest your proposal. I'm a Python and Django developer and I can help you. If you hire me, you'll get a perfect result. Please contact me and let's dis Mer

$300 USD på 3 dager
(15 Omtaler)
4.1
onoyama

I am a specialist in C, C++, Linux, Python, and Embedded control systems. Besides, I have much experience in the software development of robotics handler systems in C/C++ such as semiconductor wafer handling systems, d Mer

$250 USD på 15 dager
(0 Omtaler)
0.0