Sign in to follow this  
Jonas

A question to understand Pybrick control class settings(EV3)

Recommended Posts

Hi, this question could be most probably answered by David Lechner.

In my EV3 project, I was trying to increase the speed of the robot gripper movements. It is controlled by a medium EV3 motor and set as follows:
motorGrip = Motor(Port.B, positive_direction=Direction.COUNTERCLOCKWISE, gears=[1,24])

Increasing the speed value in the statement
motor[m].run_target(speed,...)
does not help when a certain speed level is reached. From the documentation I understand that this threshold level is set by the statement
motor.control.limits())

So I tried this:

print (motor['Grip'].control.limits())   
motorTestRunTarget ('Grip', doReset=False, waitTime=1000, safetyFactor=1)
motor['Grip'].control.limits (35, 67, 100)
motorTestRunTarget ('Grip', doReset=False, waitTime=1000, safetyFactor=1)
sys.exit ()

The first line prints these values: (33, 67, 100). The second line is executed well, but the third one where I try to increase (only slightly) the speed limit, rises Error:
File "/home/robot/Client/main.py", line 111, in <module>
OSError: [Errno 1] EPERM:

Is there anything wrong in the way I try to use the control settings? And another question: how the internal speed limit is set? Does it depend on the used motor (medium, large) or on the specified gear rates, is it based on a safety factor?
When I tried to calculate the physical speed limit from the known revolution/s (260 for medium motor), I got a value which is larger than that read in the above piece of program.

Edited by Jonas

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.