User Manual Typo
User Manual Typo
There appears to be a typo in the roboclaw user manual.
For command 61 it shows the parameter order is D, P, I, ... when I believe it should be P, I, D.
For command 61 it shows the parameter order is D, P, I, ... when I believe it should be P, I, D.
Code: Select all
61 - Set Motor 1 Position PID Constants
The RoboClaw Position PID system consist of seven constants starting with P = Proportional, I=
Integral and D= Derivative, MaxI = Maximum Integral windup, Deadzone in encoder counts,
MinPos = Minimum Position and MaxPos = Maximum Position. The defaults values are all zero.
Send: [Address, 61, D(4 bytes), P(4 bytes), I(4 bytes), MaxI(4 bytes),
Deadzone(4 bytes), MinPos(4 bytes), MaxPos(4 bytes), CRC(2 bytes)]
- Basicmicro Support
- Posts: 1594
- Joined: Thu Feb 26, 2015 9:45 pm
Re: User Manual Typo
The manual is correct. It is a hold over from a long time ago. Setting the motor PID was DPI, while reading the PID values was PID.
In the arduino library we rearranged the arduino function order so it was also PID to hide this but the actual packet serial command is still in the DPI order.
In the arduino library we rearranged the arduino function order so it was also PID to hide this but the actual packet serial command is still in the DPI order.
Re: User Manual Typo
OK I see now, sorry. The manual is different than the Python library I was using, but the internal call does in fact match the manual.
Maybe someone else will see this and think to check the function parameters instead of manual parameters.
Maybe someone else will see this and think to check the function parameters instead of manual parameters.
Code: Select all
def SetM1PositionPID(self,address,kp,ki,kd,kimax,deadzone,min,max):
return self._write4444444(address,self.Cmd.SETM1POSPID,long(kd*1024),long(kp*1024),long(ki*1024),kimax,deadzone,min,max)
Re: User Manual Typo
Another issue I found on page 95/96.
The Packet Serial commands 52 and 53 both specify that the Accel values are 2 bytes.
After a lot of frustration, I read through some of the provided libraries and found them to be 4 bytes.
Related, is the accel value range which says it is between 0 and 655359 which is also wrong.
The Packet Serial commands 52 and 53 both specify that the Accel values are 2 bytes.
Code: Select all
Send: [Address, 52, Duty(2 bytes), Accel(2 Bytes), CRC(2 bytes)]
Receive: [0xFF]
Related, is the accel value range which says it is between 0 and 655359 which is also wrong.
- Basicmicro Support
- Posts: 1594
- Joined: Thu Feb 26, 2015 9:45 pm
Re: User Manual Typo
Thanks for the information. I've added it to our User Manual Todo.