ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
0

Why canopen_motor_node exit code -6?

asked 2021-06-21 09:08:12 -0500

yezi gravatar image

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!

edit retag flag offensive close merge delete

1 Answer

Sort by » oldest newest most voted
1

answered 2021-06-22 11:22:23 -0500

Mathias Lüdtke gravatar image

updated 2021-06-22 11:33:07 -0500

From your log:

terminate called after throwing an instance of 'boost::wrapexcept<boost::property_tree::ptree_bad_path>'
what():  No such node (11)

This does not have anything to do with ROS nodes or CAN nodes, but with a node that is is missing in a Boost property tree. The latter is used by canopen_master to parse the EDS/DCF file.

So something is wrong in that file. Unfortunately the parser does not report any context (yet?).

Please check your file with CANeds, if possible.

edit flag offensive delete link more

Comments

You are right! Thanks.

yezi gravatar image yezi  ( 2021-06-25 05:04:57 -0500 )edit

Question Tools

3 followers

Stats

Asked: 2021-06-21 09:08:12 -0500

Seen: 238 times

Last updated: Jun 22 '21