Supported Platforms and Hardware
Platform Abstraction Layer (PAL)
COSM provides a common API for several platforms (a platform is an arbitrary simulator, middleware layer, etc.) which client applications/libraries can build against, leading to MUCH cleaner, more modular code; all the complexity is handled in the PAL bindings for the platform. Currently supported platforms are:
ARGoS (https://argos-sim.info).
ROS (https://ros.org). For real robots or simulators which support ROS, such as Gazebo or WeBots.
Hardware Abstraction Layer (HAL)
COSM provides a common API for several different agent/robot models within each supported platform which client applications or libraries can build against to increase code reuse and reduce the complexity of building for different agents/robots. Currently supported hardware platforms are:
Parent Platform |
Hardware/Agent Model |
Support Maturity |
---|---|---|
ARGoS |
MarXbot (https://ieeexplore.ieee.org/document/5649153); called the foot-bot in ARGoS. |
Mature and nearly feature-complete. |
ARGoS |
Drone (https://iridia.ulb.ac.be/IridiaTrSeries/link/IridiaTr2022-002.pdf), a flying drone from IRIDIA. |
Beta. Some gaps in feature set such as setting target yaw in addition to position. |
ARGoS |
Extended e-puck, based on the e-puck2 (https://www.gctronic.com/e-puck2.php). |
Alpha. Does not build cleanly. |
ARGoS |
Pi-puck (https://www.gctronic.com/doc/index.php?title=Pi-puck), an e-puck with a Raspberry Pi mounted on it. |
Alpha. Does not build cleanly. |
ROS |
Extended Turtlebot3, based on the Turtlebot3 (https://turtlebot.com). |
Beta. Many features available for other robots are missing. |