About gazebo-Cosimulation problems

5 vues (au cours des 30 derniers jours)
bo zhang
bo zhang le 19 Juin 2022
Commenté : PUCHEN ZHU le 22 Juil 2022
i running there commands
cd /home/user/src/GazeboPlugin/export
export SVGA_VGPU10=0
gazebo /home/user/worlds/Ur10BasicWithPlugin.world --verbose
have some problems!
my Ur10BasicWithPlugin.world
<?xml version="1.0"?>
<sdf version="1.4">
<world name="default">
<include>
<uri>model://ground_plane</uri>
</include>
<include>
<uri>model://sun</uri>
</include>
<light name='sun' type='directional'>
<cast_shadows>1</cast_shadows>
<pose frame=''>0 0 10 0 -0 0</pose>
<diffuse>0.8 0.8 0.8 1</diffuse>
<specular>0.2 0.2 0.2 1</specular>
<attenuation>
<range>1000</range>
<constant>0.9</constant>
<linear>0.01</linear>
<quadratic>0.001</quadratic>
</attenuation>
<direction>-0.5 0.1 -0.9</direction>
</light>
<model name='ground_plane'>
<static>1</static>
<link name='link'>
<collision name='collision'>
<geometry>
<plane>
<normal>0 0 1</normal>
<size>100 100</size>
</plane>
</geometry>
<surface>
<contact>
<collide_bitmask>65535</collide_bitmask>
<ode/>
</contact>
<friction>
<ode>
<mu>100</mu>
<mu2>50</mu2>
</ode>
<torsional>
<ode/>
</torsional>
</friction>
<bounce/>
</surface>
<max_contacts>10</max_contacts>
</collision>
<visual name='visual'>
<cast_shadows>0</cast_shadows>
<geometry>
<plane>
<normal>0 0 1</normal>
<size>100 100</size>
</plane>
</geometry>
<material>
<script>
<uri>file://media/materials/scripts/gazebo.material</uri>
<name>Gazebo/Grey</name>
</script>
</material>
</visual>
<self_collide>0</self_collide>
<enable_wind>0</enable_wind>
<kinematic>0</kinematic>
</link>
</model>
<gravity>0 0 -9.8</gravity>
<magnetic_field>6e-06 2.3e-05 -4.2e-05</magnetic_field>
<atmosphere type='adiabatic'/>
<physics name='default_physics' default='0' type='ode'>
<max_step_size>0.001</max_step_size>
<real_time_factor>1</real_time_factor>
<real_time_update_rate>1000</real_time_update_rate>
</physics>
<scene>
<ambient>0.4 0.4 0.4 1</ambient>
<background>0.7 0.7 0.7 1</background>
<shadows>1</shadows>
</scene>
<wind/>
<spherical_coordinates>
<surface_model>EARTH_WGS84</surface_model>
<latitude_deg>0</latitude_deg>
<longitude_deg>0</longitude_deg>
<elevation>0</elevation>
<heading_deg>0</heading_deg>
</spherical_coordinates>
<model name='robot'>
<link name='base_link'>
<pose frame=''>0 0 0 0 -0 0</pose>
<inertial>
<pose frame=''>0 0 0 0 -0 0</pose>
<mass>4</mass>
<inertia>
<ixx>0.00610633</ixx>
<ixy>0</ixy>
<ixz>0</ixz>
<iyy>0.00610633</iyy>
<iyz>0</iyz>
<izz>0.01125</izz>
</inertia>
</inertial>
<collision name='base_link_collision'>
<pose frame=''>0 0 0 0 -0 0</pose>
<geometry>
<mesh>
<scale>1 1 1</scale>
<uri>/home/zhangbo/catkin_ws/src/universal_robot/ur_description/meshes/ur10/collision/base.stl</uri>
</mesh>
</geometry>
<max_contacts>10</max_contacts>
<surface>
<contact>
<ode/>
</contact>
<bounce/>
<friction>
<torsional>
<ode/>
</torsional>
<ode/>
</friction>
</surface>
</collision>
<visual name='base_link_visual'>
<pose frame=''>0 0 0 0 -0 0</pose>
<geometry>
<mesh>
<scale>1 1 1</scale>
<uri>/home/zhangbo/catkin_ws/src/universal_robot/ur_description/meshes/ur10/visual/base.dae</uri>
</mesh>
</geometry>
</visual>
<self_collide>0</self_collide>
<enable_wind>0</enable_wind>
<kinematic>0</kinematic>
</link>
<joint name='world_joint' type='fixed'>
<child>base_link</child>
<parent>world</parent>
</joint>
<link name='shoulder_link'>
<pose frame=''>0 0 0.1273 0 -0 0</pose>
<inertial>
<pose frame=''>0 0 0 0 -0 0</pose>
<mass>7.778</mass>
<inertia>
<ixx>0.0314743</ixx>
<ixy>0</ixy>
<ixz>0</ixz>
<iyy>0.0314743</iyy>
<iyz>0</iyz>
<izz>0.0218756</izz>
</inertia>
</inertial>
<collision name='shoulder_link_collision'>
<pose frame=''>0 0 0 0 -0 0</pose>
<geometry>
<mesh>
<scale>1 1 1</scale>
<uri>/home/zhangbo/catkin_ws/src/universal_robot/ur_description/meshes/ur10/collision/shoulder.stl</uri>
</mesh>
</geometry>
<surface>
<contact>
<ode/>
</contact>
<friction>
<ode/>
<torsional>
<ode/>
</torsional>
</friction>
<bounce/>
</surface>
<max_contacts>10</max_contacts>
</collision>
<visual name='shoulder_link_visual'>
<pose frame=''>0 0 0 0 -0 0</pose>
<geometry>
<mesh>
<scale>1 1 1</scale>
<uri>/home/zhangbo/catkin_ws/src/universal_robot/ur_description/meshes/ur10/visual/shoulder.dae</uri>
</mesh>
</geometry>
<material>
<script>
<uri>__default__</uri>
<name>__default__</name>
</script>
</material>
</visual>
<gravity>1</gravity>
<velocity_decay/>
<self_collide>1</self_collide>
<enable_wind>0</enable_wind>
<kinematic>0</kinematic>
</link>
<joint name='shoulder_pan_joint' type='revolute'>
<child>shoulder_link</child>
<parent>base_link</parent>
<axis>
<xyz>0 0 1</xyz>
<limit>
<lower>-6.28319</lower>
<upper>6.28319</upper>
<effort>330</effort>
<velocity>2.16</velocity>
</limit>
<dynamics>
<damping>0</damping>
<friction>0</friction>
<spring_reference>0</spring_reference>
<spring_stiffness>0</spring_stiffness>
</dynamics>
<use_parent_model_frame>0</use_parent_model_frame>
</axis>
</joint>
<link name='upper_arm_link'>
<pose frame=''>0 0.220941 0.1273 3.14159 1.57079 3.14159</pose>
<inertial>
<pose frame=''>0 -0.045 0.306 0 -0 0</pose>
<mass>12.93</mass>
<inertia>
<ixx>0.421754</ixx>
<ixy>0</ixy>
<ixz>0</ixz>
<iyy>0.421754</iyy>
<iyz>0</iyz>
<izz>0.0363656</izz>
</inertia>
</inertial>
<collision name='upper_arm_link_collision'>
<pose frame=''>0 0 0 0 -0 0</pose>
<geometry>
<mesh>
<scale>1 1 1</scale>
<uri>/home/zhangbo/catkin_ws/src/universal_robot/ur_description/meshes/ur10/collision/upperarm.stl</uri>
</mesh>
</geometry>
<surface>
<contact>
<ode/>
</contact>
<friction>
<ode/>
<torsional>
<ode/>
</torsional>
</friction>
<bounce/>
</surface>
<max_contacts>10</max_contacts>
</collision>
<visual name='upper_arm_link_visual'>
<pose frame=''>0 0 0 0 -0 0</pose>
<geometry>
<mesh>
<scale>1 1 1</scale>
<uri>/home/zhangbo/catkin_ws/src/universal_robot/ur_description/meshes/ur10/visual/upperarm.dae</uri>
</mesh>
</geometry>
<material>
<script>
<uri>__default__</uri>
<name>__default__</name>
</script>
</material>
</visual>
<gravity>1</gravity>
<velocity_decay/>
<self_collide>1</self_collide>
<enable_wind>0</enable_wind>
<kinematic>0</kinematic>
</link>
<joint name='shoulder_lift_joint' type='revolute'>
<child>upper_arm_link</child>
<parent>shoulder_link</parent>
<axis>
<xyz>0 1 0</xyz>
<limit>
<lower>-6.28319</lower>
<upper>6.28319</upper>
<effort>330</effort>
<velocity>2.16</velocity>
</limit>
<dynamics>
<damping>0</damping>
<friction>0</friction>
<spring_reference>0</spring_reference>
<spring_stiffness>0</spring_stiffness>
</dynamics>
<use_parent_model_frame>0</use_parent_model_frame>
</axis>
</joint>
<link name='forearm_link'>
<pose frame=''>0.612 0.049041 0.1273 3.14159 1.57079 3.14159</pose>
<inertial>
<pose frame=''>0 0 0.28615 0 -0 0</pose>
<mass>3.87</mass>
<inertia>
<ixx>0.11107</ixx>
<ixy>0</ixy>
<ixz>0</ixz>
<iyy>0.11107</iyy>
<iyz>0</iyz>
<izz>0.0108844</izz>
</inertia>
</inertial>
<collision name='forearm_link_collision'>
<pose frame=''>0 0 0 0 -0 0</pose>
<geometry>
<mesh>
<scale>1 1 1</scale>
<uri>/home/zhangbo/catkin_ws/src/universal_robot/ur_description/meshes/ur10/collision/forearm.stl</uri>
</mesh>
</geometry>
<surface>
<contact>
<ode/>
</contact>
<friction>
<ode/>
<torsional>
<ode/>
</torsional>
</friction>
<bounce/>
</surface>
<max_contacts>10</max_contacts>
</collision>
<visual name='forearm_link_visual'>
<pose frame=''>0 0 0 0 -0 0</pose>
<geometry>
<mesh>
<scale>1 1 1</scale>
<uri>/home/zhangbo/catkin_ws/src/universal_robot/ur_description/meshes/ur10/visual/forearm.dae</uri>
</mesh>
</geometry>
<material>
<script>
<uri>__default__</uri>
<name>__default__</name>
</script>
</material>
</visual>
<gravity>1</gravity>
<velocity_decay/>
<self_collide>1</self_collide>
<enable_wind>0</enable_wind>
<kinematic>0</kinematic>
</link>
<joint name='elbow_joint' type='revolute'>
<child>forearm_link</child>
<parent>upper_arm_link</parent>
<axis>
<xyz>0 1 0</xyz>
<limit>
<lower>-3.14159</lower>
<upper>3.14159</upper>
<effort>150</effort>
<velocity>3.15</velocity>
</limit>
<dynamics>
<damping>0</damping>
<friction>0</friction>
<spring_reference>0</spring_reference>
<spring_stiffness>0</spring_stiffness>
</dynamics>
<use_parent_model_frame>0</use_parent_model_frame>
</axis>
</joint>
<link name='wrist_1_link'>
<pose frame=''>1.1843 0.049041 0.1273 3.14159 -0 3.14159</pose>
<inertial>
<pose frame=''>0 0.1149 0 0 -0 0</pose>
<mass>1.96</mass>
<inertia>
<ixx>0.00510825</ixx>
<ixy>0</ixy>
<ixz>0</ixz>
<iyy>0.00510825</iyy>
<iyz>0</iyz>
<izz>0.0055125</izz>
</inertia>
</inertial>
<collision name='wrist_1_link_collision'>
<pose frame=''>0 0 0 0 -0 0</pose>
<geometry>
<mesh>
<scale>1 1 1</scale>
<uri>/home/zhangbo/catkin_ws/src/universal_robot/ur_description/meshes/ur10/collision/wrist1.stl</uri>
</mesh>
</geometry>
<surface>
<contact>
<ode/>
</contact>
<friction>
<ode/>
<torsional>
<ode/>
</torsional>
</friction>
<bounce/>
</surface>
<max_contacts>10</max_contacts>
</collision>
<visual name='wrist_1_link_visual'>
<pose frame=''>0 0 0 0 -0 0</pose>
<geometry>
<mesh>
<scale>1 1 1</scale>
<uri>/home/zhangbo/catkin_ws/src/universal_robot/ur_description/meshes/ur10/visual/wrist1.dae</uri>
</mesh>
</geometry>
<material>
<script>
<uri>__default__</uri>
<name>__default__</name>
</script>
</material>
</visual>
<gravity>1</gravity>
<velocity_decay/>
<self_collide>1</self_collide>
<enable_wind>0</enable_wind>
<kinematic>0</kinematic>
</link>
<joint name='wrist_1_joint' type='revolute'>
<child>wrist_1_link</child>
<parent>forearm_link</parent>
<axis>
<xyz>0 1 0</xyz>
<limit>
<lower>-6.28319</lower>
<upper>6.28319</upper>
<effort>54</effort>
<velocity>3.2</velocity>
</limit>
<dynamics>
<damping>0</damping>
<friction>0</friction>
<spring_reference>0</spring_reference>
<spring_stiffness>0</spring_stiffness>
</dynamics>
<use_parent_model_frame>0</use_parent_model_frame>
</axis>
</joint>
<link name='wrist_2_link'>
<pose frame=''>1.1843 0.163941 0.1273 3.14159 -0 3.14159</pose>
<inertial>
<pose frame=''>0 0 0.1157 0 -0 0</pose>
<mass>1.96</mass>
<inertia>
<ixx>0.00510825</ixx>
<ixy>0</ixy>
<ixz>0</ixz>
<iyy>0.00510825</iyy>
<iyz>0</iyz>
<izz>0.0055125</izz>
</inertia>
</inertial>
<collision name='wrist_2_link_collision'>
<pose frame=''>0 0 0 0 -0 0</pose>
<geometry>
<mesh>
<scale>1 1 1</scale>
<uri>/home/zhangbo/catkin_ws/src/universal_robot/ur_description/meshes/ur10/collision/wrist2.stl</uri>
</mesh>
</geometry>
<surface>
<contact>
<ode/>
</contact>
<friction>
<ode/>
<torsional>
<ode/>
</torsional>
</friction>
<bounce/>
</surface>
<max_contacts>10</max_contacts>
</collision>
<visual name='wrist_2_link_visual'>
<pose frame=''>0 0 0 0 -0 0</pose>
<geometry>
<mesh>
<scale>1 1 1</scale>
<uri>/home/zhangbo/catkin_ws/src/universal_robot/ur_description/meshes/ur10/visual/wrist2.dae</uri>
</mesh>
</geometry>
<material>
<script>
<uri>__default__</uri>
<name>__default__</name>
</script>
</material>
</visual>
<gravity>1</gravity>
<velocity_decay/>
<self_collide>1</self_collide>
<enable_wind>0</enable_wind>
<kinematic>0</kinematic>
</link>
<joint name='wrist_2_joint' type='revolute'>
<child>wrist_2_link</child>
<parent>wrist_1_link</parent>
<axis>
<xyz>0 0 1</xyz>
<limit>
<lower>-6.28319</lower>
<upper>6.28319</upper>
<effort>54</effort>
<velocity>3.2</velocity>
</limit>
<dynamics>
<damping>0</damping>
<friction>0</friction>
<spring_reference>0</spring_reference>
<spring_stiffness>0</spring_stiffness>
</dynamics>
<use_parent_model_frame>0</use_parent_model_frame>
</axis>
</joint>
<link name='wrist_3_link'>
<pose frame=''>1.1843 0.163941 0.0116 3.14159 -0 3.14159</pose>
<inertial>
<pose frame=''>0 0.07695 0 1.5708 -0 0</pose>
<mass>0.202</mass>
<inertia>
<ixx>0.000117922</ixx>
<ixy>0</ixy>
<ixz>0</ixz>
<iyy>0.000117922</iyy>
<iyz>0</iyz>
<izz>0.000204525</izz>
</inertia>
</inertial>
<collision name='wrist_3_link_collision'>
<pose frame=''>0 0 0 0 -0 0</pose>
<geometry>
<mesh>
<scale>1 1 1</scale>
<uri>/home/zhangbo/catkin_ws/src/universal_robot/ur_description/meshes/ur10/collision/wrist3.stl</uri>
</mesh>
</geometry>
<surface>
<contact>
<ode/>
</contact>
<friction>
<ode/>
<torsional>
<ode/>
</torsional>
</friction>
<bounce/>
</surface>
<max_contacts>10</max_contacts>
</collision>
<collision name='wrist_3_link_fixed_joint_lump__ee_link_collision_1'>
<pose frame=''>-0 0.0822 0 0 -0 1.5708</pose>
<geometry>
<box>
<size>0.01 0.01 0.01</size>
</box>
</geometry>
<surface>
<contact>
<ode/>
</contact>
<friction>
<ode/>
<torsional>
<ode/>
</torsional>
</friction>
<bounce/>
</surface>
<max_contacts>10</max_contacts>
</collision>
<visual name='wrist_3_link_visual'>
<pose frame=''>0 0 0 0 -0 0</pose>
<geometry>
<mesh>
<scale>1 1 1</scale>
<uri>/home/zhangbo/catkin_ws/src/universal_robot/ur_description/meshes/ur10/visual/wrist3.dae</uri>
</mesh>
</geometry>
<material>
<script>
<uri>__default__</uri>
<name>__default__</name>
</script>
</material>
</visual>
<velocity_decay/>
<gravity>1</gravity>
<velocity_decay/>
<self_collide>1</self_collide>
<enable_wind>0</enable_wind>
<kinematic>0</kinematic>
</link>
<joint name='wrist_3_joint' type='revolute'>
<child>wrist_3_link</child>
<parent>wrist_2_link</parent>
<axis>
<xyz>0 1 0</xyz>
<limit>
<lower>-6.28319</lower>
<upper>6.28319</upper>
<effort>54</effort>
<velocity>3.2</velocity>
</limit>
<dynamics>
<damping>0</damping>
<friction>0</friction>
<spring_reference>0</spring_reference>
<spring_stiffness>0</spring_stiffness>
</dynamics>
<use_parent_model_frame>0</use_parent_model_frame>
</axis>
</joint>
<static>0</static>
<plugin name='ros_control' filename='libgazebo_ros_control.so'>
<robotNamespace>/</robotNamespace>
</plugin>
<pose frame=''>0 0 0.1 0 -0 0</pose>
</model>
<state world_name='default'>
<sim_time>276 385000000</sim_time>
<real_time>279 318272940</real_time>
<wall_time>1655637837 737929799</wall_time>
<iterations>276385</iterations>
<model name='ground_plane'>
<pose frame=''>0 0 0 0 -0 0</pose>
<scale>1 1 1</scale>
<link name='link'>
<pose frame=''>0 0 0 0 -0 0</pose>
<velocity>0 0 0 0 -0 0</velocity>
<acceleration>0 0 0 0 -0 0</acceleration>
<wrench>0 0 0 0 -0 0</wrench>
</link>
</model>
<model name='robot'>
<pose frame=''>0 0 0.1 4.9e-05 -0.000225 -0</pose>
<scale>1 1 1</scale>
<link name='base_link'>
<pose frame=''>0 0 0.1 4.9e-05 -0.000225 -0</pose>
<velocity>0 -0 0 0 -0 0</velocity>
<acceleration>0 -0 0 0 -0 0</acceleration>
<wrench>0 -0 0 0 -0 0</wrench>
</link>
<link name='forearm_link'>
<pose frame=''>0.611968 0.048722 0.221459 -3.12712 1.56111 -3.12763</pose>
<velocity>-0.000156 -0.000125 -0.017466 1.5e-05 0.029121 -0.000204</velocity>
<acceleration>-0 0 -0 -5e-06 0 0</acceleration>
<wrench>-0 0 -1e-06 0 -0 0</wrench>
</link>
<link name='shoulder_link'>
<pose frame=''>-2.9e-05 -7e-06 0.227299 -0.000104 0.00048 -0.000507</pose>
<velocity>-0 -0 -0 -0 -0 -0.000199</velocity>
<acceleration>-0 -0 -0 0 -0 0</acceleration>
<wrench>-0 -0 -0 0 -0 0</wrench>
</link>
<link name='upper_arm_link'>
<pose frame=''>8.3e-05 0.220934 0.227261 -3.12547 1.56128 -3.12597</pose>
<velocity>4.4e-05 -0 -0 1.4e-05 0.02854 -0.000204</velocity>
<acceleration>-0 -0 -0 -6e-06 0 0</acceleration>
<wrench>-0 -0 -3e-06 0 -0 0</wrench>
</link>
<link name='wrist_1_link'>
<pose frame=''>1.18424 0.048431 0.215911 -3.14145 -0.010088 3.14108</pose>
<velocity>-0.000318 -0.000241 -0.034131 1.5e-05 0.030466 -0.000204</velocity>
<acceleration>-0 0 -1e-06 0 1e-06 0</acceleration>
<wrench>-0 0 -1e-06 0 -0 0</wrench>
</link>
<link name='wrist_2_link'>
<pose frame=''>1.1843 0.16333 0.215893 -3.14144 -0.010089 3.14109</pose>
<velocity>-0.000295 -0.000241 -0.034131 1.6e-05 0.030466 -0.000172</velocity>
<acceleration>1e-06 -0 -1e-06 0 -1e-06 0</acceleration>
<wrench>1e-06 -0 -1e-06 0 -0 0</wrench>
</link>
<link name='wrist_3_link'>
<pose frame=''>1.18313 0.163313 0.100192 -3.14146 -0.010125 3.14109</pose>
<velocity>-0.00382 -0.000239 -0.034095 1.6e-05 0.030523 -0.000172</velocity>
<acceleration>1e-06 -0 2.3e-05 -6e-06 1e-06 -6e-06</acceleration>
<wrench>0 -0 5e-06 0 -0 0</wrench>
</link>
</model>
<light name='sun'>
<pose frame=''>0 0 10 0 -0 0</pose>
</light>
</state>
<gui fullscreen='0'>
<camera name='user_camera'>
<pose frame=''>5 -5 2 0 0.275643 2.35619</pose>
<view_controller>orbit</view_controller>
<projection_type>perspective</projection_type>
</camera>
</gui>
<plugin name="GazeboPlugin" filename="lib/libGazeboCoSimPlugin.so"><portNumber>14581</portNumber></plugin>
</world>
</sdf>
my .so file
i have some question
how to build my Ur10BasicWithPlugin.world
how to solve the problem of terminal display

