Multiverse-Framework / Multiverse

Decentralized Simulation Framework designed to integrate multiple advanced physics engines along with various photo-realistic graphics engines to simulate everything
MIT License
15 stars 1 forks source link

How can I use urdf_to_mjcf_node properly? #13

Closed Nash-dc closed 1 year ago

Nash-dc commented 1 year ago

Hi Mr.Hoang, Sorry It's me again. I tried to remodel the dual panda by changing the base of the dual panda,this is my modified urdf and xacro file. I use urdf_tutorials to simulate the robot,it looks perfect: Screenshot from 2023-08-22 19-25-22

then I followed your instrcution to write a launch file,but some problem occurs after running this model.

dacheng@MyWondefulComputer:~$ roslaunch franka_mujoco test_launch.launch
... logging to /home/dacheng/.ros/log/3e14d782-4109-11ee-a571-179c5711dd87/roslaunch-MyWondefulComputer-13433.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://MyWondefulComputer:38969/

SUMMARY
========

PARAMETERS
 * /gripper_controller/gains/gripper_hand_e_finger_1_joint/d: 50
 * /gripper_controller/gains/gripper_hand_e_finger_1_joint/i: 100
 * /gripper_controller/gains/gripper_hand_e_finger_1_joint/p: 2000
 * /gripper_controller/joint: gripper_hand_e_fi...
 * /gripper_controller/type: effort_controller...
 * /joint_state_controller/publish_rate: 60
 * /joint_state_controller/type: joint_state_contr...
 * /joint_trajectory_controller/constraints/elbow_joint/goal: 0.05
 * /joint_trajectory_controller/constraints/goal_time: 0.5
 * /joint_trajectory_controller/constraints/shoulder_lift_joint/goal: 0.05
 * /joint_trajectory_controller/constraints/shoulder_pan_joint/goal: 0.05
 * /joint_trajectory_controller/constraints/wrist_1_joint/goal: 0.05
 * /joint_trajectory_controller/constraints/wrist_2_joint/goal: 0.05
 * /joint_trajectory_controller/constraints/wrist_3_joint/goal: 0.05
 * /joint_trajectory_controller/gains/elbow_joint/d: 50
 * /joint_trajectory_controller/gains/elbow_joint/i: 100
 * /joint_trajectory_controller/gains/elbow_joint/p: 2000
 * /joint_trajectory_controller/gains/shoulder_lift_joint/d: 50
 * /joint_trajectory_controller/gains/shoulder_lift_joint/i: 100
 * /joint_trajectory_controller/gains/shoulder_lift_joint/p: 2000
 * /joint_trajectory_controller/gains/shoulder_pan_joint/d: 50
 * /joint_trajectory_controller/gains/shoulder_pan_joint/i: 100
 * /joint_trajectory_controller/gains/shoulder_pan_joint/p: 2000
 * /joint_trajectory_controller/gains/wrist_1_joint/d: 50
 * /joint_trajectory_controller/gains/wrist_1_joint/i: 100
 * /joint_trajectory_controller/gains/wrist_1_joint/p: 2000
 * /joint_trajectory_controller/gains/wrist_2_joint/d: 50
 * /joint_trajectory_controller/gains/wrist_2_joint/i: 100
 * /joint_trajectory_controller/gains/wrist_2_joint/p: 2000
 * /joint_trajectory_controller/gains/wrist_3_joint/d: 50
 * /joint_trajectory_controller/gains/wrist_3_joint/i: 100
 * /joint_trajectory_controller/gains/wrist_3_joint/p: 2000
 * /joint_trajectory_controller/joints: ['shoulder_pan_jo...
 * /joint_trajectory_controller/type: effort_controller...
 * /mujoco/add_odom_joints: False
 * /mujoco/joint_inits/panda1_joint1: 0
 * /mujoco/joint_inits/panda1_joint2: 0
 * /mujoco/joint_inits/panda1_joint3: 0
 * /mujoco/joint_inits/panda1_joint4: 0
 * /mujoco/joint_inits/panda1_joint5: 0
 * /mujoco/joint_inits/panda1_joint6: 0
 * /mujoco/joint_inits/panda1_joint7: 0
 * /mujoco/joint_inits/panda2_joint1: 0
 * /mujoco/joint_inits/panda2_joint2: 0
 * /mujoco/joint_inits/panda2_joint3: 0
 * /mujoco/joint_inits/panda2_joint4: 0
 * /mujoco/joint_inits/panda2_joint5: 0
 * /mujoco/joint_inits/panda2_joint6: 0
 * /mujoco/joint_inits/panda2_joint7: 0
 * /mujoco/root_frame_id: map
 * /mujoco/spawn_and_destroy_objects_rate: 10.0
 * /mujoco/spawned_object_bodies_rate: 60.0
 * /mujoco_sim/robot: /home/dacheng/Doc...
 * /mujoco_sim/world: /home/dacheng/Doc...
 * /multiverse/angle_unit: rad
 * /multiverse/force_unit: N
 * /multiverse/handedness: rhs
 * /multiverse/length_unit: m
 * /multiverse/receive/StaticMeshActor_3: ['position', 'qua...
 * /multiverse/root_frame_id: map
 * /multiverse/send/joint: ['joint_rvalue', ...
 * /multiverse/time_unit: s
 * /robot_description: <?xml version="1....
 * /rosdistro: noetic
 * /rosversion: 1.16.0

NODES
  /
    controller_manager (controller_manager/controller_manager)
    mujoco_sim (mujoco_sim/mujoco_sim_node)
    urdf_to_mjcf (multiverse_parser/urdf_to_mjcf_node)

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

setting /run_id to 3e14d782-4109-11ee-a571-179c5711dd87
process[rosout-1]: started with pid [13475]
started core service [/rosout]
process[urdf_to_mjcf-2]: started with pid [13482]
process[mujoco_sim-3]: started with pid [13483]
process[controller_manager-4]: started with pid [13485]
[ INFO] [1692721845.331050927]: File [worktable.STL] from [/home/dacheng/Documents/Multiverse/multiverse_ws/src/Multiverse-Robots/franka/franka_description/meshes/worktable.STL] already exists in [/home/dacheng/Documents/Multiverse/multiverse_ws/src/multiverse_connectors/multiverse_mujoco_connector/mujoco_sim/model/tmp/dual_panda_arm/meshes], ignore
[ INFO] [1692721845.341676624]: File [finger.dae] from [/home/dacheng/Documents/Multiverse/multiverse_ws/src/Multiverse-Robots/franka/franka_description/meshes/visual/finger.dae] already exists in [/home/dacheng/Documents/Multiverse/multiverse_ws/src/multiverse_connectors/multiverse_mujoco_connector/mujoco_sim/model/tmp/dual_panda_arm/meshes], ignore
[ INFO] [1692721845.341720626]: File [finger.stl] from [/home/dacheng/Documents/Multiverse/multiverse_ws/src/Multiverse-Robots/franka/franka_description/meshes/collision/finger.stl] already exists in [/home/dacheng/Documents/Multiverse/multiverse_ws/src/multiverse_connectors/multiverse_mujoco_connector/mujoco_sim/model/tmp/dual_panda_arm/meshes], ignore
[ INFO] [1692721845.341751636]: File [hand.dae] from [/home/dacheng/Documents/Multiverse/multiverse_ws/src/Multiverse-Robots/franka/franka_description/meshes/visual/hand.dae] already exists in [/home/dacheng/Documents/Multiverse/multiverse_ws/src/multiverse_connectors/multiverse_mujoco_connector/mujoco_sim/model/tmp/dual_panda_arm/meshes], ignore
[ INFO] [1692721845.341780272]: File [hand.stl] from [/home/dacheng/Documents/Multiverse/multiverse_ws/src/Multiverse-Robots/franka/franka_description/meshes/collision/hand.stl] already exists in [/home/dacheng/Documents/Multiverse/multiverse_ws/src/multiverse_connectors/multiverse_mujoco_connector/mujoco_sim/model/tmp/dual_panda_arm/meshes], ignore
[ INFO] [1692721845.341808838]: File [finger.dae] from [/home/dacheng/Documents/Multiverse/multiverse_ws/src/Multiverse-Robots/franka/franka_description/meshes/visual/finger.dae] already exists in [/home/dacheng/Documents/Multiverse/multiverse_ws/src/multiverse_connectors/multiverse_mujoco_connector/mujoco_sim/model/tmp/dual_panda_arm/meshes], ignore
[ INFO] [1692721845.341836706]: File [finger.stl] from [/home/dacheng/Documents/Multiverse/multiverse_ws/src/Multiverse-Robots/franka/franka_description/meshes/collision/finger.stl] already exists in [/home/dacheng/Documents/Multiverse/multiverse_ws/src/multiverse_connectors/multiverse_mujoco_connector/mujoco_sim/model/tmp/dual_panda_arm/meshes], ignore
[ INFO] [1692721845.341864643]: File [link0.dae] from [/home/dacheng/Documents/Multiverse/multiverse_ws/src/Multiverse-Robots/franka/franka_description/meshes/visual/link0.dae] already exists in [/home/dacheng/Documents/Multiverse/multiverse_ws/src/multiverse_connectors/multiverse_mujoco_connector/mujoco_sim/model/tmp/dual_panda_arm/meshes], ignore
[ INFO] [1692721845.341893768]: File [link1.dae] from [/home/dacheng/Documents/Multiverse/multiverse_ws/src/Multiverse-Robots/franka/franka_description/meshes/visual/link1.dae] already exists in [/home/dacheng/Documents/Multiverse/multiverse_ws/src/multiverse_connectors/multiverse_mujoco_connector/mujoco_sim/model/tmp/dual_panda_arm/meshes], ignore
[ INFO] [1692721845.341921495]: File [link2.dae] from [/home/dacheng/Documents/Multiverse/multiverse_ws/src/Multiverse-Robots/franka/franka_description/meshes/visual/link2.dae] already exists in [/home/dacheng/Documents/Multiverse/multiverse_ws/src/multiverse_connectors/multiverse_mujoco_connector/mujoco_sim/model/tmp/dual_panda_arm/meshes], ignore
[ INFO] [1692721845.341949573]: File [link3.dae] from [/home/dacheng/Documents/Multiverse/multiverse_ws/src/Multiverse-Robots/franka/franka_description/meshes/visual/link3.dae] already exists in [/home/dacheng/Documents/Multiverse/multiverse_ws/src/multiverse_connectors/multiverse_mujoco_connector/mujoco_sim/model/tmp/dual_panda_arm/meshes], ignore
[ INFO] [1692721845.341977300]: File [link4.dae] from [/home/dacheng/Documents/Multiverse/multiverse_ws/src/Multiverse-Robots/franka/franka_description/meshes/visual/link4.dae] already exists in [/home/dacheng/Documents/Multiverse/multiverse_ws/src/multiverse_connectors/multiverse_mujoco_connector/mujoco_sim/model/tmp/dual_panda_arm/meshes], ignore
[ INFO] [1692721845.342004958]: File [link5.dae] from [/home/dacheng/Documents/Multiverse/multiverse_ws/src/Multiverse-Robots/franka/franka_description/meshes/visual/link5.dae] already exists in [/home/dacheng/Documents/Multiverse/multiverse_ws/src/multiverse_connectors/multiverse_mujoco_connector/mujoco_sim/model/tmp/dual_panda_arm/meshes], ignore
[ INFO] [1692721845.342033524]: File [link6.dae] from [/home/dacheng/Documents/Multiverse/multiverse_ws/src/Multiverse-Robots/franka/franka_description/meshes/visual/link6.dae] already exists in [/home/dacheng/Documents/Multiverse/multiverse_ws/src/multiverse_connectors/multiverse_mujoco_connector/mujoco_sim/model/tmp/dual_panda_arm/meshes], ignore
[ INFO] [1692721845.342061601]: File [link7.dae] from [/home/dacheng/Documents/Multiverse/multiverse_ws/src/Multiverse-Robots/franka/franka_description/meshes/visual/link7.dae] already exists in [/home/dacheng/Documents/Multiverse/multiverse_ws/src/multiverse_connectors/multiverse_mujoco_connector/mujoco_sim/model/tmp/dual_panda_arm/meshes], ignore
[ INFO] [1692721845.342089609]: File [finger.dae] from [/home/dacheng/Documents/Multiverse/multiverse_ws/src/Multiverse-Robots/franka/franka_description/meshes/visual/finger.dae] already exists in [/home/dacheng/Documents/Multiverse/multiverse_ws/src/multiverse_connectors/multiverse_mujoco_connector/mujoco_sim/model/tmp/dual_panda_arm/meshes], ignore
[ INFO] [1692721845.342116079]: File [finger.stl] from [/home/dacheng/Documents/Multiverse/multiverse_ws/src/Multiverse-Robots/franka/franka_description/meshes/collision/finger.stl] already exists in [/home/dacheng/Documents/Multiverse/multiverse_ws/src/multiverse_connectors/multiverse_mujoco_connector/mujoco_sim/model/tmp/dual_panda_arm/meshes], ignore
WARNING: Geom with duplicate name '' encountered in URDF, creating an unnamed geom.
WARNING: Geom with duplicate name '' encountered in URDF, creating an unnamed geom.
WARNING: Geom with duplicate name '' encountered in URDF, creating an unnamed geom.
WARNING: Geom with duplicate name '' encountered in URDF, creating an unnamed geom.
WARNING: Geom with duplicate name '' encountered in URDF, creating an unnamed geom.
WARNING: Geom with duplicate name '' encountered in URDF, creating an unnamed geom.
WARNING: Geom with duplicate name '' encountered in URDF, creating an unnamed geom.
WARNING: Geom with duplicate name '' encountered in URDF, creating an unnamed geom.
WARNING: Geom with duplicate name '' encountered in URDF, creating an unnamed geom.
WARNING: Geom with duplicate name '' encountered in URDF, creating an unnamed geom.
WARNING: Geom with duplicate name '' encountered in URDF, creating an unnamed geom.
WARNING: Geom with duplicate name '' encountered in URDF, creating an unnamed geom.
WARNING: Geom with duplicate name '' encountered in URDF, creating an unnamed geom.
WARNING: Geom with duplicate name '' encountered in URDF, creating an unnamed geom.
WARNING: Geom with duplicate name '' encountered in URDF, creating an unnamed geom.
WARNING: Geom with duplicate name '' encountered in URDF, creating an unnamed geom.
WARNING: Geom with duplicate name '' encountered in URDF, creating an unnamed geom.
WARNING: Geom with duplicate name '' encountered in URDF, creating an unnamed geom.
WARNING: Geom with duplicate name '' encountered in URDF, creating an unnamed geom.
WARNING: Geom with duplicate name '' encountered in URDF, creating an unnamed geom.
WARNING: Geom with duplicate name '' encountered in URDF, creating an unnamed geom.
WARNING: Geom with duplicate name '' encountered in URDF, creating an unnamed geom.
WARNING: Geom with duplicate name '' encountered in URDF, creating an unnamed geom.
WARNING: Geom with duplicate name '' encountered in URDF, creating an unnamed geom.
WARNING: Geom with duplicate name '' encountered in URDF, creating an unnamed geom.
WARNING: Geom with duplicate name '' encountered in URDF, creating an unnamed geom.
WARNING: Geom with duplicate name '' encountered in URDF, creating an unnamed geom.
WARNING: Geom with duplicate name '' encountered in URDF, creating an unnamed geom.
WARNING: Geom with duplicate name '' encountered in URDF, creating an unnamed geom.
WARNING: Geom with duplicate name '' encountered in URDF, creating an unnamed geom.
WARNING: Geom with duplicate name '' encountered in URDF, creating an unnamed geom.
WARNING: Geom with duplicate name '' encountered in URDF, creating an unnamed geom.
WARNING: Geom with duplicate name '' encountered in URDF, creating an unnamed geom.
WARNING: Geom with duplicate name '' encountered in URDF, creating an unnamed geom.
WARNING: Geom with duplicate name '' encountered in URDF, creating an unnamed geom.
WARNING: Geom with duplicate name '' encountered in URDF, creating an unnamed geom.
WARNING: Geom with duplicate name '' encountered in URDF, creating an unnamed geom.
WARNING: Geom with duplicate name '' encountered in URDF, creating an unnamed geom.
WARNING: Geom with duplicate name '' encountered in URDF, creating an unnamed geom.
WARNING: Geom with duplicate name '' encountered in URDF, creating an unnamed geom.
WARNING: Geom with duplicate name '' encountered in URDF, creating an unnamed geom.
WARNING: Geom with duplicate name '' encountered in URDF, creating an unnamed geom.
WARNING: Geom with duplicate name '' encountered in URDF, creating an unnamed geom.
WARNING: Geom with duplicate name '' encountered in URDF, creating an unnamed geom.
WARNING: Geom with duplicate name '' encountered in URDF, creating an unnamed geom.
WARNING: Geom with duplicate name '' encountered in URDF, creating an unnamed geom.
WARNING: Geom with duplicate name '' encountered in URDF, creating an unnamed geom.
WARNING: Geom with duplicate name '' encountered in URDF, creating an unnamed geom.
WARNING: Geom with duplicate name '' encountered in URDF, creating an unnamed geom.
WARNING: Geom with duplicate name '' encountered in URDF, creating an unnamed geom.
WARNING: Geom with duplicate name '' encountered in URDF, creating an unnamed geom.
WARNING: Geom with duplicate name '' encountered in URDF, creating an unnamed geom.
WARNING: Geom with duplicate name '' encountered in URDF, creating an unnamed geom.
WARNING: Geom with duplicate name '' encountered in URDF, creating an unnamed geom.
WARNING: Geom with duplicate name '' encountered in URDF, creating an unnamed geom.
WARNING: Geom with duplicate name '' encountered in URDF, creating an unnamed geom.
WARNING: Geom with duplicate name '' encountered in URDF, creating an unnamed geom.
WARNING: Geom with duplicate name '' encountered in URDF, creating an unnamed geom.
WARNING: Geom with duplicate name '' encountered in URDF, creating an unnamed geom.
WARNING: Geom with duplicate name '' encountered in URDF, creating an unnamed geom.
WARNING: Geom with duplicate name '' encountered in URDF, creating an unnamed geom.
WARNING: Geom with duplicate name '' encountered in URDF, creating an unnamed geom.
WARNING: Geom with duplicate name '' encountered in URDF, creating an unnamed geom.
WARNING: Geom with duplicate name '' encountered in URDF, creating an unnamed geom.
WARNING: Geom with duplicate name '' encountered in URDF, creating an unnamed geom.
WARNING: Geom with duplicate name '' encountered in URDF, creating an unnamed geom.
Error: number of faces should be between 1 and 200000 in STL file '/home/dacheng/Documents/Multiverse/multiverse_ws/src/multiverse_connectors/multiverse_mujoco_connector/mujoco_sim/model/tmp/dual_panda_arm/meshes/worktable.STL'; perhaps this is an ASCII file?
Object name = worktable, id = 0
[urdf_to_mjcf-2] process has finished cleanly
log file: /home/dacheng/.ros/log/3e14d782-4109-11ee-a571-179c5711dd87/urdf_to_mjcf-2*.log
[ INFO] [1692721845.859695435]: Get ROS parameters from the server...
[ INFO] [1692721845.860575462]: Set disable_gravity to true
[ INFO] [1692721845.861030213]: Set world from /home/dacheng/Documents/Multiverse/multiverse_ws/src/multiverse_connectors/multiverse_mujoco_connector/mujoco_sim/model/world/empty.xml
[ WARN] [1692721845.861519396]: Robot names not found in parameter server, searching for robot names from urdf...
[ INFO] [1692721845.863538010]: Found 1 robots: [dual_panda]
[ INFO] [1692721845.864311596]: Initializing the MuJoCo simulator...
[ INFO] [1692721845.864329266]: Copying model into /home/dacheng/Documents/Multiverse/multiverse_ws/src/multiverse_connectors/multiverse_mujoco_connector/mujoco_sim/model/tmp
terminate called after throwing an instance of 'boost::filesystem::filesystem_error'
  what():  boost::filesystem::copy_file: No such file or directory: "dual_panda_arm.xml", "/home/dacheng/Documents/Multiverse/multiverse_ws/src/multiverse_connectors/multiverse_mujoco_connector/mujoco_sim/model/tmp/dual_panda_arm.xml"
/home/dacheng/Documents/Multiverse/multiverse_ws/devel/lib/mujoco_sim/mujoco_sim_node: line 1: 13505 Aborted                 (core dumped) $0 $@
[mujoco_sim-3] process has died [pid 13483, exit code 134, cmd bash -c sleep 0.5; $0 $@ /home/dacheng/Documents/Multiverse/multiverse_ws/devel/lib/mujoco_sim/mujoco_sim_node 7500 __name:=mujoco_sim __log:=/home/dacheng/.ros/log/3e14d782-4109-11ee-a571-179c5711dd87/mujoco_sim-3.log].
log file: /home/dacheng/.ros/log/3e14d782-4109-11ee-a571-179c5711dd87/mujoco_sim-3*.log
^C[controller_manager-4] killing on exit
[rosout-1] killing on exit
[master] killing on exit
shutting down processing monitor...
... shutting down processing monitor complete
done

I was wondering what causes this problem.It would be appreciated that you can give me some brief guidance!

HoangGiang93 commented 1 year ago

Error: number of faces should be between 1 and 200000 in STL file '/home/dacheng/Documents/Multiverse/multiverse_ws/src/multiverse_connectors/multiverse_mujoco_connector/mujoco_sim/model/tmp/dual_panda_arm/meshes/worktable.STL' Your mesh is way too complex, try to reduce the vertex number using Weld or Decimal Modifier from Blender

Nash-dc commented 1 year ago

It works! Thank you for your assistance. You can consistently identify issues and offer the most valuable solutions. I truly appreciate it.:)