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

akosodry's profile - activity

2023-01-08 12:13:13 -0500 received badge  Notable Question (source)
2022-12-12 16:15:31 -0500 received badge  Famous Question (source)
2021-12-06 09:09:25 -0500 marked best answer ROS_canopen correct PDO mapping + EDS modifications?

Hello!

I have the following setup: Microchip CAN BUS Analyzer + Delta ASDA A2 motor driver + ECMA AC servo motor Later there will be more motors and drivers, but now the goal is to control a single motor in ROS. Of course, i both read all the information in wiki.ros and followed all the relevant questions here in the forum, but still my setup is not working, so here i am and would like to ask the parts that are fuzzy.

Quickly i summarize what i've done: (, even though these steps are listed in most of the forum questions and answers, see jdeleon's question or Mathias Lüdtke's answer)

  1. I set up the ASDA motor driver to CANopen mode, + Node id to 1, + Baudrate to 500 kBps + Sync (see the link: CANopen manual on page 7)
  2. SocketCAN is set up, running
  3. URDF is written containing 2 links (base_link, link_1 with visual geometry, collision and inertial tags) + a revolute joint (name:joint_1 with limits, and parent child links) + a transmission(tran1: SimpleTransmission, PositionJointInterface). The URDF was tested in rviz with the joint_state_publisher slider it worked as expected.
  4. EDS file: This file was given by the manufacturer (EDS file)
  5. I configured the CANopen bus layer, however i don't know if the heartbeat part is necessary or not (in some forum answers i saw that it was commented out)? (can.yaml)
  6. i configured the Motor settings and the Node layer with name:joint_1, id:1 (manipulator1d_motors.yaml) however i dont't know what should be the default switching state? (is the default 5, i.e., quick stop ok?)
  7. Controller config file containing the joint_state_controller and a joint_1_position_controller (type: position_controllers/JointPositionController, joint: joint_1, required_drive_mode: 1) (manipulator1d_controller.yaml)
  8. Launch file containing robot_description urdf, robot_state_publisher node, joint_state_publisher node, rviz node, + canopen_motor_node with loading the aforementioned can.yaml and manipulator1d_motors.yaml files + load of the controller yaml file, + controller_spawner node with the spawning of the aforementioned controllers
  9. rosservice call /driver/init

Of course, in the 9th step the service call crashed, with the messages:

first terminal:

[ INFO] [1529055659.976854113]: Using fixed control period: 0.010000000
[ INFO] [1529055664.213323688]: Initializing XXX
[ INFO] [1529055664.213611131]: Current state: 1 device error: system:0 internal_error: 0 (OK)
[ INFO] [1529055664.213834181]: Current state: 2 device error: system:0 internal_error: 0 (OK)
EMCY: 81#4154201300000000
[ERROR] [1529055667.444154070]: Throw location unknown (consider using BOOST_THROW_EXCEPTION)
Dynamic exception type: boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<boost::lock_error> >
std::exception::what: boost: mutex lock failed in pthread_mutex_lock: Invalid argument
illegal tranistion 0 -> 2
[ INFO] [1529055667.496812113]: Current state: 0 device error: system:0 internal_error: 0 (OK)
[ INFO] [1529055667.496986914]: Current state: 0 device error: system:0 internal_error: 0 (OK)

second terminal:

success: False
message: "Throw location unknown (consider using BOOST_THROW_EXCEPTION)\nDynamic exception\
\ type: boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<boost::lock_error>\
\ >\nstd::exception::what: boost: mutex lock failed in pthread_mutex_lock: Invalid\
\ argument\n; Could not set transition"

So at this point i started to read everything and dig into the details. More or ... (more)

2021-11-07 07:22:02 -0500 received badge  Popular Question (source)
2021-11-06 13:07:53 -0500 commented question ur_calibration results in different robot pose in ROS than in reallity

@gvdhoorn Hi! I updated the post with two more poses, and i recognized some joint offsets. Can you check the update? Tha

2021-11-06 13:07:01 -0500 edited question ur_calibration results in different robot pose in ROS than in reallity

ur_calibration results in different robot pose in ROS than in reallity Hi ROS community. I've already asked this questio

2021-11-03 04:15:26 -0500 commented question ur_calibration results in different robot pose in ROS than in reallity

@gvdhoorn thank you for the comments. Yes I have all zeros at the TCP configuration. But I will check the Base view as w

2021-11-03 03:06:57 -0500 edited question ur_calibration results in different robot pose in ROS than in reallity

ur_calibration results in different robot pose in ROS than in reallity Hi ROS community. I've already asked this questio

2021-11-02 12:09:34 -0500 edited question ur_calibration results in different robot pose in ROS than in reallity