Réponse acceptée

Gaurav Bhosale
Gaurav Bhosale le 1 Juil 2022
Hi Bo,
I checked your Ur10BasicWithPlugin.world file.
Your world file contains dependecy on ROS plugin.
<plugin name='ros_control' filename='libgazebo_ros_control.so'>
<robotNamespace>/</robotNamespace>
</plugin>
Also, the message from Ubuntu terminal suggest that you need to initialize ROS.
So, I think, you might be missing ROS workflow.
Thanks.

Plus de réponses (1)

Gaurav Bhosale
Gaurav Bhosale le 28 Juin 2022
Hi bo,
From the world file, I can see, username is "zhangbo"
So, in that case, the correct command should be,
cd /home/zhangbo/src/GazeboPlugin/export
export SVGA_VGPU10=0
gazebo /home/zhangbo/worlds/Ur10BasicWithPlugin.world --verbose
Also, you can export plugin path as follow,
export GAZEBO_PLUGIN_PATH=${GAZEBO_PLUGIN_PATH}:/home/zhangbo/src/GazeboPlugin/export
Thanks
  2 commentaires
bo zhang
bo zhang le 28 Juin 2022
Hello!
Thank you very much for your reply!
As you suggested, I started from scratch.first,load ur arm and save as a .world file<newtest.world>.
source catkin_ws/devel/setup.bash
roslaunch ur_gazebo ur10.launch
Second.In the .world file source code add the following lines
<plugin name="GazeboPlugin" filename="lib/libGazeboCoSimPlugin.so">
<portNumber>14581</portNumber>
</plugin>
Third.execute the following code.
cd /home/zhangbo/src/GazeboPlugin/export
export SVGA_VGPU10=0
gazebo /home/zhangbo/worlds/newtest.world --verbose
export GAZEBO_PLUGIN_PATH=${GAZEBO_PLUGIN_PATH}:/home/zhangbo/src/GazeboPlugin/export
But,it will be an error.
[FATAL] [1656398991.410763955]:You must call ros::init() before creating the first NodeHandle
[ERROR] [1656398991.412984740]:[registerPublisher] Failed to contact master at [:0]. Retrying...
What should I do?
Looking forward to your reply!
Thanks!
PUCHEN ZHU
PUCHEN ZHU le 22 Juil 2022
It's the same, how to solve it? Please let me know if you figure it out. Thank you.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Custom Message Support dans Help Center et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by