Forum Replies Created

Viewing 15 posts - 1 through 15 (of 61 total)
  • Author
    Posts
  • FindingNiryo
    Participant
    Post count: 91
    in reply to: Move Pose error #5357

    Thank you. When is V 2.2.0 scheduled for release?

    FindingNiryo
    Participant
    Post count: 91

    Stepper #1 is the worst case scenario as far as multiple rotations (each rotation has a chance to return the same absolute position code).
    V2 stepper_1
    Gear Ratio 6.0625
    Min angle -3.05433
    Max angle 3.05433
    radians 6.10866
    rotations 5.894104573

    If the last known position is within +/-.011757 radians of the current position there is a 98% chance the joint has not moved and does not need to be recalibrated to establish joint position.

    • This reply was modified 2 weeks, 5 days ago by  FindingNiryo.
    • This reply was modified 2 weeks, 5 days ago by  FindingNiryo.
    FindingNiryo
    Participant
    Post count: 91

    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.

    niryo_one_driver/src/hw_comm/can_communication.cpp
    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()

    FindingNiryo
    Participant
    Post count: 91

    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 loop

    FindingNiryo
    Participant
    Post count: 91

    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.

    • This reply was modified 2 months, 1 week ago by  FindingNiryo.
    FindingNiryo
    Participant
    Post count: 91
    FindingNiryo
    Participant
    Post count: 91

    I have reached out to technical support but not received a response.

    FindingNiryo
    Participant
    Post count: 91

    Are you able to reproduce this behavior?

    FindingNiryo
    Participant
    Post count: 91

    Is this something the Niryo staff will look to optimize in order to improve the performance of the arm?

    FindingNiryo
    Participant
    Post count: 91

    Software reset should include reset for Dynamixel errors
    XL protocol supports Instruction to reboot the device (which clears hardware error codes)
    Example ID1(XM430-W210)
    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 0x0C

    FindingNiryo
    Participant
    Post count: 91

    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.

    FindingNiryo
    Participant
    Post count: 91
    in reply to: Move Pose error #5107

    Move Pose (0,0.257,0.1,0,0,0.157)
    yields Y axis error of 7mm
    x : 0.000
    y : 0.250
    z : 0.100

    FindingNiryo
    Participant
    Post count: 91

    Any advances being made in this area? Does the Niryo team have some improvements coming for joint 4,5 position accuracy?

    FindingNiryo
    Participant
    Post count: 91

    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?

    FindingNiryo
    Participant
    Post count: 91

    Using remote “reset” does not clear Dynamixel or NiryoStepper error conditions (over temp, overload, etc.). The power switch must be manually cycled on the robot itself to clear these conditions.

Viewing 15 posts - 1 through 15 (of 61 total)