BoB robotics
The Brains on Board robotics library
BoBRobotics Namespace Reference

Read a video stream from a libantworld RenderTarget. More...

Namespaces

namespace  AntWorld
 An OpenGL-based simulated environment.
 
namespace  GeNNModels
 GeNN models used in this library
 
namespace  GeNNUtils
 Tools for working with GeNN models.
 
namespace  HID
 Classes for working with human interface devices (e.g. joysticks)
 
namespace  ImgProc
 Classes for handling image processing.
 
namespace  Navigation
 Algorithms and tools for navigation with robots and simulations.
 
namespace  Net
 Platform-independent networking functionality, for communicating with robots.
 
namespace  OS
 Operating system-specific functionality.
 
namespace  Robots
 Robot platforms used in BoB robotics.
 
namespace  Vicon
 For interfacing with the Vicon motion-tracking system.
 
namespace  Video
 For reading from and writing to various video sources.
 

Classes

class  AssertionFailedException
 Exception class used by BOB_ASSERT macro. More...
 
class  BackgroundExceptionCatcher
 A wrapper for passing exceptions between threads (i.e. a background thread to the main one) More...
 
class  FSM
 Finite-state machine class - makes logic of implementing robots etc. much cleaner. More...
 
class  MindstormsIMU
 
class  NotImplementedException
 
class  PID
 
class  Pose2
 A two-dimensional pose. More...
 
class  Pose3
 A three-dimensional pose. More...
 
class  PoseBase
 
class  ProgressBar
 Show the progress of a long-running process including estimated remaining time. More...
 
class  Semaphore
 A basic C++ semaphore class. More...
 
class  Stopwatch
 
class  Threadable
 An abstract class allowing methods to run on the current thread or a backround thread. More...
 
class  Timer
 A generic timer which can give the current elapsed time. More...
 
class  TimerAccumulate
 A timer which adds its elapsed time to an accumulator variable on destruction. More...
 
class  Vector2
 2D length unit vector More...
 
class  Vector3
 3D length unit vector More...
 
class  VectorBase
 Base class for vectors of length units. More...
 
class  VonMisesDistribution
 Von Mises distribution object with a mean of mu and a concentration of kappa. More...
 

Typedefs

template<class T >
using EigenSTDVector = std::vector< T, Eigen::aligned_allocator< T > >
 
using Line2 = Eigen::Hyperplane< double, 2 >
 

Functions

template<class T = double>
constexpr T pi ()
 
constexpr auto getAngularVelocity (units::velocity::meters_per_second_t velocity, units::length::meter_t radius)
 
constexpr auto getRadius (units::velocity::meters_per_second_t velocity, units::angular_velocity::radians_per_second_t omega)
 
constexpr auto getVelocity (units::angular_velocity::radians_per_second_t omega, units::length::meter_t radius)
 
template<typename AngleType >
constexpr auto normaliseAngle180 (AngleType angle)
 
template<typename AngleType >
constexpr auto normaliseAngle360 (AngleType angle)
 
template<typename T >
constexpr auto circularMean (const T &angles)
 
template<typename T1 , typename T2 >
constexpr auto circularMean (const T1 &angles, const T2 &weights)
 
template<typename AngleType1 , typename AngleType2 >
constexpr auto circularDistance (AngleType1 angle1, AngleType2 angle2)
 
template<class T = double>
constexpr T inf ()
 
template<int Rows>
void resizePolygonBy (Eigen::Matrix< double, Rows, 2 > &polygon, units::length::meter_t extraSize)
 
template<int Rows>
void polygonToLines (EigenSTDVector< Eigen::Matrix2d > &lines, const Eigen::Matrix< double, Rows, 2 > &polygon)
 
double distance2D (const Eigen::Vector2d &p1, const Eigen::Vector2d &p2)
 
double min (const Eigen::Matrix2d &line, int index)
 
double max (const Eigen::Matrix2d &line, int index)
 
bool calculateIntersection (Eigen::Vector2d &point, const Eigen::Matrix2d &line1Points, const Line2 &line2)
 
bool calculateIntersection (Eigen::Vector2d &point, const Eigen::Matrix2d &line1Points, const Eigen::Matrix2d &line2Points)
 
void initLogging ()
 
template<typename OutputUnit , typename ArrayType >
constexpr std::array< OutputUnit, 3 > convertUnitArray (const ArrayType &values)
 Converts the input array to a unit-type of OutputUnit.
 
template<typename LengthUnit >
auto & operator<< (std::ostream &os, const BoBRobotics::Vector2< LengthUnit > &position)
 
template<typename LengthUnit >
auto & operator<< (std::ostream &os, const BoBRobotics::Vector3< LengthUnit > &position)
 
template<typename LengthUnit , typename AngleUnit >
auto & operator<< (std::ostream &os, const BoBRobotics::Pose2< LengthUnit, AngleUnit > &pose)
 
template<typename LengthUnit , typename AngleUnit >
auto & operator<< (std::ostream &os, const BoBRobotics::Pose3< LengthUnit, AngleUnit > &pose)
 
template<class T >
auto readMatrix (const filesystem::path &filepath)
 Read a matrix of type T from a binary file.
 
template<class T >
void writeMatrix (const filesystem::path &filepath, const T &matrix)
 
void strTrimLeft (std::string &)
 
void strTrimRight (std::string &)
 
void strTrim (std::string &)
 
std::vector< std::string > strSplit (const std::string &s, char delim)
 
void strSplit (const std::string &s, char delim, std::vector< std::string > &parts)
 
template<class Iter >
auto findNonSpace (Iter begin, Iter end)
 

Detailed Description

Read a video stream from a libantworld RenderTarget.

Root namespace for the BoB robotics project.

OpenCV-based snapshot processor - uses OpenCV on CPU to process snapshots In the manner described in Ardin, Webb (2016)