Skip to content
Snippets Groups Projects
Unverified Commit dfea82e8 authored by Guilhem Saurel's avatar Guilhem Saurel Committed by GitHub
Browse files

Merge pull request #3 from nim65s/master

Update the repository to the version used for the first submission of the article
parents ebd7527d b4624239
No related branches found
No related tags found
No related merge requests found
Showing with 11779 additions and 8 deletions
Subproject commit 82344a319c2f5b3ee1cbf9c8558bf02695a58016
Subproject commit f640af133268935167dcb8be546e9a0691020fdc
Subproject commit 2892fb78470a139cc22de5d447677616645709a1
libs/pinocchio/models
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
<?xml version="1.0" ?>
<robot name="kuka-lwr2" xmlns:controller="http://playerstage.sourceforge.net/gazebo/xmlschema/#controller" xmlns:interface="http://playerstage.sourceforge.net/gazebo/xmlschema/#interface" xmlns:sensor="http://playerstage.sourceforge.net/gazebo/xmlschema/#sensor" xmlns:xacro="http://www.ros.org/wiki/xacro">
<origin rpy="0 0 0" xyz="0 1.5 0"/>
<material name="DarkGrey">
<color rgba="0.3 0.3 0.3 1.0"/>
</material>
<material name="Red">
<color rgba="0.3 0.3 0.3 1.0"/>
</material>
<material name="Black">
<color rgba="0 0 0 1.0"/>
</material>
<material name="Orange">
<color rgba="1.0 0.487 0 1.0"/>
</material>
<material name="Silver">
<color rgba="1.0 1.0 1.0 1.0"/>
</material>
<material name="Grey">
<color rgba="0.7 0.7 0.7 1.0"/>
</material>
<material name="Blue">
<color rgba="0.0 0.0 0.8 1.0"/>
</material>
<material name="HandGray">
<color rgba="0.953 0.996 0.694 1.0"/>
</material>
<material name="SickBlue">
<color rgba="0.3058 0.5921 0.7294 1.0"/>
</material>
<!--<link name="world"/>-->
<!--<joint name="arm_world_joint" type="fixed">-->
<!--<origin rpy="0 0 0" xyz="0 0 0.01"/>-->
<!--<parent link="world"/>-->
<!--<child link="lwr_arm_base_link"/>-->
<!--</joint>-->
<link name="world_link">
<!--<inertial>-->
<!--<mass value="50.0"/>-->
<!--<com xyz="0 0 0"/>-->
<!--<inertia ixx="0.01" ixy="0.00" ixz="0.00" iyy="0.01" iyz="0.00" izz="0.01"/>-->
<!--</inertial>-->
<visual>
<origin rpy="0 0 0" xyz="0 0 0.95"/>
<geometry>
<box size="0.5 0.5 0.05"/>
</geometry>
</visual>
<collision>
<origin rpy="0 0 0" xyz="0 0 0.50"/>
<geometry>
<box size="0.5 0.5 0.05"/>
</geometry>
</collision>
</link>
<!-- First (shoulder) element of the arm. Fixed to its parent. -->
<joint name="world_lwr_arm_base_joint" type="fixed">
<origin rpy="0 0 0" xyz="0 0 1.1"/>
<parent link="world_link"/>
<child link="lwr_arm_base_link"/>
</joint>
<link name="lwr_arm_base_link">
<inertial>
<mass value="1.2"/>
<origin rpy="0 0 0" xyz="0 0 0.055"/>
<inertia ixx="0.00229" ixy="0" ixz="0" iyy="0.00216" iyz="0" izz="0.00229"/>
</inertial>
<visual>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="package://./meshes/arm_base.dae" scale="100 100 100"/>
</geometry>
<material name="Orange"/>
</visual>
<collision>
<origin rpy="0 0 0" xyz="0 0 0.01"/>
<geometry>
<mesh filename="package://./meshes/convex/arm_base_convex.stl" scale="0.9 0.9 0.9"/>
</geometry>
</collision>
</link>
<gazebo reference="lwr_arm_base_link">
<!--<material value="kuka-lwr.material"/>-->
</gazebo>
<joint name="lwr_arm_0_joint" type="revolute">
<origin rpy="0 0 0" xyz="0 0 0.11"/>
<axis xyz="0 0 1"/>
<limit effort="204" lower="-2.96705972839" upper="2.96705972839" velocity="1.91986217719"/>
<safety_controller k_position="100" k_velocity="2" soft_lower_limit="-2.93215314335" soft_upper_limit="2.93215314335"/>
<dynamics damping="5.0"/>
<parent link="lwr_arm_base_link"/>
<child link="lwr_arm_1_link"/>
</joint>
<gazebo reference="lwr_arm_0_joint">
<provideFeedback>1</provideFeedback>
<implicitSpringDamper>1</implicitSpringDamper>
</gazebo>
<transmission name="lwr_arm_0_trans" type="SimpleTransmission">
<actuator name="lwr_arm_0_motor"/>
<joint name="lwr_arm_0_joint"/>
<mechanicalReduction>1.0</mechanicalReduction>
</transmission>
<link name="lwr_arm_1_link">
<inertial>
<mass value="2.0"/>
<origin rpy="0 0 0" xyz="0 0 0.130"/>
<inertia ixx="0.0136666666667" ixy="0" ixz="0" iyy="0.0118666666667" iyz="0" izz="0.003"/>
</inertial>
<visual>
<origin rpy="0 0 3.14159265359" xyz="0 0 0"/>
<geometry>
<mesh filename="package://./meshes/arm_segment_a.dae" scale="100 100 100"/>
</geometry>
<material name="Orange"/>
</visual>
<collision>
<origin rpy="0 0 3.14159265359" xyz="0 0 0"/>
<geometry>
<mesh filename="package://./meshes/convex/arm_segment_a_convex.stl" scale="1.0 1.0 1.0"/>
</geometry>
</collision>
</link>
<gazebo reference="lwr_arm_1_link">
<!--<material value="kuka-lwr.material"/>-->
</gazebo>
<joint name="lwr_arm_1_joint" type="revolute">
<origin rpy="0 0 0" xyz="0 0 0.20"/>
<axis xyz="0 -1 0"/>
<limit effort="306" lower="-2.09439510239" upper="2.09439510239" velocity="1.91986217719"/>
<safety_controller k_position="100" k_velocity="2" soft_lower_limit="-2.05948851735" soft_upper_limit="2.05948851735"/>
<dynamics damping="5.0"/>
<parent link="lwr_arm_1_link"/>
<child link="lwr_arm_2_link"/>
</joint>
<gazebo reference="lwr_arm_1_joint">
<provideFeedback>1</provideFeedback>
<implicitSpringDamper>1</implicitSpringDamper>
</gazebo>
<transmission name="lwr_arm_1_trans" type="pr2_mechanism_model/SimpleTransmission">
<actuator name="lwr_arm_1_motor"/>
<joint name="lwr_arm_1_joint"/>
<mechanicalReduction>1.0</mechanicalReduction>
</transmission>
<link name="lwr_arm_2_link">
<inertial>
<mass value="2.0"/>
<origin rpy="0 0 0" xyz="0 -0.06 0.07"/>
<inertia ixx="0.0136666666667" ixy="0" ixz="0" iyy="0.0118666666667" iyz="0" izz="0.003"/>
</inertial>
<visual>
<origin rpy="3.14159265359 0 3.14159265359" xyz="0 0 0.2"/>
<geometry>
<mesh filename="package://./meshes/arm_segment_b.dae" scale="100 100 100"/>
</geometry>
<material name="Orange"/>
</visual>
<collision>
<origin rpy="3.14159265359 0 3.14159265359" xyz="0 0 0.2"/>
<geometry>
<mesh filename="package://./meshes/convex/arm_segment_b_convex.stl" scale="1.0 1.0 1.0"/>
</geometry>
</collision>
</link>
<gazebo reference="lwr_arm_2_link">
<!--<material value="kuka-lwr.material"/>-->
</gazebo>
<joint name="lwr_arm_2_joint" type="revolute">
<origin rpy="0 0 0" xyz="0 0 0.20"/>
<axis xyz="0 0 1"/>
<limit effort="204" lower="-2.96705972839" upper="2.96705972839" velocity="2.26892802759"/>
<safety_controller k_position="100" k_velocity="2" soft_lower_limit="-2.93215314335" soft_upper_limit="2.93215314335"/>
<dynamics damping="3.0"/>
<parent link="lwr_arm_2_link"/>
<child link="lwr_arm_3_link"/>
</joint>
<gazebo reference="lwr_arm_2_joint">
<provideFeedback>1</provideFeedback>
<implicitSpringDamper>1</implicitSpringDamper>
</gazebo>
<transmission name="lwr_arm_2_trans" type="SimpleTransmission">
<actuator name="lwr_arm_2_motor"/>
<joint name="lwr_arm_2_joint"/>
<mechanicalReduction>1.0</mechanicalReduction>
</transmission>
<link name="lwr_arm_3_link">
<inertial>
<mass value="2.0"/>
<origin rpy="0 0 0" xyz="0 -0.06 0.130"/>
<inertia ixx="0.0136666666667" ixy="0" ixz="0" iyy="0.0118666666667" iyz="0" izz="0.003"/>
</inertial>
<visual>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="package://./meshes/arm_segment_a.dae" scale="100 100 100"/>
</geometry>
<material name="Orange"/>
</visual>
<collision>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="package://./meshes/convex/arm_segment_a_convex.stl" scale="1.0 1.0 1.0"/>
</geometry>
</collision>
</link>
<gazebo reference="lwr_arm_3_link">
<!--<material value="kuka-lwr.material"/>-->
</gazebo>
<joint name="lwr_arm_3_joint" type="revolute">
<origin rpy="0 0 0" xyz="0 0 0.20"/>
<axis xyz="0 1 0"/>
<limit effort="306" lower="-2.09439510239" upper="2.09439510239" velocity="2.26892802759"/>
<safety_controller k_position="100" k_velocity="2" soft_lower_limit="-2.05948851735" soft_upper_limit="2.05948851735"/>
<dynamics damping="3.0"/>
<parent link="lwr_arm_3_link"/>
<child link="lwr_arm_4_link"/>
</joint>
<gazebo reference="lwr_arm_3_joint">
<provideFeedback>1</provideFeedback>
<implicitSpringDamper>1</implicitSpringDamper>
</gazebo>
<transmission name="lwr_arm_3_trans" type="SimpleTransmission">
<actuator name="lwr_arm_3_motor"/>
<joint name="lwr_arm_3_joint"/>
<mechanicalReduction>1.0</mechanicalReduction>
</transmission>
<link name="lwr_arm_4_link">
<inertial>
<mass value="2.0"/>
<origin rpy="0 0 0" xyz="0 0.06 0.07"/>
<inertia ixx="0.0136666666667" ixy="0" ixz="0" iyy="0.0118666666667" iyz="0" izz="0.003"/>
</inertial>
<visual>
<origin rpy="0 3.14159265359 3.14159265359" xyz="0 0 0.2"/>
<geometry>
<mesh filename="package://./meshes/arm_segment_b.dae" scale="100 100 100"/>
</geometry>
<material name="Orange"/>
</visual>
<collision>
<origin rpy="0 3.14159265359 3.14159265359" xyz="0 0 0.2"/>
<geometry>
<mesh filename="package://./meshes/convex/arm_segment_b_convex.stl" scale="1.0 1.0 1.0"/>
</geometry>
</collision>
</link>
<gazebo reference="lwr_arm_4_link">
<!--<material value="kuka-lwr.material"/>-->
</gazebo>
<joint name="lwr_arm_4_joint" type="revolute">
<origin rpy="0 0 0" xyz="0 0 0.20"/>
<axis xyz="0 0 1"/>
<limit effort="204" lower="-2.96705972839" upper="2.96705972839" velocity="2.26892802759"/>
<safety_controller k_position="100" k_velocity="2" soft_lower_limit="-2.93215314335" soft_upper_limit="2.93215314335"/>
<dynamics damping="1.0"/>
<parent link="lwr_arm_4_link"/>
<child link="lwr_arm_5_link"/>
</joint>
<gazebo reference="lwr_arm_4_joint">
<provideFeedback>1</provideFeedback>
<implicitSpringDamper>1</implicitSpringDamper>
</gazebo>
<transmission name="lwr_arm_4_trans" type="SimpleTransmission">
<actuator name="lwr_arm_4_motor"/>
<joint name="lwr_arm_4_joint"/>
<mechanicalReduction>1.0</mechanicalReduction>
</transmission>
<link name="lwr_arm_5_link">
<inertial>
<mass value="2.0"/>
<origin rpy="0 0 0" xyz="0 0 0.124"/>
<inertia ixx="0.0126506666667" ixy="0" ixz="0" iyy="0.0108506666667" iyz="0" izz="0.003"/>
</inertial>
<visual>
<origin rpy="0 0 3.14159265359" xyz="0 0 0"/>
<geometry name="lwr_arm_5_geom">
<mesh filename="package://./meshes/arm_segment_last.dae" scale="100 100 100"/>
</geometry>
<material name="Orange"/>
</visual>
<collision>
<origin rpy="0 0 3.14159265359" xyz="0 0 0"/>
<geometry>
<mesh filename="package://./meshes/convex/arm_segment_last_convex.stl" scale="1.0 1.0 1.0"/>
</geometry>
</collision>
</link>
<gazebo reference="lwr_arm_5_link">
<!--<material value="kuka-lwr.material"/>-->
</gazebo>
<joint name="lwr_arm_5_joint" type="revolute">
<origin rpy="0 0 0" xyz="0 0 0.19"/>
<axis xyz="0 -1 0"/>
<limit effort="306" lower="-2.09439510239" upper="2.09439510239" velocity="3.14159265359"/>
<safety_controller k_position="100" k_velocity="2" soft_lower_limit="-2.05948851735" soft_upper_limit="2.05948851735"/>
<dynamics damping="1.0"/>
<parent link="lwr_arm_5_link"/>
<child link="lwr_arm_6_link"/>
</joint>
<gazebo reference="lwr_arm_5_joint">
<provideFeedback>1</provideFeedback>
<implicitSpringDamper>1</implicitSpringDamper>
</gazebo>
<transmission name="lwr_arm_5_trans" type="SimpleTransmission">
<actuator name="lwr_arm_5_motor"/>
<joint name="lwr_arm_5_joint"/>
<mechanicalReduction>1.0</mechanicalReduction>
</transmission>
<link name="lwr_arm_6_link">
<inertial>
<mass value="1.0"/>
<origin rpy="0 0 0" xyz="0 0 0.0"/>
<inertia ixx="0.00260416666667" ixy="0" ixz="0" iyy="0.00260416666667" iyz="0" izz="0.00260416666667"/>
</inertial>
<visual>
<origin rpy="0 0 3.14159265359" xyz="0 0 0"/>
<geometry>
<mesh filename="package://./meshes/arm_wrist.dae" scale="100 100 100"/>
</geometry>
<material name="Grey"/>
</visual>
<collision>
<origin rpy="0 0 3.14159265359" xyz="0 0 0"/>
<geometry>
<mesh filename="package://./meshes/convex/arm_wrist_convex.stl" scale="1.0 1.0 1.0"/>
</geometry>
</collision>
</link>
<gazebo reference="lwr_arm_6_link">
<!--<material value="kuka-lwr.material"/>-->
</gazebo>
<joint name="lwr_arm_6_joint" type="revolute">
<origin rpy="0 0 0" xyz="0 0 0.078"/>
<axis xyz="0 0 1"/>
<limit effort="204" lower="-2.96705972839" upper="2.96705972839" velocity="3.14159265359"/>
<safety_controller k_position="100" k_velocity="2" soft_lower_limit="-2.93215314335" soft_upper_limit="2.93215314335"/>
<dynamics damping="1.0"/>
<parent link="lwr_arm_6_link"/>
<child link="lwr_arm_7_link"/>
</joint>
<gazebo reference="lwr_arm_6_joint">
<provideFeedback>1</provideFeedback>
<implicitSpringDamper>1</implicitSpringDamper>
</gazebo>
<transmission name="lwr_arm_6_trans" type="SimpleTransmission">
<actuator name="lwr_arm_6_motor"/>
<joint name="lwr_arm_6_joint"/>
<mechanicalReduction>1.0</mechanicalReduction>
</transmission>
<link name="lwr_arm_7_link">
<inertial>
<mass value="0.2"/>
<origin xyz="0 0 0"/>
<inertia ixx="6.66666666667e-05" ixy="0" ixz="0" iyy="6.66666666667e-05" iyz="0" izz="0.00012"/>
</inertial>
<visual>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<mesh filename="package://./meshes/arm_flanche.dae" scale="100 100 100"/>
</geometry>
<material name="Grey"/>
</visual>
<collision>
<origin rpy="0 0 0" xyz="0 0 0"/>
<geometry>
<!--mesh filename="package://./meshes/convex/arm_flanche_convex.stl" scale="1.0 1.0 1.0"/-->
<mesh filename="package://./meshes/arm_flanche.dae" scale="100 100 100"/>
</geometry>
<surface>
<friction>
<ode>
<mu>0.01</mu>
<mu2>0.01</mu2>
</ode>
</friction>
</surface>
</collision>
</link>
<gazebo reference="lwr_arm_7_link">
<!--<material value="kuka-lwr.material"/>-->
</gazebo>
<!--joint name="lwr_arm_hand_fixed_joint" type="fixed">
<parent link="lwr_arm_7_link"/>
<child link="lwr_tool_mount"/>
</joint>
<link name="lwr_tool_mount"/-->
<!--xacro:lwr_arm_gazebo_controller namespace="" prefix="lwr" port="49938"/-->
</robot>
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
run.sh 0 → 100755
#!/bin/bash
set -e
set -x
export PREFIX=${1:-$PWD/prefix} # with bash / zsh
export LD_LIBRARY_PATH=${PREFIX}/lib:/opt/ros/kinetic/lib:${LD_LIBRARY_PATH}
#$PREFIX/bin/rbdl-test > /tmp/rbdl.txt
#$PREFIX/bin/pinocchio-test > /tmp/pinocchio.txt
$PREFIX/bin/kdl-test > /tmp/kdl.txt
#$PREFIX/bin/metapod-test
#$PREFIX/bin/julia-test.jl
#$PREFIX/bin/benchmarks-pinocchio
#$PREFIX/bin/benchmarks-rbdl
$PREFIX/bin/benchmarks-kdl
#$PREFIX/bin/benchmarks-metapod
#$PREFIX/bin/benchmarks-julia.jl
This diff is collapsed.
#!/usr/bin/env julia
using RigidBodyDynamics
using StaticArrays
include("models.jl")
function benchmark_julia_rnea(model, log_filename)
robot = parse_urdf(Float64, PATH * "$model.urdf")
if model != "lwr"
for joint in out_joints(root_body(robot), robot)
floatingjoint = Joint(string(joint), frame_before(joint), frame_after(joint), QuaternionFloating{Float64}())
replace_joint!(robot, joint, floatingjoint)
end
end
states = Array{MechanismState}(undef, NBT)
for i = 1:NBT
states[i] = MechanismState(robot)
rand!(states[i])
end
file = open(log_filename, "w")
for i = 1:NBT
debut = time_ns()
inverse_dynamics(states[i], states[i].v)
fin = time_ns()
write(file, Int(fin - debut))
end
close(file)
end
function benchmark_julia_crba(model, log_filename)
robot = parse_urdf(Float64, PATH * "$model.urdf")
if model != "lwr"
for joint in out_joints(root_body(robot), robot)
floatingjoint = Joint(string(joint), frame_before(joint), frame_after(joint), QuaternionFloating{Float64}())
replace_joint!(robot, joint, floatingjoint)
end
end
states = Array{MechanismState}(undef, NBT)
for i = 1:NBT
states[i] = MechanismState(robot)
rand!(states[i])
end
file = open(log_filename, "w")
for i = 1:NBT
debut = time_ns()
mass_matrix(states[i])
fin = time_ns()
write(file, Int(fin - debut))
end
close(file)
end
for model in MODELS
benchmark_julia_rnea(model, get_log_filename("Julia", "ID", model))
benchmark_julia_crba(model, get_log_filename("Julia", "FD", model))
end
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
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