pal-robotics / tiago_dual_moveit_config

4 stars 1 forks source link

Edit existing MoveIt configuration #2

Open hjw-1014 opened 3 years ago

hjw-1014 commented 3 years ago

Hi, I use ROS 1.14.10, melodic, Ubuntu 18.04. I wanna edit tiago_dual_moveit_config using MoveIt Setup Assistant.

What I tried is:

  1. Download tiago_dual_moveit_config folder and put it inside ws_moveit/src/
  2. CHoose a tiago_dual.srdf from /home/huangjiawei/ws_moveit/src/tiago_dual_moveit_config/config and put it into /home/huangjiawei/ws_moveit/src/tiago_dual_moveit_config, according to the Read.me file
  3. run catkin build and source it again.
  4. run the commandroslaunch moveit_setup_assistant setup_assistant.launchto launch MoveIt Setup Assistant
  5. choose Edit existing MoveIt Configuration Packge and load ws_moveit/src/tiago_dual_moveit_config.
  6. Report error:
    
    ... logging to /home/huangjiawei/.ros/log/65598aea-b5e7-11eb-a15b-28c2ddc7a1b9/roslaunch-huangjiawei-Ubuntu-23849.log
    Checking log directory for disk usage. This may take a while.
    Press Ctrl-C to interrupt
    Done checking log file disk usage. Usage is <1GB.

started roslaunch server http://huangjiawei-Ubuntu:39521/

SUMMARY

PARAMETERS

NODES / moveit_setup_assistant (moveit_setup_assistant/moveit_setup_assistant)

auto-starting new master process[master]: started with pid [23859] ROS_MASTER_URI=http://localhost:11311

setting /run_id to 65598aea-b5e7-11eb-a15b-28c2ddc7a1b9 process[rosout-1]: started with pid [23870] started core service [/rosout] process[moveit_setup_assistant-2]: started with pid [23877] Gtk-Message: 09:38:24.375: GtkDialog mapped without a transient parent. This is discouraged. xacro: in-order processing became default in ROS Melodic. You can drop the option. resource not found: tiago_description ROS path [0]=/opt/ros/melodic/share/ros ROS path [1]=/home/huangjiawei/ws_moveit/src/geometric_shapes ROS path [2]=/home/huangjiawei/ws_moveit/src/moveit/moveit ROS path [3]=/home/huangjiawei/ws_moveit/src/moveit_msgs ROS path [4]=/home/huangjiawei/ws_moveit/src/moveit/moveit_planners/moveit_planners ROS path [5]=/home/huangjiawei/ws_moveit/src/moveit/moveit_plugins/moveit_plugins ROS path [6]=/home/huangjiawei/ws_moveit/src/moveit_resources/moveit_resources ROS path [7]=/home/huangjiawei/ws_moveit/src/moveit_resources/fanuc_description ROS path [8]=/home/huangjiawei/ws_moveit/src/moveit_resources/fanuc_moveit_config ROS path [9]=/home/huangjiawei/ws_moveit/src/moveit/moveit_commander ROS path [10]=/home/huangjiawei/ws_moveit/src/moveit_resources/panda_description ROS path [11]=/home/huangjiawei/ws_moveit/src/moveit_resources/panda_moveit_config ROS path [12]=/home/huangjiawei/ws_moveit/src/moveit_resources/pr2_description ROS path [13]=/home/huangjiawei/ws_moveit/src/moveit/moveit_core ROS path [14]=/home/huangjiawei/ws_moveit/src/moveit/moveit_planners/chomp/chomp_motion_planner ROS path [15]=/home/huangjiawei/ws_moveit/src/moveit/moveit_planners/chomp/chomp_optimizer_adapter ROS path [16]=/home/huangjiawei/ws_moveit/src/moveit_resources/prbt_ikfast_manipulator_plugin ROS path [17]=/home/huangjiawei/ws_moveit/src/moveit_resources/prbt_moveit_config ROS path [18]=/home/huangjiawei/ws_moveit/src/moveit_resources/prbt_pg70_support ROS path [19]=/home/huangjiawei/ws_moveit/src/moveit/moveit_ros/moveit_ros ROS path [20]=/home/huangjiawei/ws_moveit/src/moveit/moveit_ros/occupancy_map_monitor ROS path [21]=/home/huangjiawei/ws_moveit/src/moveit/moveit_ros/planning ROS path [22]=/home/huangjiawei/ws_moveit/src/moveit/moveit_plugins/moveit_fake_controller_manager ROS path [23]=/home/huangjiawei/ws_moveit/src/moveit/moveit_kinematics ROS path [24]=/home/huangjiawei/ws_moveit/src/moveit/moveit_planners/ompl ROS path [25]=/home/huangjiawei/ws_moveit/src/moveit_resources/prbt_support ROS path [26]=/home/huangjiawei/ws_moveit/src/moveit/moveit_ros/move_group ROS path [27]=/home/huangjiawei/ws_moveit/src/moveit/moveit_ros/manipulation ROS path [28]=/home/huangjiawei/ws_moveit/src/moveit/moveit_ros/perception ROS path [29]=/home/huangjiawei/ws_moveit/src/moveit/moveit_ros/robot_interaction ROS path [30]=/home/huangjiawei/ws_moveit/src/moveit/moveit_ros/warehouse ROS path [31]=/home/huangjiawei/ws_moveit/src/moveit/moveit_ros/benchmarks ROS path [32]=/home/huangjiawei/ws_moveit/src/moveit/moveit_ros/planning_interface ROS path [33]=/home/huangjiawei/ws_moveit/src/moveit/moveit_planners/chomp/chomp_interface ROS path [34]=/home/huangjiawei/ws_moveit/src/moveit/moveit_ros/visualization ROS path [35]=/home/huangjiawei/ws_moveit/src/moveit/moveit_runtime ROS path [36]=/home/huangjiawei/ws_moveit/src/moveit/moveit_ros/moveit_servo ROS path [37]=/home/huangjiawei/ws_moveit/src/moveit/moveit_setup_assistant ROS path [38]=/home/huangjiawei/ws_moveit/src/moveit/moveit_plugins/moveit_simple_controller_manager ROS path [39]=/home/huangjiawei/ws_moveit/src/moveit/moveit_plugins/moveit_ros_control_interface ROS path [40]=/home/huangjiawei/ws_moveit/src/panda_moveit_config ROS path [41]=/home/huangjiawei/ws_moveit/src/moveit/moveit_planners/pilz_industrial_motion_planner_testutils ROS path [42]=/home/huangjiawei/ws_moveit/src/moveit/moveit_planners/pilz_industrial_motion_planner ROS path [43]=/home/huangjiawei/ws_moveit/src/tiago_dual_robot/pmb2_robot/pmb2_bringup ROS path [44]=/home/huangjiawei/ws_moveit/src/tiago_dual_robot/pmb2_robot/pmb2_controller_configuration ROS path [45]=/home/huangjiawei/ws_moveit/src/tiago_dual_robot/pmb2_robot/pmb2_description ROS path [46]=/home/huangjiawei/ws_moveit/src/tiago_dual_robot/pmb2_robot/pmb2_robot ROS path [47]=/home/huangjiawei/ws_moveit/src/rviz_visual_tools ROS path [48]=/home/huangjiawei/ws_moveit/src/moveit_visual_tools ROS path [49]=/home/huangjiawei/ws_moveit/src/moveit_tutorials ROS path [50]=/home/huangjiawei/ws_moveit/src/tiago_dual_robot/tiago_dual_bringup ROS path [51]=/home/huangjiawei/ws_moveit/src/tiago_dual_robot/tiago_dual_controller_configuration ROS path [52]=/home/huangjiawei/ws_moveit/src/tiago_dual_robot/tiago_dual_description ROS path [53]=/home/huangjiawei/ws_moveit/src/tiago_dual_robot/tiago_dual_description_calibration ROS path [54]=/home/huangjiawei/ws_moveit/src/tiago_dual_moveit_config ROS path [55]=/home/huangjiawei/ws_moveit/src/tiago_dual_robot/tiago_dual_robot ROS path [56]=/opt/ros/melodic/share when processing file: /home/huangjiawei/ws_moveit/src/tiago_dual_robot/tiago_dual_description/urdf/torso/torso_dual.urdf.xacro included from: /home/huangjiawei/ws_moveit/src/tiago_dual_robot/tiago_dual_description/robots/tiago_dual.urdf.xacro


