ROS_CANopen can't start velocity_controller and trajectory_controller
Hi, I am working with ros_canopen to control a robot arm. The arm uses Copley drives. Please check out the github repo that I'm working on here.
The position controller (point to point move) works fine now. A littile problem here is I don't know how to specify the speed during the point-to-point move.
When I tried to start the
velocity_controller
:rosrun controller_manager controller_manager start I_Joint_velocity_controller
errors would show up:
[ERROR]: I_Jointcould not enter mode 2 [ERROR]: Could not switch one joint for I_Joint_velocity_controller, will stop all related joints and the controller. [ERROR]: I_Joint is not ready to switch mode [ERROR]: Could not switch controllers. The hardware interface combination for the requested controllers is unfeasible.
and if I start the
trajectory_controller
:rosrun controller_manager controller_manager start joint_trajectory_controller
errors would be:
abort60c1#1, reason: Invalid value for parameter (download only). Could not process message [ERROR]: RPDO timeout; RPDO timeout;ros_canopen/canopen_master/src/sdo.cpp(429): Throw in function void canopen::SDOClient::transmitAndWait(const canopen::ObjectDict::Entry&, const canopen::String&, canopen::String*) Dynamic exception type: boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<canopen::TimeoutException> > std::exception::what: SDO [canopen::tag_objectdict_key*] = 60c1sub1
Are these problems caused by wrong configuration of my dcf file? I mapped the PDOs according to the Copley programming manual p. 25
Many thanks.
Just a tip (I always get confused as well): Askbot does not support github flavoured markdown. Use four spaces to start a code block, not three backticks.
Thanks. : )