34
U.S. ARMY TANK AUTOMOTIVE RESEARCH, DEVELOPMENT AND ENGINEERING CENTER Introduction to Robotic Technology Kernel (RTK) TARDEC Ground Vehicle Robotics UNCLASSIFIED: Distribution Statement A. Approved for public release; distribution is unlimited.

U.S. ARMY TANK AUTOMOTIVE RESEARCH, DEVELOPMENT AND ...gl-systems-technology.net/uploads/3/4/5/7/34572805/introduction_to… · U.S. ARMY TANK AUTOMOTIVE RESEARCH, DEVELOPMENT AND

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: U.S. ARMY TANK AUTOMOTIVE RESEARCH, DEVELOPMENT AND ...gl-systems-technology.net/uploads/3/4/5/7/34572805/introduction_to… · U.S. ARMY TANK AUTOMOTIVE RESEARCH, DEVELOPMENT AND

U.S. ARMY TANK AUTOMOTIVE RESEARCH, DEVELOPMENT AND ENGINEERING CENTER

Introduction to

Robotic Technology Kernel (RTK)

TARDEC Ground Vehicle Robotics

UNCLASSIFIED: Distribution Statement A. Approved

for public release; distribution is unlimited.

Page 2: U.S. ARMY TANK AUTOMOTIVE RESEARCH, DEVELOPMENT AND ...gl-systems-technology.net/uploads/3/4/5/7/34572805/introduction_to… · U.S. ARMY TANK AUTOMOTIVE RESEARCH, DEVELOPMENT AND

Presentation Overview

• RTK Overview

• Architecture

• Vehicle Configuration

• Development

• Useful Tools

2UNCLASSIFIED: Distribution Statement A. Approved for public release; distribution is unlimited.

Page 3: U.S. ARMY TANK AUTOMOTIVE RESEARCH, DEVELOPMENT AND ...gl-systems-technology.net/uploads/3/4/5/7/34572805/introduction_to… · U.S. ARMY TANK AUTOMOTIVE RESEARCH, DEVELOPMENT AND

RTK Overview

RTK Overview

3UNCLASSIFIED: Distribution Statement A. Approved for public release; distribution is unlimited.

Page 4: U.S. ARMY TANK AUTOMOTIVE RESEARCH, DEVELOPMENT AND ...gl-systems-technology.net/uploads/3/4/5/7/34572805/introduction_to… · U.S. ARMY TANK AUTOMOTIVE RESEARCH, DEVELOPMENT AND

Autonomy Kit/Drive-by-Wire Kit Concept

UNCLASSIFIED: Distribution Statement A. Approved for public release; distribution is unlimited. 4

Drive-By-Wire Kit

Autonomy Kit

Operator Control Unit

Page 5: U.S. ARMY TANK AUTOMOTIVE RESEARCH, DEVELOPMENT AND ...gl-systems-technology.net/uploads/3/4/5/7/34572805/introduction_to… · U.S. ARMY TANK AUTOMOTIVE RESEARCH, DEVELOPMENT AND

Robotic Technology Kernel (RTK)

TARDEC Robotic

Technology Kernel

DSAT MUER TORVICE CAAR Wingman CoVeR

Cross-EffortEfforts deliver new capabilities to

the RTK, which in turn is leveraged for new efforts.

Cross-ControllerAny RTK-enabled platform can be controlled by any RTK compatible

controller or WMI.

Cross-PlatformNew RTK capabilities are enjoyed by all RTK-enabled platforms

5

The Robotic Technology Kernel (RTK) is a Robot Operating System (ROS)-based modular autonomy software library for S&T development that provides a set of common robotic capabilities across a variety of platforms and efforts.

UNCLASSIFIED: Distribution Statement A. Approved for public release; distribution is unlimited.

Page 6: U.S. ARMY TANK AUTOMOTIVE RESEARCH, DEVELOPMENT AND ...gl-systems-technology.net/uploads/3/4/5/7/34572805/introduction_to… · U.S. ARMY TANK AUTOMOTIVE RESEARCH, DEVELOPMENT AND

RTK Core 2018

RTK Software Development Concept

6

RTK Master Branch

Project X Branch

Capabilities and functionality

that have broad application

to robotic autonomy in

general get integrated back

into the RTK master branch.

Specialized instantiations

of RTK are maintained in

project branches, which

originate with the RTK

Master Branch or an

existing project branch.

Project Y Branch

During the course of a

project, new capabilities

may be developed and

existing capabilities may

be changed to better

meet project goals.

The primary RTK software library is

