maxon epos4 ros1 two motors not working; only one does
Hey there!
Hardware:
- Raspberry Pi 4b
- PiCAN 3 Board
- EPOS4 24/5 CAN
Software:
- Ubuntu Server on the Rpi (Ubuntu 20.04.4 LTS)
- ROS Noetic
- canopen_master 0.8.5
I've been playing around with ros_canopen
and the maxon EPOS4 motor control boards. I've been able to successfully adapt the given examples to my devices and control each of my two motors on the CAN bus separately.
As soon as I combine my scripts and try to launch the two motors (on the same bus, previously working separately without changing anything in the hardware) at the same time, I get the following:
process[canopen_motor-1]: started with pid [1419]
process[controller_spawner-2]: started with pid [1420]
[ INFO] [1658481104.326658296]: Using fixed control period: 0.050000000
[ INFO] [1658481115.202202993]: Initializing...
[ INFO] [1658481115.203113197]: Current state: 1 device error: system:0 internal_error: 0 (OK)
[ INFO] [1658481115.203644624]: Current state: 2 device error: system:0 internal_error: 0 (OK)
[ERROR] [1658481118.629117595]: EMCY received: 82#2081100000000000
[ERROR] [1658481118.634400914]: EMCY received: 81#2081100000000000
[ERROR] [1658481120.716017331]: EMCY received: 82#0000000000000000
[ERROR] [1658481120.721144695]: EMCY received: 81#0000000000000000
[ERROR] [1658481120.769477629]: EMCY received: 81#2081100000000000
[ERROR] [1658481120.872514243]: EMCY received: 82#2081100000000000
[ERROR] [1658481120.914970249]: EMCY received: 82#0000000000000000
[ERROR] [1658481120.920146222]: EMCY received: 81#0000000000000000
[ERROR] [1658481121.269408115]: EMCY received: 81#2081100000000000
[ERROR] [1658481121.571188383]: EMCY received: 81#0000000000000000
[ERROR] [1658481121.619371003]: EMCY received: 81#2081100000000000
[ERROR] [1658481121.771225704]: EMCY received: 81#0000000000000000
[ERROR] [1658481121.872026909]: EMCY received: 81#2081100000000000
[ERROR] [1658481122.018661196]: EMCY received: 81#0000000000000000
[ERROR] [1658481122.069387587]: EMCY received: 81#2081100000000000
[ERROR] [1658481122.269712154]: EMCY received: 81#0000000000000000
[ERROR] [1658481122.274766616]: EMCY received: 82#2081100000000000
[ERROR] [1658481122.514578470]: EMCY received: 82#0000000000000000
[ERROR] [1658481122.854771367]: EMCY received: 81#0000000000000000
[ERROR] [1658481122.881717171]: EMCY received: 82#0000000000000000
[ INFO] [1658481122.885817557]: Initializing successful
Loaded '/canopen_motor/joint_state_controller'
Loaded '/canopen_motor/baserot_joint_position_controller'
Started ['/canopen_motor/joint_state_controller'] successfully
Started ['/canopen_motor/baserot_joint_position_controller'] successfully
[ERROR] [1658481123.721672724]: EMCY received: 81#2081100000000000
[ERROR] [1658481123.754417805]: Node has emergency error
[controller_spawner-2] process has finished cleanly
log file: /home/ubuntu/.ros/log/49704bc6-099b-11ed-94ca-072a3caf4f29/controller_spawner-2*.log
[ERROR] [1658481158.722504156]: EMCY received: 82#2081100000000000
The EMCY Errors mean "CAN passive Mode", which seems to be due to bad wiring. But, as I said, when controlling one of the motors separately, I don't even get buffer overflows anymore.
Question: What are other possible reasons for this? I've lowered my CAN-Bus bitrate to 50K, I set the joint_state_controller
rate to 5Hz even...
Here are my config files: node_layer.yaml:
# struct syntax
nodes:
node1:
id: 1
name: gelenk1_joint
eds_pkg: gelenkarm_maxon # optionals package name for relative path
eds_file: "config/Gelenk.dcf" # path to EDS/DCF file
node2:
id: 2
name: baserot_joint
eds_pkg: gelenkarm_maxon # optionals package name for relative path
eds_file: "config/Base.dcf" # path to EDS/DCF file
defaults: # optional, all defaults can be overwritten per node
# eds_pkg: my_config_package # optional package name for relative path
# eds_file: "my_config.dcf" # path to EDS/DCF file
# dcf_overlay: # "ObjectID": "ParameterValue" (both as strings)
# "60C2sub1": "10"
# "6060": "1"
# "6098": "0" # No homing ...
Hello, have a good day. I am a junior in college.I am also working on a related project. Hardware:Raspberry Pi 4b+Ubuntu20.04(noetic)+cando+EPOS Compact50/8CAN I am interested in ros, but lack project experience.I want to use ros_canopen,epos_hardware and steer_drive_ros.To go for maxon motor control,but I haven't implemented the most basic communication control.I hope to communicate with you about how to achieve.