Why canopen_motor_node exit code -6?
Following is error messages:
... logging to /home/yezi/.ros/log/9e36ffdc-d293-11eb-8b13-1b6b86e4542a/roslaunch-yezi-RedmiBook-16-30579.log
Checking log directory for disk usage. This may take a while.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.
started roslaunch server http://yezi-RedmiBook-16:35423/
SUMMARY
========
CLEAR PARAMETERS
* /canopen_motor/
PARAMETERS
* /canopen_motor/bus/device: can1
* /canopen_motor/bus/driver_plugin: can::SocketCANInt...
* /canopen_motor/bus/loopback: False
* /canopen_motor/bus/master_allocator: canopen::SimpleMa...
* /canopen_motor/nodes/test_joint/eds_file: config/NiMotion_P...
* /canopen_motor/nodes/test_joint/eds_pkg: liaoqiayuan_base
* /canopen_motor/nodes/test_joint/id: 1
* /canopen_motor/nodes/test_joint/motor_allocator: canopen::Motor402...
* /canopen_motor/nodes/test_joint/motor_layer/switching_state: 5
* /canopen_motor/sync/interval_ms: 20
* /canopen_motor/sync/overflow: 0
* /controller/joint_state_controller/publish_rate: 50
* /controller/joint_state_controller/type: joint_state_contr...
* /robot_description: <robot name="test...
* /rosdistro: noetic
* /rosversion: 1.15.11
* /socketcan_bridge/can_device: can1
NODES
/
canopen_motor (canopen_motor_node/canopen_motor_node)
controller_spawner (controller_manager/spawner)
socketcan_bridge (socketcan_bridge/socketcan_bridge_node)
auto-starting new master
process[master]: started with pid [30588]
ROS_MASTER_URI=http://localhost:11311
setting /run_id to 9e36ffdc-d293-11eb-8b13-1b6b86e4542a
process[rosout-1]: started with pid [30598]
started core service [/rosout]
process[canopen_motor-2]: started with pid [30606]
process[socketcan_bridge-3]: started with pid [30607]
process[controller_spawner-4]: started with pid [30608]
[ INFO] [1624281702.847232272]: Successfully connected to can1.
terminate called after throwing an instance of 'boost::wrapexcept<boost::property_tree::ptree_bad_path>'
what(): No such node (11)
[canopen_motor-2] process has died [pid 30606, exit code -6, cmd /opt/ros/noetic/lib/canopen_motor_node
/canopen_motor_node __name:=canopen_motor __log:=/home/yezi/.ros/log/9e36ffdc-d293-11eb-8b13-1b6b86e4542a /canopen_motor-2.log].
log file: /home/yezi/.ros/log/9e36ffdc-d293-11eb-8b13-1b6b86e4542a/canopen_motor-2*.log
[INFO] [1624281703.132125]: Controller Spawner: Waiting for service controller_manager/load_controller
[controller_spawner-4] killing on exit
[socketcan_bridge-3] killing on exit
[WARN] [1624281711.357496]: Controller Spawner couldn't find the expected controller_manager ROS interface.
[rosout-1] killing on exit
[master] killing on exit
shutting down processing monitor...
... shutting down processing monitor complete
done
I notice that there have a No such node
when canopen_motor_node died.But I don't know why.
Following is my config file:
bus:
device: can1 # socketcan network
loopback: false # socket should loop back messages
driver_plugin: can::SocketCANInterface
master_allocator: canopen::SimpleMaster::Allocator
sync:
interval_ms: 20 # set to 0 to disable sync
# update_ms: <interval_ms> #update interval of control loop, must be set explecitly if sync is disabled
overflow: 0 # overflow sync counter at value or do not set it (0, default)
nodes:
test_joint:
id: 1
eds_pkg: liaoqiayuan_base # optionals package name for relative path
eds_file: "config/NiMotion_PMM60B_V1.07.eds" # path to EDS/DCF file
motor_allocator: canopen::Motor402::Allocator # select allocator for motor layer
motor_layer: # settings passed to motor layer (plugin-specific)
switching_state: 5 # (Operation_Enable), state for mode switching
Please tell me possible reasons.Thanks!