Cannot control IRB2600 speed with abb_driver in RobotStudio
Hi ROS community, I am using ROS melodic with abb_experimental
(abb_driver
) on Ubuntu18.04 to control an IRB2600 robot arm in ABB RobotStudio. I followed this Using Simulated Robot in Robot Studio to set up the communication, and it works perfectly.
I am able to control the robot in two ways: (1) on Ubuntu terminal, directly use the command: rosservice call /joint_path_command <trajectory>
; (2) using Python actionlib
and followed this simple_trajectory_action_client.py example. Both approaches can make the robot arm follows given trajectory points; however, the problem is that the joint velocity and acceleration seems not being controlled by the command. For the first approach, the velocities
and accelerations
in the <trajectory>
seems have no effect on the robot (I tried the value from 0.01 to 1 for each joint and observed no visual difference of robot movement). For the second approach, it seems that joint velocities and accelerations are not controlled as well (I also tried different values and observed no difference). In addition, there is always a 30 seconds duration between SimpleActionClient.send_goal()
and SimpleActionClient.wait_for_result()
(i.e., the complete time of the task is independent of the trajectory length. In RobotStudio, the robot moves fast if given trajectory is long and moves slow if given trajectory is short).
There is one warning from roslaunch
stating Velocity validation disabled
.
pwyq@pwyq-VirtualBox:~/catkin_ws_py3$ roslaunch abb_irb2600_support robot_interface_download_irb2600_12_165.launch robot_ip:=192.168.0.101
......
[ WARN] [1629314504.075782823]: Unable to read velocity limits from 'robot_description' param. Velocity validation disabled.
I found that abb_irb2600_support/config only have joint_names defined, while the other, for example abb_irb120_moveit_config/config, have joint_limits etc defined.
Is my problem (i.e., cannot control IRB2600 speed through ROS) because the lack of support of moveit on IRB2600, or could the problem comes from RobotStudio / abb_driver / ROS...?
Thank you in advance for any help! I can attach code if that's necessary to the problem.
Can you show an example of a
JointTrajectory
that you're submitting as a goal?Both the code you use and the
JointTrajectory
goal which is submitted? You canrostopic echo
thegoal
topic.And some expectation management:
abb_driver
will never come close to the performance of abb_robot_driver, but the latter will require an EGM license.A robot support package is completely different from a MoveIt configuration package, and the files you refer to don't have the same purpose. The fact both packages have a
config
directory doesn't really mean anything.What made you conclude there is a "lack of support of moveit on URB2600"?
Hi, thank you. The command approach is here rosservice call and Python code is here JointTrajectory Goal code. The command approach submit trajectory points instead of a goal, and the Python submits a goal; the
/goal
topic output is here rostopic echo. From my understanding from this post,abb_robot_driver
requires extra work.I conclude the lack of moveit on IRB2600 because there is no existing package (but I'm sure it's possible to make it my own).