Forum Replies Created
FindingNiryoParticipantMay 17, 2019 at 5:56 pmPost count: 105
Looking at NiryoStepper code shows Initialize MCP2515 running at 16MHz with a baudrate of 1000kb/s
each stepper is transmitting 800 bits per second position data, 32 bits per second diagnostic data, and 12.8 bits per second firmware version.
hw_write_frequency; // 200 Hz (reset to 50 Hz by ROS param) sends for each motor:
synchronizeSteppers() 1600 bits/sec
sendPositionCommand() 3200 bits/sec
sendMicroStepsCommand() 1600 bits/sec
sendMaxEffortCommand() 1600 bits/sec
Total bus traffic 8844.8 bits/second per (3) stepper in NiryoOne V2 = 26.5344 Kbits (2.6% of bus bandwidth)
There should be no significant collisions on the CAN bus with this little amount of traffic.
If “CAN connection problem” is due to hardware errors from connectors perhaps lower the CAN bus speed to CAN_200KBPS
I also suggest reading and reporting MCP_CAN::errorCountRX() and MCP_CAN::errorCountTX()FindingNiryoParticipantMay 17, 2019 at 1:44 pmPost count: 105
Support, thank you for your assistance in trying to resolve this problem.
After receiving the reconditioned arm and upgrading the firmware on stepper 1 to version 2.0 I booted the robot and established wifi connectivity (switched from hotspot mode). I performed an automatic calibration and let the robot sit. Within 1 hour there was one CAN bus error. within seven hours the CAN bus errors triggered a “calibration required” condition.
Here is the log:
[2019-05-16 14:59:21] Writing calibration offsets to file : 3:558 2:987 1:596
[2019-05-16 14:59:21] Resume can hw control
[2019-05-16 14:59:21] CAN : Start hardware control loop
[2019-05-16 15:51:50] CAN connection problem with motor 1, hw fail counter : 0
[2019-05-16 15:51:50] CAN connection problem with motor 1, hw fail counter : 1
[2019-05-16 15:51:50] CAN connection problem with motor 2, hw fail counter : 0
[2019-05-16 15:51:51] CAN connection problem with motor 2, hw fail counter : 1
[2019-05-16 15:51:51] CAN connection problem with motor 2, hw fail counter : 0
[2019-05-16 21:39:11] CAN connection problem with motor 1, hw fail counter : 0
[2019-05-16 21:39:11] CAN connection problem with motor 3, hw fail counter : 0
[2019-05-16 21:39:12] CAN connection problem with motor 3, hw fail counter : 1
[2019-05-16 21:39:12] CAN connection problem with motor 3, hw fail counter : 2
[2019-05-16 21:39:12] CAN connection problem with motor 3, hw fail counter : 3
[2019-05-16 21:39:12] DXL : Start hardware control loop
[2019-05-16 21:39:13] Stop Can hw control
[2019-05-16 21:39:13] CanComm : Stop hardware control loop
[2019-05-16 21:39:13] Set calibration flag
[2019-05-16 21:39:13] CAN : Start hardware control loop
[2019-05-16 21:39:13] DXL : Start hardware control loopFindingNiryoParticipantMay 8, 2019 at 1:06 pmPost count: 105
Ah, of course! I hadn’t considered the gear reductions. Thank you.
Looking to minimize the human interactions with the robot I would still like to avoid calibration if possible.
Suppose the reported position for joints is not significantly different than before the bus is reset it would be safe to assume that the positions were correct and that calibration was not needed.
FindingNiryoParticipantMay 2, 2019 at 4:14 pmPost count: 105
- This reply was modified 6 months, 1 week ago by FindingNiryo.
This behavior seems to be related these Troubleshooting › topics:FindingNiryoParticipantMay 2, 2019 at 4:05 pmPost count: 105FindingNiryoParticipantMay 2, 2019 at 3:56 pmPost count: 105FindingNiryoParticipantMay 2, 2019 at 3:52 pmPost count: 105
Is this something the Niryo staff will look to optimize in order to improve the performance of the arm?FindingNiryoParticipantApril 26, 2019 at 4:33 pmPost count: 105
Software reset should include reset for Dynamixel errors
XL protocol supports Instruction to reboot the device (which clears hardware error codes)
Reboot Instruction Packet
H1 H2 H3 RSRV ID LEN1 LEN2 INST CRC1 CRC2
0xFF 0xFF 0xFD 0x00 0x01 0x03 0x00 0x08 0x2F 0x4E
ID 1 Status Packet
H1 H2 H3 RSRV ID LEN1 LEN2 INST P1 CRC1 CRC2
0xFF 0xFF 0xFD 0x00 0x01 0x04 0x00 0x55 0x00 0xA1 0x0CFindingNiryoParticipantApril 26, 2019 at 4:16 pmPost count: 105
Yes. The command line tools allowed successful modification of the PID parameters. I have not attempted to tune the controllers to improve xl430 performance beyond verifying that changes to registers result in expected behavior. I was hoping Niryo staff would optimize these parameters in order to improve the performance of the arm.FindingNiryoParticipantApril 24, 2019 at 4:21 pmPost count: 105FindingNiryoParticipantApril 24, 2019 at 3:46 pmPost count: 105
Any advances being made in this area? Does the Niryo team have some improvements coming for joint 4,5 position accuracy?FindingNiryoParticipantApril 24, 2019 at 3:41 pmPost count: 105
There are no cable issues. The robot at rest spontaneously triggers a NiryoStepper bus reset and requires re-calibration. I originally asked if the NiryoStepper firmware incorporated random back-off to accommodate occasional bus collisions. Is this an area of research for your team?FindingNiryoParticipantApril 24, 2019 at 3:37 pmPost count: 105FindingNiryoParticipantApril 24, 2019 at 3:35 pmPost count: 105
Am I the only one getting these errors? Is anyone able to get the arm to consistently perform a sequence of positions for more than a few minutes?FindingNiryoParticipantApril 17, 2019 at 4:07 pmPost count: 105
Gripper 3 would provide a 3-4 point grasp which may increase the holding strength on 150 gram stones, but the gripper closes with a scissor action which may push away a glossy sphere if approaching horizontal to the ground plane. An additional consideration is that (when open) gripper 3 is over 150mm which may interfere with other stones if they are placed closely to one another.