First off - I have a confession to make that I had some time adversities due to illnesses in my house so I'm quite late in writing up the blogs and completing the challenge. However, I would say that I am only completing the blogs and as far as the challenge is concerned, I would fully abide by the organisers decision. With that said, here is what I had proposed for my part of the challenge.
Project: Dance and Yoga companion
Aim: Build a robot that can dance or do yoga poses when commanded to.
Objectives:
-
Design a mechanical frame and kinematics to allow human-like movements (using limbs, joints and waist).
-
Write C++ code with objects/functions that will take in properties of a joint and allow position control of it. This will then be instantiated and used multiple times to do either dance or yoga poses.
-
Integrate electronics for individual joints and tune them appropriately.
-
Write several dance move sequences using functions that will take in all joint position demands and execute them sequentially to create dance moves.
-
Write several yoga pose sequences using functions that will take in all joint position demands and execute them accordingly to create yoga poses.
-
Test the dance and yoga sequences.
Project plan:
In this project, I will be designing a human-like robot structure that will have following joints,
2 shoulders each 1DOF,
1 waist 2DOF,
2 legs each 1DOF at knee.
I will be using Arduino Uno board as a main controller board which will execute all commands according to selected functions (i.e., dance or yoga). These commands will be sent to DRI0009 Expansion Board and DRI0039 Quad DC Motor Driver Shield to drive the motors to move the joints to their desired positions. I will use rest of the accessories available to create easy access connections for peripheral devices. I will use contact relay to cut off power to the motors but allow rest of the system to function, i.e., sensing and control algorithm through Arduino Uno. I will source a suitable battery to supply power to the electronics as well actuators/effectors. Additionally, I have several DC motors and encoders to use for the effectors which I will be using in this project. I have noticed that there are some pins (digital pins 4, 5, 6 from Arduino) that both shields use so there will be a challenge in stacking them up. However, I will consider using relays to switch either the motors or the shields, depending on the performance of the tests that I will do after getting the kit. The main performance indicator would be less delay in execution of commanded position after switching the motor or shield. There will be contingency where I will stack those shields but use two motors at the base instead of knee joints to move the robot in desired direction. Other possibility for contingency would be to control two joints in synchronised way because same pins are used in both shields for same functionality. For example, the motor speed control via Arduino pin 5 will be executed via both shields. However, this will be less preferred because of variability in dynamic characteristics of different joints. Finally, I will be writing blogs along the way and at least 1 blog per objectives that I have set out in this project. I have mechatronics background and experience especially in control systems field which will be required in this project. I am excited to apply my skills and experience to create a functional prototype using the kit and solve some challenges along the way, too!
After getting selected for the challenge, I had a rethink if I should do dance and yoga both, which would be like two projects in one. So, in this series, I have focused on the yoga part only.
In the next blog, I will show what I have done for one of the joints - an arm/leg.