Software Installation
Installation Guide for SENSUS Viewer and SDK
The SENSUS software suite is designed to help you get started with the PULSE sensor. It includes:
- SENSUS Viewer: A cross-platform GUI application for real-time processing and visualisation of sensor data.
- SENSUS SDK: A collection of libraries, tools, and examples for integrating the PULSE sensor into your applications.
Officially Supported Platforms
| Platform | Viewer Support | SDK Support | ROS Support |
|---|---|---|---|
| Ubuntu 22.04 ⭐️ (x86_64) | Supported (CUDA/CPU) | Supported (CUDA/CPU) | ✅ |
| Windows 10/11 (x86_64) | Supported (CPU Only) | Supported (CPU Only) | ❌ |
⭐️ Recommend Version
If your platform is not supported, you can use the ROS and Docker tools provided in the SDK to visualise and process data.
Installation Steps
Ubuntu 22.04 (x86_64)
-
Download the installation package for Ubuntu from the release page. There is optionally a version for CUDA-enabled machines; this requires CUDA 12.x to be installed as a prerequisite.
-
Unzip the package.
-
Navigate into the downloaded directory, and run
sudo apt install ./sensus-sdk-cuda_* -
Adding udev rules
sudo touch /etc/udev/rules.d/99-calyoftdi.rulesAdd the following to */etc/udev/rules.d/99-calyoftdi.rules*SUBSYSTEMS=="usb",ATTRS{idProduct}=="6014",ATTRS{idVendor}=="0403",GROUP="plugdev",MODE="666"
ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6014", ACTION=="add", RUN+="/sbin/rmmod ftdi_sio"
ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6014", ACTION=="remove", RUN+=""Then reload the udev rules:
sudo udevadm control --reload
ROS Installation (Optional)
Prerequisites: ROS2 Humble & SENSUS SDK (See above)
- Navigate to the unzipped install folder
- Install the ROS packages as shown below, substituting the version names as needed:
sudo apt install ros2/ros-humble-calyo-msgs_<Insert Latest>jammy_amd64.deb
sudo apt install ros2/ros-humble-calyosensus-ros_<Insert Latest>jammy_amd64.deb
sudo apt install ros2/ros-humble-calyosensus-ros-cuda_<Insert Latest>jammy_amd64.debnoteAs before, the CUDA package is optionally available for machines supporting CUDA 12.x
Windows 10/11
(Coming soon...)
- Download the installation package for Windows from the release page.
- Unzip the package.
- Open Powershell, and run
./install.ps1. The installer will ask you if you want to create shortcuts for 'SensusVIEWER' application.
Foxglove Tools
Prerequisites: SENSUS SDK & ROS (See above), ROS2 Humble
What is Foxglove?
Foxglove is a visualisation tool for robotics data (similar to the commonly used ROS RViz tool). We support Foxglove because it enables intuitive access to sensor data in real-time or from recorded sessions, making it easier to work with the PULSE’s unique outputs within ROS2.
Foxglove and Calyo PULSE
foxgloveCalyoTools is a custom extension for Foxglove that allows you to visualise data from the PULSE sensor within ROS2 environments. This tool helps you quickly access and interpret sensor outputs, making development and troubleshooting smoother.
To get started with Foxglove Studio and ROS, follow the installation steps below:
Viewer Computer
This is the system you wish to view the sensor data on. It can either be the same computer as your ROS environment or can be installed on a separate system and connected over the network.
-
Install Foxglove Studio from https://foxglove.dev/download. (The Foxglove web-client currently does not support third party plugins)
-
After installation please sign in/up to Foxglove and navigate to the Settings > Extensions.
-
Click
Install local extension...and select thefoxgloveCalyoPulseextension from your Calyo Software download folder (e.g.foxgloveCalyoTools-v0.0.4.foxe).
Foxglove extensions terminate with the file extension .foxe.
ROS2 Environment
- In your ROS2 environment (Humble required), install the requisite packages:
sudo apt install ros-humble-foxglove-bridge
- To pipe data from the ROS to Foxglove Studio, you will need to run:
ros2 launch foxglove_bridge foxglove_bridge_launch.xml
# Example Succseful Output...
# [INFO] [foxglove_bridge-1]: process started with pid [123]
# [foxglove_bridge-1] [INFO] [1738593046.704912338] [foxglove_bridge_component_manager]: Load Library: /opt/ros/humble/lib/libfoxglove_bridge_component.so
#[foxglove_bridge-1] [INFO] [1738593046.715851145] [foxglove_bridge_component_manager]: Found class: rclcpp_components::NodeFactoryTemplate<foxglove_bridge::FoxgloveBridge>
#[foxglove_bridge-1] [INFO] [1738593046.715910829] [foxglove_bridge_component_manager]: Instantiate class: rclcpp_components::NodeFactoryTemplate<foxglove_bridge::FoxgloveBridge>
#[foxglove_bridge-1] [INFO] [1738593046.719546537] [foxglove_bridge]: Starting foxglove_bridge (humble, 0.8.2@) with WebSocket++/0.8.2
#[foxglove_bridge-1] [INFO] [1738593046.720308661] [foxglove_bridge]: [WS] Server running without TLS
#[foxglove_bridge-1] [INFO] [1738593046.720716797] [foxglove_bridge]: [WS] WebSocket server listening at ws://0.0.0.0:8765
#[foxglove_bridge-1] [INFO] [1738593046.720778022] [foxglove_bridge]: [WS] WebSocket server run loop started
More information about Foxglove can be found at https://docs.foxglove.dev/docs/connecting-to-data/ros-foxglove-bridge. Go to PULSE Plug and Play for a tutorial on using these tools.
For more details, visit the SDK Overview and Integrations Overview.