Skip to content

Baxter-Robot advanced algorithms for real-life applications (this repository contains algorithms that enable safe-autonomous feeding of individuals with upper-limb disabilities with Baxter-Robot, compatible/reproducible to other 3+DOF Robots).

License

Notifications You must be signed in to change notification settings

san99tiago/baxter-bon-appetit

Repository files navigation

🤖 BAXTER BON APPETIT 🤖

This is our repository to work on multiple projects and experiments related to the thesis.
The thesis will be programmed using Baxter Robot as the main system to achieve a educational approach of a "Feeding Robot" that helps people with disabilities to properly eat food without having a person explicitly feeding them.

We will be working on multiple projects like:

  • Computer Vision for face_detection and anomalies_recognition.
  • Robotics algorithms developed for Baxter robot.
  • Architecture of multiple nodes using ROS and some of our own-designed packages.
  • Some important notes, tests and analysis to keep in mind when working with Baxter robot.


😎 Baxter Bon Appetit in Action 😎




SOFTWARE DEPENDENCIES 📢

  • Visual Studio Code
    Visual Studio Code is our main code editor for Python scripts and high-level programming.
    This is not absolutely necessary, but from our experience, it gives us a great performance and we can link it with Git and Github easily.

  • Python
    Python is the main programming language that lets us work fast, with easy and powerful integration of different software solutions.

  • Robot Operating System (ROS)
    Baxter robot implements ROS with a set of software libraries and tools that helps us build robot applications with complex robotic-systems.
    We will be implementing the native ROS-architecture in our projects to control, configure, test, and design our Baxter programs.

  • MATLAB
    MATLAB is NOT a necessary dependency, but some of the first mathematical tests and plots were developed in MATLAB.
    It is NOT a mandatory tool to have, but we will upload the MATLAB scripts in case someone needs them.

Extra Dependencies 🚦

The dependencies are mainly python libraries and the correct usage of them.
Our advice is to have a good understanding the pip (Package Installer for Python), before working with other dependencies.
It is also a good practice to work with virualenv, to isolate correctly the main projects.

  • Numpy
    NumPy is a great resource to work with arrays and concepts of linear algebra. This allows us to work with data and achieve scientific computing

  • Matplotlib
    This is a great Python library for creating static, animated and interactive data visualizations in a simple way.

  • OpenCV
    OpenCV is an amazing Open Computer Vision Library, that enables great tools, resources and methods to process and work with images. It is closs-platform and has multiple language connections. In these repository we will be working in Python, but you are free to work in your prefered programming language.

  • CVXPY
    CVXPY is an open source Python-embedded modeling language for convex optimization problems. It will come really handy when the MPC control structure needs an optimization based on objective variables.

  • Tkinter
    Tkinter is an integrated Library that gives us a great way to create GUI windows with Python. It is also a cross-platform that has the advantage of working with the classic Tk windows and many libraries that integrate together to achieve amazing projects.

  • PyTest
    The pytest framework makes it easy to write small tests, yet scales to support complex functional testing for applications and libraries. It will be implemented in the unit-tests for the computer-vision modules.


COMPUTER VISION PROJECTS 📕 📗 📘

There are packages for Computer Vision algorithms focused on face_detection and anomalies_detection.

The main library used for Compter Vision packages is OpenCV and comes really handy for our projects, because it can be programmed in Python or C++, giving us a perfect match with the native Baxter Robot Operating System infrastructure and programs.

To dive deeper into the structure of these projects, you can go to:


USAGE ✏️

All projects are really well commented. Most of them have specifications in the README.md section and remarks for their purpose and I/O workflow.
We will be uploading most of the files, and try to keep it as clean as possible.

  • Some video tests won't be uploaded, so that we don't have many binaries in the version control system.

AUTHORS 🎹

Santiago Garcia Arango

Student of Mechatronics Engineering at EIA University, excited for creating Software solutions.
He is curious about implementing Clean Code architectures, a DevSecOps culture and building strong connections with his teams.
He has skills leading and working in teams. He is passionate about sharing his knowledge and learning the art of how everything actually works.

Elkin Javier Guerra Galeano

Student of Mechatronics Engineering at EIA University, excited for integrating Software and Hardware systems.
He is curious about Control Theory and implementing Robotics Solutions with different math designs.
He has skills with problem-solving for real-life applications. He is passionate about building knowledge from a theory-practice approach.

SPECIAL THANKS 🎁

  • Thanks to our professor and friend: Dolly Tatiana Manrique Espindola.
  • Thanks to all contributors for the great OpenSource projects that we are using.


About

Baxter-Robot advanced algorithms for real-life applications (this repository contains algorithms that enable safe-autonomous feeding of individuals with upper-limb disabilities with Baxter-Robot, compatible/reproducible to other 3+DOF Robots).

Topics

Resources

License

Stars

Watchers

Forks