Ask Your Question

canopen chain node exit with error code -11

asked 2018-02-14 04:08:05 -0500

Dizett gravatar image

updated 2018-02-14 06:28:23 -0500

When I run the canopen_chain_node's chain the launch with the following yaml file:

  device: vcan0
  master_allocator: canopen::SimpleMaster::Allocator
  interval_ms: 10
  overflow: 0
  rate: 100 # simple heartbeat producer, optional!
  msg: "77f#05" # message to send, cansend format: heartbeat of node 127 with status 5=Started
    id: 1
    eds_file: /home/user/eds/phyPS409Y.eds

I get the following the in logs:

# roslaunch --screen canopen_chain_node chain.launch 
... logging to /home/turtle1/.ros/log/d83321c8-1182-11e8-9307-c8ff284dfc57/roslaunch-turtle1-12835.log
Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

started roslaunch server


 * /canopen_chain/bus/device: vcan0
 * /canopen_chain/bus/master_allocator: canopen::SimpleMa...
 * /canopen_chain/heartbeat/msg: 77f#05
 * /canopen_chain/heartbeat/rate: 100
 * /canopen_chain/nodes/node1/eds_file: /home/user/eds/ph...
 * /canopen_chain/nodes/node1/id: 1
 * /canopen_chain/sync/interval_ms: 10
 * /canopen_chain/sync/overflow: 0
 * /rosdistro: kinetic
 * /rosversion: 1.12.12

    canopen_chain (canopen_chain_node/canopen_chain_node)

auto-starting new master
process[master]: started with pid [12845]

setting /run_id to d83321c8-1182-11e8-9307-c8ff284dfc57
process[rosout-1]: started with pid [12858]
started core service [/rosout]
process[canopen_chain-2]: started with pid [12869]
terminate called after throwing an instance of 'boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<boost::property_tree::ini_parser::ini_parser_error> >'
  what():  /home/user/eds/phyPS409Y.eds: cannot open file
[canopen_chain-2] process has died [pid 12869, exit code -6, cmd /opt/ros/kinetic/lib/canopen_chain_node/canopen_chain_node __name:=canopen_chain __log:=/home/turtle1/.ros/log/d83321c8-1182-11e8-9307-c8ff284dfc57/canopen_chain-2.log].
log file: /home/turtle1/.ros/log/d83321c8-1182-11e8-9307-c8ff284dfc57/canopen_chain-2*.log

But other .eds files work. This topic did not solve my problem. I'm using the latest version of canopen_chain_node.

Eds file on github

edit retag flag offensive close merge delete



roslaunch --screen should give you more error output.

Mathias Lüdtke gravatar image Mathias Lüdtke  ( 2018-02-14 04:33:12 -0500 )edit

I added the output

Dizett gravatar image Dizett  ( 2018-02-14 06:22:39 -0500 )edit

1 Answer

Sort by » oldest newest most voted

answered 2018-02-14 06:56:58 -0500

Mathias Lüdtke gravatar image

updated 2018-02-14 07:16:04 -0500

With merged (2 hours ago), you will get

terminate called after throwing an instance of 'canopen::ParseException'
  what():  Type of 0x6005 does not match or is not supported

Datatype 1 (1 bit Boolean) is not supported by ros_canopen.

Update: I have added an issue.

edit flag offensive delete link more


Yes! Thank you! Python quietly works with .eds files even with incorrect "ObjectType,DataType, AccessType ", but ROS is picky.

Dizett gravatar image Dizett  ( 2018-02-14 08:09:43 -0500 )edit

Just because I care about type safety at protocol level ;)

Mathias Lüdtke gravatar image Mathias Lüdtke  ( 2018-02-14 08:29:41 -0500 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools



Asked: 2018-02-14 03:55:38 -0500

Seen: 349 times

Last updated: Feb 14 '18