MoveIt and Schunk PowerCube

asked 2018-07-11 14:48:02 -0500

PatFGarrett gravatar image

updated 2018-07-11 15:29:31 -0500

jayess gravatar image

Hello I am trying to move a physical Schunk LWA3 DOF 7, Schunks PowerCube drivers, and Moveit!

I started with the moveit_setup_assistant to build the package with no errors

Currently I use this launch file to bring everything up.

<launch>

<arg name="useTrajectory" default="true"/>

<!-- upload robot_description -->
<param name="robot_description" command="$(find xacro)/xacro.py '$(find schunk_hardware_config)/lwa/urdf/lwa.urdf.xacro'" />

<!-- start robot_state_publisher -->
<node pkg="robot_state_publisher" type="state_publisher" name="robot_state_publisher"/>

<!-- send ROBOT parameters to parameter server -->
<rosparam command="load" ns="/script_server/arm" file="$(find schunk_default_config)/config/lwa_joint_configurations.yaml"/>

<!--   
<rosparam command="load" file="$(find schunk_urdf)/config/joint_names.yaml"/>
--> 

<!-- startup lwa -->
<node name="arm_controller" pkg="schunk_powercube_chain" type="schunk_powercube_chain" cwd="node" respawn="false" output="screen" >
    <rosparam command="load" file="$(find schunk_hardware_config)/lwa/config/lwa.yaml"/>
</node>

<!-- The trajectory controller listens for JointTrajectoryFollowAction and sends velocity commands to the CANopen node -->
<node ns="arm_controller" name="joint_trajectory_controller" pkg="cob_trajectory_controller" type="cob_trajectory_controller" cwd="node" respawn="false" output="screen" />

<!-- teleop 
<include file="$(find schunk_bringup)/tools/teleop.launch" />
-->

<include file="$(find schunk_urdf)/launch/move_group.launch">
    <arg name="publish_monitored_planning_scene" value="true" />
</include>

<include file="$(find schunk_urdf)/launch/moveit_rviz.launch"/>

</launch>

Here is my controllers.yaml

  controller_manager_ns: pr2_controller_manager
  controller_list:
      - name: arm_controller
        action_ns: follow_joint_trajectory
        default: true
        joints:
                - arm_1_joint
                - arm_2_joint
                - arm_3_joint
                - arm_4_joint

Here is my lwa_moveit_controller_manager.launch.xml

<launch>

    <arg name="moveit_controller_manager"
       default="pr2_moveit_controller_manager/Pr2MoveItControllerManager"/>
    <param name="moveit_controller_manager"
         value="$(arg moveit_controller_manager)"/>

    <arg name="controller_manager_name"
       default="pr2_controller_manager" />
    <param name="controller_manager_name"
         value="$(arg controller_manager_name)"/>

    <arg name="use_controller_manager" default="false" />
    <param name="use_controller_manager"
         value="$(arg use_controller_manager)" />

    <rosparam file="$(find schunk_urdf)/config/controllers.yaml"/>

</launch>

When I launch the top launch file everything launches fine. I then run a rosservice call to /driver/init and the trace shows that powercubes were initialized correctly.

After that initialization the trace loops and shows:

[ INFO] [1531334913.821277479]: Waiting for operationmode service to become available

Then when attempt to launch $rosrun schunk_bringup dashboard_lwa.launch and attempt to use the gui to execute a command I get:

[ERROR] [WallTime: 1531338986.348944] Parameter /script_server/arm/service_ns does not exist on ROS Parameter Server, aborting...

After this im not 100% sure what to do. Do I have to write an action server client to send the cob_trajectory_controller FollowTrajectory msgs?

Ultimately I want to use MoveIt! to control the physical robot but I cant seem to connect them

System details:

  • Ubuntu 14.04
  • ROS Indigo
  • Peak PCAN FD PCIe

Any guidance you guys can provide on PR2 and their controllers would be much appreciated!

I have the rqt_graph but I cant post here with my karma points?

Best,

Kyle

edit retag flag offensive close merge delete