Skip to content

Efficient software security to prevent motor overheating #132

Open
@show0k

Description

@show0k

As explained in #27, Dynamixel motors have a temperature security in firmware which disable the motor in case of overheating ; but this is not working very well. @matthieu-lapeyre added a "temperature monitoring" primitive in Poppy Humanoid, which simply check if a motor is higher than a certain temperature and in case of dangerous temperature it trigged an alarm sound in the robot and display message in the standard output with logger.WARNING.

It works better than the Dynamixel one, but:

  • it is simply an information for the user. If the user don't read the standard output and have unplugged the speaker of the robot, no action will be made
  • this primitive use only the current value of the present_temperature to trigger the alarm. The temperature sensor sadly far from the motor in the MX28 or MX64, so the motor can burn with a 50°C viewed temperature from the sensor in in the board...

I suggest to add a smarter (easy to say) and proactive security loop which can be modified by each motors as a register.

Rather than just monitoring the current present_temperature, we could monitor the speed of the present_temperature changes, and the load.

It is not an easy task because many factors can change the interpretation of the raw datas. It is between signal processing and machine learning (we should burn lot of motors and monitor their temperature to have a good dataset ?).

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions