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

Not able to established connection between Kuka robot and Movet

asked 2021-03-25 11:44:15 -0600

Ranjit Kathiriya gravatar image

updated 2021-04-22 11:13:20 -0600

miura gravatar image

Hello there,

I have tested the connection and connectivity to the real robot by using this command:

$ roscore 
$ roslaunch kuka_rsi_hw_interface test_hardware_agilus.launch sim:=false
$ rosrun rqt_joint_trajectory_controller rqt_joint_trajectory_controller

And it is working fine as excepted. Even if I change my real-robot moments from the smart pad, I can see the Moveit robot moving parallelly (Link).

For configuring my real robot with moveit, I followed these links: Link 1,, Link 2, Link 3.

From this above link, I have edited the files:

  1. After moveit setup assistance: In the moveit package, add this file moveit_planning_execution_rsi.launch in the launch folder.

    <launch>
      <!-- A convenience launch file that launches all of the required nodes to
           plan and execute motions using RViz, MoveIt and the ros_control based
           KUKA RSI driver from the kuka_rsi_hw_interface package.
      -->
     <arg name="pipeline" default="ompl" />
      <!-- the "sim" argument controls whether we connect to a Simulated or Real robot -->
      <!--  - if sim=false, a robot_ip argument is required -->
      <arg name="sim" default="true" doc="Use industrial robot simulator instead of real robot" />
      <arg name="robot_ip" unless="$(arg sim)" doc="IP of controller (only required if not using industrial simulator)" />
    
      <!-- By default, we do not start a database (it can be large) -->
      <arg name="db" default="false" doc="Start the MoveIt database" />
      <!-- Allow user to specify database location -->
      <arg name="db_path" default="$(find kuka_moveit_roof)/default_warehouse_mongo_db" doc="Path to database files" />
    
      <!-- By default, we are not in debug mode -->
      <arg name="debug" default="false" />
    
      <!-- By default, we will load or override the robot_description -->
      <arg name="load_robot_description" default="true"/>
    
      <arg name="use_rviz" default="true" />
    
      <!-- Non-standard joint names -->
      <rosparam command="load" file="$(find kuka_kr16_support)/config/joint_names_kr16.yaml" />
    
      <include file="$(find kuka_moveit_roof)/launch/planning_context.launch" >
        <arg name="load_robot_description" value="true" />
      </include>
    
    <!--  <arg name="use_gui" default="false" />-->
    <!--    &lt;!&ndash; We do not have a robot connected, so publish fake joint states &ndash;&gt;-->
    <!--  <node name="joint_state_publisher" pkg="joint_state_publisher" type="joint_state_publisher" unless="$(arg use_gui)">-->
    <!--    <rosparam param="source_list">[move_group/fake_controller_joint_states]</rosparam>-->
    <!--  </node>-->
    <!--  <node name="joint_state_publisher" pkg="joint_state_publisher_gui" type="joint_state_publisher_gui" if="$(arg use_gui)">-->
    <!--    <rosparam param="source_list">[move_group/fake_controller_joint_states]</rosparam>-->
    <!--  </node>-->
    
    <!--   run the robot simulator and action interface nodes-->
      <group if="$(arg sim)">
        <include file="$(find industrial_robot_simulator)/launch/robot_interface_simulator.launch" />
      </group>
    
      <!-- run the "real robot" interface nodes -->
      <group unless="$(arg sim)">
        <include file="$(find kuka_kr16_support)/launch/robot_interface_streming_kr16.launch">
          <arg name="robot_ip" value="$(arg robot_ip)"/>
        </include>
      </group>
    
      <!-- publish the robot state (tf transforms) -->
      <node name="robot_state_publisher" pkg="robot_state_publisher" type="robot_state_publisher" />
       <include file="$(find kuka_moveit_roof)/launch/move_group.launch">
        <arg name="allow_trajectory_execution" value="true"/>
        <arg name="fake_execution" value="true"/>
        <arg name="info" value="true"/>
        <arg name="publish_monitored_planning_scene" value="true" />
      </include>
    
      <include file="$(find kuka_moveit_roof ...
(more)
edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
1

answered 2021-03-30 09:32:11 -0600

Ranjit Kathiriya gravatar image

updated 2021-03-30 09:32:31 -0600

Based on the log you provided , the connection with robot is ok. The problem is here: The starting point of the planned path is not the same position of the robot. Check the planner starting point. And before using the actual robot run rsi again with sim:=true to use the simulation robot for testing. Be carefull when you test sth on this huge robot. Any simple collision could really harm. Check first in simulation the in real robot. Everything that works in simulation will directly work on your real robot with rsi

ERROR] [1616688815.523732239]:
Invalid Trajectory: start point deviates from current robot state more than 0.01
joint 'joint_a2': expected: 0, current: -1.5708
[ INFO] [1616688815.523869808]: Execution completed: ABORTED
[ INFO] [1616688815.531926595]: ABORTED: Solution found but controller failed during execution

Thanks, @Mahmoud for helping with this issue!!

edit flag offensive delete link more

Question Tools

2 followers

Stats

Asked: 2021-03-25 11:44:15 -0600

Seen: 443 times

Last updated: Mar 30 '21