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

mtROS's profile - activity

2021-05-19 01:31:37 -0500 received badge  Notable Question (source)
2021-05-10 05:25:46 -0500 asked a question move_group access to desired joint values

move_group access to desired joint values Hy there, I was wondering if it would be possible to access the desired joint

2021-04-19 18:35:28 -0500 received badge  Popular Question (source)
2021-04-19 04:35:23 -0500 commented question Remote debugging of ROS-nodes with IDE

That is all setup. I think it is very convenient to use an IDE for debugging, to set breakpoints, see memory contents, s

2021-04-19 03:35:50 -0500 asked a question Remote debugging of ROS-nodes with IDE

Remote debugging of ROS-nodes with IDE Hy there, since I am intensively working with mobile manipulators recently, I wa

2021-02-18 07:19:14 -0500 commented answer End-effector jumping about erratically with MoveIt

I might have another hint, why your issue may happen. Try to change the kinematics solver, i observed similar issues whe

2021-02-04 15:10:53 -0500 received badge  Student (source)
2020-12-18 13:38:19 -0500 marked best answer command igus-dryve with canopen_motor_node

Hy there,

i am trying to implement a controller for a igus-dryve motor drive on ros-kinetic. I am using canopen and the ros_canopen package to communicate over a sysWORXX USBCanmodule 1 with the igus-dryve and have everything setup properly (stepper motor in closed loop beeing controllable over the igus webinterface and set to accept CANopen communication which is wired correctly).

Calling rosservice call /joint/driver/init works fine, axis gets reset, return is True and the ros-controllers are loading.

