Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

PickNik's ros2_controllers

License

NotificationsYou must be signed in to change notification settings

PickNikRobotics/picknik_controllers

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

46 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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

PicknikTwistController

Generic ROS2 controller to forward cartesian twist commands.We plan to land this upstream in ros2_controllers:ros-controls/ros2_controllers#300

Usage

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 startPicknikTwistControllerto forward twist msgs to the hardware's built-in cartesian twist controller.

Note on controllers

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.

PicknikResetFaultController

ROS 2 controller that offers a service to clear faults in a hardware interface

Usage

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

Build status

ROS2 DistroBranchBuild statusDocumentationReleased packages
RollingrollingRolling Binary Build
Rolling Semi-Binary Build
Doxygen Doc Deployment
Generated Doc
picknik_controllers
ROS2 DistroBranchBuild statusDocumentationReleased packages
HumblehumbleHumble Binary Build
Humble Semi-Binary Build
Doxygen Doc Deployment
Generated Doc
picknik_controllers
ROS2 DistroBranchBuild statusDocumentationReleased packages
IronironIron Binary Build
Iron Semi-Binary Build
Doxygen Doc Deployment
Generated Doc
picknik_controllers

Explanation of different build types

NOTE: There are three build stages checking current and future compatibility of the package.

Detailed build status

  1. 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

  2. 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

  3. 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

Stars

Watchers

Forks

Packages

No packages published

Contributors10


[8]ページ先頭

©2009-2025 Movatter.jp