Skip to content

User interface for the PleePlee robot. Enables user to control the behavior of the robot.

License

Notifications You must be signed in to change notification settings

pleeplee-robot/interface

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

License: MIT

PleePlee Robot

logo

PleePlee is a proof of concept of a mobile gardener robot. This repository is about the code for miscellaneous components of the robot. It contains the code and documentation for:

  • the camera
  • the LEDs
  • the motor driver
  • the odometric captors

Features

The PleePlee robot is able to:

  • 🌱 🚿 Water plants.
  • 🚗 Move in a straight line and turn in place.
  • 💡 📡 Localize itself in a small area delimited by luminous landmarks.
  • ➰ Avoid obstacles.
  • 👀 Log any changes to the garden. (Foreign object or person crossing).

Interface

This repository is about the graphical interface used to initialise and configure the robot. The user fist has to initialize the map. Then after the setup phase of the robot, it is used to correct mistakes and clarify the map. For example the robot only recognize an obstacle, it will be the user job through this interface to dissociate between plants and real obstacles. When processing the data fetched by the robot the user will also be able to setup interval watering for each plant.

How to Build

This a python project to build it, just use the make init command in the root of the repository. This will downloaded the needed package and run the application.

How to Run

Use make in the source directory

Initialization

When you launch the application you must see a menu with 2 buttons. The first one is for the initialization and the second one aims to fetch the data retrieved by the robot during the mapping. This size and dimension rely on the .config file in the source repository, all the user have to do is to provied the longest size of the garden.

Once the initialization is run, the user can add the balises that delimits the perimeter of the garden. To add a balise you just have to enter its coordinate and color then click on the button "add balise". When you are done with the main balises you can click on the "done" button. This, will draw the garden on the screen and let you add additionnals balises.

The user have to click on the "Finish" button to finalize the initialization. This action will create two files: data_json, map.capture_init. At this point data_json contains in Json format, the positions of the different balises. On the other hand, map.capture_init contains an array of characters 'D' or 'G'. 'D' for dust, and 'G' for grass. This will later be overwritten by the robot which will write 'P' when finding plants, and 'O' for obstacles. The initialization is done, to pass the data to the robot in a directory named "fetch".

Fetch

Once the robot as done its mapping, you must retrieve the "fetch" directory with the new data_json and map.capture_init files. The directory msut be at the root of the application repository. To start processing the fetched data, you must relaunch the application and click this time on the second button in the menu.

On the above screen, you can see the garden with a plant and a box drawn on it. This is because the robot during the mapping has encountered one plant and one obstacle. The user can now click on the plant to set it watering if this is a real plant and not a false positive. Otherwise it could delete it, to ignore it. The obstacles are visible to alert the detection of new object/obstacle in the garden. When an object is selected you can see its picture taken by the robot. To save all the change you can click on the "Finish" button.

Documentation of the project

The documentation is generated with sphinx.

You can get the documentation of the project by installing the package as specified above and just running the make doc command. Then use your favorite web navigator to open the index.html located in docs/build/html.

About

User interface for the PleePlee robot. Enables user to control the behavior of the robot.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published