Here comes my issue:

  1. How do I actually move/command the motor? By setting the actual values of the Object by rosservice call /joint/driver/setObject ? Or does the canopen_motor_node take care of all the communication in order to drive the motor? In that case how do I forward a positioning command? I tried to call rostopic pub /lifter_ros/lifter_joint_position_controller/command std_msgs/Float64 "data: 1.0" but no reactions.
  2. Additionally i was thinking about if ros_control is really needed in my use-case? igus-dryve already performs a closed-loop control so isn`t ros_control a layer ontop and too much?

Please find attached my controller config:

joint_state_controller:
  type: joint_state_controller/JointStateController
  publish_rate: 50
lifter_joint_position_controller:
  type: position_controllers/JointPositionController
  joint: lifter_joint
  required_drive_mode: 1

And my node layer:

name: igus-dryve 

defaults:
  eds_pkg: lifter_ros
  eds_file: "config/igus_dryve_D1.eds" #electrical desciption file of igus dryve

  #the following scaling is due to 16bit value range limitation of velocity command in vl mode (2)
  #vel_to_device: "rint(rad2deg(vel)*250)"
  #dcf_overlay: # "ObjectID": "ParameterValue" (both as strings)
  #  "604Csub1": "1" # vl dimension factor numerator
  #  "604Csub2": "24000" # vl dimension factor denominator
#defaults: # optional, all defaults can be overwritten per node
  # canopen_chain_node settings ..
  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
  pos_to_device: "rint(rad2deg(pos)*1000)" # rad -> mdeg
  pos_from_device: "deg2rad(obj6064)/1000" # actual position [mdeg] -> rad
  vel_to_device: "rint(rad2deg(vel)*1000)" # rad/s -> mdeg/s
  vel_from_device: "deg2rad(obj606C)/1000" # actual velocity [mdeg/s] -> rad/s
  eff_to_device: "rint(eff)" # just round to integer
  eff_from_device: "0" # unset
nodes:
  lifter_joint:
    id: 2

and my launchfile:

?xml version="1.0"?>
<launch>
  <!-- send urdf to param server -->
  <param name="robot_description" command="cat '$(find lifter_ros)/urdf/lifter.urdf'" />
  <!-- robot state publisher -->
  <node ns="lifter_ros" pkg="robot_state_publisher" type="robot_state_publisher" name="robot_state_publisher">
      <param name="publish_frequency" type="double" value="50.0" />
      <param name="tf_prefix" type="string" value="" />
      <!--remap from="joint_states" to="/arm/joint_states"/-->
  </node>

  <node ns="lifter_ros" name="driver" pkg="canopen_motor_node" type="canopen_motor_node" output="screen" clear_params="true" launch-prefix="">
     <rosparam command="load" file="$(find lifter_ros)/config/CANopen_layer.yaml" />
     <rosparam command="load" file="$(find lifter_ros)/config/node_layer.yaml" />
  </node>
  <!-- controllers -->
  <rosparam ns="lifter_ros" command="load" file="$(find lifter_ros)/config/dryve_controller.yaml" />
 <!-- start_controllers -->
  <node ns="lifter_ros" name="lifter_ros_controller_spawner" pkg="controller_manager" type="controller_manager" args="spawn joint_state_controller" respawn="false" output="screen"/>
</launch>

I would highly appreciate your help!

Thanks

EDIT Regarding the controllers: The output says the controller ... (more)

2020-10-05 04:00:26 -0500 received badge  Good Answer (source)
2020-09-01 23:37:50 -0500 received badge  Famous Question (source)
2020-06-09 01:42:20 -0500 received badge  Famous Question (source)
2020-06-09 01:28:20 -0500 received badge  Nice Answer (source)
2020-03-16 19:57:25 -0500 received badge  Famous Question (source)
2020-01-13 08:15:51 -0500 received badge  Famous Question (source)
2019-12-02 08:03:50 -0500 received badge  Notable Question (source)
2019-10-22 23:33:31 -0500 received badge  Famous Question (source)
2019-10-11 20:59:42 -0500 received badge  Famous Question (source)
2019-09-09 04:48:13 -0500 received badge  Notable Question (source)
2019-08-27 10:06:00 -0500 edited question set inputs of UR5 from ur_modern_driver

set inputs of UR5 from ur_modern_driver Hello community, is it possible to set Inputs of the UR5 trough ROS by using th

2019-08-27 10:03:31 -0500 edited question set inputs of UR5 from ur_modern_driver

set inputs of UR5 from ur_modern_driver Hello community, is it possible to set Inputs of the UR5 trough ROS by using th

2019-08-27 09:50:33 -0500 edited question set inputs of UR5 from ur_modern_driver

set inputs of UR5 from ur_modern_driver Hello community, is it possible to set Inputs of the UR5 trough ROS by using th

2019-08-27 06:57:26 -0500 commented answer set inputs of UR5 from ur_modern_driver

we are currently trying to make it work, but if you have time that would be awesome....thank you!

2019-08-27 03:05:02 -0500 edited question set inputs of UR5 from ur_modern_driver

set inputs of UR5 from ur_modern_driver Hello community, is it possible to set Inputs of the UR5 trough ROS by using th

2019-08-27 03:04:07 -0500 edited question set inputs of UR5 from ur_modern_driver

set inputs of UR5 from ur_modern_driver Hello community, is it possible to set Inputs of the UR5 trough ROS by using th

2019-08-27 02:56:06 -0500 received badge  Popular Question (source)
2019-08-26 10:36:56 -0500 edited question set inputs of UR5 from ur_modern_driver

set inputs of UR5 from ur_modern_driver Hello community, is it possible to set Inputs of the UR5 trough ROS by using th

2019-08-26 05:42:24 -0500 commented answer set inputs of UR5 from ur_modern_driver

Hy, unfortunately also setting flags does set any inputs on the ur controller, also if i set to "remote control". (I che

2019-08-23 04:48:26 -0500 edited question set inputs of UR5 from ur_modern_driver

set inputs of UR5 from ur_modern_driver Hello community, is it possible to set Inputs of the UR5 trough ROS by using th

2019-08-23 04:47:54 -0500 asked a question set inputs of UR5 from ur_modern_driver

set inputs of UR5 from ur_modern_driver Hello community, is it possible to set Inputs of the UR5 trough ROS by using th

2019-08-20 06:46:25 -0500 received badge  Famous Question (source)
2019-07-31 02:35:23 -0500 received badge  Popular Question (source)
2019-07-30 09:35:43 -0500 received badge  Notable Question (source)
2019-07-30 09:19:59 -0500 edited question canopen_motor_node not sending position commands

canopen_motor_node not sending position commands Hy there, I already adressed my issue in this question but the track o

2019-07-30 09:19:27 -0500 edited question canopen_motor_node not sending position commands

canopen_motor_node not sending position commands Hy there, I already adressed my issue in this question but the track o

2019-07-30 09:12:51 -0500 edited question canopen_motor_node not sending position commands

canopen_motor_node not sending position commands Hy there, I already adressed my issue in this question but the track o

2019-07-30 09:12:05 -0500 edited question canopen_motor_node not sending position commands

ros_canopen_motor_node not sending position commands Hy there, I already adressed my issue in this question but the tra

2019-07-30 09:08:23 -0500 edited question canopen_motor_node not sending position commands

ros_canopen_motor_node not sending position commands Hy there, I already adressed my issue in this question but the tra

2019-07-30 09:07:40 -0500 edited question canopen_motor_node not sending position commands

ros_canopen_motor_node not sending position commands Hy there, I already adressed my issue in this question but the tra

2019-07-30 09:07:13 -0500 edited question canopen_motor_node not sending position commands

ros_canopen_motor_node not sending position commands Hy there, I already adressed my issue in this question but the tra

2019-07-30 09:07:03 -0500 edited question canopen_motor_node not sending position commands

ros_canopen_motor_node not sending position commands Hy there, I already adressed my issue in this question but the tra

2019-07-30 09:06:22 -0500 asked a question canopen_motor_node not sending position commands

ros_canopen_motor_node not sending position commands Hy there, I already adressed my issue in this question but the tra

2019-07-29 10:17:44 -0500 commented answer command igus-dryve with canopen_motor_node

Thank you for your support! Changed the unit settings to rotary. I moved the motor with the igus-tool and was then cal

2019-07-29 10:17:39 -0500 commented answer command igus-dryve with canopen_motor_node

Thank you for your support! Changed the unit settings to rotary. I moved the motor with the igus-tool and was then cal

2019-07-29 04:48:22 -0500 commented answer command igus-dryve with canopen_motor_node

Thank you for your support! Changed the unit settings to rotary. I moved the motor with the igus-tool and was then cal

2019-07-24 00:46:17 -0500 commented answer command igus-dryve with canopen_motor_node

Thank you for your support! How can i change the config for linear devices? Should'nt I see at least some PDO message

2019-07-23 10:30:01 -0500 commented answer command igus-dryve with canopen_motor_node

Thank you for your support! How can i change the config for linear devices? Should'nt I see at least some PDO message

2019-07-23 10:28:56 -0500 commented answer command igus-dryve with canopen_motor_node

Thank you for your support! How can i change the config for linear devices? Should'nt I see at least some PDO message

2019-07-23 10:28:49 -0500 commented answer command igus-dryve with canopen_motor_node

Thank you for your support! How can i change the config for linear devices? Should'nt I see at least some PDO message

2019-07-23 10:28:41 -0500 commented answer command igus-dryve with canopen_motor_node

Thank you for your support! How can i change the config for linear devices? Should'nt I see at least some PDO message

2019-07-23 10:28:09 -0500 commented answer command igus-dryve with canopen_motor_node

Thank you for your support! How can i change the config for linear devices? Should'nt I see at least some PDO message