Post Reply 
 
Thread Rating:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
motor acceleration
10-06-2017, 11:54 AM
Post: #1
motor acceleration
Hi,
Because I think the B-Robot Evo2 is a very good solution, I have construct an own robot similar to that of JJRobots. I don't need a ready widget, I want to understand how it works. So I bought
only the motors, drivers and the wheels from JJRobots.

The stability is good with my construction, but I can't use the motor acceleration.
I must use "= stabilityPDControl" in place of "+= stabilityPDControl" else "control_output" will be +/-500 (no smaller values). But without this motor acceleration the running qualities of the robot are bad: slow/sluggish, fall over, doesn't stop promtly.

What do I wrong?

-Accordingly to my construction, especially the positioning of the gyro-
sensor, I have to invert the motor directions, that means
CLR(PORTB, 4) instead of SET(PORTB, 4) and so on.
(inverting the motor plugs is possible too).
-Microstepping 16.
-Tests with or without PDpositionControl.
-Increasing of the motor current limit (pot at the driver board) yields no
success.
-I use the Software-Vers. 2.82, Updated 25/06/2017 from github,
exclude the Wifi and servo parts.
-At the moment no use of Wifi, instead a bluetooth app.
-Running control via the throttle variable (or direct in motor1/2
variable).

Hope, anybody can help me.

Best Regards, vanDijk
Find all posts by this user
Quote this message in a reply
10-07-2017, 08:38 PM
Post: #2
RE: motor acceleration
(10-06-2017 11:54 AM)vanDijk Wrote:  Hi,
Because I think the B-Robot Evo2 is a very good solution, I have construct an own robot similar to that of JJRobots. I don't need a ready widget, I want to understand how it works. So I bought
only the motors, drivers and the wheels from JJRobots.

The stability is good with my construction, but I can't use the motor acceleration.
I must use "= stabilityPDControl" in place of "+= stabilityPDControl" else "control_output" will be +/-500 (no smaller values). But without this motor acceleration the running qualities of the robot are bad: slow/sluggish, fall over, doesn't stop promtly.

What do I wrong?

-Accordingly to my construction, especially the positioning of the gyro-
sensor, I have to invert the motor directions, that means
CLR(PORTB, 4) instead of SET(PORTB, 4) and so on.
(inverting the motor plugs is possible too).
-Microstepping 16.
-Tests with or without PDpositionControl.
-Increasing of the motor current limit (pot at the driver board) yields no
success.
-I use the Software-Vers. 2.82, Updated 25/06/2017 from github,
exclude the Wifi and servo parts.
-At the moment no use of Wifi, instead a bluetooth app.
-Running control via the throttle variable (or direct in motor1/2
variable).

Hope, anybody can help me.

Best Regards, vanDijk

=================

Perhaps I have solved this problem myself.
My robot can only start in a correct upright position, in other positions
the motors work with max. speed and I can't slow down.
I have to insert the raise up procedure yet, if necessary starting from very small control parameters.

For now the robot runs fine and compensates an unbalanced load,
more tests required

The best model I have ever had ! Thanks to JJRobots Smile
Find all posts by this user
Quote this message in a reply
10-08-2017, 04:23 PM
Post: #3
RE: motor acceleration
Well, good to know! (and thank you for your words). If you need help, can you send photos to understand your set-up easily? ;-)
Visit this user's website Find all posts by this user
Quote this message in a reply
10-22-2017, 08:12 PM
Post: #4
RE: motor acceleration
(10-08-2017 04:23 PM)jpedroc Wrote:  Well, good to know! (and thank you for your words). If you need help, can you send photos to understand your set-up easily? ;-)


Hello,
because I have (yet) no servo + arm, it's necessary to raise up the robot manual, 50° or so. A little additional code was required in order that the robot comes steady and smooth to a standstill and to balance.
With accurate optimal parameter settings, but close by jjrobots, my robot drives fine now too (without the OSC and ESP things I get another sampling time dt).
I think it works without the MPU6050_calibrate routine, preparation time is shorter then, ... or is there another cause and it must be?
What's about this positionPDControl(), I haven't understand it? When I want to drive a specific distance, the program code must poll, if a desired steps-difference has been reached - then stop.

Best Regards vanDijk
Find all posts by this user
Quote this message in a reply
10-26-2017, 12:56 PM
Post: #5
RE: motor acceleration
The calibration procedure can be (as you suggest) removed after an initial calibrationn stage. But be careful changing the B-robot centre of gravity if you are not going to re-calibrate the robot every time you start it up.
positionPDControl(): this part was introduced to control the accuracy of the B-robot movement when traveling a distance. As the B-robot is not a 4 wheels car which can stop anytime (the B-robot has to keeps its balance so minor movements have to be made in order to keep the stability even after reaching the destination) the positionPDControl() is a need. I do not know if I am explaining myself here :-)
Visit this user's website Find all posts by this user
Quote this message in a reply
Post Reply 


Forum Jump:


User(s) browsing this thread: 1 Guest(s)