No version for distro humble. Known supported distros are highlighted in the buttons above.
No version for distro jazzy. Known supported distros are highlighted in the buttons above.
No version for distro rolling. Known supported distros are highlighted in the buttons above.
![]() |
robot_interfaces package from robot_interfaces reporobot_interfaces |
Package Summary
Tags | No category tags. |
Version | 1.2.0 |
License | BSD 3-clause |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Description | |
Checkout URI | https://github.com/open-dynamic-robot-initiative/robot_interfaces.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2025-04-16 |
Dev Status | UNKNOWN |
CI status | No Continuous Integration |
Released | UNRELEASED |
Tags | real-time robot robotics |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
This package provides C++ interfaces (purely virtual classes) for
different robots. The idea is to use this interface both for the real
robots as well as the simulators.
Additional Links
No additional links.
Maintainers
- Manuel Wuthrich
- Felix Widmaier
Authors
- Manuel Wuthrich
Robot Interfaces
Generic interface for a controlling a real-time-critical robot from a non-real-time process.
For more information see the documentation.
Authors
- Manuel Wuethrich
- Felix Widmaier
License
BSD 3-Clause License
Copyright(c) 2018 Max Planck Gesellschaft
CHANGELOG
Changelog
Unreleased
Added
- Add
Ptr
andConstPtr
typedefs in classes for more conveniently defining shared pointers. - Function
create_interface_python_bindings()
to create Python bindings for the interface classes (but not the robot-specific action and observation classes). - Method
RobotDriver::get_idle_action()
that is expected to return an action that is safe to apply while the robot is idle. - Option to provide static information about a sensor (e.g. camera calibration
coefficients, frame rate, etc.). For this, a method
get_sensor_info()
is added toSensorFrontend
. It defaults to an empty struct for backward compatibility. To use it, implement the method with the same name inSensorDriver
. - Add
is_running()
toRobotLogger
andSensorLogger
. Can, for example, be used to detect if the buffer is full (in which case the logger stops automatically).
Changed
- The return type of
RobotDriver::get_error()
is changed tostd::optional<std::string>
. This way instantiation of an actual string (which can involve dynamic memory allocation) is only needed if there actually is an error. - The
create_python_bindings()
function (which includes the N-joint action/observation) is moved topybind_finger.hpp
and renamed tocreate_blmc_can_robot_python_bindings()
. - The backend now applies an “idle action” between initialisation and reception of the first action by the user. The idle action is provided by the robot driver. The default implementation simply creates an action using the default constructor but for some robots this might not be appropriate; override the method with a custom implementation in this case. This change is to prevent hardware timeout issues but can also be useful to have nicer behaviour of the robot after initialisation (e.g. by holding the joints in place).
- If an error message given to
Status::set_error()
is cut due to being too long, this is now indicated by setting ‘~’ as last character.
Fixed
- pybind11 build error on Ubuntu 22.04
Removed
- Removed deprecated methods of RobotLogger:
-
start_continous_writing
andstop_continous_writing
are removed. -
write_current_buffer
andwrite_current_buffer_binary
are replaced withsave_current_robot_data[_binary]
.
-
1.2.0 - 2022-06-28
Added
- Measurement (and optional logging) of the RobotBackend frequency.
- Documentation on setup of the real-time Linux kernel.
1.1.0 - 2021-06-28
There is no changelog for this or earlier versions.
Wiki Tutorials
This package does not provide any links to tutorials in it's rosindex metadata.
You can check on the ROS Wiki Tutorials page for the package.
Package Dependencies
Deps | Name |
---|---|
ament_cmake | |
ament_cmake_python | |
pybind11_vendor | |
mpi_cmake_modules | |
ament_cmake_gtest | |
ament_cmake_pytest | |
Boost | |
pybind11 | |
Eigen3 | |
real_time_tools | |
time_series | |
signal_handler | |
serialization_utils | |
Threads | |
rt |
System Dependencies
No direct system dependencies.
Dependant Packages
No known dependants.
Launch files
No launch files found
Messages
No message files found.
Services
No service files found
Plugins
No plugins found.
Recent questions tagged robot_interfaces at Robotics Stack Exchange
No version for distro noetic. Known supported distros are highlighted in the buttons above.
No version for distro ardent. Known supported distros are highlighted in the buttons above.
No version for distro bouncy. Known supported distros are highlighted in the buttons above.
No version for distro crystal. Known supported distros are highlighted in the buttons above.
No version for distro eloquent. Known supported distros are highlighted in the buttons above.
No version for distro dashing. Known supported distros are highlighted in the buttons above.
No version for distro galactic. Known supported distros are highlighted in the buttons above.
No version for distro foxy. Known supported distros are highlighted in the buttons above.
No version for distro iron. Known supported distros are highlighted in the buttons above.
No version for distro lunar. Known supported distros are highlighted in the buttons above.
No version for distro jade. Known supported distros are highlighted in the buttons above.
No version for distro indigo. Known supported distros are highlighted in the buttons above.
No version for distro hydro. Known supported distros are highlighted in the buttons above.
No version for distro kinetic. Known supported distros are highlighted in the buttons above.
No version for distro melodic. Known supported distros are highlighted in the buttons above.