Skip to main content
Share Your Experience: Take the 2024 Developer Survey

New answers tagged

1 vote

How to Configure a PID controller Yaml file in ROS2_Control

See this section: You have to use type: pid_controller/PidController. (I have to admit, this could be documented clearer). ...
Christoph Froehlich's user avatar
0 votes
Accepted

Difference between "ParamListener" and "auto_declare" when initialising parameters in ros2_control

ParamListener is needed if the generate_parameter_library is used, the example you have linked just don't use it and the parameters are handled (and declared) ...
Christoph Froehlich's user avatar
0 votes

Wrapping a TCP socket with ROS2 or DDS

Afaik there is no best-practics for TCP with ros2_control. But there exist some ROS implementations as you might have found already (ROS 1) https://github.com/pcdangio/ros-driver_tcpip
Christoph Froehlich's user avatar
0 votes

Issue with low odometry publish rate in ROS 2 Foxy

Be aware that Foxy is EOL since quite a long time now. Why exactly do you have to use it? Some ideas: What is the update rate of the controller_manger? This is the general upper limit. If you ...
Christoph Froehlich's user avatar
0 votes

Sending values to the hardware interface from a subscriber

You don't need to write a subscriber creating an instance of your hardware component. Instead, the controller_manager is loading the hardware component plugin for you. Have you had a look at the demos ...
Christoph Froehlich's user avatar
0 votes

ros2_control hardware interface: where in the lifecycle should I wait for hardware initialization?

See our tutorial here: Usually you would do this in the on_configure() method.
Christoph Froehlich's user avatar
1 vote

Hardware Component stops writing after ~25 seconds. Also initiates with extremely high values

Summary from the discussion in the comments above: The calls of the serial library in the write() method blocks the execution (depending on the update rate of the controller_manager earlier or later) <...
Christoph Froehlich's user avatar
0 votes

URDF seems to be not genuine when running with ros2_control and custom hardware interface

The mesh references in your URDF look for me strange: <mesh filename="file://$(find robot_description)/meshes/base_link.STL"/> Normally mesh ...
Bourumir Wyngs's user avatar
1 vote

URDF seems to be not genuine when running with ros2_control and custom hardware interface

Have you seen that your hardware component cannot be configured? Hardware components do not have an executor or spawn a node. In the failure cases, you call ...
Christoph Froehlich's user avatar
0 votes
Accepted

Holonomic drive in Ros2 using Mecanum Wheels

There is no merged ros2_controller yet in the official repo, but there is a PR for mecanum wheeled robots.
Christoph Froehlich's user avatar
0 votes
Accepted

Planning a single goal with two hardware interfaces with different Joint Trajectory Controllers

JTC from ros2_controllers does not support this out of the box. Depending on your needs, you could write a node with two action clients for the two controllers, and maybe wrap that in an service/...
Christoph Froehlich's user avatar
1 vote

Using and implementing prefixes with ros2-control

Adding on to your original comment, yes all occurrences of the joint need to be replaced, but this can still be done dynamically. When passing your controllers.yaml ...
quescondido's user avatar
0 votes
Accepted

ROS2 Controllers Activation Issues

You have a typo in this line: https://github.com/BobbieZain/inchworm/blob/a99dbb9e8be6a7da9f61fe761fca5e2eefee66f3/urdf2/movement/config/ros2_controllers.yaml#L33 ...
Christoph Froehlich's user avatar
1 vote

Using ROS Driver as Hardware Interface for ros2_control

You will have to write a new hardware component, where you add the code from the repository you've linked. Have a look at this step-by-step guide on how to write hardware components, or the demos with ...
Christoph Froehlich's user avatar
1 vote

ros2_control publishing NaN to /diff_controller/odom

I want to disappear into a hole in the ground. The problem was indeed in the controllers.yaml file and to be specific in this line: wheel_seperation: 1.5 This should have been: wheel_sepAration: 1....
McQueenPC's user avatar
1 vote

ros2_control publishing NaN to /diff_controller/odom

fyi: The parameter wheels_per_side doesn't have any effect and was reduced from iron on (I just saw that there are remnants in the docs, I'll delete it). However, ...
Christoph Froehlich's user avatar
0 votes

executable '[<launch.substitutions.text_substitution.TextSubstitution>]' not found on the PATH

I had the same problem on docker. After downloading xacro, the problem was solved: sudo apt-get install ros-humble-xacro
sys_met's user avatar
0 votes

Separate ros2_control hardware interfaces for the joint's state and command interfaces

Yes, you certainly can do this. For example, see example_14 of the official demos.
Christoph Froehlich's user avatar
1 vote

Failed loading controller

Welcome at RSE. Please take your time to properly format your question the next time. Back to your question: The error means that something is missing with your parameters: The type (under namespace ...
Christoph Froehlich's user avatar
0 votes
Accepted

How to Extend the Reach of Global Path Planning in Nav2 for Large Open Areas?

I fixed the issue by just increasing my global costmap size. I thought the path planner could plan even in unknown spaces setting the track_unknow_space to true on the configuration file. However, ...
Marcus Vinicius's user avatar
0 votes

How do I offset the joint values in ros2_control by a multiple/divisible to account for the gearboxes on my real actuators?

You need to adapt your hardware component to make use of the transmission interface. I wrote some documentation about that recently, but it is not merged yet. See also example_8 on how to use a simple ...
Christoph Froehlich's user avatar
0 votes
Accepted

MoveIt2 with effort_controllers/JointGroupEffortController

The effort_controllers/JointGroupEffortController is not a feedback-controller, it won't maintain the position of the robot. It only forwards the effort to your ...
Christoph Froehlich's user avatar

Top 50 recent answers are included