NameNetIDSection
Dawei Xiongdaweix3ECE 110
Xiping Sunxipings2ECE 110


Statement of Purpose

Our inspiration comes from Boston Dynamics where they build the robot dog that move fast and jump over the obstacles (also AT-AT walker from the star war). This robot dog demonstrates its real world application in all sorts of real life scenarios. For example, medical aid where the dog can transport the wounded from one place to another place. The robot dog contains medical part where each of its leg is powered by two servo and also the part where the movement of the servo is controlled. Based on this idea, we want to build a robot that move on its four legs. 

Background Research

Please provide details on the background research your group has done for your project. Explain what drives you to work on this project and/or why this project is important. Also include discussions on any similar projects your group have looked at in coming up with your project. How is your proposed project different or similar to those your group have looked at. 

Block Diagram / Flow Chart

The overall design of the robot dog

System Overview

The diagram above demonstrate the overall design of the robot dog.

Our control over the robot dog is through raspberry pi which is connected to the servo motor driver. The raspberry pi pass over the control signal to the servo motor driver and the servo motor drivers control the legs. Each leg is powered by three motors. One motor controls the horizontal movement of the entire leg, the other two legs control two ankles of the legs. There will be two battery set. The first set supply power to the raspberry pi and the other power set provide power to the eight servos. 

Parts



1 x Raspberry Pi 4balready got
1 x Connection Boardalready got
1 x Raspberry Pi 4b Battery Power Supply30$
8 x Servo for Leg Control
1 x Servo for Camera Control
20$
lots of jump wirealready got
1 x Camera & Camera Cable (if we finish doing the mechanical part, we will consider add some visual control functionality)N/A
1 x 3D Printing Material10$

1 x MakerFocus PWM Servo Motor Driver IIC Module 16 Channel PWM Outputs

12.99$
Estimated Total Budget:

73$

Possible Challenges

  • How to coordinate each leg so that the AT-AT can walk in straight line.
  • How to use the camera to distinguish a color mark
  • How to let the walker make the corresponding turn

References

https://web.wpi.edu/Pubs/E-project/Available/E-project-042717-152039/unrestricted/MQP_RoboDog_Final_Report.pdf


Project Progress


Final Video: 

Final Design Report: AT-AT Star Walker

(Group 55)

Abstract

   As a lab group, we faced a lot of engineering problems throughout the whole semester. One of the challenges we would like to examine further is the process of building a spider-shape robot with 4 legs. This device is required to keep standing up, moving straight and stop under the control of coding in Raspberry Pi. We need to use a combination of servo, 3D print body with legs, and the coding in Python. There will be 8 servos on our robot: 4 upper ones and 4 on the bottom of the legs. The whole body of our 4-leg-spider robot is built under 3D print. We will draw the design of our spider and then print the body and legs of it. Also, we need servo to control its moving actions, like standing statically and moving forward. We will use Python to write code to control the servo so that we can verify our robot working properly.

Introduction

At first, we decided to build a 4-leg dog, but in that case, we will need 3 servos on each leg. And it is very hard for us to control its action with three servos, therefore, we simplify the robot and change our original idea into building a 4-leg spider, which only needs 2 servos on each leg. We split this construction of spider into 3 parts.

We will build the body using 3D print technology. We will design the body of the robot to be a platform with servo control board plugging in and the connection parts with four legs and the Raspberry. And the foot of the spider will include a whole for the servo to be plugged in. Also, there will be a connection part between the body and the foot with the purpose of plugging in the other servos for the spider which is controlled by the Raspberry.

https://www.163.com/dy/article/G014DNHJ0511D0C3.html

https://shumeipai.nxez.com/2019/09/19/scoutbot-pi-bot-with-camera.html

 

And we need to use the servo control board with a special kind of chip to provide the proper PWM wave the control the servo so that it can turn into the correct angle and the spider can keep standing and try to move forward then. The servo has its own control circuit and after it receives a specific signal, it will turn into the proper angle. That’s the reason why it is so wildly used in robots, airplanes, and cars. We can use the PCA9685 chip to control multiple servos and the angle a servo turns can be controlled by the length of a pulse signal which can be controlled by the duty cycle of the PWM wave. Also, we can transform the signals from one device to another using the I2C in GPIO of the Raspberry.

https://cloud.tencent.com/developer/article/1602882

https://tech.iotcomeon.com/2020/08/tech/develop/2298/

 

(python)

 

 

Body of Walker

      We first design the spider’s body, legs connection and foot. In this part of the project, we looked up a lot of pictures of the current 4-leg robot on the Internet. But somehow, they look a little difficult for us to build, especially we need a lot of parts to build, and it include so much knowledge related to mechanical engineering which we are not familiar with. Finally, we decide to use 3D print to build the body, leg connection and the foot of our spider. During our design, we first measure all the length and width of every part of the server. Then, we try to make a restriction for the server to be plugged in tightly, so that it can keep static when moving. After that, we design the leg connection to combine the body and the foot of our spider.

                                                      

                                                        Figure (1): Foot of the Spider

                                  

                                    Figure (2): Leg Connection of the Spider

                                              

                                                Figure (3): Platform of the Spider

 

Server Connected
        The servo has three pins: Vcc Gnd and PWM. We should control a PWM wave with proper duty cycle so that this wave can control the servo to turn the proper angle. But actually, the change of the angle is controlled by the length of the pulse signal., which is the time, for the moving distance of the motor that controls the servo will increase as the distance increases while decreases as the distance decreases.  And the control signal can be produced by the Raspberry Pi to the PWM and after adjusting the duty cycle of the PWM wave, we can control the length of the pulse in which case we can control the angle that the servo will change.

                        

                                              

                                                    Figure (4): Three Pins of the Servo

                                 

 

                                                 

                                                    Figure (5): Time of Pulse with Angle

                           

                                                    Figure (6): Inner Construction of a Servo

      Then we try to use the PCA9685 chip to control multiple servos, for we need 8 servos in total. In this case, we will need an extra servo control board armed with the PCA99685 chip. The NXPs’ chip uses the I2C which can produce 20 PWM signals in a single port. Also, we will use the GPIO (General Purpose Input Output) on the Raspberry Pi to connect the servo control board. What needs to mention is that I2C is widely used in transferring data, for it only needs two lines to achieve mounting multiple slave devices and two-way transmission, which is very suitable for transferring control signal and data with small quantities. GPIO with I2C is a very general way used in data transmission. By the way, the servo control board will use extra electricity to supply its power, which will be 5 volts. And we can use 9 to 5 volts converter in the ECE 110 final project to achieve that.

                 

                                                   Figure (7) Raspberry Pi’s I2C Pin

Python Code

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Conclusion and Future

       In short, with the 3D print and design, we can build up the body of our spider: its foot, legs connection, and its platform body. With the servo control, we can make the servo turn into a propter angle. And by adjusting the 8 servos together, we can achieve the basic functions of a robot: stand, move forward and stop. Also, with the Python code, we can control the angle and other action of our spider.

                                             

                                                  Figure (8): Overall System Building

What we have achieved:

     A spider robot can keep standing, move forward and stop.

Challenges we have faced:

     The connection to the Raspberry Pi

     The adjustment of 8 servos

     The difficulties to write code in Python

     The limited  servo dimensions of each leg of the spider

What we failed:

     Achieve the visual function because the camera for the Raspberry failed to arrive on time

     In the future, we will add more function to our robot spider. For example, we can add an ultrasonic sensor, so that the robot can avoid obstacles when moving forward. We can also add a camera on its heard so that the robot can achieve the function of observing and vision imaging. In this case, we can also make the robot visual monitoring the area around it, which can be used in more places in the future.

                                                            

                                            Figure (9): Add a Camera to the Spider

Reference

Figure (4):

https://cloud.tencent.com/developer/article/1602882

 

Figure (5):

https://cloud.tencent.com/developer/article/1602882

 

Figure (6):

https://cloud.tencent.com/developer/article/1602882

 

Figure (7):

https://www.qutaojiao.com/9523.html

 

Figure (9):

https://ic-item.jd.com/10041671831758.html

 

 

 

 





Attachments:

Comments:

Hey! Seems like you are missing a bit of detail in your proposal regarding "Possible Challenges". Also, how are you planning on powering all of the servos? Keep in mind the requirement for 110 students to include a sensor of some sort!

Posted by dbycul2 at Sep 25, 2021 21:04

Approved as group #55

Posted by dbycul2 at Oct 14, 2021 18:03