Close
0%
0%

Wet Autonomous Image-Transferring Robot

A robot that spray paints given digital images.

Similar projects worth following
We will try to make a robot that, given a digital image, will recreate the image by spray painting small dots of varying size and colors. Painting things horizontally, like athletic fields or murals, is a time-consuming and labor-intensive task, and we hope to make it easier. We hope to be able to paint at least 1m x 1m, have control over details up to 1 square cm, and paint in 4 colors.

The first few photos in the gallery show a visualization of the image processing steps. Although the TJ logo is just an outline, the edge detection algorithm would find only the most prominent lines and store the simplified image in a matrix. Blank spaces have a null value in this matrix. When painting, the robot would traverse the matrix in real time, moving in a serpentine pattern and dispensing paint accordingly. 

The next few photos in the gallery show the platform we built to test movement. It is equipped with omniwheels to allow for flexible movement as well as VEX ultrasonic rangefinders to pause the robot if something is obstructing its path. 

movementCode.ino

Code for movement with predetermined movement measurements

ino - 1.46 kB - 06/03/2019 at 12:53

Download

  • 1 × Chassis
  • 2 × Servo Motors Capable of precise motion
  • 4 × VEX Rails
  • 4 × VEX Ultrasonic Range FInders
  • 4 × Omniwheels

View all 11 components

  • May 2019

    Justin M05/30/2019 at 03:51 0 comments

    Since our last update, a lot has happened. We decided and implemented a chassis made of 25x25 VEX Rails. The chassis housed our DFRobot Romeo V2 microcontroller, VEX servo motors, Adafruit BNO055 Absolute Orientation Sensor, Actuonix linear actuator, and VEX Ultrasonic Range Finders. We were able to get the robot to move in the serpentine pattern along the instantiated coordinate grid as we had desired, with the robot also being able to detect obstacles in its path. However, we faced unexpected challenges with the spray paint dispensing system that we had designed. The linear actuator that we had chosen for this project, in conjunction with how we had set up the paint dispensing system, was not very successful in actually spraying the paint. At times, the torque of the motor was not enough to press on the nozzle and dispense the spray paint. Other times, if the paint was being sprayed, the spray was too weak and lessened the quality of the image. As a result, we decided to alter our coloring/painting system for this project. We decided to mount the linear actuator to the chassis in a way that it was now perpendicular to the surface being painted and attached a marker as an extension of the linear actuator. We decided to "paint" the surface by lowering the linear actuator and making small dots with the marker as opposed to larger scale dots that would have been created by the spray paint. We did this to have a placeholder that takes the same amount of time to paint as the spray paint would have when testing our robot's traversal times.

    Ultimately, we found that we were relatively successful in terms of achieving our goal of developing a robot that can autonomously take an input image and paint it onto a horizontal surface on a larger scale using coordinate-based movements. We were able to get most of our subsystems working individually, and trouble occurred when integrating some of them. We hope that future iterations of this project can develop a more accurate and consistent paint dispensing system that utilizes spray paint as we had intended. 

    Attached below are images that visualize the image processing and images of the robot chassis:

    Sample Input Image
    Sample Visualization of Painted Image
    Sample Visualization of Processed Color Matrix
    Visualization of Serpentine Traversal Pattern
    Chassis with Motors and all Sensors
    Chassis with motors and IMU sensor

  • January 2019 Update

    Justin M01/27/2019 at 01:53 0 comments

    Over the past three months, we conducted more research to supplement our project. As we had previously encountered a lack of research focused on our exact topics, we decided to break it down and research each INDIVIDUAL aspect of our project. For example, we researched various autonomous vehicles and making them more inexpensive, methods of image optimization, and paint dispensing (specifically from spray paint and pressurized paint canisters).  

    Due to our need for more extensive research, our timeline was pushed back a great deal. Our schedule was also impacted due to our indecisiveness on choosing what materials to use for our project. We spent a considerable amount of time deciding what material we wanted to make the chassis out of if we chose to make it as opposed to purchase a pre-made one, which servos we wanted to use, and how we would dispense the paint with linear actuators. Much of our tie was also dedicated to determining how we wanted to arrange and assemble the various components, designing various aspects of the robot on OnShape. Below, we have included our sketch of the linear actuator mounted atop of the spray paint can holder, with a fitted attachment to the end of the motor to press on the nozzle of the can to dispense the paint.

    As a result, we have not yet begun assembling the first, physical prototype. We hope to finalize our decisions on component materials and purchasing by the end of January, begin developing the prototype by February, and completing the code by late February. We plan on testing the robot by early March, and continue testing and revising the robot throughout March and April.

    Schedule

    3rd Quarter

    1/28 Anchor

    1/30 Red Finish ordering components

    2/1 Red Finish designing chassis

    2/6 Red Build chassis

    2/8 Red Mount components

    2/11 Anchor Test components

    2/13 Mod RED

    2/15 Red Start coding basic motion program

    2/20 Red Continue coding / test coding

    2/22 Red

    2/25 Anchor Start researching specifically how to implement digital images

    2/27 Red

    3/1 Red

    3/4 Anchor Continue researching / begin coding

    3/6 Red

    3/8 Red

    3/11 Anchor Preliminary testing

    3/13 Red

    3/15 Red

    3/18 Anchor Testing

    3/20 Red

    3/22 Red

    3/25 Anchor Final testing

    3/27 Red

    3/29 Red

    4/1 Red Work on Project Review

    4/3 Red

    4th Quarter

    4/8 Anchor Final Project Due on Friday

    4/10 Red

    4/12 Red

    Spring Break

  • October

    mnwu11/04/2018 at 00:01 0 comments

    This month we finished planning the outline of our project. There weren't many research articles similar to what we hope to do – most of the robots involving paint are either mounted like an etch-a-sketch or are industrial-grade spray-guns mounted on robotic arms –  so we'll have to experiment a lot. We did create a flexible calendar, so we should be able to figure everything out in time. 

    As far as the physical robot is concerned, our plan is to purchase a simple chassis and fit it with omniwheels and servo motors so that it can move both side to side and forward/backwards. We will build a holding mechanism so that we can mount spray paint cans at adjustable angles on the robot and also a trigger mechanism to dispense paint. This will be the focus of our project until winter. 

    We will have to do additional research into servo motors (we want our robot to be capable of very precise motion) and linear actuators (which will need to be capable of actually pushing the trigger on the can). We don't expect many problems with this stage of the project. 

View all 3 project logs

Enjoy this project?

Share

Discussions

Justin M wrote 06/03/2019 at 13:04 point

While we experienced difficulties in integrating the desired painting mechanism with the robot chassis/movement, we were able to develop a working testing platform that could autonomously and accurately traverse the instantiated grid of movement. We hope that in the future, this research can be expanded and a more efficient and accurate method of painting from this robot can be implemented. 

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates