- Notifications
You must be signed in to change notification settings - Fork2
PickNikRobotics/picknik_controllers
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Package defining custom controllers that are generic and we want to contribute them into ros2_controllers.The controllers have been prefixed withpicknik_
so that when they eventually land upstream the prefix can be removed and the versions here will become deprecated.
picknik_twist_controller::PicknikTwistController
picknik_reset_fault_controller::PicknikResetFaultController
Generic ROS2 controller to forward cartesian twist commands.We plan to land this upstream in ros2_controllers:ros-controls/ros2_controllers#300
Example of instance withinros2_control
can be found in theconfiguration file.Defined interfaces have to exist within thehardware_interface::SystemInterface
implemented for the robot (e.g. driver).Stop any commanding controller and then startPicknikTwistController
to forward twist msgs to the hardware's built-in cartesian twist controller.
Exclusiveness logic is within the driver, and running joint-based and twist controller at the same time is not possible.Controller Manager (ros2_control
) will try to activate both on request, but the hardware should reject it.
ros2 control switch_controllers --activate streaming_controller --deactivate joint_trajectory_controller
By publishinggeometry_msgs::msg::Twist
to/streaming_controller/commands
, the commands will be piped to the driverand streamed to the robot controller.
ROS 2 controller that offers a service to clear faults in a hardware interface
Example of instance withinros2_control
can be found in theconfiguration file.Interfaces are already hardcoded in thehardware_interface::SystemInterface
implemented for the robot (e.g. driver)
SpawnFaultController
if it is not already spawned
ros2 run controller_manager spawner fault_controller
On the topic/fault_controller/internal_fault
of typeexample_interfaces::msg::Bool
theinformation if robot is currently faulted can be found.
Deactivate all the controllers using robot.
ros2 control switch_controllers --deactivate joint_trajectory_controller gripper_controller
Call the service for resetting the fault (example_interfaces::srv::Trigger
).
ros2 service call /fault_controller/reset_fault example_interfaces/srv/Trigger
Activate controllers to enable robot control.
ros2 control switch_controllers --activate joint_trajectory_controller gripper_controller
ROS2 Distro | Branch | Build status | Documentation | Released packages |
---|---|---|---|---|
Rolling | rolling | Generated Doc | picknik_controllers |
ROS2 Distro | Branch | Build status | Documentation | Released packages |
---|---|---|---|---|
Humble | humble | Generated Doc | picknik_controllers |
ROS2 Distro | Branch | Build status | Documentation | Released packages |
---|---|---|---|---|
Iron | iron | Generated Doc | picknik_controllers |
NOTE: There are three build stages checking current and future compatibility of the package.
Binary builds - against released packages (main and testing) in ROS distributions. Shows that direct local build is possible.
Uses repos file:
$NAME$-not-released.<ros-distro>.repos
Semi-binary builds - against released core ROS packages (main and testing), but the immediate dependencies are pulled from source.Shows that local build with dependencies is possible and if fails there we can expect that after the next package sync we will not be able to build.
Uses repos file:
$NAME$.repos
Source build - also core ROS packages are build from source. It shows potential issues in the mid future.
About
PickNik's ros2_controllers
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
Uh oh!
There was an error while loading.Please reload this page.
Contributors10
Uh oh!
There was an error while loading.Please reload this page.