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.