|
robstride_ros2 repositoryrobstride_driver robstride_examples robstride_ros2 robstride_ros2_control |
ROS Distro
|
Repository Summary
| Checkout URI | https://github.com/s2015-turtle/robstride_ros2.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-08-29 |
| Dev Status | MAINTAINED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| robstride_driver | 0.1.2 |
| robstride_examples | 0.1.2 |
| robstride_ros2 | 0.1.2 |
| robstride_ros2_control | 0.1.2 |
README
robstride_ros2
An unofficial, community-maintained ROS 2 ros2_control hardware component for
RobStride actuators using the RobStride private CAN protocol.
CAN frames are exchanged through can_msgs/msg/Frame topics. The core packages
depend on can_msgs and do not require a specific SocketCAN bridge.
This project is not affiliated with or endorsed by RobStride. The protocol and
model profiles were checked against the English manuals in RobStride’s official
Product_Information
repository. A Japanese README is available as
doc/README.ja.md.
Features
- One
ros2_controlSystemInterface for multiple actuators on one CAN bus - Position, velocity, and effort command interfaces for every joint
- Different command modes for different motors at the same time
- Model profiles for RS00, RS01, RS02, RS03, RS04, RS05, RS06, and EL05
- Motor feedback for position, velocity, torque, temperature, and faults
- Startup parameter readback and motor-enable confirmation
- Feedback timeout handling and repeated stop commands during shutdown
- A nonzero motor-side CAN watchdog configured on every activation
Package structure
The repository contains four ROS 2 packages:
| Package | Responsibility |
|---|---|
robstride_driver |
Private protocol and can_msgs topic transport |
robstride_ros2_control |
ros2_control Hardware Component |
robstride_examples |
Motor-profile Xacro, controller configuration, and example launch |
robstride_ros2 |
Installs the complete set of packages |
The plugin identifier robstride_ros2/RobStrideSystem remains compatible with
existing robot descriptions.
CAN bridge compatibility
robstride_driver and robstride_ros2_control communicate only through
can_msgs/msg/Frame topics. They can be used with any CAN bridge that provides
compatible transmit and receive topics.
robstride_examples is the only package that directly depends on
ros2_socketcan, because
its example launch starts that bridge. The aggregate robstride_ros2 package
installs the examples as well. To install only the bridge-independent Hardware
Component and driver, build through robstride_ros2_control:
colcon build --packages-up-to robstride_ros2_control --symlink-install
Supported ROS 2 distributions
The same source branch targets all currently supported ROS 2 distributions. CI is configured to build and test every row independently with its Tier 1 Ubuntu platform.
| ROS 2 distribution | Ubuntu |
|---|---|
| Humble | 22.04 (Jammy) |
| Jazzy | 24.04 (Noble) |
| Kilted | 24.04 (Noble) |
| Lyrical | 26.04 (Resolute) |
| Rolling | 26.04 (Resolute) |
No distribution-specific source branch is required.
Rolling follows current upstream development and can introduce incompatible API changes before the next stable ROS 2 release. The Rolling CI job is the compatibility signal for the exact source revision being tested.
Protocol and firmware assumptions
This package uses the 29-bit extended-frame private protocol documented in the official RobStride manuals. The motor must therefore be configured for the private protocol, not CANopen or the separate 11-bit MIT protocol. The listed EL05 and RS-series profiles use the common command and feedback formats defined in those manuals.
The profile limits below are the ranges used to encode and decode CAN values, not recommended mechanical operating limits. Apply tighter joint, velocity, and effort limits in your robot description when required.
| Model | Position | Velocity | Torque | Kp | Kd |
|---|---|---|---|---|---|
| RS00 | +/-4 pi rad | +/-33 rad/s | +/-14 Nm | 0..500 | 0..5 |
| RS01 | +/-4 pi rad | +/-44 rad/s | +/-17 Nm | 0..500 | 0..5 |
| RS02 | +/-4 pi rad | +/-44 rad/s | +/-17 Nm | 0..500 | 0..5 |
| RS03 | +/-4 pi rad | +/-20 rad/s | +/-60 Nm | 0..5000 | 0..100 |
| RS04 | +/-4 pi rad | +/-15 rad/s | +/-120 Nm | 0..5000 | 0..100 |
| RS05 | +/-4 pi rad | +/-50 rad/s | +/-5.5 Nm | 0..500 | 0..5 |
| RS06 | +/-4 pi rad | +/-50 rad/s | +/-36 Nm | 0..5000 | 0..100 |
| EL05 | +/-4 pi rad | +/-50 rad/s | +/-6 Nm | 0..500 | 0..5 |
Installation
Install the package in the src directory of a workspace for one of the
File truncated at 100 lines see the full file
CONTRIBUTING
|
robstride_ros2 repositoryrobstride_driver robstride_examples robstride_ros2 robstride_ros2_control |
ROS Distro
|
Repository Summary
| Checkout URI | https://github.com/s2015-turtle/robstride_ros2.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-08-29 |
| Dev Status | MAINTAINED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| robstride_driver | 0.1.2 |
| robstride_examples | 0.1.2 |
| robstride_ros2 | 0.1.2 |
| robstride_ros2_control | 0.1.2 |
README
robstride_ros2
An unofficial, community-maintained ROS 2 ros2_control hardware component for
RobStride actuators using the RobStride private CAN protocol.
CAN frames are exchanged through can_msgs/msg/Frame topics. The core packages
depend on can_msgs and do not require a specific SocketCAN bridge.
This project is not affiliated with or endorsed by RobStride. The protocol and
model profiles were checked against the English manuals in RobStride’s official
Product_Information
repository. A Japanese README is available as
doc/README.ja.md.
Features
- One
ros2_controlSystemInterface for multiple actuators on one CAN bus - Position, velocity, and effort command interfaces for every joint
- Different command modes for different motors at the same time
- Model profiles for RS00, RS01, RS02, RS03, RS04, RS05, RS06, and EL05
- Motor feedback for position, velocity, torque, temperature, and faults
- Startup parameter readback and motor-enable confirmation
- Feedback timeout handling and repeated stop commands during shutdown
- A nonzero motor-side CAN watchdog configured on every activation
Package structure
The repository contains four ROS 2 packages:
| Package | Responsibility |
|---|---|
robstride_driver |
Private protocol and can_msgs topic transport |
robstride_ros2_control |
ros2_control Hardware Component |
robstride_examples |
Motor-profile Xacro, controller configuration, and example launch |
robstride_ros2 |
Installs the complete set of packages |
The plugin identifier robstride_ros2/RobStrideSystem remains compatible with
existing robot descriptions.
CAN bridge compatibility
robstride_driver and robstride_ros2_control communicate only through
can_msgs/msg/Frame topics. They can be used with any CAN bridge that provides
compatible transmit and receive topics.
robstride_examples is the only package that directly depends on
ros2_socketcan, because
its example launch starts that bridge. The aggregate robstride_ros2 package
installs the examples as well. To install only the bridge-independent Hardware
Component and driver, build through robstride_ros2_control:
colcon build --packages-up-to robstride_ros2_control --symlink-install
Supported ROS 2 distributions
The same source branch targets all currently supported ROS 2 distributions. CI is configured to build and test every row independently with its Tier 1 Ubuntu platform.
| ROS 2 distribution | Ubuntu |
|---|---|
| Humble | 22.04 (Jammy) |
| Jazzy | 24.04 (Noble) |
| Kilted | 24.04 (Noble) |
| Lyrical | 26.04 (Resolute) |
| Rolling | 26.04 (Resolute) |
No distribution-specific source branch is required.
Rolling follows current upstream development and can introduce incompatible API changes before the next stable ROS 2 release. The Rolling CI job is the compatibility signal for the exact source revision being tested.
Protocol and firmware assumptions
This package uses the 29-bit extended-frame private protocol documented in the official RobStride manuals. The motor must therefore be configured for the private protocol, not CANopen or the separate 11-bit MIT protocol. The listed EL05 and RS-series profiles use the common command and feedback formats defined in those manuals.
The profile limits below are the ranges used to encode and decode CAN values, not recommended mechanical operating limits. Apply tighter joint, velocity, and effort limits in your robot description when required.
| Model | Position | Velocity | Torque | Kp | Kd |
|---|---|---|---|---|---|
| RS00 | +/-4 pi rad | +/-33 rad/s | +/-14 Nm | 0..500 | 0..5 |
| RS01 | +/-4 pi rad | +/-44 rad/s | +/-17 Nm | 0..500 | 0..5 |
| RS02 | +/-4 pi rad | +/-44 rad/s | +/-17 Nm | 0..500 | 0..5 |
| RS03 | +/-4 pi rad | +/-20 rad/s | +/-60 Nm | 0..5000 | 0..100 |
| RS04 | +/-4 pi rad | +/-15 rad/s | +/-120 Nm | 0..5000 | 0..100 |
| RS05 | +/-4 pi rad | +/-50 rad/s | +/-5.5 Nm | 0..500 | 0..5 |
| RS06 | +/-4 pi rad | +/-50 rad/s | +/-36 Nm | 0..5000 | 0..100 |
| EL05 | +/-4 pi rad | +/-50 rad/s | +/-6 Nm | 0..500 | 0..5 |
Installation
Install the package in the src directory of a workspace for one of the
File truncated at 100 lines see the full file
CONTRIBUTING
|
robstride_ros2 repositoryrobstride_driver robstride_examples robstride_ros2 robstride_ros2_control |
ROS Distro
|
Repository Summary
| Checkout URI | https://github.com/s2015-turtle/robstride_ros2.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-08-29 |
| Dev Status | MAINTAINED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| robstride_driver | 0.1.2 |
| robstride_examples | 0.1.2 |
| robstride_ros2 | 0.1.2 |
| robstride_ros2_control | 0.1.2 |
README
robstride_ros2
An unofficial, community-maintained ROS 2 ros2_control hardware component for
RobStride actuators using the RobStride private CAN protocol.
CAN frames are exchanged through can_msgs/msg/Frame topics. The core packages
depend on can_msgs and do not require a specific SocketCAN bridge.
This project is not affiliated with or endorsed by RobStride. The protocol and
model profiles were checked against the English manuals in RobStride’s official
Product_Information
repository. A Japanese README is available as
doc/README.ja.md.
Features
- One
ros2_controlSystemInterface for multiple actuators on one CAN bus - Position, velocity, and effort command interfaces for every joint
- Different command modes for different motors at the same time
- Model profiles for RS00, RS01, RS02, RS03, RS04, RS05, RS06, and EL05
- Motor feedback for position, velocity, torque, temperature, and faults
- Startup parameter readback and motor-enable confirmation
- Feedback timeout handling and repeated stop commands during shutdown
- A nonzero motor-side CAN watchdog configured on every activation
Package structure
The repository contains four ROS 2 packages:
| Package | Responsibility |
|---|---|
robstride_driver |
Private protocol and can_msgs topic transport |
robstride_ros2_control |
ros2_control Hardware Component |
robstride_examples |
Motor-profile Xacro, controller configuration, and example launch |
robstride_ros2 |
Installs the complete set of packages |
The plugin identifier robstride_ros2/RobStrideSystem remains compatible with
existing robot descriptions.
CAN bridge compatibility
robstride_driver and robstride_ros2_control communicate only through
can_msgs/msg/Frame topics. They can be used with any CAN bridge that provides
compatible transmit and receive topics.
robstride_examples is the only package that directly depends on
ros2_socketcan, because
its example launch starts that bridge. The aggregate robstride_ros2 package
installs the examples as well. To install only the bridge-independent Hardware
Component and driver, build through robstride_ros2_control:
colcon build --packages-up-to robstride_ros2_control --symlink-install
Supported ROS 2 distributions
The same source branch targets all currently supported ROS 2 distributions. CI is configured to build and test every row independently with its Tier 1 Ubuntu platform.
| ROS 2 distribution | Ubuntu |
|---|---|
| Humble | 22.04 (Jammy) |
| Jazzy | 24.04 (Noble) |
| Kilted | 24.04 (Noble) |
| Lyrical | 26.04 (Resolute) |
| Rolling | 26.04 (Resolute) |
No distribution-specific source branch is required.
Rolling follows current upstream development and can introduce incompatible API changes before the next stable ROS 2 release. The Rolling CI job is the compatibility signal for the exact source revision being tested.
Protocol and firmware assumptions
This package uses the 29-bit extended-frame private protocol documented in the official RobStride manuals. The motor must therefore be configured for the private protocol, not CANopen or the separate 11-bit MIT protocol. The listed EL05 and RS-series profiles use the common command and feedback formats defined in those manuals.
The profile limits below are the ranges used to encode and decode CAN values, not recommended mechanical operating limits. Apply tighter joint, velocity, and effort limits in your robot description when required.
| Model | Position | Velocity | Torque | Kp | Kd |
|---|---|---|---|---|---|
| RS00 | +/-4 pi rad | +/-33 rad/s | +/-14 Nm | 0..500 | 0..5 |
| RS01 | +/-4 pi rad | +/-44 rad/s | +/-17 Nm | 0..500 | 0..5 |
| RS02 | +/-4 pi rad | +/-44 rad/s | +/-17 Nm | 0..500 | 0..5 |
| RS03 | +/-4 pi rad | +/-20 rad/s | +/-60 Nm | 0..5000 | 0..100 |
| RS04 | +/-4 pi rad | +/-15 rad/s | +/-120 Nm | 0..5000 | 0..100 |
| RS05 | +/-4 pi rad | +/-50 rad/s | +/-5.5 Nm | 0..500 | 0..5 |
| RS06 | +/-4 pi rad | +/-50 rad/s | +/-36 Nm | 0..5000 | 0..100 |
| EL05 | +/-4 pi rad | +/-50 rad/s | +/-6 Nm | 0..500 | 0..5 |
Installation
Install the package in the src directory of a workspace for one of the
File truncated at 100 lines see the full file
CONTRIBUTING
|
robstride_ros2 repositoryrobstride_driver robstride_examples robstride_ros2 robstride_ros2_control |
ROS Distro
|
Repository Summary
| Checkout URI | https://github.com/s2015-turtle/robstride_ros2.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-08-29 |
| Dev Status | MAINTAINED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| robstride_driver | 0.1.2 |
| robstride_examples | 0.1.2 |
| robstride_ros2 | 0.1.2 |
| robstride_ros2_control | 0.1.2 |
README
robstride_ros2
An unofficial, community-maintained ROS 2 ros2_control hardware component for
RobStride actuators using the RobStride private CAN protocol.
CAN frames are exchanged through can_msgs/msg/Frame topics. The core packages
depend on can_msgs and do not require a specific SocketCAN bridge.
This project is not affiliated with or endorsed by RobStride. The protocol and
model profiles were checked against the English manuals in RobStride’s official
Product_Information
repository. A Japanese README is available as
doc/README.ja.md.
Features
- One
ros2_controlSystemInterface for multiple actuators on one CAN bus - Position, velocity, and effort command interfaces for every joint
- Different command modes for different motors at the same time
- Model profiles for RS00, RS01, RS02, RS03, RS04, RS05, RS06, and EL05
- Motor feedback for position, velocity, torque, temperature, and faults
- Startup parameter readback and motor-enable confirmation
- Feedback timeout handling and repeated stop commands during shutdown
- A nonzero motor-side CAN watchdog configured on every activation
Package structure
The repository contains four ROS 2 packages:
| Package | Responsibility |
|---|---|
robstride_driver |
Private protocol and can_msgs topic transport |
robstride_ros2_control |
ros2_control Hardware Component |
robstride_examples |
Motor-profile Xacro, controller configuration, and example launch |
robstride_ros2 |
Installs the complete set of packages |
The plugin identifier robstride_ros2/RobStrideSystem remains compatible with
existing robot descriptions.
CAN bridge compatibility
robstride_driver and robstride_ros2_control communicate only through
can_msgs/msg/Frame topics. They can be used with any CAN bridge that provides
compatible transmit and receive topics.
robstride_examples is the only package that directly depends on
ros2_socketcan, because
its example launch starts that bridge. The aggregate robstride_ros2 package
installs the examples as well. To install only the bridge-independent Hardware
Component and driver, build through robstride_ros2_control:
colcon build --packages-up-to robstride_ros2_control --symlink-install
Supported ROS 2 distributions
The same source branch targets all currently supported ROS 2 distributions. CI is configured to build and test every row independently with its Tier 1 Ubuntu platform.
| ROS 2 distribution | Ubuntu |
|---|---|
| Humble | 22.04 (Jammy) |
| Jazzy | 24.04 (Noble) |
| Kilted | 24.04 (Noble) |
| Lyrical | 26.04 (Resolute) |
| Rolling | 26.04 (Resolute) |
No distribution-specific source branch is required.
Rolling follows current upstream development and can introduce incompatible API changes before the next stable ROS 2 release. The Rolling CI job is the compatibility signal for the exact source revision being tested.
Protocol and firmware assumptions
This package uses the 29-bit extended-frame private protocol documented in the official RobStride manuals. The motor must therefore be configured for the private protocol, not CANopen or the separate 11-bit MIT protocol. The listed EL05 and RS-series profiles use the common command and feedback formats defined in those manuals.
The profile limits below are the ranges used to encode and decode CAN values, not recommended mechanical operating limits. Apply tighter joint, velocity, and effort limits in your robot description when required.
| Model | Position | Velocity | Torque | Kp | Kd |
|---|---|---|---|---|---|
| RS00 | +/-4 pi rad | +/-33 rad/s | +/-14 Nm | 0..500 | 0..5 |
| RS01 | +/-4 pi rad | +/-44 rad/s | +/-17 Nm | 0..500 | 0..5 |
| RS02 | +/-4 pi rad | +/-44 rad/s | +/-17 Nm | 0..500 | 0..5 |
| RS03 | +/-4 pi rad | +/-20 rad/s | +/-60 Nm | 0..5000 | 0..100 |
| RS04 | +/-4 pi rad | +/-15 rad/s | +/-120 Nm | 0..5000 | 0..100 |
| RS05 | +/-4 pi rad | +/-50 rad/s | +/-5.5 Nm | 0..500 | 0..5 |
| RS06 | +/-4 pi rad | +/-50 rad/s | +/-36 Nm | 0..5000 | 0..100 |
| EL05 | +/-4 pi rad | +/-50 rad/s | +/-6 Nm | 0..500 | 0..5 |
Installation
Install the package in the src directory of a workspace for one of the
File truncated at 100 lines see the full file
CONTRIBUTING
|
robstride_ros2 repositoryrobstride_driver robstride_examples robstride_ros2 robstride_ros2_control |
ROS Distro
|
Repository Summary
| Checkout URI | https://github.com/s2015-turtle/robstride_ros2.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-08-29 |
| Dev Status | MAINTAINED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| robstride_driver | 0.1.2 |
| robstride_examples | 0.1.2 |
| robstride_ros2 | 0.1.2 |
| robstride_ros2_control | 0.1.2 |
README
robstride_ros2
An unofficial, community-maintained ROS 2 ros2_control hardware component for
RobStride actuators using the RobStride private CAN protocol.
CAN frames are exchanged through can_msgs/msg/Frame topics. The core packages
depend on can_msgs and do not require a specific SocketCAN bridge.
This project is not affiliated with or endorsed by RobStride. The protocol and
model profiles were checked against the English manuals in RobStride’s official
Product_Information
repository. A Japanese README is available as
doc/README.ja.md.
Features
- One
ros2_controlSystemInterface for multiple actuators on one CAN bus - Position, velocity, and effort command interfaces for every joint
- Different command modes for different motors at the same time
- Model profiles for RS00, RS01, RS02, RS03, RS04, RS05, RS06, and EL05
- Motor feedback for position, velocity, torque, temperature, and faults
- Startup parameter readback and motor-enable confirmation
- Feedback timeout handling and repeated stop commands during shutdown
- A nonzero motor-side CAN watchdog configured on every activation
Package structure
The repository contains four ROS 2 packages:
| Package | Responsibility |
|---|---|
robstride_driver |
Private protocol and can_msgs topic transport |
robstride_ros2_control |
ros2_control Hardware Component |
robstride_examples |
Motor-profile Xacro, controller configuration, and example launch |
robstride_ros2 |
Installs the complete set of packages |
The plugin identifier robstride_ros2/RobStrideSystem remains compatible with
existing robot descriptions.
CAN bridge compatibility
robstride_driver and robstride_ros2_control communicate only through
can_msgs/msg/Frame topics. They can be used with any CAN bridge that provides
compatible transmit and receive topics.
robstride_examples is the only package that directly depends on
ros2_socketcan, because
its example launch starts that bridge. The aggregate robstride_ros2 package
installs the examples as well. To install only the bridge-independent Hardware
Component and driver, build through robstride_ros2_control:
colcon build --packages-up-to robstride_ros2_control --symlink-install
Supported ROS 2 distributions
The same source branch targets all currently supported ROS 2 distributions. CI is configured to build and test every row independently with its Tier 1 Ubuntu platform.
| ROS 2 distribution | Ubuntu |
|---|---|
| Humble | 22.04 (Jammy) |
| Jazzy | 24.04 (Noble) |
| Kilted | 24.04 (Noble) |
| Lyrical | 26.04 (Resolute) |
| Rolling | 26.04 (Resolute) |
No distribution-specific source branch is required.
Rolling follows current upstream development and can introduce incompatible API changes before the next stable ROS 2 release. The Rolling CI job is the compatibility signal for the exact source revision being tested.
Protocol and firmware assumptions
This package uses the 29-bit extended-frame private protocol documented in the official RobStride manuals. The motor must therefore be configured for the private protocol, not CANopen or the separate 11-bit MIT protocol. The listed EL05 and RS-series profiles use the common command and feedback formats defined in those manuals.
The profile limits below are the ranges used to encode and decode CAN values, not recommended mechanical operating limits. Apply tighter joint, velocity, and effort limits in your robot description when required.
| Model | Position | Velocity | Torque | Kp | Kd |
|---|---|---|---|---|---|
| RS00 | +/-4 pi rad | +/-33 rad/s | +/-14 Nm | 0..500 | 0..5 |
| RS01 | +/-4 pi rad | +/-44 rad/s | +/-17 Nm | 0..500 | 0..5 |
| RS02 | +/-4 pi rad | +/-44 rad/s | +/-17 Nm | 0..500 | 0..5 |
| RS03 | +/-4 pi rad | +/-20 rad/s | +/-60 Nm | 0..5000 | 0..100 |
| RS04 | +/-4 pi rad | +/-15 rad/s | +/-120 Nm | 0..5000 | 0..100 |
| RS05 | +/-4 pi rad | +/-50 rad/s | +/-5.5 Nm | 0..500 | 0..5 |
| RS06 | +/-4 pi rad | +/-50 rad/s | +/-36 Nm | 0..5000 | 0..100 |
| EL05 | +/-4 pi rad | +/-50 rad/s | +/-6 Nm | 0..500 | 0..5 |
Installation
Install the package in the src directory of a workspace for one of the
File truncated at 100 lines see the full file
CONTRIBUTING
|
robstride_ros2 repositoryrobstride_driver robstride_examples robstride_ros2 robstride_ros2_control |
ROS Distro
|
Repository Summary
| Checkout URI | https://github.com/s2015-turtle/robstride_ros2.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-08-29 |
| Dev Status | MAINTAINED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| robstride_driver | 0.1.2 |
| robstride_examples | 0.1.2 |
| robstride_ros2 | 0.1.2 |
| robstride_ros2_control | 0.1.2 |
README
robstride_ros2
An unofficial, community-maintained ROS 2 ros2_control hardware component for
RobStride actuators using the RobStride private CAN protocol.
CAN frames are exchanged through can_msgs/msg/Frame topics. The core packages
depend on can_msgs and do not require a specific SocketCAN bridge.
This project is not affiliated with or endorsed by RobStride. The protocol and
model profiles were checked against the English manuals in RobStride’s official
Product_Information
repository. A Japanese README is available as
doc/README.ja.md.
Features
- One
ros2_controlSystemInterface for multiple actuators on one CAN bus - Position, velocity, and effort command interfaces for every joint
- Different command modes for different motors at the same time
- Model profiles for RS00, RS01, RS02, RS03, RS04, RS05, RS06, and EL05
- Motor feedback for position, velocity, torque, temperature, and faults
- Startup parameter readback and motor-enable confirmation
- Feedback timeout handling and repeated stop commands during shutdown
- A nonzero motor-side CAN watchdog configured on every activation
Package structure
The repository contains four ROS 2 packages:
| Package | Responsibility |
|---|---|
robstride_driver |
Private protocol and can_msgs topic transport |
robstride_ros2_control |
ros2_control Hardware Component |
robstride_examples |
Motor-profile Xacro, controller configuration, and example launch |
robstride_ros2 |
Installs the complete set of packages |
The plugin identifier robstride_ros2/RobStrideSystem remains compatible with
existing robot descriptions.
CAN bridge compatibility
robstride_driver and robstride_ros2_control communicate only through
can_msgs/msg/Frame topics. They can be used with any CAN bridge that provides
compatible transmit and receive topics.
robstride_examples is the only package that directly depends on
ros2_socketcan, because
its example launch starts that bridge. The aggregate robstride_ros2 package
installs the examples as well. To install only the bridge-independent Hardware
Component and driver, build through robstride_ros2_control:
colcon build --packages-up-to robstride_ros2_control --symlink-install
Supported ROS 2 distributions
The same source branch targets all currently supported ROS 2 distributions. CI is configured to build and test every row independently with its Tier 1 Ubuntu platform.
| ROS 2 distribution | Ubuntu |
|---|---|
| Humble | 22.04 (Jammy) |
| Jazzy | 24.04 (Noble) |
| Kilted | 24.04 (Noble) |
| Lyrical | 26.04 (Resolute) |
| Rolling | 26.04 (Resolute) |
No distribution-specific source branch is required.
Rolling follows current upstream development and can introduce incompatible API changes before the next stable ROS 2 release. The Rolling CI job is the compatibility signal for the exact source revision being tested.
Protocol and firmware assumptions
This package uses the 29-bit extended-frame private protocol documented in the official RobStride manuals. The motor must therefore be configured for the private protocol, not CANopen or the separate 11-bit MIT protocol. The listed EL05 and RS-series profiles use the common command and feedback formats defined in those manuals.
The profile limits below are the ranges used to encode and decode CAN values, not recommended mechanical operating limits. Apply tighter joint, velocity, and effort limits in your robot description when required.
| Model | Position | Velocity | Torque | Kp | Kd |
|---|---|---|---|---|---|
| RS00 | +/-4 pi rad | +/-33 rad/s | +/-14 Nm | 0..500 | 0..5 |
| RS01 | +/-4 pi rad | +/-44 rad/s | +/-17 Nm | 0..500 | 0..5 |
| RS02 | +/-4 pi rad | +/-44 rad/s | +/-17 Nm | 0..500 | 0..5 |
| RS03 | +/-4 pi rad | +/-20 rad/s | +/-60 Nm | 0..5000 | 0..100 |
| RS04 | +/-4 pi rad | +/-15 rad/s | +/-120 Nm | 0..5000 | 0..100 |
| RS05 | +/-4 pi rad | +/-50 rad/s | +/-5.5 Nm | 0..500 | 0..5 |
| RS06 | +/-4 pi rad | +/-50 rad/s | +/-36 Nm | 0..5000 | 0..100 |
| EL05 | +/-4 pi rad | +/-50 rad/s | +/-6 Nm | 0..500 | 0..5 |
Installation
Install the package in the src directory of a workspace for one of the
File truncated at 100 lines see the full file
CONTRIBUTING
|
robstride_ros2 repositoryrobstride_driver robstride_examples robstride_ros2 robstride_ros2_control |
ROS Distro
|
Repository Summary
| Checkout URI | https://github.com/s2015-turtle/robstride_ros2.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-08-29 |
| Dev Status | MAINTAINED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| robstride_driver | 0.1.2 |
| robstride_examples | 0.1.2 |
| robstride_ros2 | 0.1.2 |
| robstride_ros2_control | 0.1.2 |
README
robstride_ros2
An unofficial, community-maintained ROS 2 ros2_control hardware component for
RobStride actuators using the RobStride private CAN protocol.
CAN frames are exchanged through can_msgs/msg/Frame topics. The core packages
depend on can_msgs and do not require a specific SocketCAN bridge.
This project is not affiliated with or endorsed by RobStride. The protocol and
model profiles were checked against the English manuals in RobStride’s official
Product_Information
repository. A Japanese README is available as
doc/README.ja.md.
Features
- One
ros2_controlSystemInterface for multiple actuators on one CAN bus - Position, velocity, and effort command interfaces for every joint
- Different command modes for different motors at the same time
- Model profiles for RS00, RS01, RS02, RS03, RS04, RS05, RS06, and EL05
- Motor feedback for position, velocity, torque, temperature, and faults
- Startup parameter readback and motor-enable confirmation
- Feedback timeout handling and repeated stop commands during shutdown
- A nonzero motor-side CAN watchdog configured on every activation
Package structure
The repository contains four ROS 2 packages:
| Package | Responsibility |
|---|---|
robstride_driver |
Private protocol and can_msgs topic transport |
robstride_ros2_control |
ros2_control Hardware Component |
robstride_examples |
Motor-profile Xacro, controller configuration, and example launch |
robstride_ros2 |
Installs the complete set of packages |
The plugin identifier robstride_ros2/RobStrideSystem remains compatible with
existing robot descriptions.
CAN bridge compatibility
robstride_driver and robstride_ros2_control communicate only through
can_msgs/msg/Frame topics. They can be used with any CAN bridge that provides
compatible transmit and receive topics.
robstride_examples is the only package that directly depends on
ros2_socketcan, because
its example launch starts that bridge. The aggregate robstride_ros2 package
installs the examples as well. To install only the bridge-independent Hardware
Component and driver, build through robstride_ros2_control:
colcon build --packages-up-to robstride_ros2_control --symlink-install
Supported ROS 2 distributions
The same source branch targets all currently supported ROS 2 distributions. CI is configured to build and test every row independently with its Tier 1 Ubuntu platform.
| ROS 2 distribution | Ubuntu |
|---|---|
| Humble | 22.04 (Jammy) |
| Jazzy | 24.04 (Noble) |
| Kilted | 24.04 (Noble) |
| Lyrical | 26.04 (Resolute) |
| Rolling | 26.04 (Resolute) |
No distribution-specific source branch is required.
Rolling follows current upstream development and can introduce incompatible API changes before the next stable ROS 2 release. The Rolling CI job is the compatibility signal for the exact source revision being tested.
Protocol and firmware assumptions
This package uses the 29-bit extended-frame private protocol documented in the official RobStride manuals. The motor must therefore be configured for the private protocol, not CANopen or the separate 11-bit MIT protocol. The listed EL05 and RS-series profiles use the common command and feedback formats defined in those manuals.
The profile limits below are the ranges used to encode and decode CAN values, not recommended mechanical operating limits. Apply tighter joint, velocity, and effort limits in your robot description when required.
| Model | Position | Velocity | Torque | Kp | Kd |
|---|---|---|---|---|---|
| RS00 | +/-4 pi rad | +/-33 rad/s | +/-14 Nm | 0..500 | 0..5 |
| RS01 | +/-4 pi rad | +/-44 rad/s | +/-17 Nm | 0..500 | 0..5 |
| RS02 | +/-4 pi rad | +/-44 rad/s | +/-17 Nm | 0..500 | 0..5 |
| RS03 | +/-4 pi rad | +/-20 rad/s | +/-60 Nm | 0..5000 | 0..100 |
| RS04 | +/-4 pi rad | +/-15 rad/s | +/-120 Nm | 0..5000 | 0..100 |
| RS05 | +/-4 pi rad | +/-50 rad/s | +/-5.5 Nm | 0..500 | 0..5 |
| RS06 | +/-4 pi rad | +/-50 rad/s | +/-36 Nm | 0..5000 | 0..100 |
| EL05 | +/-4 pi rad | +/-50 rad/s | +/-6 Nm | 0..500 | 0..5 |
Installation
Install the package in the src directory of a workspace for one of the
File truncated at 100 lines see the full file
CONTRIBUTING
|
robstride_ros2 repositoryrobstride_driver robstride_examples robstride_ros2 robstride_ros2_control |
ROS Distro
|
Repository Summary
| Checkout URI | https://github.com/s2015-turtle/robstride_ros2.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-08-29 |
| Dev Status | MAINTAINED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| robstride_driver | 0.1.2 |
| robstride_examples | 0.1.2 |
| robstride_ros2 | 0.1.2 |
| robstride_ros2_control | 0.1.2 |
README
robstride_ros2
An unofficial, community-maintained ROS 2 ros2_control hardware component for
RobStride actuators using the RobStride private CAN protocol.
CAN frames are exchanged through can_msgs/msg/Frame topics. The core packages
depend on can_msgs and do not require a specific SocketCAN bridge.
This project is not affiliated with or endorsed by RobStride. The protocol and
model profiles were checked against the English manuals in RobStride’s official
Product_Information
repository. A Japanese README is available as
doc/README.ja.md.
Features
- One
ros2_controlSystemInterface for multiple actuators on one CAN bus - Position, velocity, and effort command interfaces for every joint
- Different command modes for different motors at the same time
- Model profiles for RS00, RS01, RS02, RS03, RS04, RS05, RS06, and EL05
- Motor feedback for position, velocity, torque, temperature, and faults
- Startup parameter readback and motor-enable confirmation
- Feedback timeout handling and repeated stop commands during shutdown
- A nonzero motor-side CAN watchdog configured on every activation
Package structure
The repository contains four ROS 2 packages:
| Package | Responsibility |
|---|---|
robstride_driver |
Private protocol and can_msgs topic transport |
robstride_ros2_control |
ros2_control Hardware Component |
robstride_examples |
Motor-profile Xacro, controller configuration, and example launch |
robstride_ros2 |
Installs the complete set of packages |
The plugin identifier robstride_ros2/RobStrideSystem remains compatible with
existing robot descriptions.
CAN bridge compatibility
robstride_driver and robstride_ros2_control communicate only through
can_msgs/msg/Frame topics. They can be used with any CAN bridge that provides
compatible transmit and receive topics.
robstride_examples is the only package that directly depends on
ros2_socketcan, because
its example launch starts that bridge. The aggregate robstride_ros2 package
installs the examples as well. To install only the bridge-independent Hardware
Component and driver, build through robstride_ros2_control:
colcon build --packages-up-to robstride_ros2_control --symlink-install
Supported ROS 2 distributions
The same source branch targets all currently supported ROS 2 distributions. CI is configured to build and test every row independently with its Tier 1 Ubuntu platform.
| ROS 2 distribution | Ubuntu |
|---|---|
| Humble | 22.04 (Jammy) |
| Jazzy | 24.04 (Noble) |
| Kilted | 24.04 (Noble) |
| Lyrical | 26.04 (Resolute) |
| Rolling | 26.04 (Resolute) |
No distribution-specific source branch is required.
Rolling follows current upstream development and can introduce incompatible API changes before the next stable ROS 2 release. The Rolling CI job is the compatibility signal for the exact source revision being tested.
Protocol and firmware assumptions
This package uses the 29-bit extended-frame private protocol documented in the official RobStride manuals. The motor must therefore be configured for the private protocol, not CANopen or the separate 11-bit MIT protocol. The listed EL05 and RS-series profiles use the common command and feedback formats defined in those manuals.
The profile limits below are the ranges used to encode and decode CAN values, not recommended mechanical operating limits. Apply tighter joint, velocity, and effort limits in your robot description when required.
| Model | Position | Velocity | Torque | Kp | Kd |
|---|---|---|---|---|---|
| RS00 | +/-4 pi rad | +/-33 rad/s | +/-14 Nm | 0..500 | 0..5 |
| RS01 | +/-4 pi rad | +/-44 rad/s | +/-17 Nm | 0..500 | 0..5 |
| RS02 | +/-4 pi rad | +/-44 rad/s | +/-17 Nm | 0..500 | 0..5 |
| RS03 | +/-4 pi rad | +/-20 rad/s | +/-60 Nm | 0..5000 | 0..100 |
| RS04 | +/-4 pi rad | +/-15 rad/s | +/-120 Nm | 0..5000 | 0..100 |
| RS05 | +/-4 pi rad | +/-50 rad/s | +/-5.5 Nm | 0..500 | 0..5 |
| RS06 | +/-4 pi rad | +/-50 rad/s | +/-36 Nm | 0..5000 | 0..100 |
| EL05 | +/-4 pi rad | +/-50 rad/s | +/-6 Nm | 0..500 | 0..5 |
Installation
Install the package in the src directory of a workspace for one of the
File truncated at 100 lines see the full file
CONTRIBUTING
|
robstride_ros2 repositoryrobstride_driver robstride_examples robstride_ros2 robstride_ros2_control |
ROS Distro
|
Repository Summary
| Checkout URI | https://github.com/s2015-turtle/robstride_ros2.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-08-29 |
| Dev Status | MAINTAINED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| robstride_driver | 0.1.2 |
| robstride_examples | 0.1.2 |
| robstride_ros2 | 0.1.2 |
| robstride_ros2_control | 0.1.2 |
README
robstride_ros2
An unofficial, community-maintained ROS 2 ros2_control hardware component for
RobStride actuators using the RobStride private CAN protocol.
CAN frames are exchanged through can_msgs/msg/Frame topics. The core packages
depend on can_msgs and do not require a specific SocketCAN bridge.
This project is not affiliated with or endorsed by RobStride. The protocol and
model profiles were checked against the English manuals in RobStride’s official
Product_Information
repository. A Japanese README is available as
doc/README.ja.md.
Features
- One
ros2_controlSystemInterface for multiple actuators on one CAN bus - Position, velocity, and effort command interfaces for every joint
- Different command modes for different motors at the same time
- Model profiles for RS00, RS01, RS02, RS03, RS04, RS05, RS06, and EL05
- Motor feedback for position, velocity, torque, temperature, and faults
- Startup parameter readback and motor-enable confirmation
- Feedback timeout handling and repeated stop commands during shutdown
- A nonzero motor-side CAN watchdog configured on every activation
Package structure
The repository contains four ROS 2 packages:
| Package | Responsibility |
|---|---|
robstride_driver |
Private protocol and can_msgs topic transport |
robstride_ros2_control |
ros2_control Hardware Component |
robstride_examples |
Motor-profile Xacro, controller configuration, and example launch |
robstride_ros2 |
Installs the complete set of packages |
The plugin identifier robstride_ros2/RobStrideSystem remains compatible with
existing robot descriptions.
CAN bridge compatibility
robstride_driver and robstride_ros2_control communicate only through
can_msgs/msg/Frame topics. They can be used with any CAN bridge that provides
compatible transmit and receive topics.
robstride_examples is the only package that directly depends on
ros2_socketcan, because
its example launch starts that bridge. The aggregate robstride_ros2 package
installs the examples as well. To install only the bridge-independent Hardware
Component and driver, build through robstride_ros2_control:
colcon build --packages-up-to robstride_ros2_control --symlink-install
Supported ROS 2 distributions
The same source branch targets all currently supported ROS 2 distributions. CI is configured to build and test every row independently with its Tier 1 Ubuntu platform.
| ROS 2 distribution | Ubuntu |
|---|---|
| Humble | 22.04 (Jammy) |
| Jazzy | 24.04 (Noble) |
| Kilted | 24.04 (Noble) |
| Lyrical | 26.04 (Resolute) |
| Rolling | 26.04 (Resolute) |
No distribution-specific source branch is required.
Rolling follows current upstream development and can introduce incompatible API changes before the next stable ROS 2 release. The Rolling CI job is the compatibility signal for the exact source revision being tested.
Protocol and firmware assumptions
This package uses the 29-bit extended-frame private protocol documented in the official RobStride manuals. The motor must therefore be configured for the private protocol, not CANopen or the separate 11-bit MIT protocol. The listed EL05 and RS-series profiles use the common command and feedback formats defined in those manuals.
The profile limits below are the ranges used to encode and decode CAN values, not recommended mechanical operating limits. Apply tighter joint, velocity, and effort limits in your robot description when required.
| Model | Position | Velocity | Torque | Kp | Kd |
|---|---|---|---|---|---|
| RS00 | +/-4 pi rad | +/-33 rad/s | +/-14 Nm | 0..500 | 0..5 |
| RS01 | +/-4 pi rad | +/-44 rad/s | +/-17 Nm | 0..500 | 0..5 |
| RS02 | +/-4 pi rad | +/-44 rad/s | +/-17 Nm | 0..500 | 0..5 |
| RS03 | +/-4 pi rad | +/-20 rad/s | +/-60 Nm | 0..5000 | 0..100 |
| RS04 | +/-4 pi rad | +/-15 rad/s | +/-120 Nm | 0..5000 | 0..100 |
| RS05 | +/-4 pi rad | +/-50 rad/s | +/-5.5 Nm | 0..500 | 0..5 |
| RS06 | +/-4 pi rad | +/-50 rad/s | +/-36 Nm | 0..5000 | 0..100 |
| EL05 | +/-4 pi rad | +/-50 rad/s | +/-6 Nm | 0..500 | 0..5 |
Installation
Install the package in the src directory of a workspace for one of the
File truncated at 100 lines see the full file
CONTRIBUTING
|
robstride_ros2 repositoryrobstride_driver robstride_examples robstride_ros2 robstride_ros2_control |
ROS Distro
|
Repository Summary
| Checkout URI | https://github.com/s2015-turtle/robstride_ros2.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-08-29 |
| Dev Status | MAINTAINED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| robstride_driver | 0.1.2 |
| robstride_examples | 0.1.2 |
| robstride_ros2 | 0.1.2 |
| robstride_ros2_control | 0.1.2 |
README
robstride_ros2
An unofficial, community-maintained ROS 2 ros2_control hardware component for
RobStride actuators using the RobStride private CAN protocol.
CAN frames are exchanged through can_msgs/msg/Frame topics. The core packages
depend on can_msgs and do not require a specific SocketCAN bridge.
This project is not affiliated with or endorsed by RobStride. The protocol and
model profiles were checked against the English manuals in RobStride’s official
Product_Information
repository. A Japanese README is available as
doc/README.ja.md.
Features
- One
ros2_controlSystemInterface for multiple actuators on one CAN bus - Position, velocity, and effort command interfaces for every joint
- Different command modes for different motors at the same time
- Model profiles for RS00, RS01, RS02, RS03, RS04, RS05, RS06, and EL05
- Motor feedback for position, velocity, torque, temperature, and faults
- Startup parameter readback and motor-enable confirmation
- Feedback timeout handling and repeated stop commands during shutdown
- A nonzero motor-side CAN watchdog configured on every activation
Package structure
The repository contains four ROS 2 packages:
| Package | Responsibility |
|---|---|
robstride_driver |
Private protocol and can_msgs topic transport |
robstride_ros2_control |
ros2_control Hardware Component |
robstride_examples |
Motor-profile Xacro, controller configuration, and example launch |
robstride_ros2 |
Installs the complete set of packages |
The plugin identifier robstride_ros2/RobStrideSystem remains compatible with
existing robot descriptions.
CAN bridge compatibility
robstride_driver and robstride_ros2_control communicate only through
can_msgs/msg/Frame topics. They can be used with any CAN bridge that provides
compatible transmit and receive topics.
robstride_examples is the only package that directly depends on
ros2_socketcan, because
its example launch starts that bridge. The aggregate robstride_ros2 package
installs the examples as well. To install only the bridge-independent Hardware
Component and driver, build through robstride_ros2_control:
colcon build --packages-up-to robstride_ros2_control --symlink-install
Supported ROS 2 distributions
The same source branch targets all currently supported ROS 2 distributions. CI is configured to build and test every row independently with its Tier 1 Ubuntu platform.
| ROS 2 distribution | Ubuntu |
|---|---|
| Humble | 22.04 (Jammy) |
| Jazzy | 24.04 (Noble) |
| Kilted | 24.04 (Noble) |
| Lyrical | 26.04 (Resolute) |
| Rolling | 26.04 (Resolute) |
No distribution-specific source branch is required.
Rolling follows current upstream development and can introduce incompatible API changes before the next stable ROS 2 release. The Rolling CI job is the compatibility signal for the exact source revision being tested.
Protocol and firmware assumptions
This package uses the 29-bit extended-frame private protocol documented in the official RobStride manuals. The motor must therefore be configured for the private protocol, not CANopen or the separate 11-bit MIT protocol. The listed EL05 and RS-series profiles use the common command and feedback formats defined in those manuals.
The profile limits below are the ranges used to encode and decode CAN values, not recommended mechanical operating limits. Apply tighter joint, velocity, and effort limits in your robot description when required.
| Model | Position | Velocity | Torque | Kp | Kd |
|---|---|---|---|---|---|
| RS00 | +/-4 pi rad | +/-33 rad/s | +/-14 Nm | 0..500 | 0..5 |
| RS01 | +/-4 pi rad | +/-44 rad/s | +/-17 Nm | 0..500 | 0..5 |
| RS02 | +/-4 pi rad | +/-44 rad/s | +/-17 Nm | 0..500 | 0..5 |
| RS03 | +/-4 pi rad | +/-20 rad/s | +/-60 Nm | 0..5000 | 0..100 |
| RS04 | +/-4 pi rad | +/-15 rad/s | +/-120 Nm | 0..5000 | 0..100 |
| RS05 | +/-4 pi rad | +/-50 rad/s | +/-5.5 Nm | 0..500 | 0..5 |
| RS06 | +/-4 pi rad | +/-50 rad/s | +/-36 Nm | 0..5000 | 0..100 |
| EL05 | +/-4 pi rad | +/-50 rad/s | +/-6 Nm | 0..500 | 0..5 |
Installation
Install the package in the src directory of a workspace for one of the
File truncated at 100 lines see the full file
CONTRIBUTING
|
robstride_ros2 repositoryrobstride_driver robstride_examples robstride_ros2 robstride_ros2_control |
ROS Distro
|
Repository Summary
| Checkout URI | https://github.com/s2015-turtle/robstride_ros2.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-08-29 |
| Dev Status | MAINTAINED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| robstride_driver | 0.1.2 |
| robstride_examples | 0.1.2 |
| robstride_ros2 | 0.1.2 |
| robstride_ros2_control | 0.1.2 |
README
robstride_ros2
An unofficial, community-maintained ROS 2 ros2_control hardware component for
RobStride actuators using the RobStride private CAN protocol.
CAN frames are exchanged through can_msgs/msg/Frame topics. The core packages
depend on can_msgs and do not require a specific SocketCAN bridge.
This project is not affiliated with or endorsed by RobStride. The protocol and
model profiles were checked against the English manuals in RobStride’s official
Product_Information
repository. A Japanese README is available as
doc/README.ja.md.
Features
- One
ros2_controlSystemInterface for multiple actuators on one CAN bus - Position, velocity, and effort command interfaces for every joint
- Different command modes for different motors at the same time
- Model profiles for RS00, RS01, RS02, RS03, RS04, RS05, RS06, and EL05
- Motor feedback for position, velocity, torque, temperature, and faults
- Startup parameter readback and motor-enable confirmation
- Feedback timeout handling and repeated stop commands during shutdown
- A nonzero motor-side CAN watchdog configured on every activation
Package structure
The repository contains four ROS 2 packages:
| Package | Responsibility |
|---|---|
robstride_driver |
Private protocol and can_msgs topic transport |
robstride_ros2_control |
ros2_control Hardware Component |
robstride_examples |
Motor-profile Xacro, controller configuration, and example launch |
robstride_ros2 |
Installs the complete set of packages |
The plugin identifier robstride_ros2/RobStrideSystem remains compatible with
existing robot descriptions.
CAN bridge compatibility
robstride_driver and robstride_ros2_control communicate only through
can_msgs/msg/Frame topics. They can be used with any CAN bridge that provides
compatible transmit and receive topics.
robstride_examples is the only package that directly depends on
ros2_socketcan, because
its example launch starts that bridge. The aggregate robstride_ros2 package
installs the examples as well. To install only the bridge-independent Hardware
Component and driver, build through robstride_ros2_control:
colcon build --packages-up-to robstride_ros2_control --symlink-install
Supported ROS 2 distributions
The same source branch targets all currently supported ROS 2 distributions. CI is configured to build and test every row independently with its Tier 1 Ubuntu platform.
| ROS 2 distribution | Ubuntu |
|---|---|
| Humble | 22.04 (Jammy) |
| Jazzy | 24.04 (Noble) |
| Kilted | 24.04 (Noble) |
| Lyrical | 26.04 (Resolute) |
| Rolling | 26.04 (Resolute) |
No distribution-specific source branch is required.
Rolling follows current upstream development and can introduce incompatible API changes before the next stable ROS 2 release. The Rolling CI job is the compatibility signal for the exact source revision being tested.
Protocol and firmware assumptions
This package uses the 29-bit extended-frame private protocol documented in the official RobStride manuals. The motor must therefore be configured for the private protocol, not CANopen or the separate 11-bit MIT protocol. The listed EL05 and RS-series profiles use the common command and feedback formats defined in those manuals.
The profile limits below are the ranges used to encode and decode CAN values, not recommended mechanical operating limits. Apply tighter joint, velocity, and effort limits in your robot description when required.
| Model | Position | Velocity | Torque | Kp | Kd |
|---|---|---|---|---|---|
| RS00 | +/-4 pi rad | +/-33 rad/s | +/-14 Nm | 0..500 | 0..5 |
| RS01 | +/-4 pi rad | +/-44 rad/s | +/-17 Nm | 0..500 | 0..5 |
| RS02 | +/-4 pi rad | +/-44 rad/s | +/-17 Nm | 0..500 | 0..5 |
| RS03 | +/-4 pi rad | +/-20 rad/s | +/-60 Nm | 0..5000 | 0..100 |
| RS04 | +/-4 pi rad | +/-15 rad/s | +/-120 Nm | 0..5000 | 0..100 |
| RS05 | +/-4 pi rad | +/-50 rad/s | +/-5.5 Nm | 0..500 | 0..5 |
| RS06 | +/-4 pi rad | +/-50 rad/s | +/-36 Nm | 0..5000 | 0..100 |
| EL05 | +/-4 pi rad | +/-50 rad/s | +/-6 Nm | 0..500 | 0..5 |
Installation
Install the package in the src directory of a workspace for one of the
File truncated at 100 lines see the full file
CONTRIBUTING
|
robstride_ros2 repositoryrobstride_driver robstride_examples robstride_ros2 robstride_ros2_control |
ROS Distro
|
Repository Summary
| Checkout URI | https://github.com/s2015-turtle/robstride_ros2.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-08-29 |
| Dev Status | MAINTAINED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| robstride_driver | 0.1.2 |
| robstride_examples | 0.1.2 |
| robstride_ros2 | 0.1.2 |
| robstride_ros2_control | 0.1.2 |
README
robstride_ros2
An unofficial, community-maintained ROS 2 ros2_control hardware component for
RobStride actuators using the RobStride private CAN protocol.
CAN frames are exchanged through can_msgs/msg/Frame topics. The core packages
depend on can_msgs and do not require a specific SocketCAN bridge.
This project is not affiliated with or endorsed by RobStride. The protocol and
model profiles were checked against the English manuals in RobStride’s official
Product_Information
repository. A Japanese README is available as
doc/README.ja.md.
Features
- One
ros2_controlSystemInterface for multiple actuators on one CAN bus - Position, velocity, and effort command interfaces for every joint
- Different command modes for different motors at the same time
- Model profiles for RS00, RS01, RS02, RS03, RS04, RS05, RS06, and EL05
- Motor feedback for position, velocity, torque, temperature, and faults
- Startup parameter readback and motor-enable confirmation
- Feedback timeout handling and repeated stop commands during shutdown
- A nonzero motor-side CAN watchdog configured on every activation
Package structure
The repository contains four ROS 2 packages:
| Package | Responsibility |
|---|---|
robstride_driver |
Private protocol and can_msgs topic transport |
robstride_ros2_control |
ros2_control Hardware Component |
robstride_examples |
Motor-profile Xacro, controller configuration, and example launch |
robstride_ros2 |
Installs the complete set of packages |
The plugin identifier robstride_ros2/RobStrideSystem remains compatible with
existing robot descriptions.
CAN bridge compatibility
robstride_driver and robstride_ros2_control communicate only through
can_msgs/msg/Frame topics. They can be used with any CAN bridge that provides
compatible transmit and receive topics.
robstride_examples is the only package that directly depends on
ros2_socketcan, because
its example launch starts that bridge. The aggregate robstride_ros2 package
installs the examples as well. To install only the bridge-independent Hardware
Component and driver, build through robstride_ros2_control:
colcon build --packages-up-to robstride_ros2_control --symlink-install
Supported ROS 2 distributions
The same source branch targets all currently supported ROS 2 distributions. CI is configured to build and test every row independently with its Tier 1 Ubuntu platform.
| ROS 2 distribution | Ubuntu |
|---|---|
| Humble | 22.04 (Jammy) |
| Jazzy | 24.04 (Noble) |
| Kilted | 24.04 (Noble) |
| Lyrical | 26.04 (Resolute) |
| Rolling | 26.04 (Resolute) |
No distribution-specific source branch is required.
Rolling follows current upstream development and can introduce incompatible API changes before the next stable ROS 2 release. The Rolling CI job is the compatibility signal for the exact source revision being tested.
Protocol and firmware assumptions
This package uses the 29-bit extended-frame private protocol documented in the official RobStride manuals. The motor must therefore be configured for the private protocol, not CANopen or the separate 11-bit MIT protocol. The listed EL05 and RS-series profiles use the common command and feedback formats defined in those manuals.
The profile limits below are the ranges used to encode and decode CAN values, not recommended mechanical operating limits. Apply tighter joint, velocity, and effort limits in your robot description when required.
| Model | Position | Velocity | Torque | Kp | Kd |
|---|---|---|---|---|---|
| RS00 | +/-4 pi rad | +/-33 rad/s | +/-14 Nm | 0..500 | 0..5 |
| RS01 | +/-4 pi rad | +/-44 rad/s | +/-17 Nm | 0..500 | 0..5 |
| RS02 | +/-4 pi rad | +/-44 rad/s | +/-17 Nm | 0..500 | 0..5 |
| RS03 | +/-4 pi rad | +/-20 rad/s | +/-60 Nm | 0..5000 | 0..100 |
| RS04 | +/-4 pi rad | +/-15 rad/s | +/-120 Nm | 0..5000 | 0..100 |
| RS05 | +/-4 pi rad | +/-50 rad/s | +/-5.5 Nm | 0..500 | 0..5 |
| RS06 | +/-4 pi rad | +/-50 rad/s | +/-36 Nm | 0..5000 | 0..100 |
| EL05 | +/-4 pi rad | +/-50 rad/s | +/-6 Nm | 0..500 | 0..5 |
Installation
Install the package in the src directory of a workspace for one of the
File truncated at 100 lines see the full file
CONTRIBUTING
|
robstride_ros2 repositoryrobstride_driver robstride_examples robstride_ros2 robstride_ros2_control |
ROS Distro
|
Repository Summary
| Checkout URI | https://github.com/s2015-turtle/robstride_ros2.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-08-29 |
| Dev Status | MAINTAINED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| robstride_driver | 0.1.2 |
| robstride_examples | 0.1.2 |
| robstride_ros2 | 0.1.2 |
| robstride_ros2_control | 0.1.2 |
README
robstride_ros2
An unofficial, community-maintained ROS 2 ros2_control hardware component for
RobStride actuators using the RobStride private CAN protocol.
CAN frames are exchanged through can_msgs/msg/Frame topics. The core packages
depend on can_msgs and do not require a specific SocketCAN bridge.
This project is not affiliated with or endorsed by RobStride. The protocol and
model profiles were checked against the English manuals in RobStride’s official
Product_Information
repository. A Japanese README is available as
doc/README.ja.md.
Features
- One
ros2_controlSystemInterface for multiple actuators on one CAN bus - Position, velocity, and effort command interfaces for every joint
- Different command modes for different motors at the same time
- Model profiles for RS00, RS01, RS02, RS03, RS04, RS05, RS06, and EL05
- Motor feedback for position, velocity, torque, temperature, and faults
- Startup parameter readback and motor-enable confirmation
- Feedback timeout handling and repeated stop commands during shutdown
- A nonzero motor-side CAN watchdog configured on every activation
Package structure
The repository contains four ROS 2 packages:
| Package | Responsibility |
|---|---|
robstride_driver |
Private protocol and can_msgs topic transport |
robstride_ros2_control |
ros2_control Hardware Component |
robstride_examples |
Motor-profile Xacro, controller configuration, and example launch |
robstride_ros2 |
Installs the complete set of packages |
The plugin identifier robstride_ros2/RobStrideSystem remains compatible with
existing robot descriptions.
CAN bridge compatibility
robstride_driver and robstride_ros2_control communicate only through
can_msgs/msg/Frame topics. They can be used with any CAN bridge that provides
compatible transmit and receive topics.
robstride_examples is the only package that directly depends on
ros2_socketcan, because
its example launch starts that bridge. The aggregate robstride_ros2 package
installs the examples as well. To install only the bridge-independent Hardware
Component and driver, build through robstride_ros2_control:
colcon build --packages-up-to robstride_ros2_control --symlink-install
Supported ROS 2 distributions
The same source branch targets all currently supported ROS 2 distributions. CI is configured to build and test every row independently with its Tier 1 Ubuntu platform.
| ROS 2 distribution | Ubuntu |
|---|---|
| Humble | 22.04 (Jammy) |
| Jazzy | 24.04 (Noble) |
| Kilted | 24.04 (Noble) |
| Lyrical | 26.04 (Resolute) |
| Rolling | 26.04 (Resolute) |
No distribution-specific source branch is required.
Rolling follows current upstream development and can introduce incompatible API changes before the next stable ROS 2 release. The Rolling CI job is the compatibility signal for the exact source revision being tested.
Protocol and firmware assumptions
This package uses the 29-bit extended-frame private protocol documented in the official RobStride manuals. The motor must therefore be configured for the private protocol, not CANopen or the separate 11-bit MIT protocol. The listed EL05 and RS-series profiles use the common command and feedback formats defined in those manuals.
The profile limits below are the ranges used to encode and decode CAN values, not recommended mechanical operating limits. Apply tighter joint, velocity, and effort limits in your robot description when required.
| Model | Position | Velocity | Torque | Kp | Kd |
|---|---|---|---|---|---|
| RS00 | +/-4 pi rad | +/-33 rad/s | +/-14 Nm | 0..500 | 0..5 |
| RS01 | +/-4 pi rad | +/-44 rad/s | +/-17 Nm | 0..500 | 0..5 |
| RS02 | +/-4 pi rad | +/-44 rad/s | +/-17 Nm | 0..500 | 0..5 |
| RS03 | +/-4 pi rad | +/-20 rad/s | +/-60 Nm | 0..5000 | 0..100 |
| RS04 | +/-4 pi rad | +/-15 rad/s | +/-120 Nm | 0..5000 | 0..100 |
| RS05 | +/-4 pi rad | +/-50 rad/s | +/-5.5 Nm | 0..500 | 0..5 |
| RS06 | +/-4 pi rad | +/-50 rad/s | +/-36 Nm | 0..5000 | 0..100 |
| EL05 | +/-4 pi rad | +/-50 rad/s | +/-6 Nm | 0..500 | 0..5 |
Installation
Install the package in the src directory of a workspace for one of the
File truncated at 100 lines see the full file
CONTRIBUTING
|
robstride_ros2 repositoryrobstride_driver robstride_examples robstride_ros2 robstride_ros2_control |
ROS Distro
|
Repository Summary
| Checkout URI | https://github.com/s2015-turtle/robstride_ros2.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-08-29 |
| Dev Status | MAINTAINED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| robstride_driver | 0.1.2 |
| robstride_examples | 0.1.2 |
| robstride_ros2 | 0.1.2 |
| robstride_ros2_control | 0.1.2 |
README
robstride_ros2
An unofficial, community-maintained ROS 2 ros2_control hardware component for
RobStride actuators using the RobStride private CAN protocol.
CAN frames are exchanged through can_msgs/msg/Frame topics. The core packages
depend on can_msgs and do not require a specific SocketCAN bridge.
This project is not affiliated with or endorsed by RobStride. The protocol and
model profiles were checked against the English manuals in RobStride’s official
Product_Information
repository. A Japanese README is available as
doc/README.ja.md.
Features
- One
ros2_controlSystemInterface for multiple actuators on one CAN bus - Position, velocity, and effort command interfaces for every joint
- Different command modes for different motors at the same time
- Model profiles for RS00, RS01, RS02, RS03, RS04, RS05, RS06, and EL05
- Motor feedback for position, velocity, torque, temperature, and faults
- Startup parameter readback and motor-enable confirmation
- Feedback timeout handling and repeated stop commands during shutdown
- A nonzero motor-side CAN watchdog configured on every activation
Package structure
The repository contains four ROS 2 packages:
| Package | Responsibility |
|---|---|
robstride_driver |
Private protocol and can_msgs topic transport |
robstride_ros2_control |
ros2_control Hardware Component |
robstride_examples |
Motor-profile Xacro, controller configuration, and example launch |
robstride_ros2 |
Installs the complete set of packages |
The plugin identifier robstride_ros2/RobStrideSystem remains compatible with
existing robot descriptions.
CAN bridge compatibility
robstride_driver and robstride_ros2_control communicate only through
can_msgs/msg/Frame topics. They can be used with any CAN bridge that provides
compatible transmit and receive topics.
robstride_examples is the only package that directly depends on
ros2_socketcan, because
its example launch starts that bridge. The aggregate robstride_ros2 package
installs the examples as well. To install only the bridge-independent Hardware
Component and driver, build through robstride_ros2_control:
colcon build --packages-up-to robstride_ros2_control --symlink-install
Supported ROS 2 distributions
The same source branch targets all currently supported ROS 2 distributions. CI is configured to build and test every row independently with its Tier 1 Ubuntu platform.
| ROS 2 distribution | Ubuntu |
|---|---|
| Humble | 22.04 (Jammy) |
| Jazzy | 24.04 (Noble) |
| Kilted | 24.04 (Noble) |
| Lyrical | 26.04 (Resolute) |
| Rolling | 26.04 (Resolute) |
No distribution-specific source branch is required.
Rolling follows current upstream development and can introduce incompatible API changes before the next stable ROS 2 release. The Rolling CI job is the compatibility signal for the exact source revision being tested.
Protocol and firmware assumptions
This package uses the 29-bit extended-frame private protocol documented in the official RobStride manuals. The motor must therefore be configured for the private protocol, not CANopen or the separate 11-bit MIT protocol. The listed EL05 and RS-series profiles use the common command and feedback formats defined in those manuals.
The profile limits below are the ranges used to encode and decode CAN values, not recommended mechanical operating limits. Apply tighter joint, velocity, and effort limits in your robot description when required.
| Model | Position | Velocity | Torque | Kp | Kd |
|---|---|---|---|---|---|
| RS00 | +/-4 pi rad | +/-33 rad/s | +/-14 Nm | 0..500 | 0..5 |
| RS01 | +/-4 pi rad | +/-44 rad/s | +/-17 Nm | 0..500 | 0..5 |
| RS02 | +/-4 pi rad | +/-44 rad/s | +/-17 Nm | 0..500 | 0..5 |
| RS03 | +/-4 pi rad | +/-20 rad/s | +/-60 Nm | 0..5000 | 0..100 |
| RS04 | +/-4 pi rad | +/-15 rad/s | +/-120 Nm | 0..5000 | 0..100 |
| RS05 | +/-4 pi rad | +/-50 rad/s | +/-5.5 Nm | 0..500 | 0..5 |
| RS06 | +/-4 pi rad | +/-50 rad/s | +/-36 Nm | 0..5000 | 0..100 |
| EL05 | +/-4 pi rad | +/-50 rad/s | +/-6 Nm | 0..500 | 0..5 |
Installation
Install the package in the src directory of a workspace for one of the
File truncated at 100 lines see the full file
CONTRIBUTING
|
robstride_ros2 repositoryrobstride_driver robstride_examples robstride_ros2 robstride_ros2_control |
ROS Distro
|
Repository Summary
| Checkout URI | https://github.com/s2015-turtle/robstride_ros2.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-08-29 |
| Dev Status | MAINTAINED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| robstride_driver | 0.1.2 |
| robstride_examples | 0.1.2 |
| robstride_ros2 | 0.1.2 |
| robstride_ros2_control | 0.1.2 |
README
robstride_ros2
An unofficial, community-maintained ROS 2 ros2_control hardware component for
RobStride actuators using the RobStride private CAN protocol.
CAN frames are exchanged through can_msgs/msg/Frame topics. The core packages
depend on can_msgs and do not require a specific SocketCAN bridge.
This project is not affiliated with or endorsed by RobStride. The protocol and
model profiles were checked against the English manuals in RobStride’s official
Product_Information
repository. A Japanese README is available as
doc/README.ja.md.
Features
- One
ros2_controlSystemInterface for multiple actuators on one CAN bus - Position, velocity, and effort command interfaces for every joint
- Different command modes for different motors at the same time
- Model profiles for RS00, RS01, RS02, RS03, RS04, RS05, RS06, and EL05
- Motor feedback for position, velocity, torque, temperature, and faults
- Startup parameter readback and motor-enable confirmation
- Feedback timeout handling and repeated stop commands during shutdown
- A nonzero motor-side CAN watchdog configured on every activation
Package structure
The repository contains four ROS 2 packages:
| Package | Responsibility |
|---|---|
robstride_driver |
Private protocol and can_msgs topic transport |
robstride_ros2_control |
ros2_control Hardware Component |
robstride_examples |
Motor-profile Xacro, controller configuration, and example launch |
robstride_ros2 |
Installs the complete set of packages |
The plugin identifier robstride_ros2/RobStrideSystem remains compatible with
existing robot descriptions.
CAN bridge compatibility
robstride_driver and robstride_ros2_control communicate only through
can_msgs/msg/Frame topics. They can be used with any CAN bridge that provides
compatible transmit and receive topics.
robstride_examples is the only package that directly depends on
ros2_socketcan, because
its example launch starts that bridge. The aggregate robstride_ros2 package
installs the examples as well. To install only the bridge-independent Hardware
Component and driver, build through robstride_ros2_control:
colcon build --packages-up-to robstride_ros2_control --symlink-install
Supported ROS 2 distributions
The same source branch targets all currently supported ROS 2 distributions. CI is configured to build and test every row independently with its Tier 1 Ubuntu platform.
| ROS 2 distribution | Ubuntu |
|---|---|
| Humble | 22.04 (Jammy) |
| Jazzy | 24.04 (Noble) |
| Kilted | 24.04 (Noble) |
| Lyrical | 26.04 (Resolute) |
| Rolling | 26.04 (Resolute) |
No distribution-specific source branch is required.
Rolling follows current upstream development and can introduce incompatible API changes before the next stable ROS 2 release. The Rolling CI job is the compatibility signal for the exact source revision being tested.
Protocol and firmware assumptions
This package uses the 29-bit extended-frame private protocol documented in the official RobStride manuals. The motor must therefore be configured for the private protocol, not CANopen or the separate 11-bit MIT protocol. The listed EL05 and RS-series profiles use the common command and feedback formats defined in those manuals.
The profile limits below are the ranges used to encode and decode CAN values, not recommended mechanical operating limits. Apply tighter joint, velocity, and effort limits in your robot description when required.
| Model | Position | Velocity | Torque | Kp | Kd |
|---|---|---|---|---|---|
| RS00 | +/-4 pi rad | +/-33 rad/s | +/-14 Nm | 0..500 | 0..5 |
| RS01 | +/-4 pi rad | +/-44 rad/s | +/-17 Nm | 0..500 | 0..5 |
| RS02 | +/-4 pi rad | +/-44 rad/s | +/-17 Nm | 0..500 | 0..5 |
| RS03 | +/-4 pi rad | +/-20 rad/s | +/-60 Nm | 0..5000 | 0..100 |
| RS04 | +/-4 pi rad | +/-15 rad/s | +/-120 Nm | 0..5000 | 0..100 |
| RS05 | +/-4 pi rad | +/-50 rad/s | +/-5.5 Nm | 0..500 | 0..5 |
| RS06 | +/-4 pi rad | +/-50 rad/s | +/-36 Nm | 0..5000 | 0..100 |
| EL05 | +/-4 pi rad | +/-50 rad/s | +/-6 Nm | 0..500 | 0..5 |
Installation
Install the package in the src directory of a workspace for one of the
File truncated at 100 lines see the full file
CONTRIBUTING
|
robstride_ros2 repositoryrobstride_driver robstride_examples robstride_ros2 robstride_ros2_control |
ROS Distro
|
Repository Summary
| Checkout URI | https://github.com/s2015-turtle/robstride_ros2.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-08-29 |
| Dev Status | MAINTAINED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| robstride_driver | 0.1.2 |
| robstride_examples | 0.1.2 |
| robstride_ros2 | 0.1.2 |
| robstride_ros2_control | 0.1.2 |
README
robstride_ros2
An unofficial, community-maintained ROS 2 ros2_control hardware component for
RobStride actuators using the RobStride private CAN protocol.
CAN frames are exchanged through can_msgs/msg/Frame topics. The core packages
depend on can_msgs and do not require a specific SocketCAN bridge.
This project is not affiliated with or endorsed by RobStride. The protocol and
model profiles were checked against the English manuals in RobStride’s official
Product_Information
repository. A Japanese README is available as
doc/README.ja.md.
Features
- One
ros2_controlSystemInterface for multiple actuators on one CAN bus - Position, velocity, and effort command interfaces for every joint
- Different command modes for different motors at the same time
- Model profiles for RS00, RS01, RS02, RS03, RS04, RS05, RS06, and EL05
- Motor feedback for position, velocity, torque, temperature, and faults
- Startup parameter readback and motor-enable confirmation
- Feedback timeout handling and repeated stop commands during shutdown
- A nonzero motor-side CAN watchdog configured on every activation
Package structure
The repository contains four ROS 2 packages:
| Package | Responsibility |
|---|---|
robstride_driver |
Private protocol and can_msgs topic transport |
robstride_ros2_control |
ros2_control Hardware Component |
robstride_examples |
Motor-profile Xacro, controller configuration, and example launch |
robstride_ros2 |
Installs the complete set of packages |
The plugin identifier robstride_ros2/RobStrideSystem remains compatible with
existing robot descriptions.
CAN bridge compatibility
robstride_driver and robstride_ros2_control communicate only through
can_msgs/msg/Frame topics. They can be used with any CAN bridge that provides
compatible transmit and receive topics.
robstride_examples is the only package that directly depends on
ros2_socketcan, because
its example launch starts that bridge. The aggregate robstride_ros2 package
installs the examples as well. To install only the bridge-independent Hardware
Component and driver, build through robstride_ros2_control:
colcon build --packages-up-to robstride_ros2_control --symlink-install
Supported ROS 2 distributions
The same source branch targets all currently supported ROS 2 distributions. CI is configured to build and test every row independently with its Tier 1 Ubuntu platform.
| ROS 2 distribution | Ubuntu |
|---|---|
| Humble | 22.04 (Jammy) |
| Jazzy | 24.04 (Noble) |
| Kilted | 24.04 (Noble) |
| Lyrical | 26.04 (Resolute) |
| Rolling | 26.04 (Resolute) |
No distribution-specific source branch is required.
Rolling follows current upstream development and can introduce incompatible API changes before the next stable ROS 2 release. The Rolling CI job is the compatibility signal for the exact source revision being tested.
Protocol and firmware assumptions
This package uses the 29-bit extended-frame private protocol documented in the official RobStride manuals. The motor must therefore be configured for the private protocol, not CANopen or the separate 11-bit MIT protocol. The listed EL05 and RS-series profiles use the common command and feedback formats defined in those manuals.
The profile limits below are the ranges used to encode and decode CAN values, not recommended mechanical operating limits. Apply tighter joint, velocity, and effort limits in your robot description when required.
| Model | Position | Velocity | Torque | Kp | Kd |
|---|---|---|---|---|---|
| RS00 | +/-4 pi rad | +/-33 rad/s | +/-14 Nm | 0..500 | 0..5 |
| RS01 | +/-4 pi rad | +/-44 rad/s | +/-17 Nm | 0..500 | 0..5 |
| RS02 | +/-4 pi rad | +/-44 rad/s | +/-17 Nm | 0..500 | 0..5 |
| RS03 | +/-4 pi rad | +/-20 rad/s | +/-60 Nm | 0..5000 | 0..100 |
| RS04 | +/-4 pi rad | +/-15 rad/s | +/-120 Nm | 0..5000 | 0..100 |
| RS05 | +/-4 pi rad | +/-50 rad/s | +/-5.5 Nm | 0..500 | 0..5 |
| RS06 | +/-4 pi rad | +/-50 rad/s | +/-36 Nm | 0..5000 | 0..100 |
| EL05 | +/-4 pi rad | +/-50 rad/s | +/-6 Nm | 0..500 | 0..5 |
Installation
Install the package in the src directory of a workspace for one of the
File truncated at 100 lines see the full file
CONTRIBUTING
|
robstride_ros2 repositoryrobstride_driver robstride_examples robstride_ros2 robstride_ros2_control |
ROS Distro
|
Repository Summary
| Checkout URI | https://github.com/s2015-turtle/robstride_ros2.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-08-29 |
| Dev Status | MAINTAINED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| robstride_driver | 0.1.2 |
| robstride_examples | 0.1.2 |
| robstride_ros2 | 0.1.2 |
| robstride_ros2_control | 0.1.2 |
README
robstride_ros2
An unofficial, community-maintained ROS 2 ros2_control hardware component for
RobStride actuators using the RobStride private CAN protocol.
CAN frames are exchanged through can_msgs/msg/Frame topics. The core packages
depend on can_msgs and do not require a specific SocketCAN bridge.
This project is not affiliated with or endorsed by RobStride. The protocol and
model profiles were checked against the English manuals in RobStride’s official
Product_Information
repository. A Japanese README is available as
doc/README.ja.md.
Features
- One
ros2_controlSystemInterface for multiple actuators on one CAN bus - Position, velocity, and effort command interfaces for every joint
- Different command modes for different motors at the same time
- Model profiles for RS00, RS01, RS02, RS03, RS04, RS05, RS06, and EL05
- Motor feedback for position, velocity, torque, temperature, and faults
- Startup parameter readback and motor-enable confirmation
- Feedback timeout handling and repeated stop commands during shutdown
- A nonzero motor-side CAN watchdog configured on every activation
Package structure
The repository contains four ROS 2 packages:
| Package | Responsibility |
|---|---|
robstride_driver |
Private protocol and can_msgs topic transport |
robstride_ros2_control |
ros2_control Hardware Component |
robstride_examples |
Motor-profile Xacro, controller configuration, and example launch |
robstride_ros2 |
Installs the complete set of packages |
The plugin identifier robstride_ros2/RobStrideSystem remains compatible with
existing robot descriptions.
CAN bridge compatibility
robstride_driver and robstride_ros2_control communicate only through
can_msgs/msg/Frame topics. They can be used with any CAN bridge that provides
compatible transmit and receive topics.
robstride_examples is the only package that directly depends on
ros2_socketcan, because
its example launch starts that bridge. The aggregate robstride_ros2 package
installs the examples as well. To install only the bridge-independent Hardware
Component and driver, build through robstride_ros2_control:
colcon build --packages-up-to robstride_ros2_control --symlink-install
Supported ROS 2 distributions
The same source branch targets all currently supported ROS 2 distributions. CI is configured to build and test every row independently with its Tier 1 Ubuntu platform.
| ROS 2 distribution | Ubuntu |
|---|---|
| Humble | 22.04 (Jammy) |
| Jazzy | 24.04 (Noble) |
| Kilted | 24.04 (Noble) |
| Lyrical | 26.04 (Resolute) |
| Rolling | 26.04 (Resolute) |
No distribution-specific source branch is required.
Rolling follows current upstream development and can introduce incompatible API changes before the next stable ROS 2 release. The Rolling CI job is the compatibility signal for the exact source revision being tested.
Protocol and firmware assumptions
This package uses the 29-bit extended-frame private protocol documented in the official RobStride manuals. The motor must therefore be configured for the private protocol, not CANopen or the separate 11-bit MIT protocol. The listed EL05 and RS-series profiles use the common command and feedback formats defined in those manuals.
The profile limits below are the ranges used to encode and decode CAN values, not recommended mechanical operating limits. Apply tighter joint, velocity, and effort limits in your robot description when required.
| Model | Position | Velocity | Torque | Kp | Kd |
|---|---|---|---|---|---|
| RS00 | +/-4 pi rad | +/-33 rad/s | +/-14 Nm | 0..500 | 0..5 |
| RS01 | +/-4 pi rad | +/-44 rad/s | +/-17 Nm | 0..500 | 0..5 |
| RS02 | +/-4 pi rad | +/-44 rad/s | +/-17 Nm | 0..500 | 0..5 |
| RS03 | +/-4 pi rad | +/-20 rad/s | +/-60 Nm | 0..5000 | 0..100 |
| RS04 | +/-4 pi rad | +/-15 rad/s | +/-120 Nm | 0..5000 | 0..100 |
| RS05 | +/-4 pi rad | +/-50 rad/s | +/-5.5 Nm | 0..500 | 0..5 |
| RS06 | +/-4 pi rad | +/-50 rad/s | +/-36 Nm | 0..5000 | 0..100 |
| EL05 | +/-4 pi rad | +/-50 rad/s | +/-6 Nm | 0..500 | 0..5 |
Installation
Install the package in the src directory of a workspace for one of the
File truncated at 100 lines see the full file
CONTRIBUTING
|
robstride_ros2 repositoryrobstride_driver robstride_examples robstride_ros2 robstride_ros2_control |
ROS Distro
|
Repository Summary
| Checkout URI | https://github.com/s2015-turtle/robstride_ros2.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-08-29 |
| Dev Status | MAINTAINED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| robstride_driver | 0.1.2 |
| robstride_examples | 0.1.2 |
| robstride_ros2 | 0.1.2 |
| robstride_ros2_control | 0.1.2 |
README
robstride_ros2
An unofficial, community-maintained ROS 2 ros2_control hardware component for
RobStride actuators using the RobStride private CAN protocol.
CAN frames are exchanged through can_msgs/msg/Frame topics. The core packages
depend on can_msgs and do not require a specific SocketCAN bridge.
This project is not affiliated with or endorsed by RobStride. The protocol and
model profiles were checked against the English manuals in RobStride’s official
Product_Information
repository. A Japanese README is available as
doc/README.ja.md.
Features
- One
ros2_controlSystemInterface for multiple actuators on one CAN bus - Position, velocity, and effort command interfaces for every joint
- Different command modes for different motors at the same time
- Model profiles for RS00, RS01, RS02, RS03, RS04, RS05, RS06, and EL05
- Motor feedback for position, velocity, torque, temperature, and faults
- Startup parameter readback and motor-enable confirmation
- Feedback timeout handling and repeated stop commands during shutdown
- A nonzero motor-side CAN watchdog configured on every activation
Package structure
The repository contains four ROS 2 packages:
| Package | Responsibility |
|---|---|
robstride_driver |
Private protocol and can_msgs topic transport |
robstride_ros2_control |
ros2_control Hardware Component |
robstride_examples |
Motor-profile Xacro, controller configuration, and example launch |
robstride_ros2 |
Installs the complete set of packages |
The plugin identifier robstride_ros2/RobStrideSystem remains compatible with
existing robot descriptions.
CAN bridge compatibility
robstride_driver and robstride_ros2_control communicate only through
can_msgs/msg/Frame topics. They can be used with any CAN bridge that provides
compatible transmit and receive topics.
robstride_examples is the only package that directly depends on
ros2_socketcan, because
its example launch starts that bridge. The aggregate robstride_ros2 package
installs the examples as well. To install only the bridge-independent Hardware
Component and driver, build through robstride_ros2_control:
colcon build --packages-up-to robstride_ros2_control --symlink-install
Supported ROS 2 distributions
The same source branch targets all currently supported ROS 2 distributions. CI is configured to build and test every row independently with its Tier 1 Ubuntu platform.
| ROS 2 distribution | Ubuntu |
|---|---|
| Humble | 22.04 (Jammy) |
| Jazzy | 24.04 (Noble) |
| Kilted | 24.04 (Noble) |
| Lyrical | 26.04 (Resolute) |
| Rolling | 26.04 (Resolute) |
No distribution-specific source branch is required.
Rolling follows current upstream development and can introduce incompatible API changes before the next stable ROS 2 release. The Rolling CI job is the compatibility signal for the exact source revision being tested.
Protocol and firmware assumptions
This package uses the 29-bit extended-frame private protocol documented in the official RobStride manuals. The motor must therefore be configured for the private protocol, not CANopen or the separate 11-bit MIT protocol. The listed EL05 and RS-series profiles use the common command and feedback formats defined in those manuals.
The profile limits below are the ranges used to encode and decode CAN values, not recommended mechanical operating limits. Apply tighter joint, velocity, and effort limits in your robot description when required.
| Model | Position | Velocity | Torque | Kp | Kd |
|---|---|---|---|---|---|
| RS00 | +/-4 pi rad | +/-33 rad/s | +/-14 Nm | 0..500 | 0..5 |
| RS01 | +/-4 pi rad | +/-44 rad/s | +/-17 Nm | 0..500 | 0..5 |
| RS02 | +/-4 pi rad | +/-44 rad/s | +/-17 Nm | 0..500 | 0..5 |
| RS03 | +/-4 pi rad | +/-20 rad/s | +/-60 Nm | 0..5000 | 0..100 |
| RS04 | +/-4 pi rad | +/-15 rad/s | +/-120 Nm | 0..5000 | 0..100 |
| RS05 | +/-4 pi rad | +/-50 rad/s | +/-5.5 Nm | 0..500 | 0..5 |
| RS06 | +/-4 pi rad | +/-50 rad/s | +/-36 Nm | 0..5000 | 0..100 |
| EL05 | +/-4 pi rad | +/-50 rad/s | +/-6 Nm | 0..500 | 0..5 |
Installation
Install the package in the src directory of a workspace for one of the
File truncated at 100 lines see the full file
CONTRIBUTING
|
robstride_ros2 repositoryrobstride_driver robstride_examples robstride_ros2 robstride_ros2_control |
ROS Distro
|
Repository Summary
| Checkout URI | https://github.com/s2015-turtle/robstride_ros2.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-08-29 |
| Dev Status | MAINTAINED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| robstride_driver | 0.1.2 |
| robstride_examples | 0.1.2 |
| robstride_ros2 | 0.1.2 |
| robstride_ros2_control | 0.1.2 |
README
robstride_ros2
An unofficial, community-maintained ROS 2 ros2_control hardware component for
RobStride actuators using the RobStride private CAN protocol.
CAN frames are exchanged through can_msgs/msg/Frame topics. The core packages
depend on can_msgs and do not require a specific SocketCAN bridge.
This project is not affiliated with or endorsed by RobStride. The protocol and
model profiles were checked against the English manuals in RobStride’s official
Product_Information
repository. A Japanese README is available as
doc/README.ja.md.
Features
- One
ros2_controlSystemInterface for multiple actuators on one CAN bus - Position, velocity, and effort command interfaces for every joint
- Different command modes for different motors at the same time
- Model profiles for RS00, RS01, RS02, RS03, RS04, RS05, RS06, and EL05
- Motor feedback for position, velocity, torque, temperature, and faults
- Startup parameter readback and motor-enable confirmation
- Feedback timeout handling and repeated stop commands during shutdown
- A nonzero motor-side CAN watchdog configured on every activation
Package structure
The repository contains four ROS 2 packages:
| Package | Responsibility |
|---|---|
robstride_driver |
Private protocol and can_msgs topic transport |
robstride_ros2_control |
ros2_control Hardware Component |
robstride_examples |
Motor-profile Xacro, controller configuration, and example launch |
robstride_ros2 |
Installs the complete set of packages |
The plugin identifier robstride_ros2/RobStrideSystem remains compatible with
existing robot descriptions.
CAN bridge compatibility
robstride_driver and robstride_ros2_control communicate only through
can_msgs/msg/Frame topics. They can be used with any CAN bridge that provides
compatible transmit and receive topics.
robstride_examples is the only package that directly depends on
ros2_socketcan, because
its example launch starts that bridge. The aggregate robstride_ros2 package
installs the examples as well. To install only the bridge-independent Hardware
Component and driver, build through robstride_ros2_control:
colcon build --packages-up-to robstride_ros2_control --symlink-install
Supported ROS 2 distributions
The same source branch targets all currently supported ROS 2 distributions. CI is configured to build and test every row independently with its Tier 1 Ubuntu platform.
| ROS 2 distribution | Ubuntu |
|---|---|
| Humble | 22.04 (Jammy) |
| Jazzy | 24.04 (Noble) |
| Kilted | 24.04 (Noble) |
| Lyrical | 26.04 (Resolute) |
| Rolling | 26.04 (Resolute) |
No distribution-specific source branch is required.
Rolling follows current upstream development and can introduce incompatible API changes before the next stable ROS 2 release. The Rolling CI job is the compatibility signal for the exact source revision being tested.
Protocol and firmware assumptions
This package uses the 29-bit extended-frame private protocol documented in the official RobStride manuals. The motor must therefore be configured for the private protocol, not CANopen or the separate 11-bit MIT protocol. The listed EL05 and RS-series profiles use the common command and feedback formats defined in those manuals.
The profile limits below are the ranges used to encode and decode CAN values, not recommended mechanical operating limits. Apply tighter joint, velocity, and effort limits in your robot description when required.
| Model | Position | Velocity | Torque | Kp | Kd |
|---|---|---|---|---|---|
| RS00 | +/-4 pi rad | +/-33 rad/s | +/-14 Nm | 0..500 | 0..5 |
| RS01 | +/-4 pi rad | +/-44 rad/s | +/-17 Nm | 0..500 | 0..5 |
| RS02 | +/-4 pi rad | +/-44 rad/s | +/-17 Nm | 0..500 | 0..5 |
| RS03 | +/-4 pi rad | +/-20 rad/s | +/-60 Nm | 0..5000 | 0..100 |
| RS04 | +/-4 pi rad | +/-15 rad/s | +/-120 Nm | 0..5000 | 0..100 |
| RS05 | +/-4 pi rad | +/-50 rad/s | +/-5.5 Nm | 0..500 | 0..5 |
| RS06 | +/-4 pi rad | +/-50 rad/s | +/-36 Nm | 0..5000 | 0..100 |
| EL05 | +/-4 pi rad | +/-50 rad/s | +/-6 Nm | 0..500 | 0..5 |
Installation
Install the package in the src directory of a workspace for one of the
File truncated at 100 lines see the full file
CONTRIBUTING
|
robstride_ros2 repositoryrobstride_driver robstride_examples robstride_ros2 robstride_ros2_control |
ROS Distro
|
Repository Summary
| Checkout URI | https://github.com/s2015-turtle/robstride_ros2.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-08-29 |
| Dev Status | MAINTAINED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| robstride_driver | 0.1.2 |
| robstride_examples | 0.1.2 |
| robstride_ros2 | 0.1.2 |
| robstride_ros2_control | 0.1.2 |
README
robstride_ros2
An unofficial, community-maintained ROS 2 ros2_control hardware component for
RobStride actuators using the RobStride private CAN protocol.
CAN frames are exchanged through can_msgs/msg/Frame topics. The core packages
depend on can_msgs and do not require a specific SocketCAN bridge.
This project is not affiliated with or endorsed by RobStride. The protocol and
model profiles were checked against the English manuals in RobStride’s official
Product_Information
repository. A Japanese README is available as
doc/README.ja.md.
Features
- One
ros2_controlSystemInterface for multiple actuators on one CAN bus - Position, velocity, and effort command interfaces for every joint
- Different command modes for different motors at the same time
- Model profiles for RS00, RS01, RS02, RS03, RS04, RS05, RS06, and EL05
- Motor feedback for position, velocity, torque, temperature, and faults
- Startup parameter readback and motor-enable confirmation
- Feedback timeout handling and repeated stop commands during shutdown
- A nonzero motor-side CAN watchdog configured on every activation
Package structure
The repository contains four ROS 2 packages:
| Package | Responsibility |
|---|---|
robstride_driver |
Private protocol and can_msgs topic transport |
robstride_ros2_control |
ros2_control Hardware Component |
robstride_examples |
Motor-profile Xacro, controller configuration, and example launch |
robstride_ros2 |
Installs the complete set of packages |
The plugin identifier robstride_ros2/RobStrideSystem remains compatible with
existing robot descriptions.
CAN bridge compatibility
robstride_driver and robstride_ros2_control communicate only through
can_msgs/msg/Frame topics. They can be used with any CAN bridge that provides
compatible transmit and receive topics.
robstride_examples is the only package that directly depends on
ros2_socketcan, because
its example launch starts that bridge. The aggregate robstride_ros2 package
installs the examples as well. To install only the bridge-independent Hardware
Component and driver, build through robstride_ros2_control:
colcon build --packages-up-to robstride_ros2_control --symlink-install
Supported ROS 2 distributions
The same source branch targets all currently supported ROS 2 distributions. CI is configured to build and test every row independently with its Tier 1 Ubuntu platform.
| ROS 2 distribution | Ubuntu |
|---|---|
| Humble | 22.04 (Jammy) |
| Jazzy | 24.04 (Noble) |
| Kilted | 24.04 (Noble) |
| Lyrical | 26.04 (Resolute) |
| Rolling | 26.04 (Resolute) |
No distribution-specific source branch is required.
Rolling follows current upstream development and can introduce incompatible API changes before the next stable ROS 2 release. The Rolling CI job is the compatibility signal for the exact source revision being tested.
Protocol and firmware assumptions
This package uses the 29-bit extended-frame private protocol documented in the official RobStride manuals. The motor must therefore be configured for the private protocol, not CANopen or the separate 11-bit MIT protocol. The listed EL05 and RS-series profiles use the common command and feedback formats defined in those manuals.
The profile limits below are the ranges used to encode and decode CAN values, not recommended mechanical operating limits. Apply tighter joint, velocity, and effort limits in your robot description when required.
| Model | Position | Velocity | Torque | Kp | Kd |
|---|---|---|---|---|---|
| RS00 | +/-4 pi rad | +/-33 rad/s | +/-14 Nm | 0..500 | 0..5 |
| RS01 | +/-4 pi rad | +/-44 rad/s | +/-17 Nm | 0..500 | 0..5 |
| RS02 | +/-4 pi rad | +/-44 rad/s | +/-17 Nm | 0..500 | 0..5 |
| RS03 | +/-4 pi rad | +/-20 rad/s | +/-60 Nm | 0..5000 | 0..100 |
| RS04 | +/-4 pi rad | +/-15 rad/s | +/-120 Nm | 0..5000 | 0..100 |
| RS05 | +/-4 pi rad | +/-50 rad/s | +/-5.5 Nm | 0..500 | 0..5 |
| RS06 | +/-4 pi rad | +/-50 rad/s | +/-36 Nm | 0..5000 | 0..100 |
| EL05 | +/-4 pi rad | +/-50 rad/s | +/-6 Nm | 0..500 | 0..5 |
Installation
Install the package in the src directory of a workspace for one of the
File truncated at 100 lines see the full file