/tesseract_ros

ROS Interface for the Tesseract Planning Environment.

Primary LanguageC++

Tesseract ROS

Platform CI Status
Linux (Focal) Build Status
Linux (Bionic) Build Status
Linux (Unstable) Build Status
Lint (Clang-Format) Build Status
Lint (Clang Tidy) Build Status

Github Issues

license - apache 2.0 license - bsd 2 clause

support level: consortium

Tesseract ROS Packages

  • tesseract_ros_examples – This package contains ROS examples using tesseract and tesseract_ros for motion planning and collision checking.
  • tesseract_rosutils – This package contains the utilities like converting from ROS message types to native Tesseract types and the reverse.
  • tesseract_msgs – This package contains the ROS message types used by Tesseract ROS.
  • tesseract_rviz – This package contains the ROS visualization plugins for Rviz to visualize Tesseract. All of the features have been composed in libraries to enable to the ability to create custom displays quickly.
  • tesseract_monitoring – This package contains different types of environment monitors. It currently contains a contact monitor and environment monitor. The contact monitor will monitor the active environment state and publish contact information. This is useful if the robot is being controlled outside of ROS, but you want to make sure it does not collide with objects in the environment. The second is the environment monitor, which is the main environment which facilitates requests to add, remove, disable and enable collision objects, while publishing its current state to keep other ROS nodes updated with the latest environment.
  • tesseract_planning_server - This package contains a planning server supporting asynchronous execution of multiple planning requests.

TODO's

.. Warning:: These packages are under heavy development and are subject to change.

See issue #66

Install Instructions

Clone this repository and the packages in the dependencies.rosinstall into your workspace. Build using catkin_tools or something similar

.. NOTE: To speed up clean build you may want to add tesseract_ext to an extended workspace.

Tesseract Examples

Online Planning Example

This example demonstrates using TrajOpt to plan in an "online" manner. Use the joint state publisher gui to change the location of the collision obstacle or the target and watch it dynamically plan. Adjust the box_size parameter for faster adaption.

roslaunch tesseract_ros_examples online_planning_example.launch

Online Planning Example

Building with Clang-Tidy Enabled

Must pass the -DTESSERACT_ENABLE_CLANG_TIDY=ON to cmake when building. This is automatically enabled if cmake argument -DTESSERACT_ENABLE_TESTING_ALL=ON is passed.

Running Tesseract ROS Tests

Tesseract ROS Packages use the typical method so pass catkin argument run_tests when wanting to run these tests.

Build Branch Sphinx Documentation

cd gh_pages
sphinx-build . output

Now open gh_pages/output/index.rst and remove output directory before commiting changes.