Robot Chores: Using AI powered robots to do everyday tasks and can they help disabled people?

In this project I am to find out how simple mechanisms can be applied at a larger scale, the viability of robots doing human tasks via code or AI, if its environmentally friendly and cost effective, and if it would be a good tool for disabled people.
Mark Buhler
Anhelia Buhler
Grade 7

Presentation

No video provided

Hypothesis

I predict that my robot will be able to climb obstacles, walk across flat surfaces, and carry light objects in a basket. I think my robot will be able to carry payloads of up to 500-1000 grams and have a battery life of up to 10 minutes per cycle. Additionally, I hypothesize that the robots built by engineers will struggle with complex tasks that require strength and decision-making because of limitations such as pattern recognition, battery life, design flaws, or the inability to identify objects, meaning they may not fully replace human assistance for people with disabilities.

Research

1. Sesame Robot

I used an open-source project based on Dorian Todd's "Sesame" and developed an improvised CAD design to adapt to the task and environment in which I was conducting an experiment, as well as my own original code for animations and movement, with the exception of his Sesame Studio program. In my project, I greatly exemplified the use of simple mechanical systems at a larger scale to create a better result. Some of the mechanisms I used were four-bar style leg linkages, pinned joints (simple pivots), offset mounting for gait, and a rigid frame as a body.


Four-Bar leg style

The four-bar leg linkage was my primary motion mechanism. It consists of four rigid links connected by pivots: an input link (crank), a coupler, an output link (rocker), and a fixed base. This configuration converts rotary motion from the servo into controlled leg motion, similar to the linkage in an engine or pump. By adjusting the link lengths, I could fine-tune the range and path of the robot’s step, resulting in smoother forward motion and improved stability.

