Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Bota Systems package compliant with sas.

Quick start

Docker examples that do not need any installation or cloning the repository.

EtherCat

See config/ethercat_gen0.json for the example configuration file.

mkdir -p ~/sas_tutorial_workspace/docker/sas_force_sensor_bota/demo
cd ~/sas_tutorial_workspace/docker/sas_force_sensor_bota/demo
curl -OL https://raw.githubusercontent.com/MarinhoLab/sas_force_sensor_bota/refs/heads/jazzy/docker/demo/compose_ethercat.yml

xhost +local:root
docker compose -f compose_ethercat.yml up

Serial Communication

See config/bota_binary_gen0.json for the example configuration file.

mkdir -p ~/sas_tutorial_workspace/docker/sas_force_sensor_bota/demo
cd ~/sas_tutorial_workspace/docker/sas_force_sensor_bota/demo
curl -OL https://raw.githubusercontent.com/MarinhoLab/sas_force_sensor_bota/refs/heads/jazzy/docker/demo/compose.yml

xhost +local:root
docker compose up

Pre-requisites

wget https://raw.githubusercontent.com/MarinhoLab/sas_force_sensor_bota/refs/heads/jazzy/docker/install.sh
chmod +x install.sh && . install.sh

Running sensor server

ros2 launch sas_force_sensor_bota force_sensor_launch.py

The launch file loads the parameters from config/config.yaml (override with config_file:=/path/to/config.yaml). The hardware-specific JSON configuration (configuration_file_path) is embedded in the YAML file: config/config.yaml points at bota_binary_gen0.json and config/config_ethercat.yaml points at ethercat_gen0.json (for the EtherCAT hardware).

Configurable ParameterMeaning
config_file (launch argument)Path to the YAML configuration file. Defaults to config/config.yaml; use config_ethercat.yaml for the EtherCAT hardware.

ROS 2 Nodes & Parameters

Node: sas_force_sensor_bota_node

PropertyValue
Executablesas_force_sensor_bota_node
ROS node namesas_force_sensor_bota_node (set by the name launch argument of force_sensor_launch.py)
DescriptionReads the Bota force/torque sensor, publishes the wrench on <topic_name>/get/wrench, and keeps the sensor configured/activated for the node lifetime.

Parameters

ParameterTypeMandatory / OptionalDefaultPurpose
topic_namestringOptional/sas_force_sensor_botaTopic prefix; e.g. when there are multiple sensors in the same ROS_DOMAIN
configuration_file_pathstringOptionalin-code default pointing at config/bota_binary_gen0.json in the package share directoryPath to the Bota JSON configuration file (hardware-specific). May be given as an absolute path or as a filename relative to the package config/ directory (as in the sample YAML files)
sampling_timedoubleOptional0.01Sampling period of the read loop, in seconds

How mandatory/optional is determined in code:

Sample launch

ros2 launch sas_force_sensor_bota force_sensor_launch.py

To use the EtherCAT JSON configuration (select the EtherCAT YAML, which embeds configuration_file_path: ethercat_gen0.json):

ros2 launch sas_force_sensor_bota force_sensor_launch.py config_file:=$(ros2 pkg prefix sas_force_sensor_bota --share)/config/config_ethercat.yaml

Example client

ros2 run sas_force_sensor_bota sas_force_sensor_client_example_node