Open Source

The following are free open source packages that are or were developed by Team Hector (members).

Image Projection

The image_projection package allows to easily create virtual cameras using projections from multiple calibrated camera sources. A demo launch configuration is available.

This software has been used extensively by Team Hector. We use the compact $50 360° camera Insta360 Air as a virtual pan-tilt camera and 360° object detection camera simultaneously.

QML ROS Plugin

The QML ROS Plugin brings full ROS support to QML-based human machine and 2.5D human robot interfaces.

Built on top of the ROS Babel Fish library, it can subscribe to and publish any message in your workspace without requiring compilation (for publishing the message package needs to be compiled though). It also supports Action and Service clients, Logging, Tf2 and Image Transport.

ROS Babel Fish

The ROS Babel Fish library allows introspection into ROS messages and to communicate from C++ using ROS message types that are unknown at compile time.

It is a very efficient and versatile implementation that keeps the message tree intact. Possible use cases include:

  • Efficient plug-ins for (script) languages that can not access the C++ message definitions
  • One- or Two-Way Conversion from ROS messages to other formats such as JSON that work for any message type including at compile time unknown types

Hector SLAM

hector_slam contains ROS packages related to performing SLAM in unstructured environments like those encountered in the Urban Search and Rescue (USAR) scenarios of the RoboCup Rescue competition.

DARPA Robotics Challenge Team ViGIR

ROS packages related to DARPA Robotics Challenge developed by Team ViGIR.

THOR-MANG

ROS packages for the Robotis THOR-MANG robot.

Hector Navigation

hector_navigation provides packages related to navigation of unmanned vehicles in USAR environments.

Hector Localization

The hector_localization stack is a collection of packages, that provide the full 6DOF pose of a robot or platform. It uses various sensor sources, which are fused using an Extended Kalman filter. Acceleration and angular rates from an inertial measurement unit (IMU) serve as primary measurements. The usage of other sensors is application-dependent. The hector_localization stack currently supports GPS, magnetometer, barometric pressure sensors and other external sources that provide a geometry_msgs/PoseWithCovariance message via the poseupdate topic (e.g. from hector_slam).

Humanoid Driving

Humanoid driving is a stack related to driving a car with humanoid robots. It brings tools to create the necessary arm and leg motions, a GUI with joystick support and robot on-board software. The robots needs to provide position joint controllers that listen for trajectory_msgs/JointTrajectory.

The stack also features a visualization of the estimated driving path directly in the camera image.