Motor synchronization
See original GitHub issueThere’s discussion that has been happening in https://github.com/ev3dev/ev3dev/issues/454 and https://github.com/ev3dev/ev3dev/issues/853 around synchronization of motors, mainly for wheeled robots. While kernel support for “proper” synchronization is not going to be arriving for a while, I think it’s reasonable to implement this as best as possible in this library and adapt to the kernel model later.
I’m thinking that a MotorPair
class which operates on given motor objects and/or port names would be reasonable as a Python implementation. It would be nice to provide functions for steering, potentially similar to the EV3-G functions.
Thoughts?
Issue Analytics
- State:
- Created 7 years ago
- Comments:12 (7 by maintainers)
Top Results From Across the Web
How to Synchronize Motors with Encoder Feedback | Dynapar
Learn how to sync multiple motors with encoder feedback connected to a single or multiple drives to achieve velocity, angle or torque matching....
Read more >Synchronous motor - Wikipedia
A synchronous electric motor is an AC electric motor in which, at steady state, the rotation of the shaft is synchronized with the...
Read more >Easily Synchronize Speeds of Multiple Motors
There are a variety of ways to synchronize the speed of multiple motors. In this blog post, we will explain another advantage of...
Read more >electric motor - Synchronous motors | Britannica
A synchronous motor is one in which the rotor normally rotates at the same speed as the revolving field in the machine. The...
Read more >Synchronous Motors | AC Motors | Electronics Textbook
Synchronous motor efficiency is higher than that of induction motors. A synchronous motor can also be smaller, especially if high energy permanent magnets...
Read more >
Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free
Top Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
+1 for this. In openroberta I first set all attributes and then start the motors like this: https://github.com/OpenRoberta/robertalab-ev3dev/blob/develop/roberta/ev3.py#L374 which is a pita.
@ddemidov maybe you are thinking of TankWebHandler in https://github.com/rhempel/ev3dev-lang-python/blob/develop/ev3dev/webserver.py , specifically around line 500 where it is starting two motors but with different speeds in order to turn the tank? This was the tank that uses a web interface with a little “joystick” dot that you move around inside a larger circle to control the speed/direction of the tank.