ROS2
===========
Download and installation
----------
The ROS2 driver is an **open source wrapper** around the C++ Driver, implemented as a single **ROS2 package** named ``bota_driver``.
.. raw:: html
XACROs
----------
The ``bota-driver`` package provides XACRO macros to simplify the integration of Bota FT sensors into URDFs.
For each sensor type, a dedicated XACRO macro is provided to simplify the creation of the sensor's URDF description.
These macros automatically generate the required links and joints, and include the appropriate meshes for both visualization and collision.
This streamlines the integration of Bota FT sensors into your robot model.
The sensor XACROS must receive the following parameter:
.. list-table::
:widths: 10 50
:header-rows: 1
:class: highlight
* - Parameter
- Description
* - ``prefix``
- Bota FT sensor link name. It will be used as prefix for the link and joint names the xacro creates.
The frames that all the XACROs create are shown in the figure below.
.. figure:: /_static/images/xacro_frames.png
:alt: Description of the image
:align: center
:width: 600px
Frames (links) created by Bota FT Sensor XACROs.
This frames are corresponding to the following parts of the sensor:
.. list-table::
:widths: 20 50
:header-rows: 1
:class: highlight
* - Frame
- Part
* - ``{prefix}_mounting``
- Mounting interface in the back of the sensor. It is the parent fall of the other frames in the sensor. It should be the child for the joint that attaches the sensor to the robot.
* - ``{prefix}_wrench``
- Front interface of the sensor, where the measured wrench is expressed.
* - ``{prefix}_imu``
- Frame in which the IMU data is expressed.
* - ``{prefix}_mechX``
- Mechanical interfaces on the side of the sensor body.
A RVIZ visualization of the robot description generated with the XACROs is shown below:
.. figure:: /_static/images/frames_on_sensor.png
:alt: Description of the image
:align: center
:width: 600px
RVIZ visualization.
.. raw:: html
XACRO Usage Examples
Practical examples for integrating Bota FT sensor XACROs into your robot models can be found in our official ROS2 examples:
Supported XACROs
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Gen 0
___________
.. note::
For the Serial devices, no IMU link is created, as they do not have an IMU on board.
.. list-table::
:widths: 60 60 60
:header-rows: 1
:class: highlight
* - Commercial name
- Macro Name
- IMU link
* - SensONE Serial
- BFT_SENS_SER_M8
- No
* - SensONE EtherCAT
- BFT_SENS_ECAT_M8
- Yes
* - Rokubi Serial
- BFT_ROKS_SER_M8
- No
* - Rokubi EtherCAT
- BFT_ROKS_ECAT_M8
- Yes
* - Medusa Serial
- BFT_MEDS_SER_M8
- No
* - Medusa EtherCAT
- BFT_MEDS_ECAT_M8
- Yes
* - MiniONE Pro Serial
- BFT_MIPS_SER_M8
- No
* - MiniONE Pro EtherCAT
- BFT_MIPS_ECAT_M8
- Yes
* - LaxONE Serial
- BFT_LAXS_SER_M8
- No
* - LaxONE EtherCAT
- BFT_LAXS_ECAT_M8
- Yes
* - MegaONE Serial
- BFT_MEGS_SER_M8
- No
* - MegaONE EtherCAT
- BFT_MEGS_ECAT_M8
- Yes
Gen A
___________
Support for Gen A sensor XACROs is coming soon.
----------
Variants
---------------
.. raw:: html
Ready to Get Started?
Select the ROS2 driver variant that best fits your application needs.
Standard Node
Fast prototyping and small applications that do not require strong safety requirements.
Learn more
Lifecycle Node
For applications that require strong safety requirements and controlled state management.
Learn more
ros2_control
For applications within the ros2_control framework with strong real-time and safety requirements.
Learn more
.. toctree::
:hidden:
:maxdepth: 3
driver_ros2_standard_node
driver_ros2_lifecycle_node
driver_ros2_control_hw_interface