-
Notifications
You must be signed in to change notification settings - Fork 11
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #101 from AdarshKaran/humble
neo_simulation2 Humble branch updated with arm support and urdf files updated to modular xacros
- Loading branch information
Showing
53 changed files
with
2,872 additions
and
1,779 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,3 @@ | ||
This simulation package provides a quick and easy way to try out the autonomous mobile robots from Neobotix in ROS-2. It comes with the most commonly used configuration but is open for any kind of modification. | ||
|
||
Please find our documentations in https://neobotix-docs.de/ros/ros2/simulation.html | ||
Please find our documentations in https://neobotix-docs.de/ros/ros2/simulation_classic.html |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
<?xml version="1.0"?> | ||
<!-- This is the main URDF file for mpo_700--> | ||
<robot xmlns:xacro="http://www.ros.org/wiki/xacro" name="elite"> | ||
|
||
<!-- create arm from macro--> | ||
<xacro:include filename="$(find ur_description)/urdf/ur_macro.xacro"/> | ||
|
||
<xacro:arg name="arm_type" default="ec66"/> | ||
<xacro:arg name="use_gazebo" default="true"/> | ||
|
||
<!--Elite arm parameters--> | ||
<xacro:arg name="tf_prefix" default="$(arg arm_type)"/> | ||
<xacro:arg name="joint_limit_params_file" default="$(find elite_description)/config/$(arg arm_type)/joint_limits.yaml"/> | ||
<xacro:arg name="joint_origin_params_file" default="$(find elite_description)/config/$(arg arm_type)/joint_origins.yaml"/> | ||
<xacro:arg name="link_inertials_params_file" default="$(find elite_description)/config/$(arg arm_type)/link_inertials.yaml"/> | ||
<xacro:arg name="initial_joint_positions_file" default="$(find elite_description)/config/$(arg arm_type)/initial_positions.yaml"/> | ||
|
||
<!-- create arm --> | ||
<xacro:include filename="$(find elite_description)/urdf/macro/elite_macro.xacro" /> | ||
<xacro:elite_robot | ||
name="$(arg arm_type)" | ||
tf_prefix="$(arg tf_prefix)" | ||
arm_parent="cabinet_link" | ||
joint_limits_parameters_file="$(arg joint_limit_params_file)" | ||
joint_origins_parameters_file="$(arg joint_origin_params_file)" | ||
link_inertials_parameters_file="$(arg link_inertials_params_file)" | ||
> | ||
<origin xyz="0.133 0.0 0.416" rpy="0.0 0.0 -1.5708" /> | ||
</xacro:elite_robot> | ||
|
||
<!-- If both Elite Arm and Simulation is used --> | ||
<xacro:if value="$(arg use_gazebo)"> | ||
<xacro:include filename="$(find elite_description)/urdf/elite_gazebo_ros2_control.urdf.xacro" /> | ||
</xacro:if> | ||
|
||
</robot> | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,61 @@ | ||
<?xml version="1.0"?> | ||
<!-- This is the main URDF file for mpo_700--> | ||
<robot xmlns:xacro="http://www.ros.org/wiki/xacro" name="ur"> | ||
|
||
<!-- create arm from macro--> | ||
<xacro:include filename="$(find ur_description)/urdf/ur_macro.xacro"/> | ||
|
||
<xacro:arg name="arm_type" default="ur10"/> | ||
<xacro:arg name="use_gazebo" default="true"/> | ||
|
||
<!-- UR arm parameters --> | ||
<xacro:arg name="tf_prefix" default="$(arg arm_type)" /> | ||
<xacro:arg name="joint_limit_params" default="$(find ur_description)/config/$(arg arm_type)/joint_limits.yaml"/> | ||
<xacro:arg name="kinematics_params" default="$(find ur_description)/config/$(arg arm_type)/default_kinematics.yaml"/> | ||
<xacro:arg name="physical_params" default="$(find ur_description)/config/$(arg arm_type)/physical_parameters.yaml"/> | ||
<xacro:arg name="visual_params" default="$(find ur_description)/config/$(arg arm_type)/visual_parameters.yaml"/> | ||
<xacro:arg name="transmission_hw_interface" default="hardware_interface/PositionJointInterface"/> | ||
<xacro:arg name="safety_limits" default="false"/> | ||
<xacro:arg name="safety_pos_margin" default="0.15"/> | ||
<xacro:arg name="safety_k_position" default="20"/> | ||
<xacro:arg name="sim_gazebo" default="$(arg use_gazebo)" /> | ||
<xacro:arg name="simulation_controllers" default="$(find neo_simulation2)/configs/ur_config/$(arg arm_type)/ur_controllers.yaml"/> | ||
<xacro:arg name="initial_positions_file" default="$(find neo_simulation2)/configs/ur_config/initial_joint_positions.yaml"/> | ||
|
||
<!-- parse initial positions as a dictionary --> | ||
<xacro:property | ||
name="ur_initial_positions" | ||
value="${xacro.load_yaml('$(arg initial_positions_file)')}" | ||
/> | ||
|
||
<xacro:ur_robot | ||
name="$(arg arm_type)" | ||
tf_prefix="$(arg tf_prefix)" | ||
parent="cabinet_link" | ||
joint_limits_parameters_file="$(arg joint_limit_params)" | ||
kinematics_parameters_file="$(arg kinematics_params)" | ||
physical_parameters_file="$(arg physical_params)" | ||
visual_parameters_file="$(arg visual_params)" | ||
safety_limits="$(arg safety_limits)" | ||
safety_pos_margin="$(arg safety_pos_margin)" | ||
safety_k_position="$(arg safety_k_position)" | ||
sim_gazebo="$(arg sim_gazebo)" | ||
initial_positions = "${ur_initial_positions}" | ||
> | ||
<!-- position robot in the world --> | ||
<origin xyz="0.133 0.0 0.416" rpy="0.0 0.0 -1.5708" /> | ||
</xacro:ur_robot> | ||
|
||
<!-- If both UR Arm and Simulation is used --> | ||
<xacro:if value="$(arg use_gazebo)"> | ||
<gazebo reference="cabinet_link"> | ||
</gazebo> | ||
<gazebo> | ||
<plugin filename="libgazebo_ros2_control.so" name="gazebo_ros2_control"> | ||
<parameters>$(arg simulation_controllers)</parameters> | ||
</plugin> | ||
</gazebo> | ||
</xacro:if> | ||
|
||
</robot> | ||
|
48 changes: 48 additions & 0 deletions
48
components/common_macro/gazebo_diff_drive_plugin_macro.xacro
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,48 @@ | ||
<?xml version="1.0"?> | ||
<robot xmlns:xacro="http://www.ros.org/wiki/xacro" name="mp_500"> | ||
|
||
<!--Gazebo Diff Drive and Joint States Publisher plugin Macro--> | ||
<xacro:macro name="gazebo_diff_drive_plugin" params=" | ||
update_rate | ||
joint_prefix | ||
wheel_separation | ||
wheel_diameter | ||
command_topic | ||
odometry_topic | ||
odom_frame | ||
base_frame | ||
max_wheel_torque | ||
max_acceleration | ||
"> | ||
|
||
<gazebo> | ||
<plugin name="diff_drive" filename="libgazebo_ros_diff_drive.so"> | ||
<!-- Replace camelCase elements with camel_case ones --> | ||
<update_rate>${update_rate}</update_rate> | ||
<left_joint>${joint_prefix}_left_joint</left_joint> | ||
<right_joint>${joint_prefix}_right_joint</right_joint> | ||
<wheel_separation>${wheel_separation}</wheel_separation> | ||
<wheel_diameter>${wheel_diameter}</wheel_diameter> | ||
<publish_odom>true</publish_odom> | ||
<publish_odom_tf>true</publish_odom_tf> | ||
<publish_wheel_tf>true</publish_wheel_tf> | ||
<command_topic>${command_topic}</command_topic> | ||
|
||
<odometry_topic>${odometry_topic}</odometry_topic> | ||
<odometry_frame>${odom_frame}</odometry_frame> | ||
<robot_base_frame>${base_frame}</robot_base_frame> | ||
|
||
<!-- wheelTorque and wheelAcceleration now have max_ prefix --> | ||
<max_wheel_torque>${max_wheel_torque}</max_wheel_torque> | ||
<max_acceleration>${max_acceleration}</max_acceleration> | ||
</plugin> | ||
|
||
<plugin name="joint_states" filename="libgazebo_ros_joint_state_publisher.so"> | ||
<joint_name>${joint_prefix}_left_joint</joint_name> | ||
<joint_name>${joint_prefix}_right_joint</joint_name> | ||
</plugin> | ||
|
||
</gazebo> | ||
</xacro:macro> | ||
|
||
</robot> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,60 @@ | ||
<?xml version="1.0"?> | ||
<robot xmlns:xacro="http://www.ros.org/wiki/xacro" name="mpo"> | ||
|
||
<xacro:macro name="gazebo_lidar_sensor" params=" | ||
sensor_name | ||
link_name | ||
update_rate | ||
min_range | ||
max_range | ||
horizontal_samples | ||
min_angle | ||
max_angle | ||
noise_mean | ||
noise_stddev | ||
topic_name | ||
visualize='false' | ||
"> | ||
|
||
<gazebo reference="${link_name}"> | ||
<sensor name="${sensor_name}" type="ray"> | ||
<always_on>true</always_on> | ||
<pose>0 0 0 0 0 0</pose> | ||
<visualize>${visualize}</visualize> | ||
<update_rate>${update_rate}</update_rate> | ||
<ray> | ||
<scan> | ||
<horizontal> | ||
<samples>${horizontal_samples}</samples> | ||
<resolution>1</resolution> | ||
<min_angle>${min_angle}</min_angle> | ||
<max_angle>${max_angle}</max_angle> | ||
</horizontal> | ||
</scan> | ||
<range> | ||
<min>${min_range}</min> | ||
<max>${max_range}</max> | ||
<resolution>0.05</resolution> | ||
</range> | ||
<noise> | ||
<type>gaussian</type> | ||
<!-- Noise parameters based on published spec for Hokuyo laser | ||
achieving "+-30mm" accuracy at range < 10m. A mean of 0.0m and | ||
stddev of 0.01m will put 99.7% of samples within 0.03m of the true | ||
reading. --> | ||
<mean>${noise_mean}</mean> | ||
<stddev>${noise_stddev}</stddev> | ||
</noise> | ||
</ray> | ||
<plugin filename="libgazebo_ros_ray_sensor.so" name="${sensor_name}_plugin"> | ||
<ros> | ||
<argument>~/out:=${topic_name}</argument> | ||
</ros> | ||
<output_type>sensor_msgs/LaserScan</output_type> | ||
<frame_name>${link_name}</frame_name> | ||
</plugin> | ||
</sensor> | ||
</gazebo> | ||
</xacro:macro> | ||
|
||
</robot> |
42 changes: 42 additions & 0 deletions
42
components/common_macro/gazebo_object_controller_macro.xacro
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
<?xml version="1.0"?> | ||
<robot xmlns:xacro="http://www.ros.org/wiki/xacro" name="mpo"> | ||
|
||
<!--Gazebo Object Controller Macro--> | ||
<xacro:macro name="gazebo_object_controller" params=" | ||
odom_update_rate | ||
controller_update_rate | ||
odom_frame | ||
base_frame | ||
covariance_yaw | ||
"> | ||
|
||
<gazebo> | ||
<plugin name="object_controller" filename="libgazebo_ros_planar_move.so"> | ||
<commandTopic>cmd_vel</commandTopic> | ||
<odometryTopic>odom</odometryTopic> | ||
<robotNamespace><remapping>/tf:=tf</remapping></robotNamespace> | ||
<ros> <remapping>/tf:=tf</remapping> </ros> | ||
|
||
<!-- Set odom publish rate --> | ||
<odometryRate>${odom_update_rate}</odometryRate> | ||
|
||
<!-- Set control loop update rate --> | ||
<publish_rate>${controller_update_rate}</publish_rate> | ||
|
||
<!-- Set if odom required --> | ||
<publish_odom>true</publish_odom> | ||
<publish_odom_tf>true</publish_odom_tf> | ||
|
||
<!-- Frame IDs --> | ||
<odometryFrame>${odom_frame}</odometryFrame> | ||
<robotBaseFrame>${base_frame}</robotBaseFrame> | ||
|
||
<!-- Set odom covariance --> | ||
<covariance_x>0.0001</covariance_x> | ||
<covariance_y>0.0001</covariance_y> | ||
<covariance_yaw>${covariance_yaw}</covariance_yaw> | ||
</plugin> | ||
</gazebo> | ||
</xacro:macro> | ||
|
||
</robot> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,43 @@ | ||
<?xml version="1.0"?> | ||
<robot xmlns:xacro="http://www.ros.org/wiki/xacro" name="mpo"> | ||
|
||
<!--WHEEL MACRO--> | ||
<xacro:macro name="cabinet" params=" | ||
neo_robot_name | ||
parent_link | ||
inertial_rpy | ||
visual_rpy | ||
collision_rpy | ||
*origin | ||
model_scale | ||
"> | ||
|
||
<joint name="cabinet_joint" type="fixed"> | ||
<xacro:insert_block name="origin"/> | ||
<joint_properties damping="1" friction="1"/> | ||
<parent link="${parent_link}"/> | ||
<child link="cabinet_link"/> | ||
</joint> | ||
|
||
<link name="cabinet_link"> | ||
<inertial> | ||
<mass value="10"/> | ||
<origin rpy="${inertial_rpy}" xyz="0 0 0"/> | ||
<inertia ixx="0.457072" ixy="0.0" ixz="0.0" iyy="0.23616" iyz="0.0" izz="0.686"/> | ||
</inertial> | ||
<visual> | ||
<origin rpy="${visual_rpy}" xyz="0 0 0"/> | ||
<geometry> | ||
<mesh filename="package://neo_simulation2/robots/${neo_robot_name}/meshes/cabin.dae" scale="${model_scale}"/> | ||
</geometry> | ||
</visual> | ||
<collision> | ||
<origin rpy="${collision_rpy}" xyz="0 0 0"/> | ||
<geometry> | ||
<mesh filename="package://neo_simulation2/robots/mpo_700/meshes/cabin.dae" scale="${model_scale}"/> | ||
</geometry> | ||
</collision> | ||
</link> | ||
</xacro:macro> | ||
|
||
</robot> |
File renamed without changes.
File renamed without changes.
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
shoulder_pan_joint: 1.5 | ||
shoulder_lift_joint: -2.5 | ||
elbow_joint: 2.0 | ||
wrist_1_joint: 0.0 | ||
wrist_2_joint: -1.5 | ||
wrist_3_joint: 0.0 |
Oops, something went wrong.