0
$\begingroup$

Rosanswers logo

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

bus:
  device: vcan0
  master_allocator: canopen::SimpleMaster::Allocator
sync:
  interval_ms: 10
  overflow: 0
heartbeat:
  rate: 100 # simple heartbeat producer, optional!
  msg: "77f#05" # message to send, cansend format: heartbeat of node 127 with status 5=Started
nodes:
  node1:
    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 http://192.168.12.107:38425/

SUMMARY
========

PARAMETERS
 * /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

NODES
  /
    canopen_chain (canopen_chain_node/canopen_chain_node)

auto-starting new master
process[master]: started with pid [12845]
ROS_MASTER_URI=http://192.168.12.107:11311

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


Originally posted by Dizett on ROS Answers with karma: 3 on 2018-02-14

Post score: 0


Original comments

Comment by Mathias Lüdtke on 2018-02-14:
roslaunch --screen should give you more error output.

Comment by Dizett on 2018-02-14:
I added the output

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

With https://github.com/ros-industrial/ros_canopen/pull/258 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.


Originally posted by Mathias Lüdtke with karma: 1596 on 2018-02-14

This answer was ACCEPTED on the original site

Post score: 1


Original comments

Comment by Dizett on 2018-02-14:
Yes! Thank you! Python quietly works with .eds files even with incorrect "ObjectType,DataType, AccessType ", but ROS is picky.

Comment by Mathias Lüdtke on 2018-02-14:
Just because I care about type safety at protocol level ;)

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.