maintained in the RTK Master Branch.

The Master Branch contains nearly all

available RTK capabilities with the

exception of specialized mission or

project specific functionality.

RTK Core 2019

RTK Core is a

documented and

distributable version of

RTK. RTK Core is

focused on providing

reliable, general

purpose autonomy

software and is released

on a periodic basis.

UNCLASSIFIED: Distribution Statement A. Approved for public release; distribution is unlimited.

Page 7: U.S. ARMY TANK AUTOMOTIVE RESEARCH, DEVELOPMENT AND ...gl-systems-technology.net/uploads/3/4/5/7/34572805/introduction_to… · U.S. ARMY TANK AUTOMOTIVE RESEARCH, DEVELOPMENT AND

RTK Past and Present

7

FY13 FY14 FY15 FY16 FY17 FY18

DSAT

MUER

Wingman

Wingman JCTD

TORVICE

AMAS MTV / AGR-TR / AGR Behaviors

CAARDSAT – Dismounted Soldier Autonomy ToolsMUER – Multi UGV Extended RangeTORVICE – Trusted Operation of Robotic Vehicles in a Contested EnvironmentAMAS – Autonomous Mobility Applique KitAGR – Autonomous Ground ResupplyTR – Tactical ResupplyCAAR – Coalition Assured Autonomous Resupply

In addition to the development

efforts listed here, RTK has been

and continues to be used on

several other projects to provide

autonomous capability.

RTK Core

UNCLASSIFIED: Distribution Statement A. Approved for public release; distribution is unlimited.

Page 8: U.S. ARMY TANK AUTOMOTIVE RESEARCH, DEVELOPMENT AND ...gl-systems-technology.net/uploads/3/4/5/7/34572805/introduction_to… · U.S. ARMY TANK AUTOMOTIVE RESEARCH, DEVELOPMENT AND

Architecture

Architecture

8UNCLASSIFIED: Distribution Statement A. Approved for public release; distribution is unlimited.

Page 9: U.S. ARMY TANK AUTOMOTIVE RESEARCH, DEVELOPMENT AND ...gl-systems-technology.net/uploads/3/4/5/7/34572805/introduction_to… · U.S. ARMY TANK AUTOMOTIVE RESEARCH, DEVELOPMENT AND

Data Flow

9

CAN A-kit Bridge

IOP Bridge

Navigation Vehicle

Management

System

Motion Execution

Perception

World Model

OCUEnvironment

Autonomy Mode Manager

Behavior Manager

Drivers Algorithms

Path Planners

Payload

System

B-Kit

Diagnostics

Localization

Sensors

UNCLASSIFIED: Distribution Statement A. Approved for public release; distribution is unlimited.

Page 10: U.S. ARMY TANK AUTOMOTIVE RESEARCH, DEVELOPMENT AND ...gl-systems-technology.net/uploads/3/4/5/7/34572805/introduction_to… · U.S. ARMY TANK AUTOMOTIVE RESEARCH, DEVELOPMENT AND

Perception

This subsystem contains the sensor drivers and algorithms that detect

and interpret things of interest from the environment.

• Stereo Cameras

• LIDARs

• Ultra Wideband Radios (UWBs)

• RADAR

• Output:

– Disparity

– Material Classification

– Ground Point Clouds

– Non-Ground Point Clouds

10UNCLASSIFIED: Distribution Statement A. Approved for public release; distribution is unlimited.

Page 11: U.S. ARMY TANK AUTOMOTIVE RESEARCH, DEVELOPMENT AND ...gl-systems-technology.net/uploads/3/4/5/7/34572805/introduction_to… · U.S. ARMY TANK AUTOMOTIVE RESEARCH, DEVELOPMENT AND

Localization

This subsystem fuses data from multiple sensors to provide both relative and absolute pose of the vehicle.

• GNSS

– GPS

– DRTK

– DGPS

• Wheel Speed Encoders

• IMU

• Gyro

• RANGER

• Visual Odometry

• Output:

– far_field -> near_field -> vehicle TF tree

• map -> odom -> base_link in standard ROS terms

– far field and near field odometry

11UNCLASSIFIED: Distribution Statement A. Approved for public release; distribution is unlimited.

Page 12: U.S. ARMY TANK AUTOMOTIVE RESEARCH, DEVELOPMENT AND ...gl-systems-technology.net/uploads/3/4/5/7/34572805/introduction_to… · U.S. ARMY TANK AUTOMOTIVE RESEARCH, DEVELOPMENT AND

World Model

