UR10 Jerky Movements with the Universal_Robots_ROS_Drivers
To Whom It May Concern,
I'm trying to use the ur10 CB series with polyscope version 3.12, Universal_Robots_ROS_Driver, ROS-Kinetic, Ubuntu 16.04. I do not want to use moveit to control the hardware. I want to use my own optimal controller to send joint velocity commands to the UR10. I have changed the ur10_bringup.launch file so that the joint_group_vel_controller is started.
ur10_bringup.launch file:
<?xml version="1.0"?>
<launch>
<arg name="debug" default="false" />
<arg name="robot_ip"/>
<arg name="reverse_port" default="50001"/>
<arg name="script_sender_port" default="50002"/>
<arg name="tf_prefix" default="" doc="tf_prefix used for the robot."/>
<arg name="controllers" default="joint_state_controller scaled_pos_joint_traj_controller
speed_scaling_state_controller force_torque_sensor_controller"/>
<arg name="stopped_controllers" default="pos_joint_traj_controller joint_group_vel_controller"/>
<arg name="controller_config_file" default="$(find ur_robot_driver)/config/ur10_controllers.yaml"/>
<arg name="robot_description_file" default="$(find ur_description)/launch/ur10_upload.launch"/>
<arg name="kinematics_config" default="$(find ur_description)/config/ur10_default.yaml"/>
<arg name="limited" default="false"/>
<arg name="headless_mode" default="false"/>
<include file="$(find ur_robot_driver)/launch/ur_common.launch" pass_all_args="true">
<arg name="use_tool_communication" value="false"/>
</include>
I've confirmed my control rate is publishing commands to the joint_group_vel_controller/command at ~125HZ. First, why are script_sender_port & reverse_port default values 50002 & 50001 respectively? In the official remote control Universal Robots support articles (https://www.universal-robots.com/arti... ), it states to use ports 30* for reading & writing data. It never mentions any values in the 50* range, so where did the 50001 & 50002 values come from?
Lastly, I've confirmed my optimal controller can properly interpret joint position & velocity commands in Gazebo. The ur10 will move in the simulation whenever a command is sent, and there are no jerky/vibrating motions. When, I test on actual hardware the joint velocity commands are smooth, however the joint positions commands cause the non-smooth motion to occur. Should I look at optimizing my PID gains? Do you have any recomendation on where to look to optimize these values for a ur10, or a baseline to start at?
I would apperciate any support trying to get smoother motion.