I'm really confused about **`resource not found: tiago_description`**. I don't why I still need this resource. 
Hope someone can help me out. Thanks in advance.
v-lopez commented 3 years ago

tiago_dual_description reuses most of the model from tiago_description. That's why it requires it.

But beware that editing our moveitconfig is not trivial, as tiago is heavily customizable and our urdf takes a lot of configuration arguments.

hjw-1014 commented 3 years ago

Thank you so much for your reply.

So I download tiago_descrition from here and put tiago_description in tiago_dual_moveit_config, and then it reports resources not found: hey5_description. So I download hey5_description from here, and then it reports: Undefined substitution argument no_safety_eps. Yes, I tried to directly use tiago_dual_moveit_config which is downloaded from here, but it also reports an error. That's why I try to edit it.

v-lopez commented 3 years ago

Check the arguments of upload.launch in tiago_dual_description, these mustbe provided throughthe MoveItaassistant too.

hjw-1014 commented 3 years ago

Check the arguments of upload.launch in tiago_dual_description, these mustbe provided throughthe MoveItaassistant too.

Thanks. I hope I put the file in right place, so in my moveit workplace ws_moveit, it just like this:

I added some packages inside tiago_dual_robot because when tried to edit it or directly use tiago_dual_moveit_config, it report resources not found, so I add them inside tiago_dual_robot

Just now I tried two things:

  1. run roslaunch tiago_dual_moveit_config demo.launch, and it reports
huangjiawei@huangjiawei-Ubuntu:~/ws_moveit$ roslaunch tiago_dual_moveit_config demo.launch 
... logging to /home/huangjiawei/.ros/log/08f92c5e-b625-11eb-a15b-28c2ddc7a1b9/roslaunch-huangjiawei-Ubuntu-10030.log
Checking log directory for disk usage. This may take a while.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

xacro: in-order processing became default in ROS Melodic. You can drop the option.
RLException: unused args [end_effector_right, end_effector_left, ft_sensor_left, ft_sensor_right] for include of [/home/huangjiawei/ws_moveit/src/tiago_dual_robot/tiago_description/robots/upload.launch]
The traceback for the exception was written to the log file

I checked this ws_moveit/src/tiago_dual_robot/tiago_description/robots/upload.launch, which is:

  <arg name="multi" default=""/>
  <arg name="arm"  default="True"/>
  <arg name="wrist_model"  default="wrist-2017"/>
  <arg name="end_effector"  default="pal-hey5"/>
  <arg name="ft_sensor"  default="schunk-ft"/>
  <arg name="laser_model"  default="sick-571"/>
  <arg name="camera_model"  default="orbbec-astra"/>
  <arg name="no_safety_eps" default="False"/>
  <arg name="description_calibration_dir" value="$(optenv pal_eye_hand_calibration_tiago_calibration_path)"/>
  <arg name="extrinsic_calibration_dir" value="$(optenv pal_camera_calibration_extrinsics_calibration_path)"/>
  <!-- Robot description -->
  <param name="robot_description"
    command="rosrun xacro xacro --inorder
    '$(find tiago_description)/robots/tiago.urdf.xacro'
    arm:=$(arg arm)
    wrist_model:=$(arg wrist_model)
    end_effector:=$(arg end_effector)
    ft_sensor:=$(arg ft_sensor)
    laser_model:=$(arg laser_model)
    camera_model:=$(arg camera_model)
    no_safety_eps:=$(arg no_safety_eps)
    description_calibration_dir:=$(arg description_calibration_dir)
    extrinsic_calibration_dir:=$(arg extrinsic_calibration_dir)
    $(arg multi)" />
           <rosparam command="load" file="$(find tiago_description)/config/collision/collision_parameters.yaml" />
