Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions launch/minimal.launch.py
Original file line number Diff line number Diff line change
Expand Up @@ -49,11 +49,19 @@ def generate_launch_description():
output="both",
)

roboclaw_broadcaster_spawner = Node(
package="controller_manager",
executable="spawner",
arguments=["roboclaw_broadcaster", "--controller-manager", "/controller_manager"],
output="both",
)

nodes = [
ros2_control_node,
robot_state_pub_node,
joint_state_broadcaster_spawner,
robot_controller_spawner,
roboclaw_broadcaster_spawner,
]

return LaunchDescription(nodes)
4 changes: 4 additions & 0 deletions package.xml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,10 @@
<exec_depend>launch</exec_depend>
<exec_depend>launch_ros</exec_depend>
<exec_depend>xacro</exec_depend>
<exec_depend>ros2_control</exec_depend>
<exec_depend>controller_manager</exec_depend>
<exec_depend>diff_drive_controller</exec_depend>
<exec_depend>joint_state_broadcaster</exec_depend>
<exec_depend>roboclaw_hardware_interface</exec_depend>

<test_depend>ament_lint_auto</test_depend>
Expand Down
9 changes: 9 additions & 0 deletions params/roboclaw_controllers.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,18 @@ controller_manager:
joint_state_broadcaster:
type: joint_state_broadcaster/JointStateBroadcaster

roboclaw_broadcaster:
type: roboclaw_broadcaster/RoboClawBroadcaster

diffbot_base_controller:
type: diff_drive_controller/DiffDriveController

# TODO: These are not yet used
roboclaw_broadcaster:
ros__parameters:
publish_rate: 1.0
roboclaw_name: roboclaw # TODO: Handle multiple roboclaw units in same interface

diffbot_base_controller:
ros__parameters:
left_wheel_names: ["left_wheel_joint"]
Expand Down
13 changes: 13 additions & 0 deletions urdf/roboclaw.ros2_control.xacro
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,10 @@
<joint name="left_wheel_joint">
<command_interface name="velocity"/>
<state_interface name="position"/>
<state_interface name="effort">
<!-- effort = motor_constant * current. -->
<param name="motor_constant">1.0</param>
</state_interface>
<param name="address">128</param>
<!--motor types must be one of M1 or M2-->
<param name="motor_type">M2</param>
Expand All @@ -21,12 +25,21 @@
<joint name="right_wheel_joint">
<command_interface name="velocity"/>
<state_interface name="position"/>
<state_interface name="effort">
<!-- effort = motor_constant * current. -->
<param name="motor_constant">1.0</param>
</state_interface>
<param name="address">128</param>
<!--motor types must be one of M1 or M2-->
<param name="motor_type">M1</param>
<!-- Number of encoder ticks per wheel rotation -->
<param name="qppr">51200</param>
</joint>
<gpio name="roboclaw">
<state_interface name="battery_voltage"/>
<state_interface name="battery_percent"/>
<state_interface name="temperature"/>
</gpio>
</ros2_control>

</xacro:macro>
Expand Down