From ca39f0443cb661a94295660702186c60a8f2b0b5 Mon Sep 17 00:00:00 2001 From: manx52 Date: Sat, 30 Nov 2024 20:16:40 -0500 Subject: [PATCH] added new urdf --- .idea/soccerbot.iml | 7 +- .idea/workspace.xml | 209 +++- compose.yaml | 1 + .../config/assembly/assembly.yaml | 53 + .../config/assembly/assembly_sim.yaml | 53 + .../assembly/assembly_sim_pybullet.yaml | 53 + .../walk_engine/foot_step_planner.py | 2 +- .../soccer_pycontrol/walk_engine/navigator.py | 13 +- .../soccer_pycontrol/test/test_placo.py | 10 +- .../soccer_pycontrol/test/test_pybullet.py | 23 +- .../soccer_pycontrol/test/test_walk_ros.py | 4 +- .../soccer_trajectories/doc/README.md | 64 ++ .../test/test_trajectory.py | 8 +- .../assembly_description/CMakeLists.txt | 197 ++++ .../assembly_description/LICENSE | 21 + .../launch/controller.launch | 9 + .../launch/controller.yaml | 87 ++ .../launch/display.launch | 10 + .../assembly_description/launch/gazebo.launch | 11 + .../assembly_description/launch/urdf.rviz | 422 ++++++++ .../meshes/raw/base_link.stl | 3 + .../meshes/raw/head_v4_1.stl | 3 + .../meshes/raw/left_ankle_v7_1.stl | 3 + .../meshes/raw/left_bicep_v6_1.stl | 3 + .../meshes/raw/left_calve_v5_1.stl | 3 + .../meshes/raw/left_foot_v10_1.stl | 3 + .../meshes/raw/left_forearm_v4_1.stl | 3 + .../meshes/raw/left_hip_front_v5_1.stl | 3 + .../meshes/raw/left_hip_side_v5_1.stl | 3 + .../meshes/raw/left_shoulder_v5_1.stl | 3 + .../meshes/raw/left_thigh_v1_1.stl | 3 + .../meshes/raw/neck_v6_1.stl | 3 + .../meshes/raw/right_ankle_v2_1.stl | 3 + .../meshes/raw/right_bicep_v2_1.stl | 3 + .../meshes/raw/right_calve_v1_1.stl | 3 + .../meshes/raw/right_foot_v2_1.stl | 3 + .../meshes/raw/right_forearm_v1_1.stl | 3 + .../meshes/raw/right_hip_front_v5_1.stl | 3 + .../meshes/raw/right_hip_side_v1_1.stl | 3 + .../meshes/raw/right_shoulder_v1_1.stl | 3 + .../meshes/raw/right_thigh_v1_1.stl | 3 + .../meshes/simplified/base_link.stl | 3 + .../meshes/simplified/head_v4_1.stl | 3 + .../meshes/simplified/left_ankle_v7_1.stl | 3 + .../meshes/simplified/left_bicep_v6_1.stl | 3 + .../meshes/simplified/left_calve_v5_1.stl | 3 + .../meshes/simplified/left_foot_v10_1.stl | 3 + .../meshes/simplified/left_forearm_v4_1.stl | 3 + .../meshes/simplified/left_hip_front_v5_1.stl | 3 + .../meshes/simplified/left_hip_side_v5_1.stl | 3 + .../meshes/simplified/left_shoulder_v5_1.stl | 3 + .../meshes/simplified/left_thigh_v1_1.stl | 3 + .../meshes/simplified/neck_v6_1.stl | 3 + .../meshes/simplified/right_ankle_v2_1.stl | 3 + .../meshes/simplified/right_bicep_v2_1.stl | 3 + .../meshes/simplified/right_calve_v1_1.stl | 3 + .../meshes/simplified/right_foot_v2_1.stl | 3 + .../meshes/simplified/right_forearm_v1_1.stl | 3 + .../simplified/right_hip_front_v5_1.stl | 3 + .../meshes/simplified/right_hip_side_v1_1.stl | 3 + .../meshes/simplified/right_shoulder_v1_1.stl | 3 + .../meshes/simplified/right_thigh_v1_1.stl | 3 + .../assembly_description/meshes/simplify.py | 24 + .../assembly_description/meshes/viewer.py | 14 + .../assembly_description/package.xml | 62 ++ .../assembly_description/urdf/assembly.gazebo | 157 +++ .../assembly_description/urdf/assembly.trans | 224 ++++ .../assembly_description/urdf/assembly.urdf | 974 ++++++++++++++++++ .../assembly_description/urdf/assembly.xacro | 588 +++++++++++ .../urdf/assembly_simple.urdf | 865 ++++++++++++++++ .../assembly_description/urdf/materials.urdf | 20 + .../assembly_description/urdf/materials.xacro | 17 + .../assembly_description/urdf/robot.urdf | 620 +++++++++++ soccer_hardware/soccer_firmware/.cproject | 134 ++- .../.settings/language.settings.xml | 8 +- .../soccer_firmware/Core/Src/main.c | 2 +- .../config/bez2.yaml | 20 +- .../{strategy => old_strategy}/__init__.py | 0 .../soccer_strategy/old_strategy/strategy.py | 141 +++ .../old_strategy/strategy_determine_side.py | 275 +++++ .../old_strategy/strategy_dummy.py | 136 +++ .../old_strategy/strategy_finished.py | 14 + .../old_strategy/strategy_freekick.py | 9 + .../old_strategy/strategy_penaltykick.py | 18 + .../old_strategy/strategy_ready.py | 35 + .../old_strategy/strategy_set.py | 17 + .../old_strategy/strategy_stationary.py | 15 + .../src/soccer_strategy/old_strategy/utils.py | 218 ++++ 88 files changed, 5863 insertions(+), 127 deletions(-) create mode 100644 soccer_control/soccer_pycontrol/config/assembly/assembly.yaml create mode 100644 soccer_control/soccer_pycontrol/config/assembly/assembly_sim.yaml create mode 100644 soccer_control/soccer_pycontrol/config/assembly/assembly_sim_pybullet.yaml create mode 100644 soccer_description/assembly_description/CMakeLists.txt create mode 100644 soccer_description/assembly_description/LICENSE create mode 100644 soccer_description/assembly_description/launch/controller.launch create mode 100644 soccer_description/assembly_description/launch/controller.yaml create mode 100644 soccer_description/assembly_description/launch/display.launch create mode 100644 soccer_description/assembly_description/launch/gazebo.launch create mode 100644 soccer_description/assembly_description/launch/urdf.rviz create mode 100644 soccer_description/assembly_description/meshes/raw/base_link.stl create mode 100644 soccer_description/assembly_description/meshes/raw/head_v4_1.stl create mode 100644 soccer_description/assembly_description/meshes/raw/left_ankle_v7_1.stl create mode 100644 soccer_description/assembly_description/meshes/raw/left_bicep_v6_1.stl create mode 100644 soccer_description/assembly_description/meshes/raw/left_calve_v5_1.stl create mode 100644 soccer_description/assembly_description/meshes/raw/left_foot_v10_1.stl create mode 100644 soccer_description/assembly_description/meshes/raw/left_forearm_v4_1.stl create mode 100644 soccer_description/assembly_description/meshes/raw/left_hip_front_v5_1.stl create mode 100644 soccer_description/assembly_description/meshes/raw/left_hip_side_v5_1.stl create mode 100644 soccer_description/assembly_description/meshes/raw/left_shoulder_v5_1.stl create mode 100644 soccer_description/assembly_description/meshes/raw/left_thigh_v1_1.stl create mode 100644 soccer_description/assembly_description/meshes/raw/neck_v6_1.stl create mode 100644 soccer_description/assembly_description/meshes/raw/right_ankle_v2_1.stl create mode 100644 soccer_description/assembly_description/meshes/raw/right_bicep_v2_1.stl create mode 100644 soccer_description/assembly_description/meshes/raw/right_calve_v1_1.stl create mode 100644 soccer_description/assembly_description/meshes/raw/right_foot_v2_1.stl create mode 100644 soccer_description/assembly_description/meshes/raw/right_forearm_v1_1.stl create mode 100644 soccer_description/assembly_description/meshes/raw/right_hip_front_v5_1.stl create mode 100644 soccer_description/assembly_description/meshes/raw/right_hip_side_v1_1.stl create mode 100644 soccer_description/assembly_description/meshes/raw/right_shoulder_v1_1.stl create mode 100644 soccer_description/assembly_description/meshes/raw/right_thigh_v1_1.stl create mode 100644 soccer_description/assembly_description/meshes/simplified/base_link.stl create mode 100644 soccer_description/assembly_description/meshes/simplified/head_v4_1.stl create mode 100644 soccer_description/assembly_description/meshes/simplified/left_ankle_v7_1.stl create mode 100644 soccer_description/assembly_description/meshes/simplified/left_bicep_v6_1.stl create mode 100644 soccer_description/assembly_description/meshes/simplified/left_calve_v5_1.stl create mode 100644 soccer_description/assembly_description/meshes/simplified/left_foot_v10_1.stl create mode 100644 soccer_description/assembly_description/meshes/simplified/left_forearm_v4_1.stl create mode 100644 soccer_description/assembly_description/meshes/simplified/left_hip_front_v5_1.stl create mode 100644 soccer_description/assembly_description/meshes/simplified/left_hip_side_v5_1.stl create mode 100644 soccer_description/assembly_description/meshes/simplified/left_shoulder_v5_1.stl create mode 100644 soccer_description/assembly_description/meshes/simplified/left_thigh_v1_1.stl create mode 100644 soccer_description/assembly_description/meshes/simplified/neck_v6_1.stl create mode 100644 soccer_description/assembly_description/meshes/simplified/right_ankle_v2_1.stl create mode 100644 soccer_description/assembly_description/meshes/simplified/right_bicep_v2_1.stl create mode 100644 soccer_description/assembly_description/meshes/simplified/right_calve_v1_1.stl create mode 100644 soccer_description/assembly_description/meshes/simplified/right_foot_v2_1.stl create mode 100644 soccer_description/assembly_description/meshes/simplified/right_forearm_v1_1.stl create mode 100644 soccer_description/assembly_description/meshes/simplified/right_hip_front_v5_1.stl create mode 100644 soccer_description/assembly_description/meshes/simplified/right_hip_side_v1_1.stl create mode 100644 soccer_description/assembly_description/meshes/simplified/right_shoulder_v1_1.stl create mode 100644 soccer_description/assembly_description/meshes/simplified/right_thigh_v1_1.stl create mode 100644 soccer_description/assembly_description/meshes/simplify.py create mode 100644 soccer_description/assembly_description/meshes/viewer.py create mode 100644 soccer_description/assembly_description/package.xml create mode 100644 soccer_description/assembly_description/urdf/assembly.gazebo create mode 100644 soccer_description/assembly_description/urdf/assembly.trans create mode 100644 soccer_description/assembly_description/urdf/assembly.urdf create mode 100644 soccer_description/assembly_description/urdf/assembly.xacro create mode 100644 soccer_description/assembly_description/urdf/assembly_simple.urdf create mode 100644 soccer_description/assembly_description/urdf/materials.urdf create mode 100644 soccer_description/assembly_description/urdf/materials.xacro create mode 100644 soccer_description/assembly_description/urdf/robot.urdf rename soccer_strategy/src/soccer_strategy/{strategy => old_strategy}/__init__.py (100%) create mode 100644 soccer_strategy/src/soccer_strategy/old_strategy/strategy.py create mode 100644 soccer_strategy/src/soccer_strategy/old_strategy/strategy_determine_side.py create mode 100644 soccer_strategy/src/soccer_strategy/old_strategy/strategy_dummy.py create mode 100644 soccer_strategy/src/soccer_strategy/old_strategy/strategy_finished.py create mode 100644 soccer_strategy/src/soccer_strategy/old_strategy/strategy_freekick.py create mode 100644 soccer_strategy/src/soccer_strategy/old_strategy/strategy_penaltykick.py create mode 100644 soccer_strategy/src/soccer_strategy/old_strategy/strategy_ready.py create mode 100644 soccer_strategy/src/soccer_strategy/old_strategy/strategy_set.py create mode 100644 soccer_strategy/src/soccer_strategy/old_strategy/strategy_stationary.py create mode 100644 soccer_strategy/src/soccer_strategy/old_strategy/utils.py diff --git a/.idea/soccerbot.iml b/.idea/soccerbot.iml index 5fdd65ba2..60f44bcee 100644 --- a/.idea/soccerbot.iml +++ b/.idea/soccerbot.iml @@ -1,7 +1,12 @@ - + + + + + + diff --git a/.idea/workspace.xml b/.idea/workspace.xml index e0f9c6389..9a92f8767 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -5,10 +5,54 @@ + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - { - "keyToString": { - "Python.dgfs.executor": "Run", - "RunOnceActivity.ShowReadmeOnStart": "true", - "git-widget-placeholder": "master", - "last_opened_file_path": "/home/jonathan/catkin_ws/src/soccerbot/tools/setup", - "node.js.detected.package.eslint": "true", - "node.js.detected.package.tslint": "true", - "node.js.selected.package.eslint": "(autodetect)", - "node.js.selected.package.tslint": "(autodetect)", - "nodejs_package_manager_path": "npm", - "settings.editor.selected.configurable": "com.jetbrains.python.configuration.PyActiveSdkModuleConfigurable", - "vue.rearranger.settings.migration": "true" + +}]]> + + - - + + + + + + + + + + + + + + + + + + + + + - + + + + + @@ -125,13 +256,33 @@ + + + + + + + file://$PROJECT_DIR$/soccer_control/soccer_pycontrol/test/test_pybullet.py + 29 + + + + + + + + + + + \ No newline at end of file diff --git a/compose.yaml b/compose.yaml index 15757d1fb..fd675b99a 100644 --- a/compose.yaml +++ b/compose.yaml @@ -16,6 +16,7 @@ services: service: simulator soccerbot_no_cuda: + image: utrarobosoccer/soccerbot:no_cuda network_mode: host extends: file: tools/docker/compose.autonomy.yaml diff --git a/soccer_control/soccer_pycontrol/config/assembly/assembly.yaml b/soccer_control/soccer_pycontrol/config/assembly/assembly.yaml new file mode 100644 index 000000000..85fa05a07 --- /dev/null +++ b/soccer_control/soccer_pycontrol/config/assembly/assembly.yaml @@ -0,0 +1,53 @@ +# Path parameters +robot_model: bez2 + +# KINEMATIC DATA +#: Height of the robot's torso (center between two arms) while walking +walking_torso_height: 0.37 +arm_0_center: -0.45 +arm_1_center: 2.512 +# merge_fixed_links: true + +# STABILIZE +walking_pitch_kp: 0 #2.3 1 +walking_pitch_kd: 0 #1 +walking_pitch_ki: 0.000 +walking_pitch_setpoint: -0.0 +walking_pitch_offset: 0.0 + +walking_roll_kp: 0 #1.5 1 +walking_roll_kd: 0 #0.5 +walking_roll_ki: 0.0 +walking_roll_setpoint: -0.0 +walking_roll_offset: 0.0 + +### WALK ENGINE +# Walk parameters - if double_support_ratio is not set to 0, should be greater than replan_frequency +# Timing parameters +control_frequency: 0.01 +single_support_duration: 0.3 # Duration of single support phase [s] +single_support_timesteps: 10 # Number of planning timesteps per single support phase +double_support_ratio: 0.0 # Ratio of double support (0.0 to 1.0) +startend_double_support_ratio: 2.0 # Ratio duration of supports for starting and stopping walk +planned_timesteps: 48 # Number of timesteps planned ahead +replan_timesteps: 10 # Replanning each n timesteps + +# Posture parameters +walk_com_height: 0.27 # Constant height for the CoM [m] +walk_foot_height: 0.04 # Height of foot rising while walking [m] +walk_trunk_pitch: 0.0 # Trunk pitch angle [rad] +walk_foot_rise_ratio: 0.2 # Time ratio for the foot swing plateau (0.0 to 1.0) + +# Feet parameters +foot_length: 0.1576 # Foot length [m] +foot_width: 0.092 # Foot width [m] +feet_spacing: 0.122 # Lateral feet spacing [m] +zmp_margin: 0.02 # ZMP margin [m] +foot_zmp_target_x: 0.0 # Reference target ZMP position in the foot [m] +foot_zmp_target_y: 0.0 # Reference target ZMP position in the foot [m] + +# Limit parameters +walk_max_dtheta: 1 # Maximum dtheta per step [rad] +walk_max_dy: 0.04 # Maximum dy per step [m] +walk_max_dx_forward: 0.08 # Maximum dx per step forward [m] +walk_max_dx_backward: 0.03 # Maximum dx per step backward [m] diff --git a/soccer_control/soccer_pycontrol/config/assembly/assembly_sim.yaml b/soccer_control/soccer_pycontrol/config/assembly/assembly_sim.yaml new file mode 100644 index 000000000..e6e9032e0 --- /dev/null +++ b/soccer_control/soccer_pycontrol/config/assembly/assembly_sim.yaml @@ -0,0 +1,53 @@ +# Path parameters +robot_model: bez2 + +# KINEMATIC DATA +#: Height of the robot's torso (center between two arms) while walking +walking_torso_height: 0.37 +arm_0_center: -0.45 +arm_1_center: 2.512 +# merge_fixed_links: true + +# STABILIZE +walking_pitch_kp: 0 #2.3 1 +walking_pitch_kd: 0 #1 +walking_pitch_ki: 0.000 +walking_pitch_setpoint: -0.0 +walking_pitch_offset: 0.0 + +walking_roll_kp: 0 #1.5 1 +walking_roll_kd: 0 #0.5 +walking_roll_ki: 0.0 +walking_roll_setpoint: -0.0 +walking_roll_offset: 0.0 + +### WALK ENGINE +# Walk parameters - if double_support_ratio is not set to 0, should be greater than replan_frequency +# Timing parameters +control_frequency: 0.005 +single_support_duration: 0.3 # Duration of single support phase [s] +single_support_timesteps: 10 # Number of planning timesteps per single support phase +double_support_ratio: 0.0 # Ratio of double support (0.0 to 1.0) +startend_double_support_ratio: 1.5 # Ratio duration of supports for starting and stopping walk +planned_timesteps: 48 # Number of timesteps planned ahead +replan_timesteps: 10 # Replanning each n timesteps + +# Posture parameters +walk_com_height: 0.27 # Constant height for the CoM [m] +walk_foot_height: 0.04 # Height of foot rising while walking [m] +walk_trunk_pitch: 0.0 # Trunk pitch angle [rad] +walk_foot_rise_ratio: 0.2 # Time ratio for the foot swing plateau (0.0 to 1.0) + +# Feet parameters +foot_length: 0.1576 # Foot length [m] +foot_width: 0.092 # Foot width [m] +feet_spacing: 0.122 # Lateral feet spacing [m] +zmp_margin: 0.02 # ZMP margin [m] +foot_zmp_target_x: 0.0 # Reference target ZMP position in the foot [m] +foot_zmp_target_y: 0.0 # Reference target ZMP position in the foot [m] + +# Limit parameters +walk_max_dtheta: 1 # Maximum dtheta per step [rad] +walk_max_dy: 0.04 # Maximum dy per step [m] +walk_max_dx_forward: 0.08 # Maximum dx per step forward [m] +walk_max_dx_backward: 0.03 # Maximum dx per step backward [m] diff --git a/soccer_control/soccer_pycontrol/config/assembly/assembly_sim_pybullet.yaml b/soccer_control/soccer_pycontrol/config/assembly/assembly_sim_pybullet.yaml new file mode 100644 index 000000000..1a5a8c270 --- /dev/null +++ b/soccer_control/soccer_pycontrol/config/assembly/assembly_sim_pybullet.yaml @@ -0,0 +1,53 @@ +# Path parameters +robot_model: bez2 + +# KINEMATIC DATA +#: Height of the robot's torso (center between two arms) while walking +walking_torso_height: 0.43 +arm_0_center: -0.45 +arm_1_center: 2.512 +# merge_fixed_links: true + +# STABILIZE +walking_pitch_kp: 0 #2.3 1 +walking_pitch_kd: 0 #1 +walking_pitch_ki: 0.000 +walking_pitch_setpoint: -0.0 +walking_pitch_offset: 0.0 + +walking_roll_kp: 0 #1.5 1 +walking_roll_kd: 0 #0.5 +walking_roll_ki: 0.0 +walking_roll_setpoint: -0.0 +walking_roll_offset: 0.0 + +### WALK ENGINE +# Walk parameters - if double_support_ratio is not set to 0, should be greater than replan_frequency +# Timing parameters +control_frequency: 0.005 +single_support_duration: 0.3 # Duration of single support phase [s] +single_support_timesteps: 10 # Number of planning timesteps per single support phase +double_support_ratio: 0.0 # Ratio of double support (0.0 to 1.0) +startend_double_support_ratio: 1.5 # Ratio duration of supports for starting and stopping walk +planned_timesteps: 48 # Number of timesteps planned ahead +replan_timesteps: 10 # Replanning each n timesteps + +# Posture parameters +walk_com_height: 0.23 # Constant height for the CoM [m] +walk_foot_height: 0.04 # Height of foot rising while walking [m] +walk_trunk_pitch: 0.0 # Trunk pitch angle [rad] +walk_foot_rise_ratio: 0.2 # Time ratio for the foot swing plateau (0.0 to 1.0) + +# Feet parameters +foot_length: 0.1576 # Foot length [m] +foot_width: 0.092 # Foot width [m] +feet_spacing: 0.122 # Lateral feet spacing [m] +zmp_margin: 0.01 # ZMP margin [m] +foot_zmp_target_x: 0.0 # Reference target ZMP position in the foot [m] +foot_zmp_target_y: 0.0 # Reference target ZMP position in the foot [m] + +# Limit parameters +walk_max_dtheta: 1 # Maximum dtheta per step [rad] +walk_max_dy: 0.04 # Maximum dy per step [m] +walk_max_dx_forward: 0.1 # Maximum dx per step forward [m] +walk_max_dx_backward: 0.03 # Maximum dx per step backward [m] diff --git a/soccer_control/soccer_pycontrol/src/soccer_pycontrol/walk_engine/foot_step_planner.py b/soccer_control/soccer_pycontrol/src/soccer_pycontrol/walk_engine/foot_step_planner.py index b1ac3b931..aeadab658 100644 --- a/soccer_control/soccer_pycontrol/src/soccer_pycontrol/walk_engine/foot_step_planner.py +++ b/soccer_control/soccer_pycontrol/src/soccer_pycontrol/walk_engine/foot_step_planner.py @@ -82,7 +82,7 @@ def setup_tasks(self): shoulder_roll = 0 * np.pi / 180 shoulder_pitch = -0.45 # 20 * np.pi / 180 joints_task = self.solver.add_joints_task() - if self.robot_model == "bez2": + if self.robot_model == "bez2" or self.robot_model == "assembly": joints_task.set_joints( { "left_shoulder_roll": shoulder_roll, diff --git a/soccer_control/soccer_pycontrol/src/soccer_pycontrol/walk_engine/navigator.py b/soccer_control/soccer_pycontrol/src/soccer_pycontrol/walk_engine/navigator.py index 8f4cc8fe2..70a52371e 100644 --- a/soccer_control/soccer_pycontrol/src/soccer_pycontrol/walk_engine/navigator.py +++ b/soccer_control/soccer_pycontrol/src/soccer_pycontrol/walk_engine/navigator.py @@ -13,7 +13,7 @@ from soccer_common import PID, Transformation - +# TODO could make it more modular by passing in pybullet stuff or have it at one layer higher so we can reuse code # TODO change to trajectory controller class Navigator: def __init__(self, world: PybulletWorld, bez: Bez, imu_feedback_enabled: bool = False, record_walking_metrics: bool = True): @@ -68,8 +68,8 @@ def walk(self, target_goal: Union[Transformation, List], ball_mode: bool = False elif isinstance(target_goal, list): # [d_x: float = 0.0, d_y: float = 0.0, d_theta: float = 0.0, nb_steps: int = 10, t_goal: float = 10] self.walk_time(target_goal) - if self.record_walking_metrics and display_metrics: - self.display_walking_metrics(show_targets=isinstance(target_goal, Transformation)) + # if self.record_walking_metrics and display_metrics: + # self.display_walking_metrics(show_targets=isinstance(target_goal, Transformation)) self.ready() def find_new_vel(self, goal_loc: list, curr_loc: list = (0, 0)): @@ -116,6 +116,9 @@ def walk_pose(self, target_goal: Transformation): pose = ( self.bez.sensors.get_pose() ) # self.foot_step_planner.robot.get_T_world_trunk() # can use self.foot_step_planner.trajectory.get_p_world_CoM(t) + + # TODO should be broken up and a unit test + print(self.foot_step_planner.robot.com_world()) goal = Transformation() goal.rotation_matrix = np.matmul(target_goal.rotation_matrix, scipy.linalg.inv(pose.rotation_matrix)) goal.position = pose.rotation_matrix.T @ target_goal.position - pose.rotation_matrix.T @ pose.position @@ -215,8 +218,8 @@ def walk_loop(self, t: float): # self.foot_step_planner.robot.set_T_world_fbase(T) # self.foot_step_planner.robot.update_kinematics() - if self.record_walking_metrics: - self.update_walking_metrics(t) + # if self.record_walking_metrics: + # self.update_walking_metrics(t) return t diff --git a/soccer_control/soccer_pycontrol/test/test_placo.py b/soccer_control/soccer_pycontrol/test/test_placo.py index 10e9fb46f..fee43a50f 100644 --- a/soccer_control/soccer_pycontrol/test/test_placo.py +++ b/soccer_control/soccer_pycontrol/test/test_placo.py @@ -6,7 +6,7 @@ from soccer_common import Transformation -REAL_TIME = False +REAL_TIME = True class TestPlaco(unittest.TestCase): @@ -21,15 +21,15 @@ def test_bez1(self): real_time=REAL_TIME, rate=200, ) - self.bez = Bez(robot_model="bez1", pose=Transformation()) - walk = Navigator(self.world, self.bez, imu_feedback_enabled=True) + self.bez = Bez(robot_model="assembly", pose=Transformation()) + walk = Navigator(self.world, self.bez, imu_feedback_enabled=False) # walk.ready() # self.bez.motor_control.set_motor() # walk.wait(50) - target_goal = [0.08, 0, 0, 3, 10] + target_goal = [0.03, 0, 0, 10, 500] # target_goal = Transformation(position=[1, 0, 0], euler=[0, 0, 0]) print("STARTING WALK") - walk.walk(target_goal, display_metrics=True) + walk.walk(target_goal, display_metrics=False) # walk.wait(1000) # TODO fix diff --git a/soccer_control/soccer_pycontrol/test/test_pybullet.py b/soccer_control/soccer_pycontrol/test/test_pybullet.py index 5623c8033..8c29b47cf 100644 --- a/soccer_control/soccer_pycontrol/test/test_pybullet.py +++ b/soccer_control/soccer_pycontrol/test/test_pybullet.py @@ -8,7 +8,7 @@ from soccer_common import Transformation -REAL_TIME = False +REAL_TIME = True class TestPybullet(unittest.TestCase): @@ -19,10 +19,10 @@ def tearDown(self): def test_imu(self): self.world = PybulletWorld(camera_yaw=45, real_time=REAL_TIME, rate=100) - # pose = Transformation() - pose = Transformation(position=[0, 0, 0.070], euler=[0, -1.57, 0]) - pose = Transformation(position=[0, 0, 0.070], euler=[0, 1.57, 0]) - self.bez = Bez(robot_model="bez2", pose=pose) + pose = Transformation() + # pose = Transformation(position=[0, 0, 0.070], euler=[0, -1.57, 0]) + # pose = Transformation(position=[0, 0, 0.070], euler=[0, 1.57, 0]) + self.bez = Bez(robot_model="assembly", pose=pose) self.world.wait(100) for i in range(100): [_, pitch, roll] = self.bez.sensors.get_imu() @@ -38,8 +38,8 @@ def test_foot_sensor(self): # TODO add more and fuix the link location def test_bez_motor_range(self): - self.world = PybulletWorld(path="", camera_yaw=90, real_time=REAL_TIME, rate=1000) - self.bez = Bez(robot_model="bez2", fixed_base=True, pose=Transformation()) + self.world = PybulletWorld(path="", camera_yaw=45, real_time=REAL_TIME, rate=1000) + self.bez = Bez(robot_model="assembly", fixed_base=True, pose=Transformation()) self.world.wait(50) angles = np.linspace(-np.pi, np.pi) for i in range(self.bez.motor_control.numb_of_motors): @@ -59,15 +59,18 @@ def test_bez_motor_range(self): self.world.wait(100) def test_bez_motor_range_single(self): - self.world = PybulletWorld(path="", camera_yaw=90, real_time=REAL_TIME, rate=500) + self.world = PybulletWorld(path="", camera_yaw=45, real_time=REAL_TIME, rate=500) self.bez = Bez(robot_model="bez1", fixed_base=True, pose=Transformation()) + # self.bez = Bez(robot_model="assembly", fixed_base=True, pose=Transformation()) self.world.wait(50) angles = np.linspace(-np.pi, np.pi) for j in angles: x = [0.0] * self.bez.motor_control.numb_of_motors - x[self.bez.motor_control.motor_names.index("left_ankle_roll")] = j - x[self.bez.motor_control.motor_names.index("right_ankle_roll")] = j + t = "elbow" + x[self.bez.motor_control.motor_names.index("head_pitch")] = j + # x[self.bez.motor_control.motor_names.index("right_"+t)] = j + # x[self.bez.motor_control.motor_names.index("left_"+t)] = j pb.setJointMotorControlArray( bodyIndex=self.bez.model.body, diff --git a/soccer_control/soccer_pycontrol/test/test_walk_ros.py b/soccer_control/soccer_pycontrol/test/test_walk_ros.py index bf037f060..8e3d3574d 100644 --- a/soccer_control/soccer_pycontrol/test/test_walk_ros.py +++ b/soccer_control/soccer_pycontrol/test/test_walk_ros.py @@ -30,7 +30,9 @@ def test_walk_ros_local(self): # walker.wait(50) # walker.goal_callback(PoseStamped()) # walker.walk(d_x=0.04, t_goal=10) - target_goal = Transformation(position=[1, 0, 0], euler=[0, 0, 0]) + # target_goal = Transformation(position=[1, 0, 0], euler=[0, 0, 0]) + # walker.walk(target_goal) + target_goal = [0.04, 0, 0, 10, 500] walker.walk(target_goal) walker.wait(100) diff --git a/soccer_control/soccer_trajectories/doc/README.md b/soccer_control/soccer_trajectories/doc/README.md index 75f9a8bc0..71e91e990 100644 --- a/soccer_control/soccer_trajectories/doc/README.md +++ b/soccer_control/soccer_trajectories/doc/README.md @@ -5,3 +5,67 @@ | `TrajectoryManagerSim` | Interfaces with trajectory and sends to pybullet. | | `Trajectory` | Interpolates a CSV trajectory for multiple joints. | | `Pybullet` | Sets up pybullet simulation for basic usage | + +localization + - IPM + +Navigation + - global planner A* + - Local Planner Pursuit + - + +Mapping + - Create map + - Add obstacles with a decay + +Perception + - segmentation + - object localization - obj size, IPM + - point cloud localization - IPM + - Mapp & IOU classification comparision + - Segmentation comparison + +Strategy + - Adding basic structure + - porting old to new + - Team communication + - stratgey + +Control + - Muj= os.environ["ROS_NAMESPACE"] + os.system( + f"/bin/bash -c 'source /opt/ros/noetic/setup.bash && rosnode kill {robot_ns}/soccer_strategy {robot_ns}/soccer_pycontrol {robot_ns}/soccer_trajectories'" + ) + + rospy.init_node("soccer_control") + + bez = BezROS() + walker = NavigatorRos(bez) + # walker.wait(50) + # walker.ready() + # bez.motor_control.set_motor() + # walker.wait(50) + # walker.goal_callback(PoseStamped()) + # walker.walk(d_x=0.04, t_goal=10) + # target_goal = Transformation(position=[1, 0, 0], euler=[0, 0, 0]) + # walker.walk(target_goal) + target_goal = [0.04, 0, 0, 10, 500] + walker.walk(target_goal) + + walker.wait(100)oco + - Placo tuning + - COM balancing mode + - Betteer balance way paper + - Trajectory metrics + - Refactoring + - Trajectory generation + - Adding in imu feedback + - ZMP + - PID balancing walking + - MPC + - LQR + +Infrastructure + - Refactor dockerfile + - Switch to ROS2 + - diff --git a/soccer_control/soccer_trajectories/test/test_trajectory.py b/soccer_control/soccer_trajectories/test/test_trajectory.py index db6c5a5a3..175a0027f 100644 --- a/soccer_control/soccer_trajectories/test/test_trajectory.py +++ b/soccer_control/soccer_trajectories/test/test_trajectory.py @@ -52,9 +52,9 @@ def test_trajectory(self): self.assertEqual(angles, [0.0, 0.0, 0.0, 0.0, 0.564, 0.564, -1.176, -1.176, 0.613, 0.613, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]) -@pytest.mark.parametrize("trajectory_name", ["fix_angle_test"]) # , "getupback_full", "rightkick", "getupfront"]) -@pytest.mark.parametrize("robot_model", ["bez2"]) -@pytest.mark.parametrize("real_time", [False]) +@pytest.mark.parametrize("trajectory_name", ["getupfront"]) # , "getupback_full", "rightkick", "getupfront"]) +@pytest.mark.parametrize("robot_model", ["assembly"]) +@pytest.mark.parametrize("real_time", [True]) def test_trajectory_sim(trajectory_name: str, robot_model: str, real_time: bool): """ Case 1: Standard case @@ -63,7 +63,7 @@ def test_trajectory_sim(trajectory_name: str, robot_model: str, real_time: bool) # TODO update with pybullet updates if trajectory_name == "getupfront": pose = Transformation(position=[0, 0, 0.070], euler=[0, 1.57, 0]) - camera = 90 + camera = 45 elif trajectory_name == "getupback_full" or trajectory_name == "getupback_roll": pose = Transformation(position=[0, 0, 0.070], euler=[0, -1.57, 0]) camera = 0 diff --git a/soccer_description/assembly_description/CMakeLists.txt b/soccer_description/assembly_description/CMakeLists.txt new file mode 100644 index 000000000..4910b4ac8 --- /dev/null +++ b/soccer_description/assembly_description/CMakeLists.txt @@ -0,0 +1,197 @@ +cmake_minimum_required(VERSION 2.8.3) +project(assembly_description) + +## Compile as C++11, supported in ROS Kinetic and newer +# add_compile_options(-std=c++11) + +## Find catkin macros and libraries +## if COMPONENTS list like find_package(catkin REQUIRED COMPONENTS xyz) +## is used, also find other catkin packages +find_package(catkin REQUIRED COMPONENTS + rospy +) + +## System dependencies are found with CMake's conventions +# find_package(Boost REQUIRED COMPONENTS system) + + +## Uncomment this if the package has a setup.py. This macro ensures +## modules and global scripts declared therein get installed +## See http://ros.org/doc/api/catkin/html/user_guide/setup_dot_py.html +# catkin_python_setup() + +################################################ +## Declare ROS messages, services and actions ## +################################################ + +## To declare and build messages, services or actions from within this +## package, follow these steps: +## * Let MSG_DEP_SET be the set of packages whose message types you use in +## your messages/services/actions (e.g. std_msgs, actionlib_msgs, ...). +## * In the file package.xml: +## * add a build_depend tag for "message_generation" +## * add a build_depend and a exec_depend tag for each package in MSG_DEP_SET +## * If MSG_DEP_SET isn't empty the following dependency has been pulled in +## but can be declared for certainty nonetheless: +## * add a exec_depend tag for "message_runtime" +## * In this file (CMakeLists.txt): +## * add "message_generation" and every package in MSG_DEP_SET to +## find_package(catkin REQUIRED COMPONENTS ...) +## * add "message_runtime" and every package in MSG_DEP_SET to +## catkin_package(CATKIN_DEPENDS ...) +## * uncomment the add_*_files sections below as needed +## and list every .msg/.srv/.action file to be processed +## * uncomment the generate_messages entry below +## * add every package in MSG_DEP_SET to generate_messages(DEPENDENCIES ...) + +## Generate messages in the 'msg' folder +# add_message_files( +# FILES +# Message1.msg +# Message2.msg +# ) + +## Generate services in the 'srv' folder +# add_service_files( +# FILES +# Service1.srv +# Service2.srv +# ) + +## Generate actions in the 'action' folder +# add_action_files( +# FILES +# Action1.action +# Action2.action +# ) + +## Generate added messages and services with any dependencies listed here +# generate_messages( +# DEPENDENCIES +# std_msgs # Or other packages containing msgs +# ) + +################################################ +## Declare ROS dynamic reconfigure parameters ## +################################################ + +## To declare and build dynamic reconfigure parameters within this +## package, follow these steps: +## * In the file package.xml: +## * add a build_depend and a exec_depend tag for "dynamic_reconfigure" +## * In this file (CMakeLists.txt): +## * add "dynamic_reconfigure" to +## find_package(catkin REQUIRED COMPONENTS ...) +## * uncomment the "generate_dynamic_reconfigure_options" section below +## and list every .cfg file to be processed + +## Generate dynamic reconfigure parameters in the 'cfg' folder +# generate_dynamic_reconfigure_options( +# cfg/DynReconf1.cfg +# cfg/DynReconf2.cfg +# ) + +################################### +## catkin specific configuration ## +################################### +## The catkin_package macro generates cmake config files for your package +## Declare things to be passed to dependent projects +## INCLUDE_DIRS: uncomment this if your package contains header files +## LIBRARIES: libraries you create in this project that dependent projects also need +## CATKIN_DEPENDS: catkin_packages dependent projects also need +## DEPENDS: system dependencies of this project that dependent projects also need +catkin_package( +# INCLUDE_DIRS include +# LIBRARIES fusion2urdf +# CATKIN_DEPENDS rospy +# DEPENDS system_lib +) + +########### +## Build ## +########### + +## Specify additional locations of header files +## Your package locations should be listed before other locations +include_directories( +# include + ${catkin_INCLUDE_DIRS} +) + +## Declare a C++ library +# add_library(${PROJECT_NAME} +# src/${PROJECT_NAME}/fusion2urdf.cpp +# ) + +## Add cmake target dependencies of the library +## as an example, code may need to be generated before libraries +## either from message generation or dynamic reconfigure +# add_dependencies(${PROJECT_NAME} ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS}) + +## Declare a C++ executable +## With catkin_make all packages are built within a single CMake context +## The recommended prefix ensures that target names across packages don't collide +# add_executable(${PROJECT_NAME}_node src/fusion2urdf_node.cpp) + +## Rename C++ executable without prefix +## The above recommended prefix causes long target names, the following renames the +## target back to the shorter version for ease of user use +## e.g. "rosrun someones_pkg node" instead of "rosrun someones_pkg someones_pkg_node" +# set_target_properties(${PROJECT_NAME}_node PROPERTIES OUTPUT_NAME node PREFIX "") + +## Add cmake target dependencies of the executable +## same as for the library above +# add_dependencies(${PROJECT_NAME}_node ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS}) + +## Specify libraries to link a library or executable target against +# target_link_libraries(${PROJECT_NAME}_node +# ${catkin_LIBRARIES} +# ) + +############# +## Install ## +############# + +# all install targets should use catkin DESTINATION variables +# See http://ros.org/doc/api/catkin/html/adv_user_guide/variables.html + +## Mark executable scripts (Python etc.) for installation +## in contrast to setup.py, you can choose the destination +# install(PROGRAMS +# scripts/my_python_script +# DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION} +# ) + +## Mark executables and/or libraries for installation +# install(TARGETS ${PROJECT_NAME} ${PROJECT_NAME}_node +# ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} +# LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} +# RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION} +# ) + +## Mark cpp header files for installation +# install(DIRECTORY include/${PROJECT_NAME}/ +# DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION} +# FILES_MATCHING PATTERN "*.h" +# PATTERN ".svn" EXCLUDE +# ) + +## Mark other files for installation (e.g. launch and bag files, etc.) +# install(FILES +# # myfile1 +# # myfile2 +# DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION} +# ) + +############# +## Testing ## +############# + +## Add gtest based cpp test target and link libraries +# catkin_add_gtest(${PROJECT_NAME}-test test/test_fusion2urdf.cpp) +# if(TARGET ${PROJECT_NAME}-test) +# target_link_libraries(${PROJECT_NAME}-test ${PROJECT_NAME}) +# endif() + +## Add folders to be run by python nosetests +# catkin_add_nosetests(test) diff --git a/soccer_description/assembly_description/LICENSE b/soccer_description/assembly_description/LICENSE new file mode 100644 index 000000000..99d99f014 --- /dev/null +++ b/soccer_description/assembly_description/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2018 Toshinori Kitamura + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/soccer_description/assembly_description/launch/controller.launch b/soccer_description/assembly_description/launch/controller.launch new file mode 100644 index 000000000..adcdb8f0f --- /dev/null +++ b/soccer_description/assembly_description/launch/controller.launch @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/soccer_description/assembly_description/launch/controller.yaml b/soccer_description/assembly_description/launch/controller.yaml new file mode 100644 index 000000000..2961d10ae --- /dev/null +++ b/soccer_description/assembly_description/launch/controller.yaml @@ -0,0 +1,87 @@ +assembly: + # Publish all joint states ----------------------------------- + joint_state_controller: + type: joint_state_controller/JointStateController + publish_rate: 50 + + # Position Controllers -------------------------------------- + left_hip_yaw_position_controller: + type: effort_controllers/JointPositionController + joint: left_hip_yaw + pid: {p: 100.0, i: 0.01, d: 10.0} + left_ankle_roll_position_controller: + type: effort_controllers/JointPositionController + joint: left_ankle_roll + pid: {p: 100.0, i: 0.01, d: 10.0} + left_shoulder_pitch_position_controller: + type: effort_controllers/JointPositionController + joint: left_shoulder_pitch + pid: {p: 100.0, i: 0.01, d: 10.0} + left_shoulder_roll_position_controller: + type: effort_controllers/JointPositionController + joint: left_shoulder_roll + pid: {p: 100.0, i: 0.01, d: 10.0} + left_elbow_position_controller: + type: effort_controllers/JointPositionController + joint: left_elbow + pid: {p: 100.0, i: 0.01, d: 10.0} + head_yaw_position_controller: + type: effort_controllers/JointPositionController + joint: head_yaw + pid: {p: 100.0, i: 0.01, d: 10.0} + head_pitch_position_controller: + type: effort_controllers/JointPositionController + joint: head_pitch + pid: {p: 100.0, i: 0.01, d: 10.0} + right_hip_yaw_position_controller: + type: effort_controllers/JointPositionController + joint: right_hip_yaw + pid: {p: 100.0, i: 0.01, d: 10.0} + right_ankle_pitch_position_controller: + type: effort_controllers/JointPositionController + joint: right_ankle_pitch + pid: {p: 100.0, i: 0.01, d: 10.0} + right_ankle_roll_position_controller: + type: effort_controllers/JointPositionController + joint: right_ankle_roll + pid: {p: 100.0, i: 0.01, d: 10.0} + right_shoulder_pitch_position_controller: + type: effort_controllers/JointPositionController + joint: right_shoulder_pitch + pid: {p: 100.0, i: 0.01, d: 10.0} + right_shoulder_roll_position_controller: + type: effort_controllers/JointPositionController + joint: right_shoulder_roll + pid: {p: 100.0, i: 0.01, d: 10.0} + right_elbow_position_controller: + type: effort_controllers/JointPositionController + joint: right_elbow + pid: {p: 100.0, i: 0.01, d: 10.0} + left_hip_pitch_position_controller: + type: effort_controllers/JointPositionController + joint: left_hip_pitch + pid: {p: 100.0, i: 0.01, d: 10.0} + right_hip_pitch_position_controller: + type: effort_controllers/JointPositionController + joint: right_hip_pitch + pid: {p: 100.0, i: 0.01, d: 10.0} + left_hip_roll_position_controller: + type: effort_controllers/JointPositionController + joint: left_hip_roll + pid: {p: 100.0, i: 0.01, d: 10.0} + left_knee_position_controller: + type: effort_controllers/JointPositionController + joint: left_knee + pid: {p: 100.0, i: 0.01, d: 10.0} + left_ankle_pitch_position_controller: + type: effort_controllers/JointPositionController + joint: left_ankle_pitch + pid: {p: 100.0, i: 0.01, d: 10.0} + right_hip_roll_position_controller: + type: effort_controllers/JointPositionController + joint: right_hip_roll + pid: {p: 100.0, i: 0.01, d: 10.0} + right_knee_position_controller: + type: effort_controllers/JointPositionController + joint: right_knee + pid: {p: 100.0, i: 0.01, d: 10.0} diff --git a/soccer_description/assembly_description/launch/display.launch b/soccer_description/assembly_description/launch/display.launch new file mode 100644 index 000000000..cd388d20c --- /dev/null +++ b/soccer_description/assembly_description/launch/display.launch @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/soccer_description/assembly_description/launch/gazebo.launch b/soccer_description/assembly_description/launch/gazebo.launch new file mode 100644 index 000000000..958937df2 --- /dev/null +++ b/soccer_description/assembly_description/launch/gazebo.launch @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/soccer_description/assembly_description/launch/urdf.rviz b/soccer_description/assembly_description/launch/urdf.rviz new file mode 100644 index 000000000..0f6297430 --- /dev/null +++ b/soccer_description/assembly_description/launch/urdf.rviz @@ -0,0 +1,422 @@ +Panels: + - Class: rviz/Displays + Help Height: 78 + Name: Displays + Property Tree Widget: + Expanded: + - /Global Options1 + - /Status1 + - /RobotModel1 + - /TF1 + Splitter Ratio: 0.5 + Tree Height: 591 + - Class: rviz/Selection + Name: Selection + - Class: rviz/Tool Properties + Expanded: + - /2D Pose Estimate1 + - /2D Nav Goal1 + - /Publish Point1 + Name: Tool Properties + Splitter Ratio: 0.5886790156364441 + - Class: rviz/Views + Expanded: + - /Current View1 + Name: Views + Splitter Ratio: 0.5 + - Class: rviz/Time + Experimental: false + Name: Time + SyncMode: 0 + SyncSource: "" +Preferences: + PromptSaveOnExit: true +Toolbars: + toolButtonStyle: 2 +Visualization Manager: + Class: "" + Displays: + - Alpha: 0.5 + Cell Size: 1 + Class: rviz/Grid + Color: 160; 160; 164 + Enabled: true + Line Style: + Line Width: 0.029999999329447746 + Value: Lines + Name: Grid + Normal Cell Count: 0 + Offset: + X: 0 + Y: 0 + Z: 0 + Plane: XY + Plane Cell Count: 10 + Reference Frame: + Value: true + - Alpha: 1 + Class: rviz/RobotModel + Collision Enabled: false + Enabled: true + Links: + 2dofknuckle_link_1: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + 2dofknuckle_link_10: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + 2dofknuckle_link_2: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + 2dofknuckle_link_3: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + 2dofknuckle_link_4: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + 2dofknuckle_link_5: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + 2dofknuckle_link_6: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + 2dofknuckle_link_7: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + 2dofknuckle_link_8: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + 2dofknuckle_link_9: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + All Links Enabled: true + Expand Joint Details: false + Expand Link Details: false + Expand Tree: false + Link Tree Style: Links in Alphabetic Order + base_link: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + bucket_link_1: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + face_link_1: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + facebracket_link_1: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + hcsr04_cans_link_1: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + hcsr04_chips_link_1: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + hcsr04_link_1: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + leg_link_1: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + leg_link_2: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + leg_link_3: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + leg_link_4: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + lipo_link_1: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + mg90_link_1: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + mg90_link_10: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + mg90_link_2: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + mg90_link_3: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + mg90_link_4: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + mg90_link_5: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + mg90_link_6: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + mg90_link_7: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + mg90_link_8: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + mg90_link_9: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + mpu9250_cap_link_1: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + mpu9250_link_1: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + mpu9250_mpu_link_1: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + pizerow_cam_link_1: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + pizerow_con_link_1: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + pizerow_cpu_link_1: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + pizerow_link_1: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + raspicam_cam_link_1: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + raspicam_chips_link_1: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + raspicam_con_link_1: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + raspicam_link_1: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + servobottom_link_1: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + servobottom_link_10: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + servobottom_link_2: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + servobottom_link_3: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + servobottom_link_4: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + servobottom_link_5: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + servobottom_link_6: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + servobottom_link_7: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + servobottom_link_8: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + servobottom_link_9: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + shell_link_1: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + Name: RobotModel + Robot Description: robot_description + TF Prefix: "" + Update Interval: 0 + Value: true + Visual Enabled: true + - Class: rviz/TF + Enabled: false + Frame Timeout: 15 + Frames: + All Enabled: true + Marker Scale: 0.5 + Name: TF + Show Arrows: true + Show Axes: true + Show Names: true + Tree: + {} + Update Interval: 0 + Value: false + Enabled: true + Global Options: + Background Color: 48; 48; 48 + Default Light: true + Fixed Frame: base_link + Frame Rate: 30 + Name: root + Tools: + - Class: rviz/Interact + Hide Inactive Objects: true + - Class: rviz/MoveCamera + - Class: rviz/Select + - Class: rviz/FocusCamera + - Class: rviz/Measure + - Class: rviz/SetInitialPose + Theta std deviation: 0.2617993950843811 + Topic: /initialpose + X std deviation: 0.5 + Y std deviation: 0.5 + - Class: rviz/SetGoal + Topic: /move_base_simple/goal + - Class: rviz/PublishPoint + Single click: true + Topic: /clicked_point + Value: true + Views: + Current: + Class: rviz/Orbit + Distance: 0.34426525235176086 + Enable Stereo Rendering: + Stereo Eye Separation: 0.05999999865889549 + Stereo Focal Distance: 1 + Swap Stereo Eyes: false + Value: false + Focal Point: + X: -0.0016349668148905039 + Y: -0.014781012199819088 + Z: 0.017814036458730698 + Focal Shape Fixed Size: true + Focal Shape Size: 0.05000000074505806 + Invert Z Axis: false + Name: Current View + Near Clip Distance: 0.009999999776482582 + Pitch: 0.46039697527885437 + Target Frame: + Value: Orbit (rviz) + Yaw: 0.593582272529602 + Saved: ~ +Window Geometry: + Displays: + collapsed: false + Height: 882 + Hide Left Dock: false + Hide Right Dock: false + QMainWindow State: 000000ff00000000fd000000040000000000000142000002d9fc0200000008fb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005d00fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c0061007900730100000037000002d9000000ca00fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261000000010000010f000002d9fc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a005600690065007700730100000037000002d9000000a100fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e10000019700000003000004c000000044fc0100000002fb0000000800540069006d00650100000000000004c00000026b00fffffffb0000000800540069006d0065010000000000000450000000000000000000000267000002d900000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000 + Selection: + collapsed: false + Time: + collapsed: false + Tool Properties: + collapsed: false + Views: + collapsed: false + Width: 1216 + X: 700 + Y: 385 diff --git a/soccer_description/assembly_description/meshes/raw/base_link.stl b/soccer_description/assembly_description/meshes/raw/base_link.stl new file mode 100644 index 000000000..93e79ad05 --- /dev/null +++ b/soccer_description/assembly_description/meshes/raw/base_link.stl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a2e8ae2ad48dfc180a34231c4cf49290f30cdb7581e73643f26341dbc98f112b +size 40183234 diff --git a/soccer_description/assembly_description/meshes/raw/head_v4_1.stl b/soccer_description/assembly_description/meshes/raw/head_v4_1.stl new file mode 100644 index 000000000..81e1cacff --- /dev/null +++ b/soccer_description/assembly_description/meshes/raw/head_v4_1.stl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d565cba8af324beb63d6173032cdf2c279d71fc270a878991e37c43ac63ec47d +size 1010384 diff --git a/soccer_description/assembly_description/meshes/raw/left_ankle_v7_1.stl b/soccer_description/assembly_description/meshes/raw/left_ankle_v7_1.stl new file mode 100644 index 000000000..c0da59fde --- /dev/null +++ b/soccer_description/assembly_description/meshes/raw/left_ankle_v7_1.stl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bbee99ab6488fdc4f7e63f612ec6f64b17df5cf0d890de433e59595b1ae6d1ff +size 1777484 diff --git a/soccer_description/assembly_description/meshes/raw/left_bicep_v6_1.stl b/soccer_description/assembly_description/meshes/raw/left_bicep_v6_1.stl new file mode 100644 index 000000000..d01a7702d --- /dev/null +++ b/soccer_description/assembly_description/meshes/raw/left_bicep_v6_1.stl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f8df28dcb1b6f9f2f587eacf8dc87b1c55c8792d3e1a404af313707db83ffa8c +size 1049284 diff --git a/soccer_description/assembly_description/meshes/raw/left_calve_v5_1.stl b/soccer_description/assembly_description/meshes/raw/left_calve_v5_1.stl new file mode 100644 index 000000000..ec56e13ed --- /dev/null +++ b/soccer_description/assembly_description/meshes/raw/left_calve_v5_1.stl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5cbf58ec1d485ba43c60275f08590cf75f8d1938a742f5ae60eecc1b96554144 +size 1392984 diff --git a/soccer_description/assembly_description/meshes/raw/left_foot_v10_1.stl b/soccer_description/assembly_description/meshes/raw/left_foot_v10_1.stl new file mode 100644 index 000000000..3e92f17b3 --- /dev/null +++ b/soccer_description/assembly_description/meshes/raw/left_foot_v10_1.stl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2fae08f084e28dfe829da2e5b70380df8d5668f2b4521e65917b4e7965c83637 +size 534484 diff --git a/soccer_description/assembly_description/meshes/raw/left_forearm_v4_1.stl b/soccer_description/assembly_description/meshes/raw/left_forearm_v4_1.stl new file mode 100644 index 000000000..338ece906 --- /dev/null +++ b/soccer_description/assembly_description/meshes/raw/left_forearm_v4_1.stl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:038bd90ef68d63254fc5d4c54fdb9b7ff9671957137821492578083825db8299 +size 449484 diff --git a/soccer_description/assembly_description/meshes/raw/left_hip_front_v5_1.stl b/soccer_description/assembly_description/meshes/raw/left_hip_front_v5_1.stl new file mode 100644 index 000000000..25e52ca57 --- /dev/null +++ b/soccer_description/assembly_description/meshes/raw/left_hip_front_v5_1.stl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:82705413b88ea013269e6112a0d92fc5f61778e7c43bf9fb4a88cacac7e5aed8 +size 1777484 diff --git a/soccer_description/assembly_description/meshes/raw/left_hip_side_v5_1.stl b/soccer_description/assembly_description/meshes/raw/left_hip_side_v5_1.stl new file mode 100644 index 000000000..44e6e2762 --- /dev/null +++ b/soccer_description/assembly_description/meshes/raw/left_hip_side_v5_1.stl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7549c6e762845064e31254cd65ccaa6b27a54794a74f54e55dba045a2da38b34 +size 477684 diff --git a/soccer_description/assembly_description/meshes/raw/left_shoulder_v5_1.stl b/soccer_description/assembly_description/meshes/raw/left_shoulder_v5_1.stl new file mode 100644 index 000000000..90373932c --- /dev/null +++ b/soccer_description/assembly_description/meshes/raw/left_shoulder_v5_1.stl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c57c3bc0484b4f5416a55993cc892290741a1793f2030c1f49cb244ea2740e56 +size 599284 diff --git a/soccer_description/assembly_description/meshes/raw/left_thigh_v1_1.stl b/soccer_description/assembly_description/meshes/raw/left_thigh_v1_1.stl new file mode 100644 index 000000000..9a9cc4b2e --- /dev/null +++ b/soccer_description/assembly_description/meshes/raw/left_thigh_v1_1.stl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8641d8905a94b42c00c0269fc80d560ca247c2345a29e49b1ab5dcc9f7d70af7 +size 305084 diff --git a/soccer_description/assembly_description/meshes/raw/neck_v6_1.stl b/soccer_description/assembly_description/meshes/raw/neck_v6_1.stl new file mode 100644 index 000000000..43b6c9194 --- /dev/null +++ b/soccer_description/assembly_description/meshes/raw/neck_v6_1.stl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ce5bce0f559d0bc9d858f8e45ab90bce6c7cd707d0501dc78a739de205a47d53 +size 240784 diff --git a/soccer_description/assembly_description/meshes/raw/right_ankle_v2_1.stl b/soccer_description/assembly_description/meshes/raw/right_ankle_v2_1.stl new file mode 100644 index 000000000..567845045 --- /dev/null +++ b/soccer_description/assembly_description/meshes/raw/right_ankle_v2_1.stl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7daf9537a1c5680d593ab44de90211692cc5d53dbfc6016066e99562387af62d +size 1777484 diff --git a/soccer_description/assembly_description/meshes/raw/right_bicep_v2_1.stl b/soccer_description/assembly_description/meshes/raw/right_bicep_v2_1.stl new file mode 100644 index 000000000..f68a322e9 --- /dev/null +++ b/soccer_description/assembly_description/meshes/raw/right_bicep_v2_1.stl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:807cfc14f8e18d878998b74c2d5ac07dd6638d948847a10d9bb722b2eec661dd +size 1049284 diff --git a/soccer_description/assembly_description/meshes/raw/right_calve_v1_1.stl b/soccer_description/assembly_description/meshes/raw/right_calve_v1_1.stl new file mode 100644 index 000000000..8ba11f920 --- /dev/null +++ b/soccer_description/assembly_description/meshes/raw/right_calve_v1_1.stl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c1d66f5044e68ed7b2e0352d8a4349df1d3a8bd5369afc5700d4d00ca6f338e6 +size 1392984 diff --git a/soccer_description/assembly_description/meshes/raw/right_foot_v2_1.stl b/soccer_description/assembly_description/meshes/raw/right_foot_v2_1.stl new file mode 100644 index 000000000..3e1480cb6 --- /dev/null +++ b/soccer_description/assembly_description/meshes/raw/right_foot_v2_1.stl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f45f5938d06fd10cd375f076b309f585381d99e47039d7fa0515ab4ca34d6e49 +size 534484 diff --git a/soccer_description/assembly_description/meshes/raw/right_forearm_v1_1.stl b/soccer_description/assembly_description/meshes/raw/right_forearm_v1_1.stl new file mode 100644 index 000000000..06da284f1 --- /dev/null +++ b/soccer_description/assembly_description/meshes/raw/right_forearm_v1_1.stl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:da211c80bc94a4f9032a53dc382e402227892316ee2f8bf8a040aa83bdb2d74f +size 449484 diff --git a/soccer_description/assembly_description/meshes/raw/right_hip_front_v5_1.stl b/soccer_description/assembly_description/meshes/raw/right_hip_front_v5_1.stl new file mode 100644 index 000000000..5a1074d8c --- /dev/null +++ b/soccer_description/assembly_description/meshes/raw/right_hip_front_v5_1.stl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:79a067e1b4dabb553d6fdf0682dcb7daed5ecde6dbe8bc970d4a9fabb4a4cfb6 +size 1777484 diff --git a/soccer_description/assembly_description/meshes/raw/right_hip_side_v1_1.stl b/soccer_description/assembly_description/meshes/raw/right_hip_side_v1_1.stl new file mode 100644 index 000000000..8cfd7de06 --- /dev/null +++ b/soccer_description/assembly_description/meshes/raw/right_hip_side_v1_1.stl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bbd470167cb8cd2d636d5bdceacf79f7d071c48f1a3959bce8231022b1f8b6b4 +size 477684 diff --git a/soccer_description/assembly_description/meshes/raw/right_shoulder_v1_1.stl b/soccer_description/assembly_description/meshes/raw/right_shoulder_v1_1.stl new file mode 100644 index 000000000..aeb620310 --- /dev/null +++ b/soccer_description/assembly_description/meshes/raw/right_shoulder_v1_1.stl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:72e0ba4cb329899da65f5bdfb8e4df085e6e8ba2a86a0919f2b44e57131b2ba7 +size 599284 diff --git a/soccer_description/assembly_description/meshes/raw/right_thigh_v1_1.stl b/soccer_description/assembly_description/meshes/raw/right_thigh_v1_1.stl new file mode 100644 index 000000000..04d3d990f --- /dev/null +++ b/soccer_description/assembly_description/meshes/raw/right_thigh_v1_1.stl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1a3fc2022577bb6f6f030db08653b541364260a13108dec5b6ccb4a5225c2772 +size 305084 diff --git a/soccer_description/assembly_description/meshes/simplified/base_link.stl b/soccer_description/assembly_description/meshes/simplified/base_link.stl new file mode 100644 index 000000000..a80453d12 --- /dev/null +++ b/soccer_description/assembly_description/meshes/simplified/base_link.stl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0cc36376c24dab9828238c75f41dcf9c18a096c5d3204c58fd3fb3597ae0e95e +size 12054984 diff --git a/soccer_description/assembly_description/meshes/simplified/head_v4_1.stl b/soccer_description/assembly_description/meshes/simplified/head_v4_1.stl new file mode 100644 index 000000000..eb8343e0b --- /dev/null +++ b/soccer_description/assembly_description/meshes/simplified/head_v4_1.stl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d62e68a65d75490047a9c7fbcf1d179af9c2fc7c438a920a60b93fcf2bf7767b +size 303134 diff --git a/soccer_description/assembly_description/meshes/simplified/left_ankle_v7_1.stl b/soccer_description/assembly_description/meshes/simplified/left_ankle_v7_1.stl new file mode 100644 index 000000000..4ec905d8b --- /dev/null +++ b/soccer_description/assembly_description/meshes/simplified/left_ankle_v7_1.stl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:822f32567458f5a663719700605c6e880e1ab7040b8368460e92b2cf706b992e +size 533234 diff --git a/soccer_description/assembly_description/meshes/simplified/left_bicep_v6_1.stl b/soccer_description/assembly_description/meshes/simplified/left_bicep_v6_1.stl new file mode 100644 index 000000000..a0e58c643 --- /dev/null +++ b/soccer_description/assembly_description/meshes/simplified/left_bicep_v6_1.stl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c1572497dd0f2e433da3e143c12ca2c6eca86c638a145a2913564e2295868d8e +size 314784 diff --git a/soccer_description/assembly_description/meshes/simplified/left_calve_v5_1.stl b/soccer_description/assembly_description/meshes/simplified/left_calve_v5_1.stl new file mode 100644 index 000000000..1f1020238 --- /dev/null +++ b/soccer_description/assembly_description/meshes/simplified/left_calve_v5_1.stl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5c6be030e5bf2f302be6c30a9ef84f53087184b414d4ae49f48449e6007ad9d6 +size 417884 diff --git a/soccer_description/assembly_description/meshes/simplified/left_foot_v10_1.stl b/soccer_description/assembly_description/meshes/simplified/left_foot_v10_1.stl new file mode 100644 index 000000000..186b6486e --- /dev/null +++ b/soccer_description/assembly_description/meshes/simplified/left_foot_v10_1.stl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:740a482ba78f7a22f0e561133e2ea1267c9158440fa9851e7433d612c1fd3020 +size 160384 diff --git a/soccer_description/assembly_description/meshes/simplified/left_forearm_v4_1.stl b/soccer_description/assembly_description/meshes/simplified/left_forearm_v4_1.stl new file mode 100644 index 000000000..34167bd9a --- /dev/null +++ b/soccer_description/assembly_description/meshes/simplified/left_forearm_v4_1.stl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0422a1a097182ebfe6bf8248a5a72adbe1de89596b5e9e2bec2f60b624ccfdae +size 134884 diff --git a/soccer_description/assembly_description/meshes/simplified/left_hip_front_v5_1.stl b/soccer_description/assembly_description/meshes/simplified/left_hip_front_v5_1.stl new file mode 100644 index 000000000..2a30723dc --- /dev/null +++ b/soccer_description/assembly_description/meshes/simplified/left_hip_front_v5_1.stl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9ccec6017db1e3446a3ae886897af703f1a3b425c3981595e66fd58422e974a9 +size 533284 diff --git a/soccer_description/assembly_description/meshes/simplified/left_hip_side_v5_1.stl b/soccer_description/assembly_description/meshes/simplified/left_hip_side_v5_1.stl new file mode 100644 index 000000000..b8b31281d --- /dev/null +++ b/soccer_description/assembly_description/meshes/simplified/left_hip_side_v5_1.stl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ceb4eeae3cdcab826b189c9222d360cc1c6b062a1795195421ae2ba322c55bf3 +size 143284 diff --git a/soccer_description/assembly_description/meshes/simplified/left_shoulder_v5_1.stl b/soccer_description/assembly_description/meshes/simplified/left_shoulder_v5_1.stl new file mode 100644 index 000000000..e82df9dfa --- /dev/null +++ b/soccer_description/assembly_description/meshes/simplified/left_shoulder_v5_1.stl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:87dc1f7936da842969a83057a8151f69cb8029d776c456f1ed10e470633d039a +size 179784 diff --git a/soccer_description/assembly_description/meshes/simplified/left_thigh_v1_1.stl b/soccer_description/assembly_description/meshes/simplified/left_thigh_v1_1.stl new file mode 100644 index 000000000..f1ba81118 --- /dev/null +++ b/soccer_description/assembly_description/meshes/simplified/left_thigh_v1_1.stl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2298d0862300eef728fbc138394ac150b13be8dc970db30045a003ba303d7876 +size 91584 diff --git a/soccer_description/assembly_description/meshes/simplified/neck_v6_1.stl b/soccer_description/assembly_description/meshes/simplified/neck_v6_1.stl new file mode 100644 index 000000000..3a5ab8da5 --- /dev/null +++ b/soccer_description/assembly_description/meshes/simplified/neck_v6_1.stl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ac578fc451e0028d0abcf0fb46c304ecab421cb4f7baea3e544c901ae991684c +size 72284 diff --git a/soccer_description/assembly_description/meshes/simplified/right_ankle_v2_1.stl b/soccer_description/assembly_description/meshes/simplified/right_ankle_v2_1.stl new file mode 100644 index 000000000..98d9287c6 --- /dev/null +++ b/soccer_description/assembly_description/meshes/simplified/right_ankle_v2_1.stl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7bebe00fa3a1a8ec20d356d29d4a876d951d9493f92a4b49232c24669e133975 +size 533284 diff --git a/soccer_description/assembly_description/meshes/simplified/right_bicep_v2_1.stl b/soccer_description/assembly_description/meshes/simplified/right_bicep_v2_1.stl new file mode 100644 index 000000000..3ada64e10 --- /dev/null +++ b/soccer_description/assembly_description/meshes/simplified/right_bicep_v2_1.stl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2d494ed1592128c85aacdb0c973b269d1506440bb3ad6a7429ee11cc0fa991ce +size 314784 diff --git a/soccer_description/assembly_description/meshes/simplified/right_calve_v1_1.stl b/soccer_description/assembly_description/meshes/simplified/right_calve_v1_1.stl new file mode 100644 index 000000000..3bd4b25e3 --- /dev/null +++ b/soccer_description/assembly_description/meshes/simplified/right_calve_v1_1.stl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2e0a009389cdaeda5a509b75051679fbe5ebec3571473d323802309f0fcfa806 +size 417884 diff --git a/soccer_description/assembly_description/meshes/simplified/right_foot_v2_1.stl b/soccer_description/assembly_description/meshes/simplified/right_foot_v2_1.stl new file mode 100644 index 000000000..5a31e9008 --- /dev/null +++ b/soccer_description/assembly_description/meshes/simplified/right_foot_v2_1.stl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dadf47942c9a7d2ee27eddcff3a670ece624bf3a6952c975b3805822e29c9fd6 +size 160384 diff --git a/soccer_description/assembly_description/meshes/simplified/right_forearm_v1_1.stl b/soccer_description/assembly_description/meshes/simplified/right_forearm_v1_1.stl new file mode 100644 index 000000000..5a98d4f58 --- /dev/null +++ b/soccer_description/assembly_description/meshes/simplified/right_forearm_v1_1.stl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c8bc5db8d998267414e6430273264e368d681729094c0c1b3e6c3484dddb43d1 +size 134884 diff --git a/soccer_description/assembly_description/meshes/simplified/right_hip_front_v5_1.stl b/soccer_description/assembly_description/meshes/simplified/right_hip_front_v5_1.stl new file mode 100644 index 000000000..8804acdb1 --- /dev/null +++ b/soccer_description/assembly_description/meshes/simplified/right_hip_front_v5_1.stl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0ffe9a28863e83b368294181826627ecb9aada230437eed953d118b7ce5ae4de +size 533284 diff --git a/soccer_description/assembly_description/meshes/simplified/right_hip_side_v1_1.stl b/soccer_description/assembly_description/meshes/simplified/right_hip_side_v1_1.stl new file mode 100644 index 000000000..9ab278f5c --- /dev/null +++ b/soccer_description/assembly_description/meshes/simplified/right_hip_side_v1_1.stl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f5039fb60aadca1cc5fddd41455639545e7628d2b0d20ef88a7695f92aad68f4 +size 143284 diff --git a/soccer_description/assembly_description/meshes/simplified/right_shoulder_v1_1.stl b/soccer_description/assembly_description/meshes/simplified/right_shoulder_v1_1.stl new file mode 100644 index 000000000..9cd13b8d3 --- /dev/null +++ b/soccer_description/assembly_description/meshes/simplified/right_shoulder_v1_1.stl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d09af9217155c932b809512f01fc5a30437fed3cd003c5c0e48e8bf43c2a29f2 +size 179784 diff --git a/soccer_description/assembly_description/meshes/simplified/right_thigh_v1_1.stl b/soccer_description/assembly_description/meshes/simplified/right_thigh_v1_1.stl new file mode 100644 index 000000000..0ffcca4af --- /dev/null +++ b/soccer_description/assembly_description/meshes/simplified/right_thigh_v1_1.stl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:00968add10b9e5a2e64ec4f23866b709306f916f5ad2ab3354c646c6fc358bdc +size 91584 diff --git a/soccer_description/assembly_description/meshes/simplify.py b/soccer_description/assembly_description/meshes/simplify.py new file mode 100644 index 000000000..a2111033f --- /dev/null +++ b/soccer_description/assembly_description/meshes/simplify.py @@ -0,0 +1,24 @@ +# Requires stl files to be in a folder named 'raw' in the same directory as this script +# Loops through the files and puts a simplified version in a folder named 'simplified' +# The reduction factor is set by the REDUCTION variable (e.g. 0.7 = 30% of the original size) + +import os +import glob +import pyvista as pv +from fast_simplification import simplify_mesh + +REDUCTION = 0.7 + +filepaths = glob.glob(os.path.join(os.getcwd(), 'raw', '*')) + +if not os.path.exists('simplified'): + os.makedirs('simplified') + +for filepath in filepaths: + + print(filepath) + mesh = pv.read(filepath) + + out = simplify_mesh(mesh, target_reduction=REDUCTION) + out.save(filepath.replace('raw', 'simplified')) + print('Simplified', filepath.split('/')[-1]) \ No newline at end of file diff --git a/soccer_description/assembly_description/meshes/viewer.py b/soccer_description/assembly_description/meshes/viewer.py new file mode 100644 index 000000000..5c4b3b3ab --- /dev/null +++ b/soccer_description/assembly_description/meshes/viewer.py @@ -0,0 +1,14 @@ +# Views all stl files in a folder + +import os +import glob +import pyvista as pv + +FOLDER_NAME = 'simplified' +filepaths = glob.glob(os.path.join(os.getcwd(), FOLDER_NAME, '*')) + +for filepath in filepaths: + + print(filepath) + mesh = pv.read(filepath) + mesh.plot() \ No newline at end of file diff --git a/soccer_description/assembly_description/package.xml b/soccer_description/assembly_description/package.xml new file mode 100644 index 000000000..a63b2a722 --- /dev/null +++ b/soccer_description/assembly_description/package.xml @@ -0,0 +1,62 @@ + + + assembly_description + 0.0.0 +The assembly_description package + + + + + Spacemaster85 + + + + + + MIT + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + catkin + rospy + rospy + rospy + + + + + + + + diff --git a/soccer_description/assembly_description/urdf/assembly.gazebo b/soccer_description/assembly_description/urdf/assembly.gazebo new file mode 100644 index 000000000..a8ea19e3e --- /dev/null +++ b/soccer_description/assembly_description/urdf/assembly.gazebo @@ -0,0 +1,157 @@ + + + + + + + + + + ${body_color} + 0.2 + 0.2 + true + true + + + + ${body_color} + 0.2 + 0.2 + true + + + + ${body_color} + 0.2 + 0.2 + true + + + + ${body_color} + 0.2 + 0.2 + true + + + + ${body_color} + 0.2 + 0.2 + true + + + + ${body_color} + 0.2 + 0.2 + true + + + + ${body_color} + 0.2 + 0.2 + true + + + + ${body_color} + 0.2 + 0.2 + true + + + + ${body_color} + 0.2 + 0.2 + true + + + + ${body_color} + 0.2 + 0.2 + true + + + + ${body_color} + 0.2 + 0.2 + true + + + + ${body_color} + 0.2 + 0.2 + true + + + + ${body_color} + 0.2 + 0.2 + true + + + + ${body_color} + 0.2 + 0.2 + true + + + + ${body_color} + 0.2 + 0.2 + true + + + + ${body_color} + 0.2 + 0.2 + true + + + + ${body_color} + 0.2 + 0.2 + true + + + + ${body_color} + 0.2 + 0.2 + true + + + + ${body_color} + 0.2 + 0.2 + true + + + + ${body_color} + 0.2 + 0.2 + true + + + + ${body_color} + 0.2 + 0.2 + true + + + diff --git a/soccer_description/assembly_description/urdf/assembly.trans b/soccer_description/assembly_description/urdf/assembly.trans new file mode 100644 index 000000000..5be224ae9 --- /dev/null +++ b/soccer_description/assembly_description/urdf/assembly.trans @@ -0,0 +1,224 @@ + + + + + transmission_interface/SimpleTransmission + + hardware_interface/EffortJointInterface + + + hardware_interface/EffortJointInterface + 1 + + + + + transmission_interface/SimpleTransmission + + hardware_interface/EffortJointInterface + + + hardware_interface/EffortJointInterface + 1 + + + + + transmission_interface/SimpleTransmission + + hardware_interface/EffortJointInterface + + + hardware_interface/EffortJointInterface + 1 + + + + + transmission_interface/SimpleTransmission + + hardware_interface/EffortJointInterface + + + hardware_interface/EffortJointInterface + 1 + + + + + transmission_interface/SimpleTransmission + + hardware_interface/EffortJointInterface + + + hardware_interface/EffortJointInterface + 1 + + + + + transmission_interface/SimpleTransmission + + hardware_interface/EffortJointInterface + + + hardware_interface/EffortJointInterface + 1 + + + + + transmission_interface/SimpleTransmission + + hardware_interface/EffortJointInterface + + + hardware_interface/EffortJointInterface + 1 + + + + + transmission_interface/SimpleTransmission + + hardware_interface/EffortJointInterface + + + hardware_interface/EffortJointInterface + 1 + + + + + transmission_interface/SimpleTransmission + + hardware_interface/EffortJointInterface + + + hardware_interface/EffortJointInterface + 1 + + + + + transmission_interface/SimpleTransmission + + hardware_interface/EffortJointInterface + + + hardware_interface/EffortJointInterface + 1 + + + + + transmission_interface/SimpleTransmission + + hardware_interface/EffortJointInterface + + + hardware_interface/EffortJointInterface + 1 + + + + + transmission_interface/SimpleTransmission + + hardware_interface/EffortJointInterface + + + hardware_interface/EffortJointInterface + 1 + + + + + transmission_interface/SimpleTransmission + + hardware_interface/EffortJointInterface + + + hardware_interface/EffortJointInterface + 1 + + + + + transmission_interface/SimpleTransmission + + hardware_interface/EffortJointInterface + + + hardware_interface/EffortJointInterface + 1 + + + + + transmission_interface/SimpleTransmission + + hardware_interface/EffortJointInterface + + + hardware_interface/EffortJointInterface + 1 + + + + + transmission_interface/SimpleTransmission + + hardware_interface/EffortJointInterface + + + hardware_interface/EffortJointInterface + 1 + + + + + transmission_interface/SimpleTransmission + + hardware_interface/EffortJointInterface + + + hardware_interface/EffortJointInterface + 1 + + + + + transmission_interface/SimpleTransmission + + hardware_interface/EffortJointInterface + + + hardware_interface/EffortJointInterface + 1 + + + + + transmission_interface/SimpleTransmission + + hardware_interface/EffortJointInterface + + + hardware_interface/EffortJointInterface + 1 + + + + + transmission_interface/SimpleTransmission + + hardware_interface/EffortJointInterface + + + hardware_interface/EffortJointInterface + 1 + + + + diff --git a/soccer_description/assembly_description/urdf/assembly.urdf b/soccer_description/assembly_description/urdf/assembly.urdf new file mode 100644 index 000000000..46e0f5075 --- /dev/null +++ b/soccer_description/assembly_description/urdf/assembly.urdf @@ -0,0 +1,974 @@ + + + + + + + + + + + + + + + + + + + + transmission_interface/SimpleTransmission + + hardware_interface/EffortJointInterface + + + hardware_interface/EffortJointInterface + 1 + + + + transmission_interface/SimpleTransmission + + hardware_interface/EffortJointInterface + + + hardware_interface/EffortJointInterface + 1 + + + + transmission_interface/SimpleTransmission + + hardware_interface/EffortJointInterface + + + hardware_interface/EffortJointInterface + 1 + + + + transmission_interface/SimpleTransmission + + hardware_interface/EffortJointInterface + + + hardware_interface/EffortJointInterface + 1 + + + + transmission_interface/SimpleTransmission + + hardware_interface/EffortJointInterface + + + hardware_interface/EffortJointInterface + 1 + + + + transmission_interface/SimpleTransmission + + hardware_interface/EffortJointInterface + + + hardware_interface/EffortJointInterface + 1 + + + + transmission_interface/SimpleTransmission + + hardware_interface/EffortJointInterface + + + hardware_interface/EffortJointInterface + 1 + + + + transmission_interface/SimpleTransmission + + hardware_interface/EffortJointInterface + + + hardware_interface/EffortJointInterface + 1 + + + + transmission_interface/SimpleTransmission + + hardware_interface/EffortJointInterface + + + hardware_interface/EffortJointInterface + 1 + + + + transmission_interface/SimpleTransmission + + hardware_interface/EffortJointInterface + + + hardware_interface/EffortJointInterface + 1 + + + + transmission_interface/SimpleTransmission + + hardware_interface/EffortJointInterface + + + hardware_interface/EffortJointInterface + 1 + + + + transmission_interface/SimpleTransmission + + hardware_interface/EffortJointInterface + + + hardware_interface/EffortJointInterface + 1 + + + + transmission_interface/SimpleTransmission + + hardware_interface/EffortJointInterface + + + hardware_interface/EffortJointInterface + 1 + + + + transmission_interface/SimpleTransmission + + hardware_interface/EffortJointInterface + + + hardware_interface/EffortJointInterface + 1 + + + + transmission_interface/SimpleTransmission + + hardware_interface/EffortJointInterface + + + hardware_interface/EffortJointInterface + 1 + + + + transmission_interface/SimpleTransmission + + hardware_interface/EffortJointInterface + + + hardware_interface/EffortJointInterface + 1 + + + + transmission_interface/SimpleTransmission + + hardware_interface/EffortJointInterface + + + hardware_interface/EffortJointInterface + 1 + + + + transmission_interface/SimpleTransmission + + hardware_interface/EffortJointInterface + + + hardware_interface/EffortJointInterface + 1 + + + + transmission_interface/SimpleTransmission + + hardware_interface/EffortJointInterface + + + hardware_interface/EffortJointInterface + 1 + + + + transmission_interface/SimpleTransmission + + hardware_interface/EffortJointInterface + + + hardware_interface/EffortJointInterface + 1 + + + + + + + Gazebo/Silver + 0.2 + 0.2 + true + true + + + Gazebo/Silver + 0.2 + 0.2 + true + + + Gazebo/Silver + 0.2 + 0.2 + true + + + Gazebo/Silver + 0.2 + 0.2 + true + + + Gazebo/Silver + 0.2 + 0.2 + true + + + Gazebo/Silver + 0.2 + 0.2 + true + + + Gazebo/Silver + 0.2 + 0.2 + true + + + Gazebo/Silver + 0.2 + 0.2 + true + + + Gazebo/Silver + 0.2 + 0.2 + true + + + Gazebo/Silver + 0.2 + 0.2 + true + + + Gazebo/Silver + 0.2 + 0.2 + true + + + Gazebo/Silver + 0.2 + 0.2 + true + + + Gazebo/Silver + 0.2 + 0.2 + true + + + Gazebo/Silver + 0.2 + 0.2 + true + + + Gazebo/Silver + 0.2 + 0.2 + true + + + Gazebo/Silver + 0.2 + 0.2 + true + + + Gazebo/Silver + 0.2 + 0.2 + true + + + Gazebo/Silver + 0.2 + 0.2 + true + + + Gazebo/Silver + 0.2 + 0.2 + true + + + Gazebo/Silver + 0.2 + 0.2 + true + + + Gazebo/Silver + 0.2 + 0.2 + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + + true + 100 + true + __default_topic__ + + imu_raw + imu_link + 50.0 + 0.0 + 0 0 0 + 0 0 0 + imu_link + + 0 0 0 0 0 0 + + + + 1000000000000000.0 + 10000000000000.0 + 0.2 + 0.2 + + + diff --git a/soccer_description/assembly_description/urdf/assembly.xacro b/soccer_description/assembly_description/urdf/assembly.xacro new file mode 100644 index 000000000..afeb3f343 --- /dev/null +++ b/soccer_description/assembly_description/urdf/assembly.xacro @@ -0,0 +1,588 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/soccer_description/assembly_description/urdf/assembly_simple.urdf b/soccer_description/assembly_description/urdf/assembly_simple.urdf new file mode 100644 index 000000000..bb792261a --- /dev/null +++ b/soccer_description/assembly_description/urdf/assembly_simple.urdf @@ -0,0 +1,865 @@ + + + + + + + + + + + + + + + + transmission_interface/SimpleTransmission + + hardware_interface/EffortJointInterface + + + 1.0 + + + + transmission_interface/SimpleTransmission + + hardware_interface/EffortJointInterface + + + 1.0 + + + + transmission_interface/SimpleTransmission + + hardware_interface/EffortJointInterface + + + 1.0 + + + + transmission_interface/SimpleTransmission + + hardware_interface/EffortJointInterface + + + 1.0 + + + + transmission_interface/SimpleTransmission + + hardware_interface/EffortJointInterface + + + 1.0 + + + + transmission_interface/SimpleTransmission + + hardware_interface/EffortJointInterface + + + 1.0 + + + + transmission_interface/SimpleTransmission + + hardware_interface/EffortJointInterface + + + 1.0 + + + + transmission_interface/SimpleTransmission + + hardware_interface/EffortJointInterface + + + 1.0 + + + + transmission_interface/SimpleTransmission + + hardware_interface/EffortJointInterface + + + 1.0 + + + + transmission_interface/SimpleTransmission + + hardware_interface/EffortJointInterface + + + 1.0 + + + + transmission_interface/SimpleTransmission + + hardware_interface/EffortJointInterface + + + 1.0 + + + + transmission_interface/SimpleTransmission + + hardware_interface/EffortJointInterface + + + 1.0 + + + + transmission_interface/SimpleTransmission + + hardware_interface/EffortJointInterface + + + 1.0 + + + + transmission_interface/SimpleTransmission + + hardware_interface/EffortJointInterface + + + 1.0 + + + + transmission_interface/SimpleTransmission + + hardware_interface/EffortJointInterface + + + 1.0 + + + + transmission_interface/SimpleTransmission + + hardware_interface/EffortJointInterface + + + 1.0 + + + + transmission_interface/SimpleTransmission + + hardware_interface/EffortJointInterface + + + 1.0 + + + + transmission_interface/SimpleTransmission + + hardware_interface/EffortJointInterface + + + 1.0 + + + + transmission_interface/SimpleTransmission + + hardware_interface/EffortJointInterface + + + 1.0 + + + + transmission_interface/SimpleTransmission + + hardware_interface/EffortJointInterface + + + 1.0 + + + + + + + Gazebo/Silver + 0.2 + 0.2 + true + true + + + Gazebo/Silver + 0.2 + 0.2 + true + + + Gazebo/Silver + 0.2 + 0.2 + true + + + Gazebo/Silver + 0.2 + 0.2 + true + + + Gazebo/Silver + 0.2 + 0.2 + true + + + Gazebo/Silver + 0.2 + 0.2 + true + + + Gazebo/Silver + 0.2 + 0.2 + true + + + Gazebo/Silver + 0.2 + 0.2 + true + + + Gazebo/Silver + 0.2 + 0.2 + true + + + Gazebo/Silver + 0.2 + 0.2 + true + + + Gazebo/Silver + 0.2 + 0.2 + true + + + Gazebo/Silver + 0.2 + 0.2 + true + + + Gazebo/Silver + 0.2 + 0.2 + true + + + Gazebo/Silver + 0.2 + 0.2 + true + + + Gazebo/Silver + 0.2 + 0.2 + true + + + Gazebo/Silver + 0.2 + 0.2 + true + + + Gazebo/Silver + 0.2 + 0.2 + true + + + Gazebo/Silver + 0.2 + 0.2 + true + + + Gazebo/Silver + 0.2 + 0.2 + true + + + Gazebo/Silver + 0.2 + 0.2 + true + + + Gazebo/Silver + 0.2 + 0.2 + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/soccer_description/assembly_description/urdf/materials.urdf b/soccer_description/assembly_description/urdf/materials.urdf new file mode 100644 index 000000000..f32601fef --- /dev/null +++ b/soccer_description/assembly_description/urdf/materials.urdf @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/soccer_description/assembly_description/urdf/materials.xacro b/soccer_description/assembly_description/urdf/materials.xacro new file mode 100644 index 000000000..f2c4ffbe8 --- /dev/null +++ b/soccer_description/assembly_description/urdf/materials.xacro @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/soccer_description/assembly_description/urdf/robot.urdf b/soccer_description/assembly_description/urdf/robot.urdf new file mode 100644 index 000000000..e397d6bc0 --- /dev/null +++ b/soccer_description/assembly_description/urdf/robot.urdf @@ -0,0 +1,620 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/soccer_hardware/soccer_firmware/.cproject b/soccer_hardware/soccer_firmware/.cproject index d341b2e02..15fab6946 100644 --- a/soccer_hardware/soccer_firmware/.cproject +++ b/soccer_hardware/soccer_firmware/.cproject @@ -24,7 +24,8 @@