|
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-07-03 |
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
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.
Wiki Tutorials
Launch files
- launch/ctl.launch
- Copyright (c) 2017, United States Government, as represented by the
-
- name [default: ctl]
- manager [default: ]
Messages
Services
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-07-03 |
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
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.
Wiki Tutorials
Launch files
- launch/ctl.launch
- Copyright (c) 2017, United States Government, as represented by the
-
- name [default: ctl]
- manager [default: ]