Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • gsaurel/talos-data
  • stack-of-tasks/talos-data
2 results
Show changes
Commits on Source (70)
Showing
with 324 additions and 66 deletions
# format (Guilhem Saurel, 2022-12-29)
44929876e0874118281e26395fe899b5f9f4bd75
include: http://rainboard.laas.fr/project/talos_data/.gitlab-ci.yml
include: https://rainboard.laas.fr/project/talos-data/.gitlab-ci.yml
[submodule "cmake"]
path = cmake
url = git://github.com/jrl-umi3218/jrl-cmakemodules.git
url = https://github.com/jrl-umi3218/jrl-cmakemodules.git
ci:
autoupdate_branch: 'devel'
repos:
- repo: https://github.com/pre-commit/mirrors-clang-format
rev: v15.0.6
hooks:
- id: clang-format
args: [--style=Google]
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.4.0
hooks:
- id: check-added-large-files
- id: check-ast
- id: check-executables-have-shebangs
- id: check-json
- id: check-merge-conflict
- id: check-symlinks
- id: check-toml
- id: check-yaml
- id: debug-statements
- id: destroyed-symlinks
- id: detect-private-key
- id: end-of-file-fixer
- id: fix-byte-order-marker
- id: mixed-line-ending
- id: trailing-whitespace
- repo: https://github.com/psf/black
rev: 22.12.0
hooks:
- id: black
- repo: https://github.com/PyCQA/flake8
rev: 6.0.0
hooks:
- id: flake8
- repo: https://github.com/cheshirekow/cmake-format-precommit
rev: v0.6.13
hooks:
- id: cmake-format
CMAKE_MINIMUM_REQUIRED(VERSION 2.8.3)
cmake_minimum_required(VERSION 3.1)
SET(PROJECT_ORG pyrene-dev)
SET(PROJECT_NAME talos_data)
SET(PROJECT_DESCRIPTION "Talos urdf model, srdf model and other data")
SET(PROJECT_URL "https://gepgitlab.laas.fr/${PROJECT_ORG}/${PROJECT_NAME}")
# Project properties
set(PROJECT_ORG stack-of-tasks)
set(PROJECT_NAME talos_data)
set(PROJECT_DESCRIPTION "Talos urdf model, srdf model and other data")
set(PROJECT_URL "https://github.com/${PROJECT_ORG}/${PROJECT_NAME}")
SET(PROJECT_USE_CMAKE_EXPORT TRUE)
SET(CXX_DISABLE_WERROR True)
SET(CMAKE_CXX_STANDARD 11)
# Project configuration
set(PROJECT_USE_CMAKE_EXPORT TRUE)
#include(cmake/ros.cmake)
INCLUDE(cmake/base.cmake)
# JRL-cmakemodule setup
include(cmake/base.cmake)
# Specify the project.
COMPUTE_PROJECT_ARGS(PROJECT_ARGS LANGUAGES CXX)
PROJECT(${PROJECT_NAME} ${PROJECT_ARGS})
# Project definition
compute_project_args(PROJECT_ARGS LANGUAGES CXX C)
project(${PROJECT_NAME} ${PROJECT_ARGS})
find_package(catkin REQUIRED COMPONENTS
roscpp)
catkin_package(
# INCLUDE_DIRS include
# LIBRARIES talos_description
# CATKIN_DEPENDS roscpp
# DEPENDS system_lib
)
# Find xml_reflection
ADD_PROJECT_DEPENDENCY(urdfdom REQUIRED)
ADD_PROJECT_DEPENDENCY(gazebo REQUIRED)
ADD_COMPILE_DEPENDENCY(roscpp)
ADD_LIBRARY(${PROJECT_NAME}
SHARED
src/SpringPlugin.cc
)
TARGET_INCLUDE_DIRECTORIES(${PROJECT_NAME} PRIVATE ${GAZEBO_INCLUDE_DIRS})
TARGET_INCLUDE_DIRECTORIES(${PROJECT_NAME} PRIVATE ${catkin_INCLUDE_DIRS})
INSTALL(TARGETS
${PROJECT_NAME}
# Main Library
add_library(${PROJECT_NAME} INTERFACE)
install(
TARGETS ${PROJECT_NAME}
EXPORT ${TARGETS_EXPORT_NAME}
DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
)
FOREACH(dir config gazebo meshes robots urdf srdf launch)
INSTALL(DIRECTORY ${dir}/
DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}/${dir})
ENDFOREACH(dir)
DESTINATION lib)
foreach(
dir
config
gazebo
meshes
robots
urdf
srdf
launch)
install(DIRECTORY ${dir} DESTINATION share/${PROJECT_NAME})
endforeach(dir)
install(FILES package.xml DESTINATION share/${PROJECT_NAME})
set(PACKAGE_EXTRA_MACROS "set(TALOS_DATA_PREFIX ${CMAKE_INSTALL_PREFIX})")
-*- outline -*-
* Add model of pyrene with lidar. Generated using xacro files in pal_robotics
repository.
New in v2.0.0
Talos_data
==========
# Talos_data
[![Pipeline status](https://gitlab.laas.fr/stack-of-tasks/talos_data/badges/master/pipeline.svg)](https://gitlab.laas.fr/stack-of-tasks/talos_data/commits/master)
[![Coverage report](https://gitlab.laas.fr/stack-of-tasks/talos_data/badges/master/coverage.svg?job=doc-coverage)](https://gepettoweb.laas.fr/doc/stack-of-tasks/talos_data/master/coverage/)
[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
[![pre-commit.ci status](https://results.pre-commit.ci/badge/github/stack-of-tasks/talos_data/master.svg)](https://results.pre-commit.ci/latest/github/stack-of-tasks/talos_data)
## Introduction
......@@ -15,6 +19,9 @@ Some dummy data were added (rotor inertia) to help the dynamic regularization.
For initial and data validated by PAL-Robotics please see the http://github.com/pal-robotics/talos_robot
repository.
If you have problem in starting the robot in a specific position you should look at the
[python section](#python)
## Fixed joint
To start the robot in the air you can use:
```
......@@ -95,9 +102,10 @@ Finally to have the state of the joint in the topic */joint_states* you need to
This is telling to ros_control that the passive joint has Position and Effort interfaces.
## Python for launching nodes
In the directory scripts you can start a complete simulation by doing:
```
./start_talos_gazebo.py
```
In this specific case it will start the robot with a wide base.
Subproject commit 349e9bcac4a3006b61d5eff2956d3cf2f3595dce
Subproject commit d3185885a294ad2d1fd7c65f758675b7f376d3b5
......@@ -58,4 +58,3 @@ joint_limits:
max_velocity: *max_arm_vel
# Hands and legs keep the default values from URDF
gains:
leg_left_1_joint: &leg_1_gains {p: 5000, d: 20, i: 5, i_clamp: 7, torque_clamp: 60}
leg_left_2_joint: &leg_2_gains {p: 5000, d: 20, i: 5, i_clamp: 14, torque_clamp: 160}
leg_left_3_joint: &leg_3_gains {p: 5000, d: 20, i: 5, i_clamp: 14, torque_clamp: 160}
leg_left_4_joint: &leg_4_gains {p: 5000, d: 20, i: 5, i_clamp: 25, torque_clamp: 300}
leg_left_5_joint: &leg_5_gains {p: 5000, d: 20, i: 5, i_clamp: 14, torque_clamp: 160}
leg_left_6_joint: &leg_6_gains {p: 5000, d: 20, i: 5, i_clamp: 9, torque_clamp: 100}
leg_right_1_joint: *leg_1_gains
leg_right_2_joint: *leg_2_gains
leg_right_3_joint: *leg_3_gains
leg_right_4_joint: *leg_4_gains
leg_right_5_joint: *leg_5_gains
leg_right_6_joint: *leg_6_gains
head_1_joint: {p: 300, d: 0.1, i: 1, i_clamp: 5, torque_clamp: 8}
head_2_joint: {p: 300, d: 0.1, i: 1, i_clamp: 1.5, torque_clamp: 8}
torso_1_joint: {p: 10000, d: 10, i: 1, i_clamp: 10, torque_clamp: 100}
torso_2_joint: {p: 10000, d: 10, i: 1, i_clamp: 10, torque_clamp: 100}
arm_right_1_joint: &arm_1_gains {p: 10000, d: 0, i: 0, i_clamp: 14, torque_clamp: 150}
arm_right_2_joint: &arm_2_gains {p: 10000, d: 0, i: 0, i_clamp: 14, torque_clamp: 150}
arm_right_3_joint: &arm_3_gains {p: 5000, d: 0, i: 0, i_clamp: 9, torque_clamp: 100}
arm_right_4_joint: &arm_4_gains {p: 10000, d: 0, i: 0, i_clamp: 9, torque_clamp: 100}
arm_right_5_joint: &arm_5_gains {p: 3000, d: 0, i: 0, i_clamp: 5, torque_clamp: 50}
arm_right_6_joint: &arm_6_gains {p: 3000, d: 0, i: 0, i_clamp: 3, torque_clamp: 30}
arm_right_7_joint: &arm_7_gains {p: 3000, d: 0, i: 0, i_clamp: 3, torque_clamp: 30}
arm_left_1_joint: *arm_1_gains
arm_left_2_joint: *arm_2_gains
arm_left_3_joint: *arm_3_gains
arm_left_4_joint: *arm_4_gains
arm_left_5_joint: *arm_5_gains
arm_left_6_joint: *arm_6_gains
arm_left_7_joint: *arm_7_gains
gripper_left_joint: {p: 1000, d: 0, i: 0, i_clamp: 10, torque_clamp: 100}
gripper_right_joint: {p: 1000, d: 0, i: 0, i_clamp: 10, torque_clamp: 100}
#https://answers.ros.org/question/283537/how-to-do-mimic-joints-that-work-in-gazebo/
gripperleft_inner_double_joint: &gripper_gains {p: 20, d: 0.0, i: 0.0, i_clamp: 0.2, antiwindup: false}
gripper_left_fingertip_1_joint: *gripper_gains
gripper_left_fingertip_2_joint: *gripper_gains
gripper_left_motor_single_joint: *gripper_gains
gripper_left_fingertip_3_joint: *gripper_gains
gripper_left_inner_single_joint: *gripper_gains
gripper_left_inner_double_joint: *gripper_gains
gripper_right_inner_double_joint: *gripper_gains
gripper_right_fingertip_1_joint: *gripper_gains
gripper_right_fingertip_2_joint: *gripper_gains
gripper_right_motor_single_joint: *gripper_gains
gripper_right_fingertip_3_joint: *gripper_gains
gripper_right_inner_single_joint: *gripper_gains
gains:
leg_left_1_joint: &leg_1_gains {p: 20000, d: 40, i: 5, i_clamp: 9000, torque_clamp: 6600}
leg_left_2_joint: &leg_2_gains {p: 20000, d: 40, i: 5, i_clamp: 9400, torque_clamp: 6600}
leg_left_3_joint: &leg_3_gains {p: 20000, d: 40, i: 5, i_clamp: 9400, torque_clamp: 6600}
leg_left_4_joint: &leg_4_gains {p: 20000, d: 40, i: 5, i_clamp: 9500, torque_clamp: 6000}
leg_left_5_joint: &leg_5_gains {p: 20000, d: 40, i: 5, i_clamp: 9400, torque_clamp: 6600}
leg_left_6_joint: &leg_6_gains {p: 20000, d: 40, i: 5, i_clamp: 9000, torque_clamp: 6000}
leg_right_1_joint: *leg_1_gains
leg_right_2_joint: *leg_2_gains
leg_right_3_joint: *leg_3_gains
leg_right_4_joint: *leg_4_gains
leg_right_5_joint: *leg_5_gains
leg_right_6_joint: *leg_6_gains
head_1_joint: {p: 300, d: 0.1, i: 1, i_clamp: 5, torque_clamp: 8}
head_2_joint: {p: 300, d: 0.1, i: 1, i_clamp: 1.5, torque_clamp: 8}
torso_1_joint: {p: 10000, d: 10, i: 1, i_clamp: 10, torque_clamp: 100}
torso_2_joint: {p: 10000, d: 10, i: 1, i_clamp: 10, torque_clamp: 100}
arm_right_1_joint: &arm_1_gains {p: 10000, d: 0, i: 0, i_clamp: 14, torque_clamp: 150}
arm_right_2_joint: &arm_2_gains {p: 10000, d: 0, i: 0, i_clamp: 14, torque_clamp: 150}
arm_right_3_joint: &arm_3_gains {p: 5000, d: 0, i: 0, i_clamp: 9, torque_clamp: 100}
arm_right_4_joint: &arm_4_gains {p: 10000, d: 0, i: 0, i_clamp: 9, torque_clamp: 100}
arm_right_5_joint: &arm_5_gains {p: 3000, d: 0, i: 0, i_clamp: 5, torque_clamp: 50}
arm_right_6_joint: &arm_6_gains {p: 3000, d: 0, i: 0, i_clamp: 3, torque_clamp: 30}
arm_right_7_joint: &arm_7_gains {p: 3000, d: 0, i: 0, i_clamp: 3, torque_clamp: 30}
arm_left_1_joint: *arm_1_gains
arm_left_2_joint: *arm_2_gains
arm_left_3_joint: *arm_3_gains
arm_left_4_joint: *arm_4_gains
arm_left_5_joint: *arm_5_gains
arm_left_6_joint: *arm_6_gains
arm_left_7_joint: *arm_7_gains
gripper_left_joint: {p: 1000, d: 0, i: 0, i_clamp: 10, torque_clamp: 100}
gripper_right_joint: {p: 1000, d: 0, i: 0, i_clamp: 10, torque_clamp: 100}
#https://answers.ros.org/question/283537/how-to-do-mimic-joints-that-work-in-gazebo/
gripperleft_inner_double_joint: &gripper_gains {p: 20, d: 0.0, i: 0.0, i_clamp: 0.2, antiwindup: false}
gripper_left_fingertip_1_joint: *gripper_gains
gripper_left_fingertip_2_joint: *gripper_gains
gripper_left_motor_single_joint: *gripper_gains
gripper_left_fingertip_3_joint: *gripper_gains
gripper_left_inner_single_joint: *gripper_gains
gripper_left_inner_double_joint: *gripper_gains
gripper_right_inner_double_joint: *gripper_gains
gripper_right_fingertip_1_joint: *gripper_gains
gripper_right_fingertip_2_joint: *gripper_gains
gripper_right_motor_single_joint: *gripper_gains
gripper_right_fingertip_3_joint: *gripper_gains
gripper_right_inner_single_joint: *gripper_gains
......@@ -1326,4 +1326,3 @@
</Plugins>
<previouslyLoadedDatafile filename="/home/user/2018-09-23-18-06-22.bag"/>
</root>
......@@ -23,7 +23,7 @@
<topicName>wrench</topicName>
</plugin>
</gazebo>
<gazebo reference="imu_link">
<!-- this is expected to be reparented to pelvis with appropriate offset
......@@ -52,7 +52,7 @@
the biases are fixed additive offsets. We choose
bias means and stddevs to produce biases close to the provided
data. -->
<!--
<rate>
<mean>0.0</mean>
......@@ -67,8 +67,8 @@
<bias_stddev>0.001</bias_stddev>
</accel>
-->
<rate>
<mean>0.0</mean>
<stddev>0.0</stddev>
......@@ -81,8 +81,8 @@
<bias_mean>0.0</bias_mean>
<bias_stddev>0.000</bias_stddev>
</accel>
</noise>
</imu>
</sensor>
......@@ -92,4 +92,3 @@
<!-- <xacro:property name="M_PI" value="3.1415926535897931" /> -->
</robot>
<?xml version="1.0" encoding="UTF-8"?>
<launch>
<!-- Load default controllers -->
<include file="$(find talos_controller_configuration)/launch/bringup_controllers.launch" />
<!-- Robot state publisher -->
<node pkg="robot_state_publisher" type="state_publisher" name="robot_state_publisher">
<param name="publish_frequency" type="double" value="100.0" />
<param name="tf_prefix" type="string" value="" />
</node>
</launch>
<?xml version="1.0" encoding="UTF-8"?>
<launch>
<arg name="start_half_sitting" default="true"/>
<arg name="world" default="empty"/> <!-- empty, small_office, ... (see ../worlds) -->
<arg name="gzpose" default="-x 0.0 -y 0.0 -z 1.16 -R 0.0 -P 0.0 -Y 0.0" unless="$(arg start_half_sitting)"/>
<arg name="gui" default="true"/>
<arg name="debug" default="false"/>
<arg name="recording" default="false"/>
<arg name="extra_gazebo_args" default=""/>
<arg name="load_model" default="true"/> <!-- AS: should probably be false by default -->
<arg name="robot" default="full_v2"/> <!-- full, lower_body, foot -->
<arg name="foot_collision" default="thinbox"/>
<arg name="enable_leg_passive" default="false"/>
<arg name="enable_fixed_robot" default="false"/>
<arg name="default_configuration_type" default="zeros"/>
<env name="GAZEBO_MODEL_PATH" value="$(find talos_gazebo)/models:$(optenv GAZEBO_MODEL_PATH)"/>
<!-- start up world -->
<include file="$(find pal_gazebo_worlds)/launch/pal_gazebo.launch">
<arg name="world" value="$(arg world)"/>
<arg name="gui" value="$(arg gui)"/>
<arg name="debug" value="$(arg debug)"/>
<arg name="recording" value="$(arg recording)"/>
<arg name="extra_gazebo_args" value="$(arg extra_gazebo_args)"/>
</include>
<group if="$(arg load_model)">
<include file="$(find talos_data)/robots/upload.launch" >
<arg name="robot" value="$(arg robot)"/>
<arg name="foot_collision" default="$(arg foot_collision)"/>
<arg name="enable_leg_passive" default="$(arg enable_leg_passive)"/>
<arg name="enable_fixed_robot" default="$(arg enable_fixed_robot)"/>
<arg name="default_configuration_type" default="$(arg default_configuration_type)"/>
</include>
</group>
</launch>
<?xml version="1.0" encoding="UTF-8"?>
<launch>
<arg name="left_leg_pose" default="-J leg_left_1_joint 0.0 -J leg_left_2_joint 0.0 -J leg_left_3_joint -0.411354 -J leg_left_4_joint 0.859395 -J leg_left_5_joint -0.448041 -J leg_left_6_joint -0.001708"/>
<arg name="right_leg_pose" default="-J leg_right_1_joint 0.0 -J leg_right_2_joint 0.0 -J leg_right_3_joint -0.411354 -J leg_right_4_joint 0.859395 -J leg_right_5_joint -0.448041 -J leg_right_6_joint -0.001708"/>
<arg name="left_arm_pose" default="-J arm_left_1_joint 0.25847 -J arm_left_2_joint 0.173046 -J arm_left_3_joint -0.0002 -J arm_left_4_joint -0.525366 -J arm_left_5_joint 0.0 -J arm_left_6_joint 0.0 -J arm_left_7_joint 0.1"/>
<arg name="right_arm_pose" default="-J arm_right_1_joint -0.25847 -J arm_right_2_joint -0.173046 -J arm_left_3_joint 0.0002 -J arm_right_4_joint -0.525366 -J arm_right_5_joint 0.0 -J arm_right_6_joint 0.0 -J arm_right_7_joint 0.1"/>
<arg name="torso_pose" default="-J torso_1_joint 0.0 -J torso_2_joint 0.006761"/>
<arg name="gzpose" default="-x 0.0 -y 0.0 -z 1.02 -R 0.0 -P 0.0 -Y 0.0 $(arg left_leg_pose) $(arg right_leg_pose) $(arg left_arm_pose) $(arg right_arm_pose) $(arg torso_pose) " />
<arg name="robot" default="full_v2"/> <!-- full, lower_body, foot -->
<include file="$(find talos_data)/launch/talos_spawn.launch">
<arg name="robot" value="$(arg robot)"/>
<arg name="gzpose" value="$(arg gzpose)"/>
</include>
</launch>
<?xml version="1.0" encoding="UTF-8"?>
<launch>
<arg name="left_leg_pose" default="-J leg_left_1_joint -0.001 -J leg_left_2_joint 0.062 -J leg_left_3_joint -0.4096 -J leg_left_4_joint 0.8568 -J leg_left_5_joint -0.4472 -J leg_left_6_joint -0.0600"/>
<arg name="right_leg_pose" default="-J leg_right_1_joint 0.002 -J leg_right_2_joint -0.0603 -J leg_right_3_joint -0.4094 -J leg_right_4_joint 0.8563 -J leg_right_5_joint -0.4469 -J leg_right_6_joint 0.0560"/>
<arg name="left_arm_pose" default="-J arm_left_1_joint 0.25847 -J arm_left_2_joint 0.173046 -J arm_left_3_joint -0.0002 -J arm_left_4_joint -0.525366 -J arm_left_5_joint 0.0 -J arm_left_6_joint 0.0 -J arm_left_7_joint 0.1"/>
<arg name="right_arm_pose" default="-J arm_right_1_joint -0.25847 -J arm_right_2_joint -0.173046 -J arm_left_3_joint 0.0002 -J arm_right_4_joint -0.525366 -J arm_right_5_joint 0.0 -J arm_right_6_joint 0.0 -J arm_right_7_joint 0.1"/>
<arg name="torso_pose" default="-J torso_1_joint 0.0 -J torso_2_joint 0.006761"/>
<arg name="gzpose" default="-x 0.0 -y 0.0 -z 1.02 -R 0.0 -P 0.0 -Y 0.0 $(arg left_leg_pose) $(arg right_leg_pose) $(arg left_arm_pose) $(arg right_arm_pose) $(arg torso_pose) -u" />
<arg name="robot" default="full_v2"/> <!-- full, lower_body, foot -->
<include file="$(find talos_gazebo)/launch/talos_spawn.launch">
<arg name="robot" value="$(arg robot)"/>
<arg name="gzpose" value="$(arg gzpose)"/>
</include>
</launch>
......@@ -12,7 +12,7 @@
<!-- PID gains -->
<rosparam command="load" file="$(find talos_hardware_gazebo)/config/pids.yaml"/>
<rosparam command="load" file="$(find talos_data)/config/pids_stiff.yaml"/>
<!-- Spawn robot in Gazebo -->
<node pkg="gazebo_ros" type="spawn_model" name="spawn_model"
......
<?xml version="1.0" encoding="UTF-8"?>
<launch>
<arg name="robot" default="full_v2"/>
<arg name="gzpose" default="-x 0 -y 0 -z 1.0 -R 0.0 -P 0.0 -Y 0.0"/>
<!-- PAL Hardware gazebo config -->
<include file="$(find talos_controller_configuration)/launch/selective_rosparam_loader.launch">
<arg name="robot" value="$(arg robot)" />
<arg name="prefix" value="$(find talos_hardware_gazebo)/config/sensors/" />
</include>
<!-- PID gains -->
<rosparam command="load" file="$(find talos_data)/config/pids_stiff.yaml"/>
<!-- Spawn robot in Gazebo -->
<node pkg="gazebo_ros" type="spawn_model" name="spawn_model"
args="-urdf -param robot_description $(arg gzpose) -model talos" />
<node ns="/rgbd/rgb/high_res" pkg="image_proc" type="image_proc" name="image_proc_high_res"/>
<node ns="/rgbd/rgb" pkg="image_proc" type="image_proc" name="image_proc"/>
</launch>
File added