Can Not Ready Error [closed]
Hello,
I am using the SV2D10-C-CE canopen controller from Applied Motion: https://www.applied-motion.com/produc...
After performing the configuration of the motor parameters with their supplied software, i am attempting to control it through ros-canopen. I made sure to provide the EDS that reflects the parameters in the controller; namely, the PDO mappings (communication and mapping params). The following is the error i am getting from the terminal, when the init service is called.
[ INFO] [1578942089.030965037]: Using fixed control period: 0.010000000
[ INFO] [1578942098.869938415]: Initializing XXX
FAILED system:100
[ERROR] [1578942098.905976794]: CAN not ready
Did not receive a response message
state is 255
[ERROR] [1578942109.890241883]: CAN not ready; not operational; CAN not ready
And on the service client side, i receive:
success: False
message: "could not reset node '1'"
The part that says "state is 255", i am printing myself by adding the following to line 153 in node.cpp
std::cout << "state is " << state_ << std::endl;
I see that state 255 corresponds to "unknown", which is concerning, and suggests that the communication between the controller and the ros-canopen is somehow going wrong. A few details about the controller i am using:
SV200 servo drivesare compliant to CiA 301 and CiA 402 and uses the CAN 2.0B passive physical layer.
Is the ros-canopen driver programmed to support CAN 2.0B physical layer? I am aware that 2.0B protocol uses 29 bit CAN-ids, as opposed to the 11 bit CAN-ids that protocol 2.0A uses.
Can this be the problem?
Id like to add, i have been using this driver for years with CanOpen controllers that use the 2.0A protocol, which is leading to suspect that this may be the issue here
Cross-post of ros-industrial/ros_canopen#376.
both thread have been closed as cross-post but none with solution ?
The OP closed both by himself. I don't know why.
He should've decided which one he wanted to keep open, and close the other one.
Not close both.