To Makeblock support:
- it will also be helpful if I can get the current or voltage levels so that it can allow users to insert enhanced PID controller, as Makeblock PID controller does not do it. That can definitely be the cause of the big error margin.
The error margin unfortunately is not linear, it ranges from 7.5% (with .5 rotation) to 2.5% (with 256 rotations). Again, user can work on to enhance your PID… but without access to the motor current or battery voltage, the solution will never be a robust one. If your current motor driver cannot give you such information, I truly think MB needs to come up with an alternative to give users a choice the alternative to buy; especially for someone who are looking to migrate off from LEGO Mindstorms. Their motor PID controller produces much more robust result as it takes the motor current into consideration.
To AntonBom -
yea… we are ultimately inline with the same ideas in technical aspect.
Again, I use the word “hack” in the context of “measurement taken right out of the default Ranger bot which Makeblock advertised”.
Take the LEGO Mindstorms motor and their firmware as a comparison; as MakeBlock sells it Ranger targeting the similar age group. The mindstorms PID Controller works quite nicely - with negligible error margin. Now, with this Ranger, I am just testing it with exact build right out of the box - even without load. If the product is targeted for the younger crowd ( I mean age 10 -13), the PID controller will need to be more accurate with the basic robot configuration “given to customers”.
Now, of course, if one changes the configuration (the robot), that’s when we should expect more variance. That’s when the lesson of learning PID controller comes in. But, the current error margin is from exact the same build out of what they advertise simply should only be about 1%. Why? It is because Makeblock should have at least tested their PID Controller with the basic build - the Ranger and should have been targeted with smaller error margin.
Now, if it is the battery running low, the makeblock library should have encountered for that too. Looking at their codes, it does not look like they do. That’s probably the reason why it is off so much! They should fix it.