This subsystem is used for storing and fusing data from multiple

sources. Services are provided to request data as a costmap or list of

dynamic objects and zones.

• Input:

– Plugin-based sensor fusion from Perception & Localization

– “No go” zones

– Known Obstacles

• Internal operations:

– Octree-based sparse voxel map

– Persistent Map

• Output:

– Voxels

– 2D Costmaps

12UNCLASSIFIED: Distribution Statement A. Approved for public release; distribution is unlimited.

Page 13: U.S. ARMY TANK AUTOMOTIVE RESEARCH, DEVELOPMENT AND ...gl-systems-technology.net/uploads/3/4/5/7/34572805/introduction_to… · U.S. ARMY TANK AUTOMOTIVE RESEARCH, DEVELOPMENT AND

Autonomy Mode Manager

This subsystem configures and monitors behavior modules.

• Input:

– Mode commands

• Output:

– Path planner configuration

13UNCLASSIFIED: Distribution Statement A. Approved for public release; distribution is unlimited.

Page 14: U.S. ARMY TANK AUTOMOTIVE RESEARCH, DEVELOPMENT AND ...gl-systems-technology.net/uploads/3/4/5/7/34572805/introduction_to… · U.S. ARMY TANK AUTOMOTIVE RESEARCH, DEVELOPMENT AND

Navigation

This subsystem generates paths and speed/steering commands to

guide the vehicle to its destination.

• Input:

– Filtered 2D Costmaps

– Vehicle Odometry

• Internal operations:

– Behavior switch

– Path Planning

• A*

• Maverick

• Vaquero

• Vaquerito

• Output:

– Speed & Curvature Setpoint

14UNCLASSIFIED: Distribution Statement A. Approved for public release; distribution is unlimited.

Page 15: U.S. ARMY TANK AUTOMOTIVE RESEARCH, DEVELOPMENT AND ...gl-systems-technology.net/uploads/3/4/5/7/34572805/introduction_to… · U.S. ARMY TANK AUTOMOTIVE RESEARCH, DEVELOPMENT AND

Vehicle Management System

This subsystem monitors overall health and ensures commands are

safe to perform.

• Input:

– Direct teleoperation

– Mode commands

– Camera control and configuration

– Speed and steering

– Vehicle status

• Output:

– Mode confirmation

– Verified speed and steering

15UNCLASSIFIED: Distribution Statement A. Approved for public release; distribution is unlimited.

Page 16: U.S. ARMY TANK AUTOMOTIVE RESEARCH, DEVELOPMENT AND ...gl-systems-technology.net/uploads/3/4/5/7/34572805/introduction_to… · U.S. ARMY TANK AUTOMOTIVE RESEARCH, DEVELOPMENT AND

Motion Execution

This subsystem handles primitive control and status between the

autonomy kit and the drive-by-wire kit.

• Input:

– Speed & Curvature Setpoint

– Vehicle Odometry

• Output:

– Drive-by-Wire Commands

16UNCLASSIFIED: Distribution Statement A. Approved for public release; distribution is unlimited.

Page 17: U.S. ARMY TANK AUTOMOTIVE RESEARCH, DEVELOPMENT AND ...gl-systems-technology.net/uploads/3/4/5/7/34572805/introduction_to… · U.S. ARMY TANK AUTOMOTIVE RESEARCH, DEVELOPMENT AND

Other Subsystems

• Diagnostics

– This subsystem provides a way to monitor the health of hardware in the

system.

• IOP Bridge

– This subsystem is the interface between the autonomy kit and the operator

control unit.

• CAN-A-Kit Bridge

– This subsystem handles traffic to and from the CAN bus.

• Payload System

– This subsystem handles control, configuration, and status of pan/tilt,

camera, and remote weapon systems that can be controlled by the

operator.

17UNCLASSIFIED: Distribution Statement A. Approved for public release; distribution is unlimited.

Page 18: U.S. ARMY TANK AUTOMOTIVE RESEARCH, DEVELOPMENT AND ...gl-systems-technology.net/uploads/3/4/5/7/34572805/introduction_to… · U.S. ARMY TANK AUTOMOTIVE RESEARCH, DEVELOPMENT AND

Vehicle Configuration

Vehicle Configuration

18UNCLASSIFIED: Distribution Statement A. Approved for public release; distribution is unlimited.

Page 19: U.S. ARMY TANK AUTOMOTIVE RESEARCH, DEVELOPMENT AND ...gl-systems-technology.net/uploads/3/4/5/7/34572805/introduction_to… · U.S. ARMY TANK AUTOMOTIVE RESEARCH, DEVELOPMENT AND