ur_calibration results in different robot pose in ROS than in reallity Hi ROS community. I've already asked this questio

2021-11-02 12:07:58 -0500 asked a question ur_calibration results in different robot pose in ROS than in reallity

ur_calibration results in different robot pose in ROS than in reallity Hi ROS community. I've already asked this questio

2021-05-04 10:32:06 -0500 received badge  Famous Question (source)
2021-04-02 08:53:21 -0500 received badge  Notable Question (source)
2021-04-02 08:53:21 -0500 received badge  Popular Question (source)
2021-03-13 14:47:35 -0500 asked a question hector_quadrotor how to supply joint states?

hector_quadrotor how to supply joint states? Hi, I have calculated a time array of XYZ RPY data, which i would like to

2021-02-05 03:42:12 -0500 received badge  Famous Question (source)
2021-02-05 03:42:12 -0500 received badge  Notable Question (source)
2021-02-05 03:42:12 -0500 received badge  Popular Question (source)
2020-11-09 02:55:49 -0500 received badge  Famous Question (source)
2020-10-01 23:37:54 -0500 received badge  Nice Question (source)
2020-09-28 20:36:12 -0500 received badge  Famous Question (source)
2020-09-28 12:43:15 -0500 received badge  Famous Question (source)
2020-09-28 12:43:11 -0500 received badge  Famous Question (source)
2020-04-27 21:26:17 -0500 received badge  Notable Question (source)
2020-04-27 21:26:17 -0500 received badge  Famous Question (source)
2020-03-18 10:48:47 -0500 asked a question tf falls into pieces after spawn in Gazebo

tf falls into pieces after spawn in Gazebo Hello, i am trying to model the so-called vertical plotter (XY plotter) in G

2020-03-02 23:16:44 -0500 received badge  Famous Question (source)
2020-02-13 10:22:37 -0500 received badge  Famous Question (source)
2019-12-28 04:22:40 -0500 marked best answer ros_canopen interpolated position mode, time period?

Hello,

I'm driving three servos in interpolated position mode via the ros_canopen package. Everything works quite smoothly, only sometimes i get couple of [ WARN] RPDO timeout messages which not always (but sometimes) results in EMCY in the motor drivers.

I suspect, that something is wrongly set up in the interpolation mode (since before, when i drove the motors in profile position mode, i did not have the above issue).

There are two parameters, namely 60C2sub1 and 60C2sub2 which defines the period of interpolation. In my case 60C2sub2=-3, which means that the interpolation time will be 1 ms.

Then there is the 60C2sub1object, which defines

the rate in which target commands are sent by the host to the drive.

In my case, 60C2sub1=10, since the my yaml file i have sync: interval_ms: 10.

I want to ask, if the aforementioned parameters are set correctly? I am communicating on 500kbps with the drives.

Should i increase the sync? What do you recommend?

Thanks in advance.

2019-12-11 10:15:33 -0500 received badge  Famous Question (source)
2019-12-09 05:55:12 -0500 received badge  Notable Question (source)
2019-12-04 07:18:08 -0500 received badge  Famous Question (source)
2019-12-04 07:18:08 -0500 received badge  Notable Question (source)
2019-12-04 04:03:26 -0500 received badge  Popular Question (source)
2019-12-04 03:53:33 -0500 received badge  Popular Question (source)
2019-12-04 03:53:33 -0500 received badge  Notable Question (source)
2019-12-04 00:09:27 -0500 received badge  Popular Question (source)
2019-12-04 00:09:27 -0500 received badge  Notable Question (source)
2019-12-04 00:09:27 -0500 received badge  Famous Question (source)
2019-11-15 03:27:05 -0500 received badge  Famous Question (source)
2019-11-15 03:27:05 -0500 received badge  Notable Question (source)
2019-11-06 09:28:47 -0500 received badge  Famous Question (source)
2019-11-06 09:25:31 -0500 received badge  Notable Question (source)
2019-10-27 08:21:32 -0500 received badge  Popular Question (source)
2019-10-27 08:21:32 -0500 received badge  Notable Question (source)
2019-10-21 09:18:36 -0500 received badge  Favorite Question (source)
2019-10-18 02:53:09 -0500 received badge  Notable Question (source)
2019-10-18 02:53:09 -0500 received badge  Famous Question (source)
2019-10-18 02:53:09 -0500 received badge  Popular Question (source)
2019-10-17 06:05:01 -0500 received badge  Famous Question (source)
2019-09-29 03:40:17 -0500 commented question imu complementary and madgwick filter outputs skewed north

Hello @wintermute, did you find the answer for Q1? Thanks in advance.