Package Summary

Tags No category tags.
Version 0.0.0
License Apache License, Version 2.0
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/nasa/astrobee.git
VCS Type git
VCS Version master
Last Updated 2024-03-02
Dev Status UNMAINTAINED
CI status No Continuous Integration
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

Calls the GNC simulink auto-generated control code, and passes inputs and outputs to and from ros messages.

Additional Links

No additional links.

Maintainers

  • Astrobee Flight Software

Authors

  • Astrobee Flight Software

\page ctl Control (CTL)

The control subsystem takes the pose from the EKF, as well as control commands, to determine the forces and torques that should be applied to the robot for smooth control. If executes the given segment based on a trajectory given by the choreographer, the fault checking on the execution is done in the choreographer based on the feedback.

The layout of this module is a bit complicated for historical reasons--- the ctl_nodelet is a thin wrapper to the Ctl class in ctl_ros.h which interfaces between different modules via ROS. The Control class in ctl.h then implements the main underlying functionality.

Inputs

  • gnc/ekf: EKF State from EKF
  • gnc/ctl/control Action. See the Control action specification for details.

Outputs

  • gnc/ctl/command: The force and torque commanded by control.
  • gnc/ctl/shaper: The output from the GNC command shaper, which smooths the control.
  • gnc/ctl/traj: The trajectory that the control subsystem is being commanded to follow.
  • gnc/ctl/segment: The current segment the control subsystem is traversing.
  • gnc/ctl/progress: The progress in executing the current segment.

GNC Control Wrapper behavior

\dotfile ctl_fsm "GNC Control Wrapper finite state machine" width=10cm

  • WAITING: No setpoints sent to the internal Matlab controller.
  • NOMINAL: Waits until the start time for deferred executions, commands the setpoints to the internal Matlab in nominal mode until the desired trajectory is finished.
  • STOPPING: Commands internal Matlab into stopping mode. When the velocity and angular velocity fall under a certain stop threshould, it succeeds.

Modes

The controller internally has four modes: * Idle: No control is present. * Stopping: Position error is calculated based on the delayed current position and the current position. Velocity and acceleration commands are zero. * Nominal: It follows the trajectory given for position, velocity and acceleraion. * Stopped: Position/Attitude error is zero. Control Velocity and acceleration goals are zero.

Enable/Disable Control

In the case a new controller is to be tested, it is possible to enable/disble the current controller using the service gnc/ctl/enable. true will enable the control and false will disable it. If the requested state is the one already active, then the service does not return success.

CHANGELOG
No CHANGELOG found.

Wiki Tutorials

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

No known dependants.

Launch files

  • launch/ctl.launch
    • Copyright (c) 2017, United States Government, as represented by the
      • name [default: ctl]
      • manager [default: ]

Messages

No message files found.

Services

No service files found

Plugins

Recent questions tagged ctl at Robotics Stack Exchange

Package Summary

Tags No category tags.
Version 0.0.0
License Apache License, Version 2.0
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/nasa/astrobee.git
VCS Type git
VCS Version master
Last Updated 2024-03-02
Dev Status UNMAINTAINED
CI status No Continuous Integration
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

Calls the GNC simulink auto-generated control code, and passes inputs and outputs to and from ros messages.

Additional Links

No additional links.

Maintainers

  • Astrobee Flight Software

Authors

  • Astrobee Flight Software

\page ctl Control (CTL)

The control subsystem takes the pose from the EKF, as well as control commands, to determine the forces and torques that should be applied to the robot for smooth control. If executes the given segment based on a trajectory given by the choreographer, the fault checking on the execution is done in the choreographer based on the feedback.

The layout of this module is a bit complicated for historical reasons--- the ctl_nodelet is a thin wrapper to the Ctl class in ctl_ros.h which interfaces between different modules via ROS. The Control class in ctl.h then implements the main underlying functionality.

Inputs

  • gnc/ekf: EKF State from EKF
  • gnc/ctl/control Action. See the Control action specification for details.

Outputs

  • gnc/ctl/command: The force and torque commanded by control.
  • gnc/ctl/shaper: The output from the GNC command shaper, which smooths the control.
  • gnc/ctl/traj: The trajectory that the control subsystem is being commanded to follow.
  • gnc/ctl/segment: The current segment the control subsystem is traversing.
  • gnc/ctl/progress: The progress in executing the current segment.

GNC Control Wrapper behavior

\dotfile ctl_fsm "GNC Control Wrapper finite state machine" width=10cm

  • WAITING: No setpoints sent to the internal Matlab controller.
  • NOMINAL: Waits until the start time for deferred executions, commands the setpoints to the internal Matlab in nominal mode until the desired trajectory is finished.
  • STOPPING: Commands internal Matlab into stopping mode. When the velocity and angular velocity fall under a certain stop threshould, it succeeds.

Modes

The controller internally has four modes: * Idle: No control is present. * Stopping: Position error is calculated based on the delayed current position and the current position. Velocity and acceleration commands are zero. * Nominal: It follows the trajectory given for position, velocity and acceleraion. * Stopped: Position/Attitude error is zero. Control Velocity and acceleration goals are zero.

Enable/Disable Control

In the case a new controller is to be tested, it is possible to enable/disble the current controller using the service gnc/ctl/enable. true will enable the control and false will disable it. If the requested state is the one already active, then the service does not return success.

CHANGELOG
No CHANGELOG found.

Wiki Tutorials

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

No known dependants.

Launch files

  • launch/ctl.launch
    • Copyright (c) 2017, United States Government, as represented by the
      • name [default: ctl]
      • manager [default: ]

Messages

No message files found.

Services

No service files found

Plugins

Recent questions tagged ctl at Robotics Stack Exchange