Sensors

• GNSS*

– GPS

– RTK

– DGPS

• IMU*

• LIDAR*

• Wheel Speed Encoders**

• Gyro**

• Stereo Cameras

• Teleop Cameras

• Data Radios

• UWB Radios

• RADAR

* Required

** Not required, but a really good idea

19UNCLASSIFIED: Distribution Statement A. Approved for public release; distribution is unlimited.

Page 20: U.S. ARMY TANK AUTOMOTIVE RESEARCH, DEVELOPMENT AND ...gl-systems-technology.net/uploads/3/4/5/7/34572805/introduction_to… · U.S. ARMY TANK AUTOMOTIVE RESEARCH, DEVELOPMENT AND

Computers

UNCLASSIFIED: Distribution Statement A. Approved for public release; distribution is unlimited. 20

• Main

– ROS Master

– Navigation

– World Model

– Motion Execution

• Localization

– Hardware Drivers

• GPS

• IMU

• Wheel Speed

– State Estimation

• Vision

– Camera Drivers

– Image Rectification

– Disparity Segmentation

– Material Classification

• LIDAR

– Velodyne Drivers

– Ground Segmentation

Page 21: U.S. ARMY TANK AUTOMOTIVE RESEARCH, DEVELOPMENT AND ...gl-systems-technology.net/uploads/3/4/5/7/34572805/introduction_to… · U.S. ARMY TANK AUTOMOTIVE RESEARCH, DEVELOPMENT AND

Networking

21UNCLASSIFIED: Distribution Statement A. Approved for public release; distribution is unlimited.

Page 22: U.S. ARMY TANK AUTOMOTIVE RESEARCH, DEVELOPMENT AND ...gl-systems-technology.net/uploads/3/4/5/7/34572805/introduction_to… · U.S. ARMY TANK AUTOMOTIVE RESEARCH, DEVELOPMENT AND

Development

Development

22UNCLASSIFIED: Distribution Statement A. Approved for public release; distribution is unlimited.

Page 23: U.S. ARMY TANK AUTOMOTIVE RESEARCH, DEVELOPMENT AND ...gl-systems-technology.net/uploads/3/4/5/7/34572805/introduction_to… · U.S. ARMY TANK AUTOMOTIVE RESEARCH, DEVELOPMENT AND

Workflow

• Create a ROS workspace

– Clone repositories

– Configure the workspace

– Install dependencies

– Build it

• Make changes

– Edit code

– Deploy to a vehicle

– Test the changes

– Push them to a new branch

– Create a Merge Request to request a code review

23UNCLASSIFIED: Distribution Statement A. Approved for public release; distribution is unlimited.

Page 24: U.S. ARMY TANK AUTOMOTIVE RESEARCH, DEVELOPMENT AND ...gl-systems-technology.net/uploads/3/4/5/7/34572805/introduction_to… · U.S. ARMY TANK AUTOMOTIVE RESEARCH, DEVELOPMENT AND

Deployment (Traditional)

• “deploy” script copies compiled binaries to /opt/rtk/indigo (or kinetic)

• Ubuntu 14.04 / ROS Indigo:

– Upstart script in /etc/init/dsat.conf

– sudo service dsat start/stop/restart

• Ubuntu 16.04 / ROS Kinetic:

– Systemd unit in /etc/system/system/dsat.service

– sudo systemctl start/stop/restart dsat

24UNCLASSIFIED: Distribution Statement A. Approved for public release; distribution is unlimited.

Page 25: U.S. ARMY TANK AUTOMOTIVE RESEARCH, DEVELOPMENT AND ...gl-systems-technology.net/uploads/3/4/5/7/34572805/introduction_to… · U.S. ARMY TANK AUTOMOTIVE RESEARCH, DEVELOPMENT AND

Developer Resources

• DI2E: Widely-Available Release Repository

– RTK Core

– WMI Core

• Dismount-Git: Primary Development Repository

– RTK Master Branch

– RTK Project Branches

• Developer Handbook: Environment Setup, Development Workflow,

Style Guide, etc.

• RTK User Guide

– Architecture Diagrams, Flow Charts, Use Cases

• RTK Architecture Guide

– Low-level ROS package documentation

– ROS node APIs

25UNCLASSIFIED: Distribution Statement A. Approved for public release; distribution is unlimited.

