2020-07-22 18:19:10 +00:00
|
|
|
<?xml version="1.0"?>
|
2020-07-23 16:32:46 +00:00
|
|
|
<!--https://valerolab.org/-->
|
|
|
|
<!--
|
|
|
|
Code used for PID control of an inverted pendulum actuated by strings.
|
|
|
|
-->
|
2020-07-22 18:19:10 +00:00
|
|
|
<robot name="myfirst">
|
|
|
|
<material name="blue">
|
|
|
|
<color rgba="0 0 0.8 1"/>
|
|
|
|
</material>
|
|
|
|
<material name="white">
|
|
|
|
<color rgba="1 1 1 1"/>
|
|
|
|
</material>
|
|
|
|
<material name="other">
|
|
|
|
<color rgba="1 0 0.8 1"/>
|
|
|
|
</material>
|
|
|
|
<velocity name="vel">
|
|
|
|
<speed spd="50"/>
|
|
|
|
</velocity>
|
|
|
|
|
|
|
|
|
|
|
|
<link name="Rail">
|
|
|
|
<visual>
|
|
|
|
<geometry>
|
|
|
|
<cylinder length="4" radius=".05"/>
|
|
|
|
</geometry>
|
|
|
|
<material name="blue"/>
|
|
|
|
</visual>
|
|
|
|
<collision>
|
|
|
|
<geometry>
|
|
|
|
<cylinder length="4" radius=".05"/>
|
|
|
|
</geometry>
|
|
|
|
</collision>
|
|
|
|
<inertial>
|
|
|
|
<mass value="100"/>
|
|
|
|
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
|
|
<inertia ixx="0" ixy="0.0" ixz="0.0" iyy="0" iyz="0.0" izz="0"/>
|
|
|
|
</inertial>
|
|
|
|
</link>
|
|
|
|
|
|
|
|
<link name="slider">
|
|
|
|
<visual>
|
|
|
|
<geometry>
|
|
|
|
<box size="0.1 0.6 0.3"/>
|
|
|
|
</geometry>
|
|
|
|
<material name="other"/>
|
|
|
|
</visual>
|
|
|
|
<collision>
|
|
|
|
<geometry>
|
|
|
|
<box size="0.1 0.6 0.3"/>
|
|
|
|
</geometry>
|
|
|
|
</collision>
|
|
|
|
<inertial>
|
|
|
|
<mass value="100"/>
|
|
|
|
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
|
|
<inertia ixx="0" ixy="0.0" ixz="0.0" iyy="0" iyz="0.0" izz="0"/>
|
|
|
|
</inertial>
|
|
|
|
</link>
|
|
|
|
|
|
|
|
<joint name="rail_slider" type="prismatic">
|
|
|
|
<axis xyz="0 1 0"/>
|
|
|
|
<parent link="Rail"/>
|
|
|
|
<child link="slider"/>
|
|
|
|
<limit effort="0" lower="-2" upper="2" velocity="25"/>
|
|
|
|
<origin rpy="-1.570796 0 0" xyz="0 0 0"/>
|
|
|
|
</joint>
|
|
|
|
|
|
|
|
<link name="cart">
|
|
|
|
<visual>
|
|
|
|
<geometry>
|
|
|
|
<box size="0.1 0.6 0.3"/>
|
|
|
|
</geometry>
|
|
|
|
<material name="blue"/>
|
|
|
|
</visual>
|
|
|
|
<collision>
|
|
|
|
<geometry>
|
|
|
|
<box size="0.1 0.6 0.3"/>
|
|
|
|
</geometry>
|
|
|
|
</collision>
|
|
|
|
<inertial>
|
|
|
|
<mass value="100"/>
|
|
|
|
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
|
|
<inertia ixx="0" ixy="0.0" ixz="0.0" iyy="0" iyz="0.0" izz="0"/>
|
|
|
|
</inertial>
|
|
|
|
</link>
|
|
|
|
|
|
|
|
<joint name="slider_cart" type="fixed">
|
|
|
|
<parent link="slider"/>
|
|
|
|
<child link="cart"/>
|
|
|
|
<origin rpy="0 0 0" xyz="0 0 0.3"/>
|
|
|
|
</joint>
|
|
|
|
<!--*****************************************-->
|
|
|
|
|
|
|
|
<link name="pendulumAxis">
|
|
|
|
<visual>
|
|
|
|
<geometry>
|
|
|
|
<box size="0.1 0.1 .1"/>
|
|
|
|
</geometry>
|
|
|
|
<material name="other"/>
|
|
|
|
</visual>
|
|
|
|
<collision>
|
|
|
|
<geometry>
|
|
|
|
<box size="0.1 0.1 .1"/>
|
|
|
|
</geometry>
|
|
|
|
</collision>
|
|
|
|
<inertial>
|
|
|
|
<mass value="10"/>
|
|
|
|
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
|
|
<inertia ixx="0" ixy="0.0" ixz="0.0" iyy="0" iyz="0.0" izz="0"/>
|
|
|
|
</inertial>
|
|
|
|
</link>
|
|
|
|
|
|
|
|
<joint name="cart_pendulumAxis" type="revolute">
|
|
|
|
<axis xyz="0 0 1"/>
|
|
|
|
<parent link="cart"/>
|
|
|
|
<child link="pendulumAxis"/>
|
|
|
|
<limit effort="0" lower="1" upper="0" velocity="205"/>
|
|
|
|
<origin rpy="0 0 0" xyz="0 0 .21"/>
|
|
|
|
</joint>
|
|
|
|
|
|
|
|
<link name="pendulum">
|
|
|
|
<visual>
|
|
|
|
<geometry>
|
|
|
|
<box size="0.1 2 .1"/>
|
|
|
|
</geometry>
|
|
|
|
<material name="blue"/>
|
|
|
|
</visual>
|
|
|
|
<collision>
|
|
|
|
<geometry>
|
|
|
|
<box size="0.1 2 .1"/>
|
|
|
|
</geometry>
|
|
|
|
</collision>
|
|
|
|
<inertial>
|
|
|
|
<mass value="1"/>
|
|
|
|
<origin rpy="0 0 0" xyz="0 0 0"/>
|
|
|
|
<inertia ixx="0" ixy="0.0" ixz="0.0" iyy="0" iyz="0.0" izz="0"/>
|
|
|
|
</inertial>
|
|
|
|
</link>
|
|
|
|
|
|
|
|
<joint name="pendulumAxis_pendulum" type="fixed">
|
|
|
|
<parent link="pendulumAxis"/>
|
|
|
|
<child link="pendulum"/>
|
|
|
|
<origin rpy="0 0 1.570796" xyz="1 0 0"/>
|
|
|
|
</joint>
|
|
|
|
|
|
|
|
<!--*****************************************-->
|
|
|
|
<link name="tendon1_1">
|
|
|
|
<visual>
|
|
|
|
<geometry>
|
|
|
|
<cylinder length=".1" radius=".05"/>
|
|
|
|
</geometry>
|
|
|
|
<material name="other"/>
|
|
|
|
</visual>
|
|
|
|
<collision>
|
|
|
|
<geometry>
|
|
|
|
<cylinder length=".1" radius=".05"/>
|
|
|
|
</geometry>
|
|
|
|
</collision>
|
|
|
|
<inertial>
|
|
|
|
<mass value="10"/>
|
|
|
|
<inertia ixx="0" ixy="0.0" ixz="0.0" iyy="0" iyz="0.0" izz="0"/>
|
|
|
|
</inertial>
|
|
|
|
</link>
|
|
|
|
<joint name="cart_tendon1_1" type="revolute">
|
|
|
|
<axis xyz="0 0 1"/>
|
|
|
|
<parent link="cart"/>
|
|
|
|
<child link="tendon1_1"/>
|
|
|
|
<limit effort="0" lower="1" upper="0" velocity="50"/>
|
|
|
|
<origin rpy="0 0 0" xyz="0 .55 0"/>
|
|
|
|
</joint>
|
|
|
|
|
|
|
|
<link name="tendon1_2">
|
|
|
|
<visual>
|
|
|
|
<geometry>
|
|
|
|
<cylinder length=".1" radius=".05"/>
|
|
|
|
</geometry>
|
|
|
|
<material name="other"/>
|
|
|
|
</visual>
|
|
|
|
<collision>
|
|
|
|
<geometry>
|
|
|
|
<cylinder length=".1" radius=".05"/>
|
|
|
|
</geometry>
|
|
|
|
</collision>
|
|
|
|
<inertial>
|
|
|
|
<mass value="10"/>
|
|
|
|
<inertia ixx="0" ixy="0.0" ixz="0.0" iyy="0" iyz="0.0" izz="0"/>
|
|
|
|
</inertial>
|
|
|
|
</link>
|
|
|
|
<joint name="tendon1_1_tendon1_2" type="revolute">
|
|
|
|
<axis xyz="0 0 1"/>
|
|
|
|
<parent link="tendon1_1"/>
|
|
|
|
<child link="tendon1_2"/>
|
|
|
|
<limit effort="0" lower="1" upper="0" velocity="50"/>
|
|
|
|
<origin rpy="0 0 0" xyz="0 .2 0"/>
|
|
|
|
</joint>
|
|
|
|
<link name="tendon1_3">
|
|
|
|
<visual>
|
|
|
|
<geometry>
|
|
|
|
<cylinder length=".1" radius=".05"/>
|
|
|
|
</geometry>
|
|
|
|
<material name="other"/>
|
|
|
|
</visual>
|
|
|
|
<collision>
|
|
|
|
<geometry>
|
|
|
|
<cylinder length=".1" radius=".05"/>
|
|
|
|
</geometry>
|
|
|
|
</collision>
|
|
|
|
<inertial>
|
|
|
|
<mass value="10"/>
|
|
|
|
<inertia ixx="0" ixy="0.0" ixz="0.0" iyy="0" iyz="0.0" izz="0"/>
|
|
|
|
</inertial>
|
|
|
|
</link>
|
|
|
|
<joint name="tendon1_2_tendon1_3" type="revolute">
|
|
|
|
<axis xyz="0 0 1"/>
|
|
|
|
<parent link="tendon1_2"/>
|
|
|
|
<child link="tendon1_3"/>
|
|
|
|
<limit effort="0" lower="1" upper="0" velocity="50"/>
|
|
|
|
<origin rpy="0 0 0" xyz="0 .2 0"/>
|
|
|
|
</joint>
|
|
|
|
<link name="tendon1_4">
|
|
|
|
<visual>
|
|
|
|
<geometry>
|
|
|
|
<cylinder length=".1" radius=".05"/>
|
|
|
|
</geometry>
|
|
|
|
<material name="other"/>
|
|
|
|
</visual>
|
|
|
|
<collision>
|
|
|
|
<geometry>
|
|
|
|
<cylinder length=".1" radius=".05"/>
|
|
|
|
</geometry>
|
|
|
|
</collision>
|
|
|
|
<inertial>
|
|
|
|
<mass value="10"/>
|
|
|
|
<inertia ixx="0" ixy="0.0" ixz="0.0" iyy="0" iyz="0.0" izz="0"/>
|
|
|
|
</inertial>
|
|
|
|
</link>
|
|
|
|
<joint name="tendon1_3_tendon1_4" type="revolute">
|
|
|
|
<axis xyz="0 0 1"/>
|
|
|
|
<parent link="tendon1_3"/>
|
|
|
|
<child link="tendon1_4"/>
|
|
|
|
<limit effort="0" lower="1" upper="0" velocity="50"/>
|
|
|
|
<origin rpy="0 0 0" xyz="0 .2 0"/>
|
|
|
|
</joint>
|
|
|
|
<link name="tendon1_5">
|
|
|
|
<visual>
|
|
|
|
<geometry>
|
|
|
|
<cylinder length=".1" radius=".05"/>
|
|
|
|
</geometry>
|
|
|
|
<material name="other"/>
|
|
|
|
</visual>
|
|
|
|
<collision>
|
|
|
|
<geometry>
|
|
|
|
<cylinder length=".1" radius=".05"/>
|
|
|
|
</geometry>
|
|
|
|
</collision>
|
|
|
|
<inertial>
|
|
|
|
<mass value="10"/>
|
|
|
|
<inertia ixx="0" ixy="0.0" ixz="0.0" iyy="0" iyz="0.0" izz="0"/>
|
|
|
|
</inertial>
|
|
|
|
</link>
|
|
|
|
<joint name="tendon1_4_tendon1_5" type="revolute">
|
|
|
|
<axis xyz="0 0 1"/>
|
|
|
|
<parent link="tendon1_4"/>
|
|
|
|
<child link="tendon1_5"/>
|
|
|
|
<limit effort="0" lower="1" upper="0" velocity="50"/>
|
|
|
|
<origin rpy="0 0 0" xyz="0 .2 0"/>
|
|
|
|
</joint>
|
|
|
|
<link name="tendon1_6">
|
|
|
|
<visual>
|
|
|
|
<geometry>
|
|
|
|
<cylinder length=".1" radius=".05"/>
|
|
|
|
</geometry>
|
|
|
|
<material name="other"/>
|
|
|
|
</visual>
|
|
|
|
<collision>
|
|
|
|
<geometry>
|
|
|
|
<cylinder length=".1" radius=".05"/>
|
|
|
|
</geometry>
|
|
|
|
</collision>
|
|
|
|
<inertial>
|
|
|
|
<mass value="10"/>
|
|
|
|
<inertia ixx="0" ixy="0.0" ixz="0.0" iyy="0" iyz="0.0" izz="0"/>
|
|
|
|
</inertial>
|
|
|
|
</link>
|
|
|
|
<joint name="tendon1_5_tendon1_6" type="revolute">
|
|
|
|
<axis xyz="0 0 1"/>
|
|
|
|
<parent link="tendon1_5"/>
|
|
|
|
<child link="tendon1_6"/>
|
|
|
|
<limit effort="0" lower="1" upper="0" velocity="50"/>
|
|
|
|
<origin rpy="0 0 0" xyz="0 .2 0"/>
|
|
|
|
</joint>
|
|
|
|
<link name="tendon1_7">
|
|
|
|
<visual>
|
|
|
|
<geometry>
|
|
|
|
<cylinder length=".1" radius=".05"/>
|
|
|
|
</geometry>
|
|
|
|
<material name="other"/>
|
|
|
|
</visual>
|
|
|
|
<collision>
|
|
|
|
<geometry>
|
|
|
|
<cylinder length=".1" radius=".05"/>
|
|
|
|
</geometry>
|
|
|
|
</collision>
|
|
|
|
<inertial>
|
|
|
|
<mass value="10"/>
|
|
|
|
<inertia ixx="0" ixy="0.0" ixz="0.0" iyy="0" iyz="0.0" izz="0"/>
|
|
|
|
</inertial>
|
|
|
|
</link>
|
|
|
|
<joint name="tendon1_6_tendon1_7" type="revolute">
|
|
|
|
<axis xyz="0 0 1"/>
|
|
|
|
<parent link="tendon1_6"/>
|
|
|
|
<child link="tendon1_7"/>
|
|
|
|
<limit effort="0" lower="1" upper="0" velocity="50"/>
|
|
|
|
<origin rpy="0 0 0" xyz="0 .2 0"/>
|
|
|
|
</joint>
|
|
|
|
<link name="tendon1_8">
|
|
|
|
<visual>
|
|
|
|
<geometry>
|
|
|
|
<cylinder length=".1" radius=".05"/>
|
|
|
|
</geometry>
|
|
|
|
<material name="other"/>
|
|
|
|
</visual>
|
|
|
|
<collision>
|
|
|
|
<geometry>
|
|
|
|
<cylinder length=".1" radius=".05"/>
|
|
|
|
</geometry>
|
|
|
|
</collision>
|
|
|
|
<inertial>
|
|
|
|
<mass value="10"/>
|
|
|
|
<inertia ixx="0" ixy="0.0" ixz="0.0" iyy="0" iyz="0.0" izz="0"/>
|
|
|
|
</inertial>
|
|
|
|
</link>
|
|
|
|
<joint name="tendon1_7_tendon1_8" type="revolute">
|
|
|
|
<axis xyz="0 0 1"/>
|
|
|
|
<parent link="tendon1_7"/>
|
|
|
|
<child link="tendon1_8"/>
|
|
|
|
<limit effort="0" lower="1" upper="0" velocity="50"/>
|
|
|
|
<origin rpy="0 0 0" xyz="0 .2 0"/>
|
|
|
|
</joint>
|
|
|
|
<link name="tendon1_9">
|
|
|
|
<visual>
|
|
|
|
<geometry>
|
|
|
|
<cylinder length=".1" radius=".05"/>
|
|
|
|
</geometry>
|
|
|
|
<material name="other"/>
|
|
|
|
</visual>
|
|
|
|
<collision>
|
|
|
|
<geometry>
|
|
|
|
<cylinder length=".1" radius=".05"/>
|
|
|
|
</geometry>
|
|
|
|
</collision>
|
|
|
|
<inertial>
|
|
|
|
<mass value="10"/>
|
|
|
|
<inertia ixx="0" ixy="0.0" ixz="0.0" iyy="0" iyz="0.0" izz="0"/>
|
|
|
|
</inertial>
|
|
|
|
</link>
|
|
|
|
<joint name="tendon1_8_tendon1_9" type="revolute">
|
|
|
|
<axis xyz="0 0 1"/>
|
|
|
|
<parent link="tendon1_8"/>
|
|
|
|
<child link="tendon1_9"/>
|
|
|
|
<limit effort="0" lower="1" upper="0" velocity="50"/>
|
|
|
|
<origin rpy="0 0 0" xyz="0 .2 0"/>
|
|
|
|
</joint>
|
|
|
|
<link name="tendon1_10">
|
|
|
|
<visual>
|
|
|
|
<geometry>
|
|
|
|
<cylinder length=".1" radius=".05"/>
|
|
|
|
</geometry>
|
|
|
|
<material name="other"/>
|
|
|
|
</visual>
|
|
|
|
<collision>
|
|
|
|
<geometry>
|
|
|
|
<cylinder length=".1" radius=".05"/>
|
|
|
|
</geometry>
|
|
|
|
</collision>
|
|
|
|
<inertial>
|
|
|
|
<mass value="10"/>
|
|
|
|
<inertia ixx="0" ixy="0.0" ixz="0.0" iyy="0" iyz="0.0" izz="0"/>
|
|
|
|
</inertial>
|
|
|
|
</link>
|
|
|
|
<joint name="tendon1_9_tendon1_10" type="revolute">
|
|
|
|
<axis xyz="0 0 1"/>
|
|
|
|
<parent link="tendon1_9"/>
|
|
|
|
<child link="tendon1_10"/>
|
|
|
|
<limit effort="0" lower="1" upper="0" velocity="50"/>
|
|
|
|
<origin rpy="0 0 0" xyz="0 .2 0"/>
|
|
|
|
</joint>
|
|
|
|
<link name="tendon1_11">
|
|
|
|
<visual>
|
|
|
|
<geometry>
|
|
|
|
<cylinder length=".1" radius=".05"/>
|
|
|
|
</geometry>
|
|
|
|
<material name="other"/>
|
|
|
|
</visual>
|
|
|
|
<collision>
|
|
|
|
<geometry>
|
|
|
|
<cylinder length=".1" radius=".05"/>
|
|
|
|
</geometry>
|
|
|
|
</collision>
|
|
|
|
<inertial>
|
|
|
|
<mass value="10"/>
|
|
|
|
<inertia ixx="0" ixy="0.0" ixz="0.0" iyy="0" iyz="0.0" izz="0"/>
|
|
|
|
</inertial>
|
|
|
|
</link>
|
|
|
|
<joint name="tendon1_10_tendon1_11" type="revolute">
|
|
|
|
<axis xyz="0 0 1"/>
|
|
|
|
<parent link="tendon1_10"/>
|
|
|
|
<child link="tendon1_11"/>
|
|
|
|
<limit effort="0" lower="1" upper="0" velocity="50"/>
|
|
|
|
<origin rpy="0 0 0" xyz="0 .2 0"/>
|
|
|
|
</joint>
|
|
|
|
<link name="tendon1_12">
|
|
|
|
<visual>
|
|
|
|
<geometry>
|
|
|
|
<cylinder length=".1" radius=".05"/>
|
|
|
|
</geometry>
|
|
|
|
<material name="other"/>
|
|
|
|
</visual>
|
|
|
|
<collision>
|
|
|
|
<geometry>
|
|
|
|
<cylinder length=".1" radius=".05"/>
|
|
|
|
</geometry>
|
|
|
|
</collision>
|
|
|
|
<inertial>
|
|
|
|
<mass value="10"/>
|
|
|
|
<inertia ixx="0" ixy="0.0" ixz="0.0" iyy="0" iyz="0.0" izz="0"/>
|
|
|
|
</inertial>
|
|
|
|
</link>
|
|
|
|
<joint name="tendon1_11_tendon1_12" type="revolute">
|
|
|
|
<axis xyz="0 0 1"/>
|
|
|
|
<parent link="tendon1_11"/>
|
|
|
|
<child link="tendon1_12"/>
|
|
|
|
<limit effort="0" lower="1" upper="0" velocity="50"/>
|
|
|
|
<origin rpy="0 0 0" xyz="0 .2 0"/>
|
|
|
|
</joint>
|
|
|
|
<link name="tendon1_13">
|
|
|
|
<visual>
|
|
|
|
<geometry>
|
|
|
|
<cylinder length=".1" radius=".05"/>
|
|
|
|
</geometry>
|
|
|
|
<material name="other"/>
|
|
|
|
</visual>
|
|
|
|
<collision>
|
|
|
|
<geometry>
|
|
|
|
<cylinder length=".1" radius=".05"/>
|
|
|
|
</geometry>
|
|
|
|
</collision>
|
|
|
|
<inertial>
|
|
|
|
<mass value="10"/>
|
|
|
|
<inertia ixx="0" ixy="0.0" ixz="0.0" iyy="0" iyz="0.0" izz="0"/>
|
|
|
|
</inertial>
|
|
|
|
</link>
|
|
|
|
<joint name="tendon1_12_tendon1_13" type="revolute">
|
|
|
|
<axis xyz="0 0 1"/>
|
|
|
|
<parent link="tendon1_12"/>
|
|
|
|
<child link="tendon1_13"/>
|
|
|
|
<limit effort="0" lower="1" upper="0" velocity="50"/>
|
|
|
|
<origin rpy="0 0 0" xyz="0 .2 0"/>
|
|
|
|
</joint>
|
|
|
|
<link name="tendon1_14">
|
|
|
|
<visual>
|
|
|
|
<geometry>
|
|
|
|
<cylinder length=".1" radius=".05"/>
|
|
|
|
</geometry>
|
|
|
|
<material name="white"/>
|
|
|
|
</visual>
|
|
|
|
<collision>
|
|
|
|
<geometry>
|
|
|
|
<cylinder length=".1" radius=".05"/>
|
|
|
|
</geometry>
|
|
|
|
</collision>
|
|
|
|
<inertial>
|
|
|
|
<mass value="10"/>
|
|
|
|
<inertia ixx="0" ixy="0.0" ixz="0.0" iyy="0" iyz="0.0" izz="0"/>
|
|
|
|
</inertial>
|
|
|
|
</link>
|
|
|
|
<joint name="tendon1_13_tendon1_14" type="revolute">
|
|
|
|
<axis xyz="0 0 1"/>
|
|
|
|
<parent link="tendon1_13"/>
|
|
|
|
<child link="tendon1_14"/>
|
|
|
|
<limit effort="0" lower="1" upper="0" velocity="50"/>
|
|
|
|
<origin rpy="0 0 0" xyz="0 .2 0"/>
|
|
|
|
</joint>
|
|
|
|
|
|
|
|
<!---->
|
|
|
|
</robot>
|