diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS new file mode 100644 index 00000000..3d2e47fc --- /dev/null +++ b/.github/CODEOWNERS @@ -0,0 +1,2 @@ +# Default all changes will request review from: +* @tonybaltovski diff --git a/.github/ISSUE_TEMPLATE/bug.md b/.github/ISSUE_TEMPLATE/bug.md new file mode 100644 index 00000000..98906999 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug.md @@ -0,0 +1,31 @@ +--- +name: Bug Report +about: Provide a report for that the issue is +title: '' +labels: bug +assignees: tonybaltovski, civerachb-cpr + +--- + +**Please provide the following information:** + - OS: (e.g. Ubuntu 18.04) + - ROS Distro: (e.g. Melodic) + - Built from source or installed: + - Package version: (if from repository, give version from `sudo dpkg -s ros-$ROS_VERSION-jackal-PACKAGE_WITH_ISSUE`, if from source, give commit hash) + - Real hardware or simulation: + + **Expected behaviour** + A clear and concise description of what you expected to happen. + + **Actual behaviour** + A clear and concise description of what you encountered. + +**To Reproduce** +Provide the steps to reproduce: +1. run something +2. launch something else +3. see the error + + +**Other notes** +Add anything else you thing is important. diff --git a/.github/ISSUE_TEMPLATE/feature.md b/.github/ISSUE_TEMPLATE/feature.md new file mode 100644 index 00000000..de0a3bab --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature.md @@ -0,0 +1,14 @@ +--- +name: Feature request +about: Provide context for the feature you are requesting +title: '' +labels: enhancement +assignees: tonybaltovski, civerachb-cpr + +--- + +**Describe the the feature you would like** +A clear and concise description of what you want to happen. + +**Other notes** +Add anything else you thing is important. diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 00000000..9bd95ef1 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,17 @@ +name: jackal_ci + +on: [push, pull_request] + +jobs: + jackal_noetic_ci: + name: Noetic + strategy: + matrix: + env: + - {ROS_DISTRO: noetic, ROS_REPO: main} + - {ROS_DISTRO: noetic, ROS_REPO: testing} + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v1 + - uses: 'ros-industrial/industrial_ci@master' + env: ${{matrix.env}} diff --git a/LICENSE b/LICENSE new file mode 100644 index 00000000..3fd3245a --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +Copyright 2021 Clearpath Robotics Inc. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the +following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following +disclaimer. + +2. 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. + +3. Neither the name of the copyright holder 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 WARRANTIES, +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, INDIRECT, 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. diff --git a/jackal_control/CHANGELOG.rst b/jackal_control/CHANGELOG.rst index 4a4e65d5..4ba56e77 100644 --- a/jackal_control/CHANGELOG.rst +++ b/jackal_control/CHANGELOG.rst @@ -2,6 +2,82 @@ Changelog for package jackal_control ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +0.8.8 (2023-06-05) +------------------ + +0.8.7 (2023-04-19) +------------------ + +0.8.6 (2022-11-16) +------------------ + +0.8.5 (2022-05-17) +------------------ + +0.8.4 (2022-05-09) +------------------ +* Disable absolute yaw in default imu configuration +* Set subst_value=true when loading the control_extras file to allow envar-defined configuration inside the file +* Contributors: Chris I-B, Chris Iverach-Brereton + +0.8.3 (2022-03-08) +------------------ + +0.8.2 (2022-02-15) +------------------ +* Updated control.launch to new microstrain envvars and moved definition of ekf-localization paramaters into it +* Added Microstrain GX5 to jackal_control +* Contributors: Luis Camero + +0.8.1 (2022-01-18) +------------------ +* predict odom->base_link tf to current time +* Contributors: Ebrahim Shahrivar + +0.8.0 (2021-04-23) +------------------ +* Merge branch 'noetic-devel-bkup' into noetic-devel +* Fix the link_name parameter for the interactive marker server; the default for the package includes a leading '/', which prevents the markers from working on Noetic. We can revert this if/when the default for interactive_marker_twist_server is modified. +* Contributors: Chris Iverach-Brereton + +0.7.5 (2021-03-24) +------------------ + +0.7.4 (2021-03-16) +------------------ +* Bumped CMake version to avoid author warning. +* Add the JACKAL_JOY_DEVICE envar to optionally override the joy device more easily. +* Contributors: Chris Iverach-Brereton, Tony Baltovski + +0.7.3 (2021-03-08) +------------------ + +0.7.2 (2020-09-29) +------------------ +* Load the control extras last (`#75 `_) +* Remove the PS4 device from the yaml file, always apply the parameter from the joy_dev argument instead (`#73 `_) +* Contributors: Chris I-B + +0.7.1 (2020-08-24) +------------------ +* Disable ekf option (`#71 `_) + * added env var and if-statement to disable robot ekf + * changed if to unless + * clearer wording +* Contributors: jmastrangelo-cpr + +0.7.0 (2020-04-20) +------------------ +* Mark the PS3 controller launch file as deprecated, update the default joystick device to point to /dev/input/ps4, as per the new udev rules added to the bringup package +* Contributors: Chris I-B + +0.6.4 (2020-03-04) +------------------ +* Update control.launch + Somehow a ">" has gone missing. This change adds it back in. +* [jackal_control] Added control extras. +* Contributors: Jeff Schmidt, Tony Baltovski + 0.6.3 (2019-07-18) ------------------ diff --git a/jackal_control/CMakeLists.txt b/jackal_control/CMakeLists.txt index 3780fe82..ab58f740 100644 --- a/jackal_control/CMakeLists.txt +++ b/jackal_control/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 2.8.3) +cmake_minimum_required(VERSION 3.0.2) project(jackal_control) find_package(catkin REQUIRED COMPONENTS roslaunch) diff --git a/jackal_control/config/robot_localization.yaml b/jackal_control/config/robot_localization.yaml index 3d2b81d7..db6f4914 100644 --- a/jackal_control/config/robot_localization.yaml +++ b/jackal_control/config/robot_localization.yaml @@ -12,7 +12,7 @@ odom0_differential: false imu0: /imu/data imu0_config: [false, false, false, - true, true, true, + true, true, false, false, false, false, true, true, true, false, false, false] @@ -21,3 +21,5 @@ imu0_differential: false odom_frame: odom base_link_frame: base_link world_frame: odom + +predict_to_current_time: true diff --git a/jackal_control/config/teleop.yaml b/jackal_control/config/teleop_ps3.yaml similarity index 81% rename from jackal_control/config/teleop.yaml rename to jackal_control/config/teleop_ps3.yaml index 8ece70f1..1a6b5a87 100644 --- a/jackal_control/config/teleop.yaml +++ b/jackal_control/config/teleop_ps3.yaml @@ -1,4 +1,5 @@ # Teleop configuration for PS3 Navigation joystick. +# THIS IS DEPRECATED AND MAY BE REMOVED IN A FUTURE UPDATE teleop_twist_joy: axis_linear: 1 scale_linear: 0.4 diff --git a/jackal_control/config/teleop_ps4.yaml b/jackal_control/config/teleop_ps4.yaml index 275dbae8..0d0305ad 100644 --- a/jackal_control/config/teleop_ps4.yaml +++ b/jackal_control/config/teleop_ps4.yaml @@ -10,4 +10,3 @@ teleop_twist_joy: joy_node: deadzone: 0.1 autorepeat_rate: 20 - dev: /dev/input/ds4x diff --git a/jackal_control/launch/control.launch b/jackal_control/launch/control.launch index a75ffb2a..655e6360 100644 --- a/jackal_control/launch/control.launch +++ b/jackal_control/launch/control.launch @@ -1,17 +1,41 @@ + + + + + ekf_localization: + imu1: microstrain/imu/data + imu1_config: [false, false, false, + true, true, true, + false, false, false, + true, true, true, + false, false, false] + imu1_differential: false + + + + + ---> + --> - + + + + diff --git a/jackal_control/launch/teleop.launch b/jackal_control/launch/teleop.launch index 4db3f397..5b80507a 100644 --- a/jackal_control/launch/teleop.launch +++ b/jackal_control/launch/teleop.launch @@ -1,15 +1,16 @@ - + + - + @@ -18,5 +19,7 @@ - + + + diff --git a/jackal_control/package.xml b/jackal_control/package.xml index 1723c13a..f07718e0 100644 --- a/jackal_control/package.xml +++ b/jackal_control/package.xml @@ -1,7 +1,7 @@ jackal_control - 0.6.3 + 0.8.8 Controllers for Jackal Mike Purvis diff --git a/jackal_description/CHANGELOG.rst b/jackal_description/CHANGELOG.rst index f0baf609..4b7f07af 100644 --- a/jackal_description/CHANGELOG.rst +++ b/jackal_description/CHANGELOG.rst @@ -2,6 +2,102 @@ Changelog for package jackal_description ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +0.8.8 (2023-06-05) +------------------ +* change location of onav config +* added outdoornav enable variable and hardware kit selector for urdf +* Contributors: José Mastrangelo + +0.8.7 (2023-04-19) +------------------ +* Added Environment Variables +* Contributors: luis-camero + +0.8.6 (2022-11-16) +------------------ +* Set the GPS plugin's reference heading to 90 so it's ENU +* Use xacro properties defined from environment variables for Microstrain URDF (`#123 `_) +* Add GAZEBO_WORLD\_{LAT|LON} envars to change the reference coordinate of the robot's integral GPS +* Contributors: Chris Iverach-Brereton, Joey Yang + +0.8.5 (2022-05-17) +------------------ +* Added Blackfly entry to URDF +* Added Blackfly description to package.xml +* Contributors: Luis Camero + +0.8.4 (2022-05-09) +------------------ + +0.8.3 (2022-03-08) +------------------ +* Added the option to remove tower from VLP16 mount +* Added SICK TIM551 to URDF and package.xml +* Added UTM30 (`#106 `_) +* Updated Navsat and LMS1xx mounts (`#103 `_) + * Updated hokuyo_ust10_mount to include min and max angle + * Removed extra spaces + * Updated SICK LMS1XX mount and NAVSAT mount + * Maintained backward compatibility with LMS1xx standard upright poisition by adding mount types +* Updated hokuyo_ust10_mount to include min and max angle (`#102 `_) + * Updated hokuyo_ust10_mount to include min and max angle + * Removed extra spaces +* Contributors: Luis Camero, luis-camero + +0.8.2 (2022-02-15) +------------------ +* Moved microstrain link to accessories.urdf and updated envvars +* Added velodyne tower mesh +* Added Microstrain GX5 to description +* Removed unnecessary URDF +* Added Wibotic mesh and STL +* Contributors: Luis Camero + +0.8.1 (2022-01-18) +------------------ +* Updated to match melodic-devel +* Contributors: Luis Camero + +0.8.0 (2021-04-23) +------------------ + +0.7.5 (2021-03-24) +------------------ +* Add the origin block to the fender UST-10 macros; otherwise enabling them crashes +* Contributors: Chris I-B + +0.7.4 (2021-03-16) +------------------ +* Bumped CMake version to avoid author warning. +* Contributors: Tony Baltovski + +0.7.3 (2021-03-08) +------------------ +* Add VLP16 support, refactor main/secondary laser envar support (#79) +* Contributors: Chris I-B + +0.7.2 (2020-09-29) +------------------ + +0.7.1 (2020-08-24) +------------------ + +0.7.0 (2020-04-20) +------------------ +* [jackal_description] Re-added pointgrey_camera_description as run depend. +* Contributors: Tony Baltovski + +0.6.4 (2020-03-04) +------------------ +* Modify the hokuyo accessory so that it works properly in gazebo/rviz. Add an additional environment var JACKAL_LASER_HOKUYO which overrides the default lms1xx sensor with the ust10. +* use env_run.bat on Windows (`#3 `_) +* add setlocal +* Fix jackal_description install location & fold xacro includes (`#2 `_) + * Fix install location. + * Fold xacro includes +* add env-hook batch scripts (`#1 `_) +* Contributors: Chris I-B, James Xu, Sean Yen, Tony Baltovski + 0.6.3 (2019-07-18) ------------------ * Added all extra fender changes diff --git a/jackal_description/CMakeLists.txt b/jackal_description/CMakeLists.txt index 9494dbf9..1a34981a 100644 --- a/jackal_description/CMakeLists.txt +++ b/jackal_description/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 2.8.3) +cmake_minimum_required(VERSION 3.0.2) project(jackal_description) find_package(catkin REQUIRED COMPONENTS roslaunch) @@ -11,6 +11,12 @@ install(DIRECTORY meshes launch urdf DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION} ) +if(WIN32) +install(PROGRAMS scripts/env_run.bat + DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION} +) +else() install(PROGRAMS scripts/env_run DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION} ) +endif() diff --git a/jackal_description/README.md b/jackal_description/README.md new file mode 100644 index 00000000..47855265 --- /dev/null +++ b/jackal_description/README.md @@ -0,0 +1,219 @@ +# Jackal Description + +This packages contains the meshes and URDF of the Jackal robot, its supported sensors, and their supported mounts. + +# Jackal Payloads + +## Microstrain IMU +```bash +export JACKAL_IMU_MICROSTRAIN=1 +``` +###### Launch +```bash +export JACKAL_IMU_MICROSTRAIN_NAME="microstrain" +``` +###### Description +```bash +export JACKAL_IMU_MICROSTRAIN_LINK="microstrain_link" +export JACKAL_IMU_MICROSTRAIN_PARENT="base_link" +export JACKAL_IMU_MICROSTRAIN_OFFSET="-0.139 0.096 0.100" +export JACKAL_IMU_MICROSTRAIN_RPY="3.14159 0 -1.5707" +``` + +## 2D Laser +#### Primary +```bash +export JACKAL_LASER=1 +export JACKAL_LASER_MODEL=lms1xx # or tim551 or ust10 or utm30 +``` +###### Launch +```bash +export JACKAL_LASER_TOPIC="front/scan" +export JACKAL_LASER_HOST="192.168.131.20" +``` +###### Description +```bash +export JACKAL_LASER_TOWER=1 +export JACKAL_LASER_MOUNT="front" +export JACKAL_LASER_PREFIX="front" +export JACKAL_LASER_PARENT="front_mount" +export JACKAL_LASER_MOUNT_TYPE="upright" # or "inverted" +export JACKAL_LASER_OFFSET="0 0 0" +export JACKAL_LASER_RPY="0 0 0" +``` +#### Secondary +```bash +export JACKAL_LASER_SECONDARY=1 +export JACKAL_LASER_SECONDARY_MODEL="lms1xx" # or "tim551" or "ust10" or "utm30" +``` +###### Launch +```bash +export JACKAL_LASER_SECONDARY_HOST="192.168.131.21" +export JACKAL_LASER_SECONDARY_TOPIC="rear/scan" +``` +###### Description +```bash +export JACKAL_LASER_SECONDARY_TOWER=1 +export JACKAL_LASER_SECONDARY_MOUNT="rear" +export JACKAL_LASER_SECONDARY_PREFIX="rear" +export JACKAL_LASER_SECONDARY_PARENT="rear_mount" +export JACKAL_LASER_SECONDARY_OFFSET="0 0 0" +export JACKAL_LASER_SECONDARY_RPY="0 0 3.13159" +``` + +## 3D Laser +```bash +export JACKAL_LASER_3D=1 +``` +###### Launch +```bash +export JACKAL_LASER_3D_HOST="192.168.131.20" +export JACKAL_LASER_3D_TOPIC="mid/points" +``` +###### Description +```bash +export JACKAL_LASER_3D_TOWER=1 +export JACKAL_LASER_3D_MOUNT="mid" +export JACKAL_LASER_3D_PREFIX="mid" +export JACKAL_LASER_3D_PARENT="mid_mount" +export JACKAL_LASER_3D_MODEL="vlp16" # or "hdl32e" +export JACKAL_LASER_3D_OFFSET="0 0 0" +export JACKAL_LASER_3D_RPY="0 0 0" +``` + +## NAVSAT +```bash +export JACKAL_NAVSAT=1 +``` +###### Launch +```bash +export JACKAL_NAVSAT_PORT="/dev/clearpath/gps" +export JACKAL_NAVSAT_BAUD=57600 +export JACKAL_NAVSAT_RTK=0 +export JACKAL_NAVSAT_RTK_DEVICE=wlan0 +export JACKAL_NAVSAT_RTK_BAUD=57600 +``` +###### Description +```bash +export JACKAL_NAVSAT_TOWER=1 +export JACKAL_NAVSAT_HEIGHT=0.1 # in meters +export JACKAL_NAVSAT_MOUNT="rear" +export JACKAL_NAVSAT_PREFIX="rear" +export JACKAL_NAVSAT_PARENT="rear_mount" +export JACKAL_NAVSAT_MODEL="smart6" # or "smart7" +export JACKAL_NAVSAT_OFFSET="0 0 0" +export JACKAL_NAVSAT_RPY="0 0 0" +``` + +## Pointgrey Flea3 +```bash +export JACKAL_FLEA3=1 +``` +###### Launch +```bash +export JACKAL_FLEA3_SERIAL=0 +export JACKAL_FLEA3_FRAME_RATE=30 +export JACKAL_FLEA3_CALIBRATION=0 +``` +###### Description +```bash +export JACKAL_FLEA3_TOWER=1 +export JACKAL_FLEA3_TILT=0.5236 +export JACKAL_FLEA3_NAME="front" +export JACKAL_FLEA3_MOUNT="front" +export JACKAL_FLEA3_PREFIX="front" +export JACKAL_FLEA3_PARENT="front_mount" +export JACKAL_FLEA3_OFFSET="0 0 0" +export JACKAL_FLEA3_RPY="0 0 0" +``` + +## Stereo Pointgrey Flea3 +```bash +export JACKAL_STEREO_FLEA3=1 +``` +###### Launch +```bash +export JACKAL_FLEA3_FRAME_RATE=30 +export JACKAL_FLEA3_LEFT_SERIAL=0 +export JACKAL_FLEA3_LEFT_CALIBRATION=0 +export JACKAL_FLEA3_RIGHT_SERIAL=0 +export JACKAL_FLEA3_RIGHT_CALIBRATION=0 +``` +###### Description +```bash +export JACKAL_STEREO_SEPERATION=0.16 +export JACKAL_FLEA3_TILT="0.5236" +export JACKAL_FLEA3_MOUNT="front" +export JACKAL_FLEA3_PREFIX="front" +export JACKAL_FLEA3_PARENT="front_mount" +export JACKAL_FLEA3_LEFT_NAME="front/left" +export JACKAL_FLEA3_RIGHT_NAME="front/right" +export JACKAL_FLEA3_OFFSET="0 0 0" +export JACKAL_FLEA3_RPY="0 0 0" +``` + +## Bumblebee2 +```bash +export JACKAL_BB2=1 +``` +###### Launch +```bash +export JACKAL_BB2_SERIAL=0 +export JACKAL_BB2_CALIBRATION=0 +``` +###### Description +```bash +export JACKAL_BB2_TILT=0 +export JACKAL_BB2_TOWER=1 +export JACKAL_BB2_NAME="front" +export JACKAL_BB2_MOUNT="front" +export JACKAL_BB2_PREFIX="front" +export JACKAL_BB2_PARENT="front_mount" +export JACKAL_BB2_OFFSET="0 0 0" +export JACKAL_BB2_RPY="0 0 0" +``` + +## Flir Blackfly +```bash +export JACKAL_BLACKFLY=1 +``` +###### Launch +```bash +export JACKAL_BLACKFLY_SERIAL=0 +export JACKAL_BLACKFLY_DEVICE="USB" # or "GigE" +export JACKAL_BLACKFLY_ENCODING="BayerRGB" +export JACKAL_BLACKFLY_FRAMERATE=30 +``` +###### Description +```bash +export JACKAL_BLACKFLY_PREFIX="front_camera" +export JACKAL_BLACKFLY_PARENT="front_mount" +export JACKAL_BLACKFLY_OFFSET="0 0 0" +export JACKAL_BLACKFLY_RPY="0 0 0" +``` + +## Front and Rear Accessory Fender +```bash +export JACKAL_FRONT_ACCESSORY_FENDER=1 +export JACKAL_REAR_ACCESSORY_FENDER=1 +export JACKAL_FRONT_FENDER_UST10=1 +export JACKAL_REAR_FENDER_UST10=1 +``` +###### Launch +```bash +export JACKAL_FRONT_LASER_TOPIC=front/scan +export JACKAL_FRONT_LASER_HOST="192.168.131.20" +export JACKAL_REAR_LASER_TOPIC=rear/scan +export JACKAL_REAR_LASER_HOST="192.168.131.21" +``` + +## Decorations +Description only accessories (i.e. no driver). +###### Wibotic Q-Charging Bumper: +```bash +export JACKAL_WIBOTIC_BUMPER=1 +``` +###### Backpack Computer Enclosure: +```bash +export JACKAL_ARK_ENCLOSURE=1 +``` \ No newline at end of file diff --git a/jackal_description/launch/description.launch b/jackal_description/launch/description.launch index 7a3a9343..821d88ca 100644 --- a/jackal_description/launch/description.launch +++ b/jackal_description/launch/description.launch @@ -2,8 +2,13 @@ + + + + + diff --git a/jackal_description/meshes/hokuyo_utm30.stl b/jackal_description/meshes/hokuyo_utm30.stl new file mode 100644 index 00000000..90ab4c74 Binary files /dev/null and b/jackal_description/meshes/hokuyo_utm30.stl differ diff --git a/jackal_description/meshes/kinect_mount.stl b/jackal_description/meshes/kinect_mount.stl new file mode 100644 index 00000000..420cb594 Binary files /dev/null and b/jackal_description/meshes/kinect_mount.stl differ diff --git a/jackal_description/meshes/novatel-smart7.stl b/jackal_description/meshes/novatel-smart7.stl new file mode 100644 index 00000000..a3bd66b0 Binary files /dev/null and b/jackal_description/meshes/novatel-smart7.stl differ diff --git a/jackal_description/meshes/sick-lms1xx-inverted-bracket.stl b/jackal_description/meshes/sick-lms1xx-inverted-bracket.stl new file mode 100644 index 00000000..28d7ec35 Binary files /dev/null and b/jackal_description/meshes/sick-lms1xx-inverted-bracket.stl differ diff --git a/jackal_description/meshes/sick-lms1xx-bracket.stl b/jackal_description/meshes/sick-lms1xx-upright-bracket.stl old mode 100755 new mode 100644 similarity index 100% rename from jackal_description/meshes/sick-lms1xx-bracket.stl rename to jackal_description/meshes/sick-lms1xx-upright-bracket.stl diff --git a/jackal_description/meshes/velodyne_tower.stl b/jackal_description/meshes/velodyne_tower.stl new file mode 100644 index 00000000..9a166876 Binary files /dev/null and b/jackal_description/meshes/velodyne_tower.stl differ diff --git a/jackal_description/meshes/wibotic_bumper.stl b/jackal_description/meshes/wibotic_bumper.stl new file mode 100644 index 00000000..196d8af7 Binary files /dev/null and b/jackal_description/meshes/wibotic_bumper.stl differ diff --git a/jackal_description/package.xml b/jackal_description/package.xml index 28f2693e..806a9b7a 100644 --- a/jackal_description/package.xml +++ b/jackal_description/package.xml @@ -1,7 +1,7 @@ jackal_description - 0.6.3 + 0.8.8 URDF robot description for Jackal Mike Purvis @@ -12,12 +12,15 @@ catkin roslaunch + cpr_onav_description + flir_camera_description + lms1xx + pointgrey_camera_description robot_state_publisher + sick_tim urdf + velodyne_description xacro - lms1xx - - diff --git a/jackal_description/scripts/env_run.bat b/jackal_description/scripts/env_run.bat new file mode 100644 index 00000000..eadb2fb1 --- /dev/null +++ b/jackal_description/scripts/env_run.bat @@ -0,0 +1,25 @@ +@echo off +setlocal +REM This simple wrapper allowing us to pass a set of +REM environment variables to be sourced prior to running +REM another command. Used in the launch file for setting +REM robot configurations prior to xacro. + +set ENVVARS_FILE=%1 + +REM get arguments starting from %2 +shift +set RUNNER_COMMAND= +:getrunnerloop +if "%1"=="" goto after_loop +if "%RUNNER_COMMAND%" == "" ( + set RUNNER_COMMAND=%1 +) else ( + set RUNNER_COMMAND=%RUNNER_COMMAND% %1 +) +shift +goto getrunnerloop + +:after_loop +call %ENVVARS_FILE% +call %RUNNER_COMMAND% diff --git a/jackal_description/urdf/accessories.urdf.xacro b/jackal_description/urdf/accessories.urdf.xacro index b74cff0c..ac015ebe 100644 --- a/jackal_description/urdf/accessories.urdf.xacro +++ b/jackal_description/urdf/accessories.urdf.xacro @@ -1,177 +1,500 @@ - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - + + + + + + + + - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - - + + - - + + - --> - - - - - + + + - - + + - - - - - - + + + + - - - - - - - - --> - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - - + + - - + + - --> - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + - - Gazebo/DarkGrey - false - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Gazebo/DarkGrey + false + + + diff --git a/jackal_description/urdf/accessories/bridge_plate.urdf.xacro b/jackal_description/urdf/accessories/bridge_plate.urdf.xacro index fa584676..4bccc6a6 100644 --- a/jackal_description/urdf/accessories/bridge_plate.urdf.xacro +++ b/jackal_description/urdf/accessories/bridge_plate.urdf.xacro @@ -1,13 +1,20 @@ - - - - + + + + + + + + + + + - + @@ -17,6 +24,6 @@ - + diff --git a/jackal_description/urdf/accessories/hdl32_mount.urdf.xacro b/jackal_description/urdf/accessories/hdl32_mount.urdf.xacro new file mode 100644 index 00000000..6b1b2742 --- /dev/null +++ b/jackal_description/urdf/accessories/hdl32_mount.urdf.xacro @@ -0,0 +1,46 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/jackal_description/urdf/accessories/hokuyo_ust10.urdf.xacro b/jackal_description/urdf/accessories/hokuyo_ust10.urdf.xacro index b2b2b23f..7b560d7b 100644 --- a/jackal_description/urdf/accessories/hokuyo_ust10.urdf.xacro +++ b/jackal_description/urdf/accessories/hokuyo_ust10.urdf.xacro @@ -1,25 +1,75 @@ - + + + + + + + + + + + + + true + + 0 0 0 0 0 0 + false + ${update_rate} + + + + ${sample_size} + 1 + ${min_angle} + ${max_angle} + + + + ${min_range} + ${max_range} + 0.01 + + + gaussian + 0.0 + 0.001 + + + + ${topic} + ${frame} + ${robot_namespace} + + + + + + + + + + + + + - - - - - - - + diff --git a/jackal_description/urdf/accessories/hokuyo_utm30.urdf.xacro b/jackal_description/urdf/accessories/hokuyo_utm30.urdf.xacro new file mode 100644 index 00000000..47f809f5 --- /dev/null +++ b/jackal_description/urdf/accessories/hokuyo_utm30.urdf.xacro @@ -0,0 +1,87 @@ + + + + + + + + + + + + + + + + + + true + + 0 0 0 0 0 0 + false + ${update_rate} + + + + ${sample_size} + 1 + ${min_angle} + ${max_angle} + + + + ${min_range} + ${max_range} + 0.01 + + + gaussian + 0.0 + 0.001 + + + + ${topic} + ${frame} + ${robot_namespace} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Gazebo/DarkGrey + + + + + diff --git a/jackal_description/urdf/accessories/novatel_smart7.urdf.xacro b/jackal_description/urdf/accessories/novatel_smart7.urdf.xacro new file mode 100644 index 00000000..fbfdaadd --- /dev/null +++ b/jackal_description/urdf/accessories/novatel_smart7.urdf.xacro @@ -0,0 +1,46 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/jackal_description/urdf/accessories/sick_lms1xx_inverted_mount.urdf.xacro b/jackal_description/urdf/accessories/sick_lms1xx_inverted_mount.urdf.xacro new file mode 100644 index 00000000..862238a7 --- /dev/null +++ b/jackal_description/urdf/accessories/sick_lms1xx_inverted_mount.urdf.xacro @@ -0,0 +1,68 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Gazebo/DarkGrey + + + + + diff --git a/jackal_description/urdf/accessories/sick_lms1xx_mount.urdf.xacro b/jackal_description/urdf/accessories/sick_lms1xx_upright_mount.urdf.xacro similarity index 86% rename from jackal_description/urdf/accessories/sick_lms1xx_mount.urdf.xacro rename to jackal_description/urdf/accessories/sick_lms1xx_upright_mount.urdf.xacro index 1d418677..a9aab737 100644 --- a/jackal_description/urdf/accessories/sick_lms1xx_mount.urdf.xacro +++ b/jackal_description/urdf/accessories/sick_lms1xx_upright_mount.urdf.xacro @@ -31,16 +31,22 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - + - + + + + + + + - + diff --git a/jackal_description/urdf/accessories/standoffs.urdf.xacro b/jackal_description/urdf/accessories/standoffs.urdf.xacro index 254c9a18..1232ac35 100644 --- a/jackal_description/urdf/accessories/standoffs.urdf.xacro +++ b/jackal_description/urdf/accessories/standoffs.urdf.xacro @@ -20,18 +20,18 @@ - - + + - - + + - - + + - - + + - + diff --git a/jackal_description/urdf/accessories/vlp16_mount.urdf.xacro b/jackal_description/urdf/accessories/vlp16_mount.urdf.xacro new file mode 100644 index 00000000..c9a47775 --- /dev/null +++ b/jackal_description/urdf/accessories/vlp16_mount.urdf.xacro @@ -0,0 +1,104 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/jackal_description/urdf/configs/base.bat b/jackal_description/urdf/configs/base.bat new file mode 100644 index 00000000..4e310f56 --- /dev/null +++ b/jackal_description/urdf/configs/base.bat @@ -0,0 +1,5 @@ +@echo off + +REM The base Jackal configuration has no accessories at all, +REM so nothing need be specified here; the defaults as given +REM in the URDF suffice to define this config. diff --git a/jackal_description/urdf/configs/front_bumblebee2.bat b/jackal_description/urdf/configs/front_bumblebee2.bat new file mode 100644 index 00000000..4d62d2a9 --- /dev/null +++ b/jackal_description/urdf/configs/front_bumblebee2.bat @@ -0,0 +1,3 @@ +@echo off + +set JACKAL_BB2=1 diff --git a/jackal_description/urdf/configs/front_flea3.bat b/jackal_description/urdf/configs/front_flea3.bat new file mode 100644 index 00000000..34ff1a71 --- /dev/null +++ b/jackal_description/urdf/configs/front_flea3.bat @@ -0,0 +1,3 @@ +@echo off + +set JACKAL_FLEA3=1 diff --git a/jackal_description/urdf/configs/front_laser.bat b/jackal_description/urdf/configs/front_laser.bat new file mode 100644 index 00000000..705c50e9 --- /dev/null +++ b/jackal_description/urdf/configs/front_laser.bat @@ -0,0 +1,8 @@ +@echo off + +REM The front_laser configuration of Jackal is sufficient for +REM basic gmapping and navigation. It is mostly the default +REM config, but with a SICK LMS100 series LIDAR on the front, +REM pointing forward. + +set JACKAL_LASER=1 diff --git a/jackal_description/urdf/custom_example.urdf b/jackal_description/urdf/custom_example.urdf index bf0ca8fe..dd19b459 100644 --- a/jackal_description/urdf/custom_example.urdf +++ b/jackal_description/urdf/custom_example.urdf @@ -3,20 +3,20 @@ by setting the JACKAL_URDF_EXTRAS environment variable to the full path of this file. --> - + - + - + @@ -24,20 +24,20 @@ - + - + - + > @@ -45,15 +45,15 @@ - - + + - diff --git a/jackal_description/urdf/jackal.gazebo b/jackal_description/urdf/jackal.gazebo index c4f852d4..96e4118d 100644 --- a/jackal_description/urdf/jackal.gazebo +++ b/jackal_description/urdf/jackal.gazebo @@ -38,42 +38,59 @@ - - - true - 50.0 - base_link - ground_truth/odom - 0.01 - world - 0 0 0 - 0 0 0 - - - - - false - - - - Gazebo/DarkGrey - false - - - false - - - - Gazebo/DarkGrey - false - - - Gazebo/Yellow - false - - - Gazebo/Yellow - false - - + + + / + 50.0 + imu_link + imu/data + 0.005 0.005 0.005 + 0.005 0.005 0.005 + 0.005 0.005 0.005 + 0.005 0.005 0.005 + 0.005 + 0.005 + + + + + + 40 + / + navsat_link + base_link + /navsat/fix + /navsat/vel + $(optenv GAZEBO_WORLD_LAT 49.9) + $(optenv GAZEBO_WORLD_LON 8.9) + 90 + 0 + 0.0001 0.0001 0.0001 + + + + + false + + + + Gazebo/DarkGrey + false + + + false + + + + Gazebo/DarkGrey + false + + + Gazebo/Yellow + false + + + Gazebo/Yellow + false + diff --git a/jackal_description/urdf/jackal.urdf.xacro b/jackal_description/urdf/jackal.urdf.xacro index 005c80bc..bd138669 100644 --- a/jackal_description/urdf/jackal.urdf.xacro +++ b/jackal_description/urdf/jackal.urdf.xacro @@ -198,10 +198,7 @@ - + @@ -214,7 +211,7 @@ - + @@ -261,6 +258,20 @@ + + + + + + + + + + + + + + diff --git a/jackal_msgs/CHANGELOG.rst b/jackal_msgs/CHANGELOG.rst index 54fcc5eb..ebc072c4 100644 --- a/jackal_msgs/CHANGELOG.rst +++ b/jackal_msgs/CHANGELOG.rst @@ -2,6 +2,56 @@ Changelog for package jackal_msgs ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +0.8.8 (2023-06-05) +------------------ + +0.8.7 (2023-04-19) +------------------ + +0.8.6 (2022-11-16) +------------------ + +0.8.5 (2022-05-17) +------------------ + +0.8.4 (2022-05-09) +------------------ + +0.8.3 (2022-03-08) +------------------ + +0.8.2 (2022-02-15) +------------------ + +0.8.1 (2022-01-18) +------------------ + +0.8.0 (2021-04-23) +------------------ + +0.7.5 (2021-03-24) +------------------ + +0.7.4 (2021-03-16) +------------------ +* Bumped CMake version to avoid author warning. +* Contributors: Tony Baltovski + +0.7.3 (2021-03-08) +------------------ + +0.7.2 (2020-09-29) +------------------ + +0.7.1 (2020-08-24) +------------------ + +0.7.0 (2020-04-20) +------------------ + +0.6.4 (2020-03-04) +------------------ + 0.6.3 (2019-07-18) ------------------ diff --git a/jackal_msgs/CMakeLists.txt b/jackal_msgs/CMakeLists.txt index 203295f2..a1718def 100644 --- a/jackal_msgs/CMakeLists.txt +++ b/jackal_msgs/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 2.8.3) +cmake_minimum_required(VERSION 3.0.2) project(jackal_msgs) find_package(catkin REQUIRED COMPONENTS diff --git a/jackal_msgs/package.xml b/jackal_msgs/package.xml index d2966383..1c6bf6f1 100644 --- a/jackal_msgs/package.xml +++ b/jackal_msgs/package.xml @@ -1,7 +1,7 @@ jackal_msgs - 0.6.3 + 0.8.8 Messages exclusive to Jackal, especially for representing low-level motor commands and sensors. Mike Purvis diff --git a/jackal_navigation/CHANGELOG.rst b/jackal_navigation/CHANGELOG.rst index 4c4e2050..0aa46298 100644 --- a/jackal_navigation/CHANGELOG.rst +++ b/jackal_navigation/CHANGELOG.rst @@ -2,6 +2,61 @@ Changelog for package jackal_navigation ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +0.8.8 (2023-06-05) +------------------ + +0.8.7 (2023-04-19) +------------------ + +0.8.6 (2022-11-16) +------------------ + +0.8.5 (2022-05-17) +------------------ + +0.8.4 (2022-05-09) +------------------ + +0.8.3 (2022-03-08) +------------------ + +0.8.2 (2022-02-15) +------------------ + +0.8.1 (2022-01-18) +------------------ + +0.8.0 (2021-04-23) +------------------ + +0.7.5 (2021-03-24) +------------------ + +0.7.4 (2021-03-16) +------------------ +* Bumped CMake version to avoid author warning. +* Contributors: Tony Baltovski + +0.7.3 (2021-03-08) +------------------ + +0.7.2 (2020-09-29) +------------------ +* Use the JACKAL_LASER_TOPIC env var as the default for the scan topic in amcl + gmapping demos (`#74 `_) +* Contributors: Chris I-B + +0.7.1 (2020-08-24) +------------------ +* Remove the leading / from the gmapping default scan topic +* Expose the scan_topic and use_map_topic parameters in the demo launch files +* Contributors: Chris Iverach-Brereton + +0.7.0 (2020-04-20) +------------------ + +0.6.4 (2020-03-04) +------------------ + 0.6.3 (2019-07-18) ------------------ diff --git a/jackal_navigation/CMakeLists.txt b/jackal_navigation/CMakeLists.txt index 3a75a89e..66f40111 100644 --- a/jackal_navigation/CMakeLists.txt +++ b/jackal_navigation/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 2.8.3) +cmake_minimum_required(VERSION 3.0.2) project(jackal_navigation) find_package(catkin REQUIRED COMPONENTS roslaunch) diff --git a/jackal_navigation/launch/amcl_demo.launch b/jackal_navigation/launch/amcl_demo.launch index 557e7a81..591e746a 100644 --- a/jackal_navigation/launch/amcl_demo.launch +++ b/jackal_navigation/launch/amcl_demo.launch @@ -1,11 +1,17 @@ + + + - + + + + diff --git a/jackal_navigation/launch/gmapping_demo.launch b/jackal_navigation/launch/gmapping_demo.launch index 8a2ac874..0290d52b 100644 --- a/jackal_navigation/launch/gmapping_demo.launch +++ b/jackal_navigation/launch/gmapping_demo.launch @@ -1,7 +1,12 @@ + + - + + + + diff --git a/jackal_navigation/launch/include/amcl.launch b/jackal_navigation/launch/include/amcl.launch index dc35b358..5b5f4126 100644 --- a/jackal_navigation/launch/include/amcl.launch +++ b/jackal_navigation/launch/include/amcl.launch @@ -1,7 +1,7 @@ - + diff --git a/jackal_navigation/launch/include/gmapping.launch b/jackal_navigation/launch/include/gmapping.launch index b86681a1..eda66498 100644 --- a/jackal_navigation/launch/include/gmapping.launch +++ b/jackal_navigation/launch/include/gmapping.launch @@ -1,6 +1,6 @@ - + diff --git a/jackal_navigation/package.xml b/jackal_navigation/package.xml index 452fc1af..d919c737 100644 --- a/jackal_navigation/package.xml +++ b/jackal_navigation/package.xml @@ -1,7 +1,7 @@ jackal_navigation - 0.6.3 + 0.8.8 Launch files and code for autonomous navigation of the Jackal Shokoofeh Pourmehr Mike Purvis diff --git a/jackal_tutorials/CHANGELOG.rst b/jackal_tutorials/CHANGELOG.rst index e401507f..b9f8bf97 100644 --- a/jackal_tutorials/CHANGELOG.rst +++ b/jackal_tutorials/CHANGELOG.rst @@ -2,4 +2,98 @@ Changelog for package jackal_tutorials ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +0.8.8 (2023-06-05) +------------------ +0.8.7 (2023-04-19) +------------------ + +0.8.6 (2022-11-16) +------------------ + +0.8.5 (2022-05-17) +------------------ + +0.8.4 (2022-05-09) +------------------ + +0.8.3 (2022-03-08) +------------------ + +0.8.2 (2022-02-15) +------------------ + +0.8.1 (2022-01-18) +------------------ + +0.8.0 (2021-04-23) +------------------ + +0.7.5 (2021-03-24) +------------------ + +0.7.4 (2021-03-16) +------------------ + +0.7.3 (2021-03-08) +------------------ + +0.7.2 (2020-09-29) +------------------ + +0.7.1 (2020-08-24) +------------------ + +0.7.0 (2020-04-20) +------------------ + +0.6.4 (2020-03-04) +------------------ + +0.6.3 (2019-07-18) +------------------ + +0.6.2 (2019-04-18) +------------------ + +0.6.1 (2018-08-02) +------------------ + +0.6.0 (2018-04-12) +------------------ + +0.5.4 (2018-04-12) +------------------ + +0.5.3 (2016-06-01) +------------------ + +0.5.1 (2015-02-02) +------------------ + +0.5.0 (2015-01-20) +------------------ + +0.4.2 (2015-01-14) +------------------ + +0.4.1 (2015-01-07) +------------------ + +0.4.0 (2014-12-12) +------------------ + +0.3.0 (2014-09-10 16:25) +------------------------ + +0.2.1 (2014-09-10 08:54) +------------------------ + +0.2.0 (2014-09-09) +------------------ + +0.1.1 (2014-09-06) +------------------ + +0.1.0 (2014-09-05) +------------------ diff --git a/jackal_tutorials/CMakeLists.txt b/jackal_tutorials/CMakeLists.txt index 5d172f4e..fb189b8b 100644 --- a/jackal_tutorials/CMakeLists.txt +++ b/jackal_tutorials/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 2.8.3) +cmake_minimum_required(VERSION 3.0.2) project(jackal_tutorials) find_package(catkin REQUIRED) diff --git a/jackal_tutorials/package.xml b/jackal_tutorials/package.xml index 037bbf8b..fdd003d2 100644 --- a/jackal_tutorials/package.xml +++ b/jackal_tutorials/package.xml @@ -1,7 +1,7 @@ jackal_tutorials - 0.6.3 + 0.8.8 Jackal's tutorials. Mike Purvis