</launch> 

But it's not dual tiago, so I suppose there are no right and left end effectors. What's the problem here?

  1. runroslaunch moveit_setup_assistant setup_assistant.launch, loaded tiago_dual_moveit_config and tried to edit, then report:
... logging to /home/huangjiawei/.ros/log/bd186000-b626-11eb-a15b-28c2ddc7a1b9/roslaunch-huangjiawei-Ubuntu-10298.log
Checking log directory for disk usage. This may take a while.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

started roslaunch server http://huangjiawei-Ubuntu:32981/

SUMMARY
========

PARAMETERS
 * /rosdistro: melodic
 * /rosversion: 1.14.10

NODES
  /
    moveit_setup_assistant (moveit_setup_assistant/moveit_setup_assistant)

auto-starting new master
process[master]: started with pid [10308]
ROS_MASTER_URI=http://localhost:11311

setting /run_id to bd186000-b626-11eb-a15b-28c2ddc7a1b9
process[rosout-1]: started with pid [10319]
started core service [/rosout]
process[moveit_setup_assistant-2]: started with pid [10326]
Gtk-Message: 17:11:51.616: GtkDialog mapped without a transient parent. This is discouraged.
xacro: in-order processing became default in ROS Melodic. You can drop the option.
Undefined substitution argument no_safety_eps 
when evaluating expression 'no_safety_eps'
when processing file: /home/huangjiawei/ws_moveit/src/tiago_dual_robot/tiago_dual_description/robots/tiago_dual.urdf.xacro
hjw-1014 commented 3 years ago

Check the arguments of upload.launch in tiago_dual_description, these mustbe provided throughthe MoveItaassistant too.

Hi, sorry, can you check my last comment, because I still cannot figure it out in the last two days. I need to use an existing tiago_dual_moveit_config right now, so can you help me out? Thank you very much.

v-lopez commented 3 years ago

I've pushed some fixes so the demo.launch works properly.

Regardless of that, make sure you have the full environment as defined in our tutorials: http://wiki.ros.org/action/info/Robots/TIAGo%2B%2B/Tutorials

With all the required repositories on the workspace, if you don't you'll end up chasing which package is missing and adding them one by one.

Make sure you are able to run the MoveIt! demos with the default configuration before trying to edit the MoveIt! configuration, that will make sure your environment is up to date.

Then, when you want to create the moveit config, make sure you read the Readme on this page. I've also just added a note about the no_safety_eps.

hjw-1014 commented 3 years ago

Thank you so much for your reply.

Before I followed the tutorial and I can successfully run TIGAo++ using Gazabo. But now I only need to run TIAGo++ using Rviz, so that's why I tried to use MoveIt Setup Assistant to edit. And I tried to use the existing tiado_dual_moveit_config in my moveit workspace, then I meet these problems.

So basically I did these:

  1. Download this tiago_dual_moveit_configin my ws_moveit workspace
  2. According the Read.me here, I don't understand the first one 1.Provide arguments to the xacro file.... , so I suppose I don't need to modify them now and I skip it. Then I add a srdf file tiago_dual_moveit_config/config/srdf/tiago_dual_custom_custom.srdf in config/tiago_dual.srdf, which I also renamed the srdf.
  3. Then runcatkin build
  4. Run roslaunch tiago_dual_moveit_config demo.launch

Have I done something wrong in this process If I only want to use it in Rviz?