0
$\begingroup$

Hi I am currently working with Moveit Task Constructor package at ROS Noetic dist. I want to folow this tutorial but instead of using the panda robot, I would like to use my robot. To do that I first created a configuration folder for my robot with Moveit Setup Asistant and then cloned the git page codes into my workspace called optobot_pnp. Later I changed the related parts with Panda robot to my robot. However, whenever I try to launch pick_place_demo.launch file which starts the tasks for rviz, it gaves me an error which is:

[ERROR] [1719232075.344341022]: unknown state '' Exception thrown. [ERROR] [1719232075.344478937]: Initialization failed: Error initializing stage: generate grasp pose: invalid pregrasp: unknown state ''

[ INFO] [1719232075.344514204]: Initialization failed [pick_place_demo-1] process has died [pid 41629, exit code 1, cmd /home/erkbaarge/optobot_ws/devel/lib/optobot_pnp/pick_place_demo
__name:=pick_place_demo __log:=/home/erkbaarge/.ros/log/25ed2a66-3225-11ef-aa7a-2dae64576486/pick_place_demo-1.log]. log file: /home/erkbaarge/.ros/log/25ed2a66-3225-11ef-aa7a-2dae64576486/pick_place_demo-1*.log

It says " unknown state '' " but I dont have a state that is named like that and I dont get any other error mesages. And I cant see any other errors which might cause this.

My codes:

demo.launch:

<?xml version="1.0"?>
<launch>
  <!-- Load panda demo with MTC's execution capability -->
  <include file="$(find optobot_configurations)/launch/demo.launch">
    <arg name="use_rviz" value="false"/>
  </include>
  <param name="move_group/capabilities" value="move_group/ExecuteTaskSolutionCapability" />

  <!-- Run rviz with prepared config -->
  <include file="$(find optobot_configurations)/launch/moveit_rviz.launch">
    <arg name="rviz_config" value="$(find optobot_pnp)/config/mtc.rviz" />
  </include>
</launch>

pick_place_demo.launch:

<?xml version="1.0"?>
<launch>
  <!-- Run MTC pick and place -->
  <node name="pick_place_demo" pkg="optobot_pnp" type="pick_place_demo" output="screen">
    <param name="execute" value="true" />
    <rosparam command="load" file="$(find optobot_pnp)/config/optobot_config.yaml" />
    <param name="robot_description_semantic" textfile="/home/erkbaarge/optobot_ws/src/core/optobot_configurations/config/Optobot.srdf" />
  </node>
  
</launch>

optobot_config.yaml:

# Total planning attempts
max_solutions: 10

# Planning group and link names
arm_group_name: "arm"
eef_name: "end_effector"
hand_group_name: "hand"
hand_frame: "gripdon1"

# Poses with actual joint values
hand_open_pose:
  gripdon1: -0.6981
hand_close_pose:
  gripdon1: 0.1
arm_home_pose:
  doner12: -0.25
  doner23: -0.25
  doner34: -1.0
  doner45: 0.25
  doner56: 2.7
  doner67: 0.55
  donerson: 0.0

# Scene frames
world_frame: "world"
table_reference_frame: "world"
object_reference_frame: "world"
surface_link: "table"

# Collision object for picking
# CYLINDER object specifications
object_name: "object"
object_dimensions: [0.25, 0.02] # [height, radius]
object_pose: [0.5, -0.25, 0.0, 0, 0, 0]

# Table model
spawn_table: true
table_name: "table"
table_dimensions: [0.4, 0.5, 0.1]  # [length, width, height]
table_pose: [0.5, -0.25, 0, 0, 0, 0]

# Gripper grasp frame transform [x,y,z,r,p,y]
grasp_frame_transform: [0, 0, 0.1, 1.571, 0.785, 1.571]

# Place pose [x,y,z,r,p,y]
place_pose: [0.6, -0.15, 0, 0, 0, 0]
place_surface_offset: 0.0001 # place offset from table

# Valid distance range when approaching an object for picking
approach_object_min_dist: 0.1
approach_object_max_dist: 0.15

# Valid height range when lifting an object after pick
lift_object_min_dist: 0.01
lift_object_max_dist: 0.1

my pick_place_demo.cpp and pick_place_task.cpp files are exactly same as configurated at github page.

$\endgroup$

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Browse other questions tagged or ask your own question.