help me Project build humanoid robot

Hi everybody,
Sorry my english not good,
I'm a robot enthusiast and I want to create bipedal robots.
I want to create a robot that is 1.65m tall and weighs 65kg.
I am not specialized in this field,
Through research and research, I chose to use stepper motors, driver , and use arduino serial connection and linux mini pc to control
Ignoring the code on the mini pc, I want to ask about whether the hardware principle to control the engine is okay?
Mini pc -> usb switch -> arduino nano-> driver -> stepper motor (1 arduino control 1-2 motor)
Arduino -> as5600 like encoder (pid control)
Arduino -> mpu 6050

  1. I want to ask if hardware like this can be used build a bipedal robot like a humand, there are problems with the motor control, such as feedbackfrom the sensor, latency, accuracy ... ?
  2. I see humanoid robot lola they use ether cat connection, not use usb
    Currently, I only do the hardware and mechanical design. After completing, I install the programming and control circuit
  3. I have a problem I don't know how to handle
    that is the position of the motor during the power failure
    With encoder and home button, it is possible to count and know motor position
    but when the power is lose and the motor is moved, for example when the robot is standing when power is on, and then the power off, the robot falls down, the motor position will change, how i know when the power is restored, i know the position of motor, to calculate the number of steps the motor will need to move

I know my project may not be complete
because it's quite difficult
But I love it, I love the process of learning and testing new things

Thank you for your help

this picture is my design, all motor are inside the body

This will be an extremely challenging project.

What experience of Arduinos and motors and control system do have?

...R

pvd276:
Mini pc -> usb switch -> arduino nano

I think this may be a problem. The USB port on Arduinos is for programming, not for HID I/O.

My approach would be for each servo to have its own microcontroller like the ESP8266 and communicate with a master controller using i2c or CANbus.

Two words come to mind.
Latency, and Synchronisation.

Keep these in mind from Day One, and you’ll be halfway there.

For power-off positioning, look into ‘absolute’ encoders, or calibration cycles after power is reapplied.

Remember Linux is not a real-time OS by default, it’s a great supervisor for complex operations. You need to keep this in mind for those two words up top.

This will be an extremely challenging project.

What experience of Arduinos and motors and control system do have?

... R

I have not had much experience
After studying, I also had quite a lot of experience
I think it's just similar to a robot arm, but instead of an arm it is more articulated and it will be much more complicated.

I have refer to this niryo one open source project, which is a very good reference

I think this may be a problem. The USB port on Arduinos is for programming, not for HID I / O.

My approach would be for each servo to have its own microcontroller like the ESP8266 and communicate with a master controller using i2c or CANbus.

usb port on arduino that can be used to transmit data
yes, i am wondering between using canbus or using direct searial
Each coupling (DOF) has 1 motor + 1 microcontroller, 1 driver motor, 1 encoder sensor
if using canbus, there will be more canbus circuit to transmit data via 2 wires CANH and CANL connect arduino via SPI
I refer to project niryo one and also plan to use SAMD21 chip, maybe ESP8266 is a good choice too

Two words come to mind.
Latency, and Synchronization.

Keep these in mind from Day One, and you’ll be halfway there.

For power-off positioning, look into ‘absolute’ encoders, or calibration cycles after power is reapplied.

Remember Linux is not a real-time OS by default, a great supervisor for complex operations. You need to keep this in mind for those two words up top.

Thank you, I think the latency is still acceptable, since the robot doesn't have to operate at high speed either
after learn I found 2 connecting systems are CAN BUS and EtherCAT
Ethercat very low latency less than 1 micro second is usually used for real-time systems, But the cost seems high, maybe I choose, using MCP2515 to connect arduino with SPI communication, CAN bus latency is about 150 micro second (theoretically)

I'd suggest you start with just a pair of legs and hips. Nothing more of a body on top of that. That'd be enough to keep you busy for the upcoming several years.

Or keep it "easy" on yourself and start with a four legged thingy so at least you have one thing, and it's a biggie, less to worry about: balance.

Hi,
Can I suggest you look through the YouTube of this channel.
James Bruton, he has a lot of videos on control and balance of robots as well as open sourced code and 3D printables.
For what you want to do, you may need a faster CPU than the 16MHz 328.

Tom.... :slight_smile:

I also suggest a basic (legs+hip) robot for implementation of balancing on two feet. Also add a sufficiently powerful (heavy) battery and, if that works, a dummy weight for the remainder of the body. Eventually study 2-wheel hoverboard or segway projects for balancing a biped robot in general.

Stepper motors are a poor choice for robots, consuming too much energy for low force. Better use geared DC motors which as servo motors are very easy to control.

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.