What is the Four-bar Mechanism?

  1. Converts rotary motion to oscillating or different rotary motion (crank–rocker, double‑crank).
  2. Can create approximated straight‑line paths or specific motion curves at points on the coupler link.
  3. Common uses include engine and pump linkages, suspension components, robotic arms, and even biological joints like the knee.(https://engineering.myindialist.com/2009/lab-manual-study-of-inversions-of-4-bar-mechanism-single-and-double-slider-crank-mechanism/)

Pinned Joints:

  • A pinned joint, also called a joint, connects two stiff pieces and lets them rotate around one axis; it blocks all movement in other directions.
  • This kind of joint gives one degree of freedom, which makes it good for things like door hinges or where legs pivot. The joint is made with a bolt or pin that goes through holes in both pieces.
  • A nut holds the pin in place so it does not slide out. The pieces can still spin freely around the pin. The pinned joint or revolute joint connects two parts and allows rotation around a single axis. The pinned joint blocks all translation. This constraint provides one degree of freedom.
  • The one degree of freedom makes the joint ideal for hinges. The pinned joint is ideal for leg pivots. It is made with a bolt, screw, or pin. The smooth bolt or pin passes through a hole in two parts. A nut locks the pin axially, preventing it from sliding out, allowing the parts spin freely around the pin.
  • It constrains motion to exactly one degree of freedom (1‑DOF): pure rotation in one plane around the pin axis.
  • It allows: unlimited rotation (or up to \~180° in practice) around the pin axis, like a door hinge.
  • Blocks: all translation (no sliding) and rotation around any other axis (no twisting or tilting).

Offset Mounting

My third simple mechanism is an offset mounting for the gait. Offset mounting means attaching the servo motor to the robot body or leg frame at a position that is not directly in line with the leg's natural pivot point.

What is offset mounting capable of?

  • This adjustment helps create foot motion by making the most of what the servos can do.
  • For example, if you place the servo 5 millimeters away from the center of the body, on the side above where the leg naturally bends, it allows for bigger steps—but also introduces some imbalance. The servo does not have to turn much, around 10 to 20 degrees, and the foot moves in a curved path. This path travels forward and backward more than it would if the servo were centered on the body. When you lift the knee up, the knee servo is also offset. So a small rotation makes the foot go higher up. The MG90S servos can only turn 180 degrees. Do not have a lot of power. Despite not having a lot of power, they can make the robot take steps that are about 1 to 2 cm long. The robot does not get stuck.

Rigid Frame as a Body

What are the functions of the rigid frame?

  • Coordinates all legs: Every servo shaft remains at the same X and Y coordinate.

Leg pivot pins stay relatively secure as holes are threaded into the fixed plate.

  • Transmits Walking force:

When the leg compresses against the ground, it spreads the force evenly, transferring the force across the entire robot, advancing it.  Flexy frame? A flexible frame would cause the legs fight each other and not transfer force evenly across the body. Stiff Frame? A stiff frame, however, couples the legs together.


How I used these mechanical systems in my CAD

1. Four-Bar Linkages Four-Bar Linkages: The legs use four rigid links represented by: the servo crank, coupler, rocker (shin), and a fixed frame segment as the ground link. CAD defines precise lengths (e.g., thigh 20mm, shin 25mm) with revolute joints; assembly simulation sweeps foot paths for 2cm steps.​ 2. Pinned Joints Holes are modeled at 3.2mm diameter, constraints like "cylindrical mate" simulate 1-DOF rotation; pins (M3×20 bolts) lock axially but allow hinging without bearings. 3. Offset Mounting I implemented servo shafts offset 5 mm laterally from the body centerline. I attached the horn at a 12–15 mm radius for better leverage. Motion studies show about 18 mm of foot travel for a 90° servo swing. 4. Rigid Frame The body plate has holes spaced 25 mm apart to screw in the four servos at the corners, plus raised posts for the leg pivot screws. The plate is designed to be very stiff, so it bends as little as possible.

Variables

1. Controlled Variables (Unchanged)

The production time is a controlled variable (how long it takes to build and 3D print the Sesame Robot).

2. Manipulated Variables (Changed)

The type of power source (power bank or battery) is the manipulated variable for the Sesame Robot.

3. Responding Variables (Results)

How long the Sesame Robot can run, how well it performs its tasks, and how reliable it is with different power sources are the responding variables.

Procedure

1. Learning Arduino My first attempts with Arduino were to read the documents on their website and the PDF provided with the Arduino kit I had bought. My first actual project and learning experience was coding and wiring a stepper motor to move, using an IR (infrared) sensor to control it. Although I fried my Arduino in the process, I learnt a lot and fixed the problem.

2. Finding the Project and buying parts When looking for a project, I had decided beforehand what kind of project I wanted to do. Originally, I considered many different STEM-related projects, but finally decided on one cute, fun, but intuitive project. This project was Sesame, an open-source, hands-on, cute quadruped. Bought all parts needed on Amazon and listed in Dorian Todds github files

3. Designing the CAD When I first tried to make a simple, down-to-earth design that would embody the very basics of the robot made of 2d shapes. Next, I added, measured, and corrected dimensions, including hole sizes and lengths, for the servo shafts. I then proceeded to print and test the "accurate" measurements, which were not very accurate and were a tight fit. After some quick recalculations, I fixed the major problems, added some artistic design choices, and reprinted everything. I also found a lot of problems with the breadboard holder, as the holes didn't align lengthwise. I never fully solved this issue, even after numerous iterations, and brute-forced it in the end.

4. Assemble and Animations This phase was relatively simple, with only one major issue: soldering and trial-and-error during the creation of the walking, climbing, and anyother one. The robot itself required a surprising amount of soldering pins, headers, and wires together, and took many breadboards and attempts. As for animation, Sesame Studio cut down on a lot of time spent rewriting scripts and providing accurate angles, and it was just time-consuming.

5. Experiments and recording data All experiments were conducted in-house and were recorded in a Google Doc.

THAT'S ALL! YOU'RE DONE!

Observations

Robot Observation Log: Sesame Robot Project

Hypothesis:

I predict that my robot will be able to climb small stairs, walk across flat surfaces, and carry light objects in a basket. I think my robot will be able to carry payloads of up to 500-1000 grams and have a battery life of up to 10 minutes per cycle.

  1. My robot is called Sesame.
  2. Dates of the experiments: February 27, March 1, 2, 3, and 4
  3. I tested my Sesame Robot in a room with a flat floor and a small staircase/stool with 3 steps. The step height is up to 3 to 8cm.
  4. I attached a basket to the front or top of my Sesame Robot. Put weights in the basket; the weights were between 100 g and 1000 g.
  5. My Sesame uses 2 Li-ion rechargeable batteries of 700mAh or 3.7v and a 450mAh Li-Po.

*I made sure the battery was fully charged at the start of each test.

Observations

1. Moving on Flat Surfaces:

My robot was able to move on flat surfaces really well; it moved steadily and did not shake. The average speed of my Sesame Robot was around 8-12 or 9.5 cm/s. My Sesame was easy to control and did not tip over. When it carried heavy things, it was a bit harder to steer. When my Sesame Robot carried 1 kg, it moved more slowly. It took longer to respond.

2. Climbing Obstacles:

My Sesame Robot was able to climb various obstacles really well. The first step is 4 cm high, the second step is 6 cm high, and the third step is 8 cm high. When my Sesame Robot tried to climb higher obstacles, the Velcro and hooks ripped, and the servo got a bit strained. The Sesame Robot did best when it carried things, less than 500 g, as it put less pressure on the servo. When reviewing the footage and results, I saw that the weight of the objects my robot carried affected its balance when it climbed obstacles.

3. Carrying Objects:

The robot was able to lift and carry objects that weighed between 250 g and 800 g. When my robot carried things that weighed more than 500 g, it moved more slowly, and it did not go as far. The basket on the Sesame robot stayed stable most of the time.

4. Battery Life:

My Sesame Robot's battery lasted 9-11 minutes with the Li-ion battery and 6-9 minutes with the Li-po battery, which is generally used in fpv drones each time it was used. This is what I thought would happen. When my robot climbed small stairs repeatedly, the battery did not last as long because the servo motor worked harder. It takes approximately 30 minutes to recharge the battery.

5. How My Sesame Robot Did:

  • My robot did best on flat surfaces, as it was stable and did not slip.
  • Sesame was able to climb small stairs, but it had trouble with bigger stairs.
  • Sesame was quite good at carrying things, but only up to a certain weight.
  • To make my robot better, I could use stronger motors and materials to make the claws and foot grip better, or make the battery last longer via a battery with more amperage.
  • My Sesame Robot did what I thought it would do. It moved well on surfaces, carried things that weighed up to around 800 g, and the battery lasted around 10 minutes.
  • The robot was able to climb small "steps", but it had trouble with bigger steps. I think in the future I could optimise and change features in the CAD or design, like using more powerful servo motors, so that my robot will be able to climb stairs.

Analysis

I expected the Sesame robot to be able to:

  • Climb stairs.
  • Walk across surfaces.
  • Carry objects in a basket. The objects should weigh about 500 to 1000 grams.
  • Run for 10 minutes on a single battery charge.

Performance relative to goals


1. Surfaces
  • Robots that do not use tracks usually perform well on flat ground because they do not need extra traction or stability to move.
  • Since the bot moves smoothly and stays in control on surfaces with some obstacles, I've concluded that the robot is very capable.
2. Obstacle climbing
  • Climbing obstacles was a much harder task than moving on the ground.
  • The robot was strong enough to lift itself and anything it was carrying, but struggled greatly with higher loads.
  • Aditionally the robot was able to stay stable on the edge of each step. Many stair-climbing robots use tracks (velcro or adhesive tape) or special parts to help them handle steps and stay balanced. I implemented these devices and found them effective.
  • With these features, the robot can still struggle with large steps or heavy loads. If Sesame can only climb steps or becomes unsteady when carrying heavy items, it needs improvement in stair climbing.
3. Payload capacity
  • The robot’s ability to carry weight is limited by its motor strength and its design.
  • If the robot works better with things on it, like 100 to 500 grams, but not well with heavier things, like 1000 grams, that means it is like other small robots. When they carry a lot, they slow down, use more power, and struggle on hills or stairs.
4. Battery life
  • Small robots like this usually don't run for long. This is especially proven when they do demanding tasks like climbing obstacles or carrying objects.
  • If the robot can run for 10 minutes while performing tasks like driving and climbing, I'd consider that a good result. It'ss normal for the battery to drain faster when the robot climbs often. These tasks will use lots of power.

Limitations and what they suggest

  • Stair height sensitivity: If Sesame can only climb small steps, it means the step height is close to or more than what its wheels, tracks, or legs can manage.
  • Payload vs. Climbing: Carrying objects makes stair climbing harder. This is because it increases the weight and can shift the center of mass. This reduces stability and grip on the steps.
  • Runtime under load: If you notice the battery runs out faster during stair tests, it means the motors use power when climbing. This is common in stair-climbing robots. It shows the trade-off between power, payload, and how long the robot can run.

Possible improvements

Based on research and prototypes of stair-climbing robots, a few changes could help Sesame meet or even exceed your expectations in the following versions:

  • Increase torque or adjust the gearing so the motors can lift the robot and its payload to higher steps.
  • Improve traction by using rubber treads or different wheel materials to help prevent slipping on stair edges.
  • Adjust the weight distribution so the center of mass stays within the support area when climbing with a basket.
  • Optimize power use by choosing the right motors, gearing, and duty cycle. Use a larger battery to extend the 10-minute runtime when carrying heavier loads.

Technical Overview


The Sesame robot is a machine that can move around on its own. It can drive on surfaces and climb small stairs. It can also carry things in a basket on the front or top. The main parts of the Sesame robot are the body, the wheels and motors, the control system, the power source, and the basket. These parts are similar to what you would find in robots that people use to learn about robotics. The body of the Sesame robot is likely made from materials or parts produced by a 3D printer. This helps keep the robot from getting too heavy, which is important because it has to carry things and move around. The wheels and motors are strong enough to move the robot on the ground, but they have to work harder when the robot is climbing stairs. When robots climb stairs, they need to be careful not to fall over. The way the wheels are designed, and the angle at which the robot approaches the stairs, are very important. This is why the Sesame robot can climb stairs but might have trouble with bigger ones. The control system of the Sesame robot has a computer, a motor controller, and some simple sensors. This is similar to what you would find in robots that people use to learn about robotics. The power source is usually a kind of battery that is light and does not cost too much. This means that the robot can only run for a time around 10 minutes before it needs to be recharged. The basket on the Sesame robot is simple. It is very important. If you put too much weight in the basket, it can affect the way the robot moves and make it more likely to fall over. Other robots that can climb stairs have problems, and they often have special arms or bases to help them stay stable. If you notice that the Sesame robot can move around on surfaces but has trouble on stairs when it is carrying a heavy load, that is probably because of the way it was designed. Small robots like the Sesame robot are not meant to carry loads, and they can have trouble on stairs or slopes.

Battery life is 10 minutes

For robots that are still being tested, the amount of time they can run is usually limited. This is especially true when they are doing work, like climbing stairs or carrying heavy loads. If you see that the Sesame robot can only run for 10 minutes or less when it is driving on surfaces and climbing stairs, that is probably normal. If the robot runs out of power faster when it is climbing stairs, that is also normal. When the robot is working harder, it uses power, which means the battery runs out faster.

*Used Grammarly for grammar correction and daily sample thing


BOM Cost

| Component Category | Specific Parts Used | Approx. Cost (CAD) |
| ------------------ | ------------------- | ------------------ |
| Drive motors & gearboxes | 8 × Servo Motor MG90's | $15–$25 |
| Control electronics | Microcontroller, breadboard, and mini ESP32-S2 | $10–$20 |
| Power system | Li‑ion/LiPo battery, charger | $35–$60 |
| Structure | 3D‑printed parts, fasteners | $5–$10 |
| Sensors | IMU, limit switches, basic range sensor(Didn't implement) | $XX–$YY |
| Miscellaneous | Wiring, connectors, hardware | $20–$30 |
| **Total (approx.)** |  | **$175 CAD** |

Conclusion

First, my project's hypothesis was "I predict that my robot will be able to climb obstacles, walk across flat surfaces, and carry light objects in a basket. I think my robot will be able to carry payloads of up to 500-1000 grams and have a battery life of up to 10 minutes per cycle." Throughout this project, I found that what I observed, my robot's actions, clearly contradicted and were unsupported by my data, experiments, and design decisions. A couple of my findings were that across tests on flat surfaces and small stairs, Sesame moved steadily at about 8–12 cm/s, could reliably carry loads up to around 500 g (sometimes up to 800–1000 g but with slower speed and control), and performed best on lighter payloads where it stayed more stable and easier to steer. Battery life matched the hypothesis, with roughly 9–11 minutes on the Li-ion pack and 6–9 minutes on the Li-Po, but frequent stair climbing reduced runtime and exposed limits in the servos and mechanical components when handling higher step counts or heavier loads. I believe I got these results, for better or worse, because of key factors such as sesame's servos, leg design, and center of mass, which were better suited to lighter payloads and flat terrain. Additionally, the servos didn't provide enough torque or stability to consistently climb high or rough obstacles, as well as heavier loads, without slowing down. To elaborate further, results showed that heavier loads and frequent obstacle tests drew substantial power from the batteries, in turn reducing runtime and pushing the mechanical and electrical limits of the robot's components, even though it averaged the predicted 10-minute battery life. "I predict that my robot will be able to climb obstacles, walk across flat surfaces, and carry light objects in a basket. I think my robot will be able to carry payloads of up to 500-1000 grams and have a battery life of up to 10 minutes per cycle." Even though the hypothesis did not align with the results and reality hit hard, I think there is much to improve. If I were to do this again, I would try to improve the quality and quantity of motors, upscale everything in the CAD design, obtain higher-voltage and mAh batteries, and improve cable and wire management, as well as my soldering skills, to achieve stronger results.

Application

Biomimicry

  • The four-legged robot works a lot like animals with four legs in nature.
    1. Both move in similar ways, and Sesame can be programmed to change how it walks, like galloping, walking, or trotting.
    2. They both have knee and shoulder joints.
    3. You can also program Sesame to make small, cute facial expressions like those of little animals.
  • Q:"How does the gait of a four-legged robot affect its energy consumption?"
  • A: Using 8 servos can drain a battery quickly and use a lot of energy in just a few minutes, but it also lets the robot move in many different ways.

Stop-Motion Animation

  • Sesame Studio can do more than just make walking animations. You can also use it to create fun stop-motion animations with moves that use several frames. It can even show you how to break down each step.
  • Q: "How can stop-motion animation principles be used to create complex, repeatable motion in robotics?"
  • A: You can use stop-motion ideas by recording a series of robot poses as frames, timing them carefully, and then playing them back like an animation. This helps the robot make complex, smooth, and repeatable movements.

Sources Of Error

Sources of Error in the Sesame Robot

Sources of error in Sesame can be broken up into 3 categories: mechanical, electrical, and power, and calibration.

1. Mechanical Errors

  • Initially, I designed my robot using CAD. I made my CAD to fit the exact size of every hole. However, the 3D-printed parts were slightly smaller, resulting in a very tight fit. This would affect the link lengths and joint axes, and leave little room for error when building.  This made the parts ineffective, affecting the robots' gait, and caused a deviation from the intended kinematics design.
  • Friction or ground contact on rough or slippery surfaces could affect the outcome of each step, causing imbalance.
  • Structural error can also happen in the robot when under pressure, making the robot flex and bend, leading to indifference in gait.

2. Electrical and Power Errors

  • Voltage sag, which refers to drops in power from one cycle to another, can occur when multiple servos move simultaneously. This reduces servo torque and speed, so joints may stall or move more slowly than expected.
  • Brownouts in the ESP32 Mini, which are triggered by dips in the current, can reset the controller and interrupt actions, especially with staggered movement within the servos.

3. Calibration and Software Errors

  • Mechanics don’t always line up with the CAD. Sometimes, equations in the code are assumed to be exact but don't align with the CAD, when in reality, there are minuscule errors and offsets. One problem is that the servos must be reset manually every time for use, unless per-servo calibration is implemented, as the code assumes they are at a specific angle.
  • Time delays in the code, such as delay(100); or the actual time taken to send commands, can occur because the Arduino code isn’t real-time, but rather depends on the online Wi-Fi speeds and the translation from the Wi-Fi network to the receiver.

elaborate

How to reduce errors

Mechanical: Reprinting critical parts of the robot with tighter tolerances, stiffening links, and ensuring consistent assembly and screw tightness.
Electrical and Power: Use capable buck converters, stagger the servo movements, and use a high-discharge Li-Po battery.
Calibration: implementing a per-servo offset and scale calibration and storing corrections in non-volatile memory.
Software: code gait that doesn't require aggressive torque on the servos, as well as adding simple sensing like IMU(Inertial Measurement Unit) to correct offsets.

Citations

Programs: https://cad.onshape.com, https://www.arduino.cc/en/software/ Sources: https://hackaday.com/2026/01/24/building-a-little-quadruped-robot/, https://www.pcbway.com/project/shareproject/The_Sesame_Robot_Project_3a0ba90f.html Open Source/Inspiration for robot: https://github.com/dorianborian/sesame-robot?tab=readme-ov-file & https://www.youtube.com/watch?v=1UDsWkcQZhc

Acknowledgement

I would like to acknowledge all my mentors, siblings, and parents for helping me along the way while I built my project. I also acknowledge the use of Dorian Todd's open-source document. Firstly, I want to thank my FTC (First Tech Challenge) mentors, Rahul, Dennis, and Jeremy, for teaching me and helping me learn to code and use CAD. Next, my brother Ian for helping debug and fix my CAD and being my emotional support buddy. Finally, my Mom, my Science Olympics teacher Deepti, and my Father, for buying materials, guiding me through my first science project (this one), and explaining/teaching me how to code in Arduino or C++.