Skip to content
Snippets Groups Projects
Commit fcd6cfdc authored by Fernando Herrero's avatar Fernando Herrero
Browse files

Add arm and head moving joints

parent 5c137cfd
No related branches found
No related tags found
No related merge requests found
......@@ -4,6 +4,7 @@
<arg name="ns" default="dabo"/>
<arg name="model" default="dabo"/>
<arg name="static_wheels" default="false" />
<arg name="joint_state_pub" default="false"/>
<group ns="$(arg ns)">
......@@ -15,15 +16,14 @@
<param name="publish_frequency" type="double" value="20.0"/>
</node>
<!--
<node pkg="joint_state_publisher"
type="joint_state_publisher"
name="joint_state_publisher">
name="joint_state_publisher"
if="$(arg joint_state_pub)">
<param name="use_gui" value="true"/>
<remap from="$(arg ns)/joint_states" to="$(arg ns)/joint_states/"/>
<remap from="$(arg ns)/robot_description" to="$(arg ns)/robot_description/"/>
</node>
-->
</group>
......
......@@ -20,17 +20,20 @@
<xacro:include filename="$(find iri_dabo_description)/urdf/include/head.xacro" />
<xacro:head name="$(arg name)" parent="top_plate">
<origin xyz="0 0 0.7" rpy="0 0 0" />
<origin xyz="-0.03 0 0.57" rpy="0 0 0" />
</xacro:head>
<xacro:include filename="$(find iri_dabo_description)/urdf/include/arm.xacro" />
<xacro:arm name="$(arg name)" prefix="left" parent="top_plate">
<origin xyz="0 0.25 0.5" rpy="0.15 0 0" />
<origin xyz="-0.05 0.17 0.5" rpy="0.0 0 0" />
</xacro:arm>
<xacro:include filename="$(find iri_dabo_description)/urdf/include/arm.xacro" />
<xacro:arm name="$(arg name)" prefix="right" parent="top_plate">
<origin xyz="0 -0.25 0.5" rpy="0.15 0 3.14159" />
<origin xyz="-0.05 -0.17 0.5" rpy="0.0 0 3.14159" />
</xacro:arm>
<xacro:include filename="$(find iri_dabo_description)/urdf/include/control.gazebo" />
<xacro:control name="$(arg name)"/>
</robot>
\ No newline at end of file
<?xml version="1.0"?>
<robot name="dabo" xmlns:xacro="http://ros.org/wiki/xacro">
<xacro:arg name="name" default="dabo"/>
<xacro:include filename="$(find iri_segway_rmp200_description)/urdf/include/segway_rmp200.xacro" />
<xacro:segway_rmp200 name="$(arg name)" sim_config="$(find iri_dabo_gazebo)/config/dabo_sim_config.yaml"/>
<xacro:include filename="$(find iri_segway_rmp200_description)/urdf/include/caster_support_wheels.xacro" />
<xacro:caster_support_wheels/>
<xacro:include filename="$(find iri_dabo_description)/urdf/include/body.xacro" />
<xacro:body name="$(arg name)" parent="top_plate">
<origin xyz="0 0 0" rpy="0 0 0" />
</xacro:body>
<xacro:include filename="$(find iri_dabo_description)/urdf/include/sensors.xacro" />
<xacro:sensors name="$(arg name)" parent="base_link"/>
<xacro:include filename="$(find iri_dabo_description)/urdf/include/head_fixed.xacro" />
<xacro:head name="$(arg name)" parent="top_plate">
<origin xyz="-0.03 0 0.57" rpy="0 0 0" />
</xacro:head>
<xacro:include filename="$(find iri_dabo_description)/urdf/include/arm_fixed.xacro" />
<xacro:arm name="$(arg name)" prefix="left" parent="top_plate">
<origin xyz="-0.05 0.17 0.5" rpy="0.0 0 0" />
</xacro:arm>
<xacro:include filename="$(find iri_dabo_description)/urdf/include/arm_fixed.xacro" />
<xacro:arm name="$(arg name)" prefix="right" parent="top_plate">
<origin xyz="-0.05 -0.17 0.5" rpy="0.0 0 3.14159" />
</xacro:arm>
</robot>
\ No newline at end of file
......@@ -2,17 +2,64 @@
<root xmlns:xacro="http://ros.org/wiki/xacro">
<xacro:include filename="$(find iri_joint_trajectory_gazebo)/urdf/servo.xacro"/>
<xacro:property name="PI" value="3.1415926535897931" />
<xacro:property name="servo1_name" value="arm_servo1" />
<xacro:property name="servo2_name" value="arm_servo2" />
<xacro:property name="load_name" value="arm" />
<xacro:property name="joint1_name" value="arm_pan" />
<xacro:property name="joint2_name" value="arm_tilt" />
<xacro:macro name="arm" params="prefix name parent *origin">
<joint name="${parent}2${prefix}_${servo1_name}_joint" type="fixed" >
<parent link="${parent}"/>
<child link="${prefix}_${servo1_name}"/>
<xacro:insert_block name="origin"/>
</joint>
<xacro:servo name="${prefix}_${servo1_name}">
<container>
<geometry>
<box size="0.08 0.05 0.1"/>
</geometry>
</container>
<container>
<material name="black">
<color rgba="0 0 0 1"/>
</material>
</container>
<container>
<origin rpy="0 0 0" xyz="0 0 0"/>
</container>
</xacro:servo>
<link name="${prefix}_arm">
<visual>
<xacro:servo name="${prefix}_${servo2_name}">
<container>
<geometry>
<box size="0.1 0.05 0.05"/>
</geometry>
</container>
<container>
<material name="black">
<color rgba="0 0 0 1"/>
</material>
</container>
<container>
<origin rpy="0 0 0" xyz="0 0 0"/>
</container>
</xacro:servo>
<link name="${prefix}_${load_name}">
<visual>
<origin xyz="0 0 0" rpy="0 -${PI/2} -${PI}"/>
<geometry>
<mesh filename="package://iri_dabo_description/meshes/arm_low.dae"/>
</geometry>
</visual>
<collision>
<origin xyz="0 0.025 -0.15" rpy="0 0 0"/>
<origin xyz="-0.15 -0.025 0" rpy="0 -${PI/2} -${PI}"/>
<geometry>
<cylinder length="0.4" radius="0.07"/>
</geometry>
......@@ -26,12 +73,51 @@
izz="0.0001"/>
</inertial>
</link>
<xacro:servo_joint name ="${prefix}_${joint1_name}"
parent="${prefix}_${servo1_name}"
child ="${prefix}_${servo2_name}">
<container>
<origin rpy="-${PI/2} -${PI/2} 0" xyz="0 0.05 0"/>
</container>
<container>
<limit effort="25.0" lower="-${PI}" upper="${PI}" velocity="0.5"/>
</container>
</xacro:servo_joint>
<xacro:servo_transmission name="${prefix}_${joint1_name}"
joint_interface="EffortJointInterface"
reduction="1">
</xacro:servo_transmission>
<joint name="${parent}2${prefix}_arm_joint" type="fixed" >
<parent link="${parent}"/>
<child link="${prefix}_arm"/>
<xacro:insert_block name="origin"/>
</joint>
<xacro:servo_joint name ="${prefix}_${joint2_name}"
parent="${prefix}_${servo2_name}"
child ="${prefix}_${load_name}">
<container>
<origin rpy="-${PI/2} 0 0" xyz="0 0 0.025"/>
</container>
<container>
<limit effort="25.0" lower="0" upper="${PI/2}" velocity="0.5"/>
</container>
</xacro:servo_joint>
<xacro:servo_transmission name="${prefix}_${joint2_name}"
joint_interface="EffortJointInterface"
reduction="1">
</xacro:servo_transmission>
<gazebo reference="${prefix}_${servo1_name}">
<mu1>0.2</mu1>
<mu2>0.2</mu2>
<material>Gazebo/Black</material>
</gazebo>
<gazebo reference="${prefix}_${servo2_name}">
<mu1>0.2</mu1>
<mu2>0.2</mu2>
<material>Gazebo/Black</material>
</gazebo>
</xacro:macro>
......
<?xml version="1.0"?>
<root xmlns:xacro="http://ros.org/wiki/xacro">
<xacro:include filename="$(find iri_joint_trajectory_gazebo)/urdf/servo.xacro"/>
<xacro:property name="PI" value="3.1415926535897931" />
<xacro:property name="servo1_name" value="arm_servo1" />
<xacro:property name="servo2_name" value="arm_servo2" />
<xacro:property name="load_name" value="arm" />
<xacro:property name="joint1_name" value="arm_pan" />
<xacro:property name="joint2_name" value="arm_tilt" />
<xacro:macro name="arm" params="prefix name parent *origin">
<joint name="${parent}2${prefix}_${servo1_name}_joint" type="fixed" >
<parent link="${parent}"/>
<child link="${prefix}_${servo1_name}"/>
<xacro:insert_block name="origin"/>
</joint>
<xacro:servo name="${prefix}_${servo1_name}">
<container>
<geometry>
<box size="0.08 0.05 0.1"/>
</geometry>
</container>
<container>
<material name="black">
<color rgba="0 0 0 1"/>
</material>
</container>
<container>
<origin rpy="0 0 0" xyz="0 0 0"/>
</container>
</xacro:servo>
<xacro:servo name="${prefix}_${servo2_name}">
<container>
<geometry>
<box size="0.1 0.05 0.05"/>
</geometry>
</container>
<container>
<material name="black">
<color rgba="0 0 0 1"/>
</material>
</container>
<container>
<origin rpy="0 0 0" xyz="0 0 0"/>
</container>
</xacro:servo>
<link name="${prefix}_${load_name}">
<visual>
<origin xyz="0 0 0" rpy="0 -${PI/2} -${PI}"/>
<geometry>
<mesh filename="package://iri_dabo_description/meshes/arm_low.dae"/>
</geometry>
</visual>
<collision>
<origin xyz="-0.15 -0.025 0" rpy="0 -${PI/2} -${PI}"/>
<geometry>
<cylinder length="0.4" radius="0.07"/>
</geometry>
</collision>
<inertial>
<origin xyz="0 0 0" rpy="0 0 0"/>
<mass value="1"/>
<inertia
ixx="0.0001" ixy="0.0" ixz="0.0"
iyy="0.0001" iyz="0.0"
izz="0.0001"/>
</inertial>
</link>
<joint name="${prefix}_${joint1_name}_joint"
type="fixed">
<parent link="${prefix}_${servo1_name}"/>
<child link="${prefix}_${servo2_name}"/>
<origin rpy="-${PI/2} -${PI/2} 0" xyz="0 0.05 0"/>
<axis xyz="0 0 1"/>
</joint>
<joint name="${prefix}_${joint2_name}_joint"
type="fixed">
<parent link="${prefix}_${servo2_name}"/>
<child link="${prefix}_${load_name}"/>
<origin rpy="-${PI/2} 0 0" xyz="0 0 0.025"/>
<axis xyz="0 0 1"/>
</joint>
<gazebo reference="${prefix}_${servo1_name}">
<mu1>0.2</mu1>
<mu2>0.2</mu2>
<material>Gazebo/Black</material>
</gazebo>
<gazebo reference="${prefix}_${servo2_name}">
<mu1>0.2</mu1>
<mu2>0.2</mu2>
<material>Gazebo/Black</material>
</gazebo>
</xacro:macro>
</root>
......@@ -11,6 +11,12 @@
<mesh filename="package://iri_dabo_description/meshes/body_low_dabo.dae"/>
</geometry>
</visual>
<collision>
<origin xyz="0 0.0 0.3" rpy="0 0 0"/>
<geometry>
<box size="0.3 0.4 0.6"/>
</geometry>
</collision>
<inertial>
<origin xyz="0 0 0" rpy="0 0 0"/>
<mass value="1"/>
......
<?xml version="1.0"?>
<root xmlns:xacro="http://ros.org/wiki/xacro">
<xacro:macro name="control" params="name">
<xacro:property name="ctrl_period" value="0.001"/>
<gazebo>
<plugin name="gazebo_ros_control" filename="libgazebo_ros_control.so">
<robotNamespace>${name}</robotNamespace>
<controlPeriod>${ctrl_period}</controlPeriod>
<legacyModeNS>true</legacyModeNS>
</plugin>
</gazebo>
</xacro:macro>
</root>
\ No newline at end of file
......@@ -2,17 +2,82 @@
<root xmlns:xacro="http://ros.org/wiki/xacro">
<xacro:include filename="$(find iri_joint_trajectory_gazebo)/urdf/servo.xacro"/>
<xacro:property name="PI" value="3.1415926535897931" />
<xacro:property name="servo1_name" value="head_servo1" />
<xacro:property name="servo2_name" value="head_servo2" />
<xacro:property name="servo3_name" value="head_servo3" />
<xacro:property name="load_name" value="head" />
<xacro:property name="joint1_name" value="head_pan" />
<xacro:property name="joint2_name" value="head_roll" />
<xacro:property name="joint3_name" value="head_tilt" />
<xacro:macro name="head" params="name parent *origin">
<joint name="${parent}2${servo1_name}_joint" type="fixed">
<parent link="${parent}"/>
<child link="${servo1_name}"/>
<xacro:insert_block name="origin"/>
</joint>
<link name="head">
<xacro:servo name="${servo1_name}">
<container>
<geometry>
<box size="0.054 0.032 0.04"/>
</geometry>
</container>
<container>
<material name="black">
<color rgba="0 0 0 1"/>
</material>
</container>
<container>
<origin rpy="0 0 0" xyz="0 0 0"/>
</container>
</xacro:servo>
<xacro:servo name="${servo2_name}">
<container>
<geometry>
<box size="0.04 0.032 0.054"/>
</geometry>
</container>
<container>
<material name="black">
<color rgba="0 0 0 1"/>
</material>
</container>
<container>
<origin rpy="0 0 0" xyz="-0.02 0 0.05"/>
</container>
</xacro:servo>
<xacro:servo name="${servo3_name}">
<container>
<geometry>
<box size="0.032 0.04 0.054"/>
</geometry>
</container>
<container>
<material name="black">
<color rgba="0 0 0 1"/>
</material>
</container>
<container>
<origin rpy="0 0 0" xyz="0 -0.02 -0.027"/>
</container>
</xacro:servo>
<link name="${load_name}">
<visual>
<origin rpy="1.5707 0 0" xyz="0 0 0"/>
<origin xyz="-0.05 0.01 0" rpy="0 0 -${PI/2}"/>
<geometry>
<mesh filename="package://iri_dabo_description/meshes/head_low_dabo.dae"/>
</geometry>
</visual>
<collision>
<origin xyz="0 0 0.05" rpy="0 0 0"/>
<origin xyz="0 0.01 0" rpy="0 0 0"/>
<geometry>
<sphere radius="0.15"/>
</geometry>
......@@ -26,13 +91,72 @@
izz="0.00750394"/>
</inertial>
</link>
<xacro:servo_joint name="${joint1_name}"
parent="${servo1_name}"
child="${servo2_name}">
<container>
<origin rpy="0 0 0" xyz="0.01722 0 0.0"/>
</container>
<container>
<limit effort="25.0" lower="-${PI/2}" upper="${PI/2}" velocity="5"/>
</container>
</xacro:servo_joint>
<joint name="${parent}2head_joint" type="fixed">
<parent link="${parent}"/>
<child link="head"/>
<xacro:insert_block name="origin"/>
<axis xyz="0 0 1"/>
</joint>
<xacro:servo_transmission name="${joint1_name}"
joint_interface="EffortJointInterface"
reduction="1">
</xacro:servo_transmission>
<xacro:servo_joint name="${joint2_name}"
parent="${servo2_name}"
child="${servo3_name}">
<container>
<origin rpy="-${PI/2} 0 -${PI/2}" xyz="0 0 0.08293"/>
</container>
<container>
<limit effort="25.0" lower="-0.7" upper="0.7" velocity="5"/>
</container>
</xacro:servo_joint>
<xacro:servo_transmission name="${joint2_name}"
joint_interface="EffortJointInterface"
reduction="1">
</xacro:servo_transmission>
<xacro:servo_joint name="${joint3_name}"
parent="${servo3_name}"
child="${load_name}">
<container>
<origin rpy="-${PI/2} 0 -${PI/2}" xyz="0 -0.060 0.007"/>
</container>
<container>
<limit effort="25.0" lower="-0.49" upper="0.11" velocity="5"/>
</container>
</xacro:servo_joint>
<xacro:servo_transmission name="${joint3_name}"
joint_interface="EffortJointInterface"
reduction="1">
</xacro:servo_transmission>
<gazebo reference="${servo1_name}">
<mu1>0.2</mu1>
<mu2>0.2</mu2>
<material>Gazebo/Black</material>
</gazebo>
<gazebo reference="${servo2_name}">
<mu1>0.2</mu1>
<mu2>0.2</mu2>
<material>Gazebo/Black</material>
</gazebo>
<gazebo reference="${servo3_name}">
<mu1>0.2</mu1>
<mu2>0.2</mu2>
<material>Gazebo/Black</material>
</gazebo>
</xacro:macro>
......
<?xml version="1.0"?>
<root xmlns:xacro="http://ros.org/wiki/xacro">
<xacro:include filename="$(find iri_joint_trajectory_gazebo)/urdf/servo.xacro"/>
<xacro:property name="PI" value="3.1415926535897931" />
<xacro:property name="servo1_name" value="head_servo1" />
<xacro:property name="servo2_name" value="head_servo2" />
<xacro:property name="servo3_name" value="head_servo3" />
<xacro:property name="load_name" value="head" />
<xacro:property name="joint1_name" value="head_pan" />
<xacro:property name="joint2_name" value="head_roll" />
<xacro:property name="joint3_name" value="head_tilt" />
<xacro:macro name="head" params="name parent *origin">
<joint name="${parent}2${servo1_name}_joint" type="fixed">
<parent link="${parent}"/>
<child link="${servo1_name}"/>
<xacro:insert_block name="origin"/>
</joint>
<xacro:servo name="${servo1_name}">
<container>
<geometry>
<box size="0.054 0.032 0.04"/>
</geometry>
</container>
<container>
<material name="black">
<color rgba="0 0 0 1"/>
</material>
</container>
<container>
<origin rpy="0 0 0" xyz="0 0 0"/>
</container>
</xacro:servo>
<xacro:servo name="${servo2_name}">
<container>
<geometry>
<box size="0.04 0.032 0.054"/>
</geometry>
</container>
<container>
<material name="black">
<color rgba="0 0 0 1"/>
</material>
</container>
<container>
<origin rpy="0 0 0" xyz="-0.02 0 0.05"/>
</container>
</xacro:servo>
<xacro:servo name="${servo3_name}">
<container>
<geometry>
<box size="0.032 0.04 0.054"/>
</geometry>
</container>
<container>
<material name="black">
<color rgba="0 0 0 1"/>
</material>
</container>
<container>
<origin rpy="0 0 0" xyz="0 -0.02 -0.027"/>
</container>
</xacro:servo>
<link name="${load_name}">
<visual>
<origin xyz="-0.05 0.01 0" rpy="0 0 -${PI/2}"/>
<geometry>
<mesh filename="package://iri_dabo_description/meshes/head_low_dabo.dae"/>
</geometry>
</visual>
<collision>
<origin xyz="0 0.05 0.05" rpy="0 0 0"/>
<geometry>
<sphere radius="0.15"/>
</geometry>
</collision>
<inertial>
<origin xyz="0.07366358 0.00094968 -0.00868937" rpy="0 0 0"/>
<mass value="1.0"/>
<inertia
ixx="0.00966943" ixy="-0.00004500" ixz="-0.00064634"
iyy="0.00845836" iyz="0.00001799"
izz="0.00750394"/>
</inertial>
</link>
<joint name="${joint1_name}" type="fixed">
<parent link="${servo1_name}"/>
<child link="${servo2_name}"/>
<origin rpy="0 0 0" xyz="0.01722 0 0.0"/>
<axis xyz="0 0 1"/>
</joint>
<joint name="${joint2_name}" type="fixed">
<parent link="${servo2_name}"/>
<child link="${servo3_name}"/>
<origin rpy="-${PI/2} 0 -${PI/2}" xyz="0 0 0.08293"/>
<axis xyz="0 0 1"/>
</joint>
<joint name="${joint3_name}" type="fixed">
<parent link="${servo3_name}"/>
<child link="${load_name}"/>
<origin rpy="-${PI/2} 0 -${PI/2}" xyz="0 -0.060 0.007"/>
<axis xyz="0 0 1"/>
</joint>
<gazebo reference="${servo1_name}">
<mu1>0.2</mu1>
<mu2>0.2</mu2>
<material>Gazebo/Black</material>
</gazebo>
<gazebo reference="${servo2_name}">
<mu1>0.2</mu1>
<mu2>0.2</mu2>
<material>Gazebo/Black</material>
</gazebo>
<gazebo reference="${servo3_name}">
<mu1>0.2</mu1>
<mu2>0.2</mu2>
<material>Gazebo/Black</material>
</gazebo>
</xacro:macro>
</root>
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment