Code Monkey home page Code Monkey logo

Comments (4)

schodet avatar schodet commented on September 5, 2024 1

This is done by the firmware, you can find the related code in https://git.ni.fr.eu.org/nxt-firmware.git/tree/AT91SAM7S256/Source/d_output.c?h=1.29.2

For a differential drive robot, what I find is the best method is to control the sum and the difference of the tacho of the two motors. The sum controls linear movement while the difference controls angular movement. This allows to drive really straight.

If you change MotorControl to implement this, that would be great!

I suppose you have this yet: https://github.com/schodet/MotorControl

from nxt-python.

tsampazk avatar tsampazk commented on September 5, 2024 1

I suppose you have this yet: https://github.com/schodet/MotorControl

Yes i have been using MotorControl for some days now! It is indeed really useful for precise motor control.

Thank you very much for the information, i will be working on this in the following weeks.

If you change MotorControl to implement this, that would be great!

I will try to make something generic that might be useful for motor control and if so i will contribute to the repository!

from nxt-python.

schodet avatar schodet commented on September 5, 2024

I do not think that MotorControl support the turn ratio. This would be an interesting feature to add.

You can use nxt.motor.SynchronizedMotors, but the regulation is not that good. Give it a try.

from nxt-python.

tsampazk avatar tsampazk commented on September 5, 2024

Thank you!

To be honest, I would prefer to have precise control of the motors, that's why i went with motcont. I am trying to find a way to implement a turn ratio, i will share the results if it works well. If it doesn't, i will probably revert to doing simple turns by using only one motor each time or use nxt.motor.SynchronizedMotors.

If it isn't too much trouble, could you provide a general high level explanation of how turn ratio is implemented in nxt.motor.SynchronizedMotors? By examining the code i can only get to the point where the turn ratio is passed in the state? Is it handled internally in the nxt somehow?

from nxt-python.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.