Page 26: U.S. ARMY TANK AUTOMOTIVE RESEARCH, DEVELOPMENT AND ...gl-systems-technology.net/uploads/3/4/5/7/34572805/introduction_to… · U.S. ARMY TANK AUTOMOTIVE RESEARCH, DEVELOPMENT AND

Useful Tools

Useful Tools

26UNCLASSIFIED: Distribution Statement A. Approved for public release; distribution is unlimited.

Page 27: U.S. ARMY TANK AUTOMOTIVE RESEARCH, DEVELOPMENT AND ...gl-systems-technology.net/uploads/3/4/5/7/34572805/introduction_to… · U.S. ARMY TANK AUTOMOTIVE RESEARCH, DEVELOPMENT AND

Calibration

• Stereo Camera Calibration

– Create calibration boards

– Collect data

– Perform calibration

– Apply calibration files

• LIDAR Alignment

– Necessary if using more than one LIDAR

– Launch the calibration system

– Run rviz to monitor progress

– Use calibration system to manually align LIDARs

– Save calibration values into platform launch file

27UNCLASSIFIED: Distribution Statement A. Approved for public release; distribution is unlimited.

Page 28: U.S. ARMY TANK AUTOMOTIVE RESEARCH, DEVELOPMENT AND ...gl-systems-technology.net/uploads/3/4/5/7/34572805/introduction_to… · U.S. ARMY TANK AUTOMOTIVE RESEARCH, DEVELOPMENT AND

Playback Mode

• roslaunch mrzr_8803 mrzr_8803.launch playback:=true

• Runs all nodes on the local computer

• Disables hardware drivers

• Useful for playing back bag files to debug behavior• rosbag play –clock –r 0.5 rtk_raw_test_track_playback*.bag \

local_xy_origin:=local_xy_old

28UNCLASSIFIED: Distribution Statement A. Approved for public release; distribution is unlimited.

Page 29: U.S. ARMY TANK AUTOMOTIVE RESEARCH, DEVELOPMENT AND ...gl-systems-technology.net/uploads/3/4/5/7/34572805/introduction_to… · U.S. ARMY TANK AUTOMOTIVE RESEARCH, DEVELOPMENT AND

swri_console

• Like rosconsole but better

29UNCLASSIFIED: Distribution Statement A. Approved for public release; distribution is unlimited.

Page 30: U.S. ARMY TANK AUTOMOTIVE RESEARCH, DEVELOPMENT AND ...gl-systems-technology.net/uploads/3/4/5/7/34572805/introduction_to… · U.S. ARMY TANK AUTOMOTIVE RESEARCH, DEVELOPMENT AND

mapviz

• Top-down ROS visualization tool, similar to rviz

30UNCLASSIFIED: Distribution Statement A. Approved for public release; distribution is unlimited.

Page 31: U.S. ARMY TANK AUTOMOTIVE RESEARCH, DEVELOPMENT AND ...gl-systems-technology.net/uploads/3/4/5/7/34572805/introduction_to… · U.S. ARMY TANK AUTOMOTIVE RESEARCH, DEVELOPMENT AND

Bag Database

• Searchable, inspectable database of bag metadata

31UNCLASSIFIED: Distribution Statement A. Approved for public release; distribution is unlimited.

Page 32: U.S. ARMY TANK AUTOMOTIVE RESEARCH, DEVELOPMENT AND ...gl-systems-technology.net/uploads/3/4/5/7/34572805/introduction_to… · U.S. ARMY TANK AUTOMOTIVE RESEARCH, DEVELOPMENT AND

rqt_runtime_monitor

• Displays diagnostic messages

• Useful on a live vehicle to tell if all the hardware is working

32UNCLASSIFIED: Distribution Statement A. Approved for public release; distribution is unlimited.

Page 33: U.S. ARMY TANK AUTOMOTIVE RESEARCH, DEVELOPMENT AND ...gl-systems-technology.net/uploads/3/4/5/7/34572805/introduction_to… · U.S. ARMY TANK AUTOMOTIVE RESEARCH, DEVELOPMENT AND

Miscellaneous Linux Utilities

UNCLASSIFIED: Distribution Statement A. Approved for public release; distribution is unlimited. 33

iftop

iotophtop

wireshark

Page 34: U.S. ARMY TANK AUTOMOTIVE RESEARCH, DEVELOPMENT AND ...gl-systems-technology.net/uploads/3/4/5/7/34572805/introduction_to… · U.S. ARMY TANK AUTOMOTIVE RESEARCH, DEVELOPMENT AND

Questions?

Questions?

34UNCLASSIFIED: Distribution Statement A. Approved for public release; distribution is unlimited.