Skip to content

Commit

Permalink
Merge development into master (#2)
Browse files Browse the repository at this point in the history
* init commit

* pillar driver init commit

* travis fix. init commit for arm bringup

* update travis.yml

* update travis.yml again

* added description files

* added swp

* base driver now uses third party wrapper, description files cleaned to some degree, gamepad controller support added
  • Loading branch information
maxsvetlik committed Jul 14, 2017
1 parent 3022037 commit 82bd631
Show file tree
Hide file tree
Showing 109 changed files with 9,924 additions and 4 deletions.
2 changes: 2 additions & 0 deletions .gitignore
Expand Up @@ -40,6 +40,8 @@ qtcreator-*

*~

*.swp

# Emacs
.#*

Expand Down
6 changes: 2 additions & 4 deletions poli_launch/.travis.yml → .travis.yml
@@ -1,9 +1,6 @@
sudo: required
dist: trusty
# Force travis to use its minimal image with default Python settings
language: generic
compiler:
- gcc
env:
global:
- CATKIN_WS=~/catkin_ws
Expand All @@ -13,6 +10,7 @@ env:
before_install:
- git clone https://github.com/StanleyInnovation/segway_v3_robot.git
- git clone https://github.com/StanleyInnovation/segway_v3
- git clone https://github.com/Kinovarobotics/kinova-ros.git
install:
- sudo sh -c 'echo "deb http://packages.ros.org/ros-shadow-fixed/ubuntu trusty main" > /etc/apt/sources.list.d/ros-latest.list'
- wget http://packages.ros.org/ros.key -O - | sudo apt-key add -
Expand All @@ -33,4 +31,4 @@ script:
catkin_make_isolated --install --cmake-args -DCMAKE_BUILD_TYPE=Release --catkin-make-args tests &&
catkin_make_isolated --install --cmake-args -DCMAKE_BUILD_TYPE=Release --catkin-make-args run_tests
# Check results
- catkin_test_results ./build_isolated
- catkin_test_results ./build_isolated
15 changes: 15 additions & 0 deletions poli_description/CMakeLists.txt
@@ -0,0 +1,15 @@
cmake_minimum_required(VERSION 2.8.3)
project(poli_description)

find_package(catkin REQUIRED COMPONENTS
roscpp
rospy
)

catkin_package(
)

include_directories(
${catkin_INCLUDE_DIRS}
)

Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
178 changes: 178 additions & 0 deletions poli_description/meshes/sensors/hokuyo_ust20lx.dae

Large diffs are not rendered by default.

136 changes: 136 additions & 0 deletions poli_description/meshes/sensors/pgr_flea3.dae

Large diffs are not rendered by default.

Binary file added poli_description/meshes/sensors/rgbd.jpg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added poli_description/meshes/sensors/rgbd.tga
Binary file not shown.
164 changes: 164 additions & 0 deletions poli_description/meshes/sensors/rgbd_sensor.dae

Large diffs are not rendered by default.

250 changes: 250 additions & 0 deletions poli_description/meshes/sensors/sick_lms1xx.dae

Large diffs are not rendered by default.

852 changes: 852 additions & 0 deletions poli_description/meshes/sensors/sick_tim.stl

Large diffs are not rendered by default.

178 changes: 178 additions & 0 deletions poli_description/meshes/sensors/velodyne_vlp16.dae

Large diffs are not rendered by default.

136 changes: 136 additions & 0 deletions poli_description/meshes/visual/110_caster_plate.dae

Large diffs are not rendered by default.

424 changes: 424 additions & 0 deletions poli_description/meshes/visual/110_hmi_box.dae

Large diffs are not rendered by default.

172 changes: 172 additions & 0 deletions poli_description/meshes/visual/110_hmi_plate.dae

Large diffs are not rendered by default.

388 changes: 388 additions & 0 deletions poli_description/meshes/visual/110_navigator_ui.dae

Large diffs are not rendered by default.

280 changes: 280 additions & 0 deletions poli_description/meshes/visual/110_powerbase.dae

Large diffs are not rendered by default.

280 changes: 280 additions & 0 deletions poli_description/meshes/visual/110_powerbase_spacers.dae

Large diffs are not rendered by default.

136 changes: 136 additions & 0 deletions poli_description/meshes/visual/440eci_spacers.dae

Large diffs are not rendered by default.

100 changes: 100 additions & 0 deletions poli_description/meshes/visual/battery.dae

Large diffs are not rendered by default.

100 changes: 100 additions & 0 deletions poli_description/meshes/visual/caster_bracket.dae

Large diffs are not rendered by default.

100 changes: 100 additions & 0 deletions poli_description/meshes/visual/caster_plate.dae

Large diffs are not rendered by default.

100 changes: 100 additions & 0 deletions poli_description/meshes/visual/caster_wheel.dae

Large diffs are not rendered by default.

208 changes: 208 additions & 0 deletions poli_description/meshes/visual/i2_wheel.dae

Large diffs are not rendered by default.

100 changes: 100 additions & 0 deletions poli_description/meshes/visual/inv_double_spacer.dae

Large diffs are not rendered by default.

136 changes: 136 additions & 0 deletions poli_description/meshes/visual/inv_gearbox_chassis.dae

Large diffs are not rendered by default.

100 changes: 100 additions & 0 deletions poli_description/meshes/visual/inv_gearbox_ext_spacer_chassis.dae

Large diffs are not rendered by default.

100 changes: 100 additions & 0 deletions poli_description/meshes/visual/inv_single_spacer.dae

Large diffs are not rendered by default.

280 changes: 280 additions & 0 deletions poli_description/meshes/visual/large_enclosure.dae

Large diffs are not rendered by default.

172 changes: 172 additions & 0 deletions poli_description/meshes/visual/navigator_elite_box.dae

Large diffs are not rendered by default.

100 changes: 100 additions & 0 deletions poli_description/meshes/visual/omni_flex_pivot.dae

Large diffs are not rendered by default.

136 changes: 136 additions & 0 deletions poli_description/meshes/visual/omni_lf_rr_wheel.dae

Large diffs are not rendered by default.

136 changes: 136 additions & 0 deletions poli_description/meshes/visual/omni_lr_rf_wheel.dae

Large diffs are not rendered by default.

136 changes: 136 additions & 0 deletions poli_description/meshes/visual/omni_structure.dae

Large diffs are not rendered by default.

100 changes: 100 additions & 0 deletions poli_description/meshes/visual/omni_ui_mount.dae

Large diffs are not rendered by default.

136 changes: 136 additions & 0 deletions poli_description/meshes/visual/payload_mount.dae

Large diffs are not rendered by default.

178 changes: 178 additions & 0 deletions poli_description/meshes/visual/sensors/hokuyo_ust20lx.dae

Large diffs are not rendered by default.

136 changes: 136 additions & 0 deletions poli_description/meshes/visual/sensors/pgr_flea3.dae

Large diffs are not rendered by default.

Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added poli_description/meshes/visual/sensors/rgbd.tga
Binary file not shown.
164 changes: 164 additions & 0 deletions poli_description/meshes/visual/sensors/rgbd_sensor.dae

Large diffs are not rendered by default.

250 changes: 250 additions & 0 deletions poli_description/meshes/visual/sensors/sick_lms1xx.dae

Large diffs are not rendered by default.

136 changes: 136 additions & 0 deletions poli_description/meshes/visual/sensors/sick_tim.dae

Large diffs are not rendered by default.

178 changes: 178 additions & 0 deletions poli_description/meshes/visual/sensors/velodyne_vlp16.dae

Large diffs are not rendered by default.

100 changes: 100 additions & 0 deletions poli_description/meshes/visual/single_spacer.dae

Large diffs are not rendered by default.

100 changes: 100 additions & 0 deletions poli_description/meshes/visual/std_double_spacer.dae

Large diffs are not rendered by default.

136 changes: 136 additions & 0 deletions poli_description/meshes/visual/std_gearbox_chassis.dae

Large diffs are not rendered by default.

136 changes: 136 additions & 0 deletions poli_description/meshes/visual/ui_box.dae

Large diffs are not rendered by default.

100 changes: 100 additions & 0 deletions poli_description/meshes/visual/ui_box_spacer_mount.dae

Large diffs are not rendered by default.

307 changes: 307 additions & 0 deletions poli_description/meshes/visual/x2_wheel.dae

Large diffs are not rendered by default.

20 changes: 20 additions & 0 deletions poli_description/package.xml
@@ -0,0 +1,20 @@
<?xml version="1.0"?>
<package>
<name>poli_description</name>
<version>0.0.1</version>
<description>The poli_description package</description>

<maintainer email="maxwell@cs.utexas.edu">Maxwell Svetlik</maintainer>
<license>BSD</license>


<buildtool_depend>catkin</buildtool_depend>
<build_depend>roscpp</build_depend>
<build_depend>rospy</build_depend>
<run_depend>roscpp</run_depend>
<run_depend>rospy</run_depend>


<export>
</export>
</package>
7 changes: 7 additions & 0 deletions poli_description/robots/poli.urdf.xacro
@@ -0,0 +1,7 @@
<?xml version="1.0"?>

<robot name="segway_robot" xmlns:xacro="http://ros.org/wiki/xacro">
<xacro:include filename="$(find poli_description)/urdf/RMP_110/rmp.urdf.xacro" />
<xacro:segway_robot />

</robot>
129 changes: 129 additions & 0 deletions poli_description/urdf/RMP_110/rmp.urdf.xacro
@@ -0,0 +1,129 @@
<?xml version="1.0"?>
<!--
Software License Agreement (BSD)
\file rmp.urdf.xacro
\authors Patrick Hussey
\copyright Copyright (c) 2015, Stanley Innovation, Inc., All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that
the following conditions are met:
* Redistributions of source code must retain the above copyright notice, this list of conditions and the
following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the
following disclaimer in the documentation and/or other materials provided with the distribution.
* Neither the name of Stanley Innovation, Inc. nor the names of its contributors may be used to endorse or promote
products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WAR-
RANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, IN-
DIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-->
<robot name="segway_robot" xmlns:xacro="http://ros.org/wiki/xacro">

<!-- Included URDF/XACRO Files -->
<xacro:include filename="$(find poli_description)/urdf/segway_components/battery.urdf.xacro" />
<xacro:include filename="$(find poli_description)/urdf/segway_components/i2_wheel.urdf.xacro" />
<xacro:include filename="$(find poli_description)/urdf/segway_components/caster_assembly_110.urdf.xacro" />
<xacro:include filename="$(find poli_description)/urdf/segway_components/powerbase_110.urdf.xacro" />
<xacro:include filename="$(find poli_description)/urdf/segway_components/hmi_box_110.urdf.xacro" />
<xacro:include filename="$(find poli_description)/urdf/segway_components/hmi_plate_110.urdf.xacro" />
<xacro:include filename="$(find poli_description)/urdf/accessories.urdf.xacro" />

<property name="M_PI" value="3.14159"/>

<!-- Wheel Mounting Positions -->
<xacro:property name="track" value="0.48122440" />
<xacro:property name="wheel_vertical_offset" value="0.08255015" />

<!-- Wheel Properties -->
<xacro:property name="wheel_length" value="0.09224900" />
<xacro:property name="wheel_radius" value="0.2405681" />

<xacro:macro name="segway_robot">
<gazebo>
<plugin name="gazebo_ros_control" filename="libgazebo_ros_control.so">
<robotNamespace>/</robotNamespace>
</plugin>
</gazebo>

<!-- Base link is the center of the robot's chassis between the motors projected on the ground -->
<link name="base_link"/>

<!--Chassis -->
<xacro:powerbase_110 chassis_prefix="base" parent="base_link">
<origin xyz="0 0 ${-wheel_vertical_offset + wheel_radius}" rpy="0 0 0" />
</xacro:powerbase_110>

<link name="inertial_collision_link">
<inertial>
<mass value="29.756375" />
<origin xyz="0.001751 0.000008 0.018544" />
<inertia ixx="0.696269" ixy="0.016133" ixz="0.003232"
iyx="0.016133" iyy="0.299110" iyz="-0.000004"
izx="-0.077476" izy="-0.000004" izz="0.864394" />
</inertial>
<collision>
<geometry>
<mesh filename="package://poli_description/meshes/collision/110_powerbase_collision.stl" />
</geometry>
</collision>
</link>

<joint name="inertial_collision_joint" type="fixed" >
<parent link="base_chassis_link" />
<child link="inertial_collision_link" />
</joint>


<!-- Propulsion Batteries -->
<xacro:battery battery_prefix="mcu_1" parent="base_chassis_link">
<origin xyz="-0.09298 0 0" rpy="0 0 0" />
</xacro:battery>

<!-- Aux Batteries -->
<xacro:battery battery_prefix="aux" parent="base_chassis_link">
<origin xyz="0.09298 0 0" rpy="0 0 ${M_PI}" />
</xacro:battery>


<!-- HMI Box -->
<xacro:hmi_box_110 parent="base_chassis_link">
<origin xyz="0 0 0.09504494" rpy="0 0 0" />
</xacro:hmi_box_110>

<xacro:hmi_plate_110 parent="hmi_link">
<origin xyz="0 0 0" rpy="0 0 0" />
</xacro:hmi_plate_110>

<!-- Segway wheel macros -->
<xacro:i2_wheel wheel_prefix="left" parent="base_chassis_link" visual_rotation="0.0">
<origin xyz="0 ${track/2} ${wheel_vertical_offset}" rpy="0 0 0" />
</xacro:i2_wheel>
<xacro:i2_wheel wheel_prefix="right" parent="base_chassis_link" visual_rotation="${M_PI}">
<origin xyz="0 ${-track/2} ${wheel_vertical_offset}" rpy="0 0 0" />
</xacro:i2_wheel>

<!-- Segway Caster Assembly-->
<xacro:if value="$(optenv SEGWAY_HAS_REAR_CASTER false)">
<xacro:caster_assembly_110 caster_prefix="rear" parent="base_chassis_link">
<origin xyz="-0.32784550 0 0.03326933" rpy="0 0 ${M_PI}" />
</xacro:caster_assembly_110>
</xacro:if>

<xacro:if value="$(optenv SEGWAY_HAS_FRONT_CASTER false)">
<xacro:caster_assembly_110 caster_prefix="front" parent="base_chassis_link">
<origin xyz="0.32784550 0 0.03326933" rpy="0 0 0" />
</xacro:caster_assembly_110>
</xacro:if>

<!-- Setup any accessories defined in the environment -->
<xacro:segway_accessories />

</xacro:macro>

</robot>
46 changes: 46 additions & 0 deletions poli_description/urdf/accessories.urdf.xacro
@@ -0,0 +1,46 @@
<?xml version="1.0"?>
<!--
Software License Agreement (BSD)
\file accessories.urdf.xacro
\authors Patrick Hussey
\copyright Copyright (c) 2015, Stanley Innovation, Inc., All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that
the following conditions are met:
* Redistributions of source code must retain the above copyright notice, this list of conditions and the
following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the
following disclaimer in the documentation and/or other materials provided with the distribution.
* Neither the name of Stanley Innovation, Inc. nor the names of its contributors may be used to endorse or promote
products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WAR-
RANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, IN-
DIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-->
<robot name="segway_accessories" xmlns:xacro="http://ros.org/wiki/xacro">
<xacro:include filename="$(find poli_description)/urdf/sensors/hokuyo_ust20lx.urdf.xacro"/>

<property name="M_PI" value="3.14159"/>

<xacro:macro name="segway_accessories">
<xacro:hokuyo_ust20lx laser_prefix="$(optenv LASER1_PREFIX base)" parent="$(optenv VECTOR_PARENT_LINK base_chassis_link)">
<origin xyz="$(optenv LASER1_XYZ 0.35 0 0.2)" rpy="$(optenv LASER1_RPY 3.14159 0 0)" />
</xacro:hokuyo_ust20lx>

<!-- Second laser Sensor -->
<xacro:if value="$(optenv SEGWAY_HAS_SECOND_2D_LASER false)">
<xacro:if value="$(optenv SEGWAY_LASER2_IS_HOKUYO false)">
<xacro:hokuyo_ust20lx laser_prefix="$(optenv LASER2_PREFIX base)" parent="$(optenv VECTOR_PARENT_LINK base_chassis_link)">
<origin xyz="$(optenv LASER2_XYZ 0.35 0 0.2)" rpy="$(optenv LASER2_RPY 3.14159 0 0)" />
</xacro:hokuyo_ust20lx>
</xacro:if>
</xacro:if>

</xacro:macro>
</robot>
44 changes: 44 additions & 0 deletions poli_description/urdf/segway_components/battery.urdf.xacro
@@ -0,0 +1,44 @@
<?xml version="1.0"?>
<!--
Software License Agreement (BSD)
\file battery.urdf.xacro
\authors Patrick Hussey
\copyright Copyright (c) 2015, Stanley Innovation, Inc., All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that
the following conditions are met:
* Redistributions of source code must retain the above copyright notice, this list of conditions and the
following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the
following disclaimer in the documentation and/or other materials provided with the distribution.
* Neither the name of Stanley Innovation, Inc. nor the names of its contributors may be used to endorse or promote
products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WAR-
RANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, IN-
DIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-->
<robot xmlns:xacro="http://ros.org/wiki/xacro" name="battery">

<xacro:macro name="battery" params="battery_prefix parent *origin">
<joint name="${battery_prefix}_battery_joint" type="fixed">
<xacro:insert_block name="origin" />
<parent link="${parent}" />
<child link="${battery_prefix}_battery_link" />
</joint>

<link name="${battery_prefix}_battery_link">
<visual>
<geometry>
<mesh filename="package://poli_description/meshes/visual/battery.dae" />
</geometry>
</visual>
</link>
</xacro:macro>

</robot>

0 comments on commit 82bd631

Please sign in to comment.