The Propulsion module for a Roboid is used to move the Roboid in space.
More...
#include <Propulsion.h>
The Propulsion module for a Roboid is used to move the Roboid in space.
Usually, a specific implementation of the propulsion module is used for a robot. This base class does not implement the functions to move the Roboid around.
◆ Propulsion()
Propulsion::Propulsion |
( |
| ) |
|
◆ Update()
void Propulsion::Update |
( |
float |
currentTimeMs | ) |
|
Update the propulsion state of the Roboid.
- Parameters
-
currentTimeMs | The time in milliseconds when calling this |
◆ GetMotorCount()
unsigned int Propulsion::GetMotorCount |
( |
| ) |
|
Get the number of motors in this roboid.
- Returns
- The number of motors. Zero when no motors are present
◆ GetMotor()
Motor * Propulsion::GetMotor |
( |
unsigned int |
motorIx | ) |
|
Get a specific motor.
- Parameters
-
motorIx | The index of the motor |
- Returns
- Returns the motor or a nullptr when no motor with the given index could be found
◆ GetMotorPlacement()
Placement * Propulsion::GetMotorPlacement |
( |
unsigned int |
motorIx | ) |
|
◆ SetTwistSpeed() [1/3]
void Propulsion::SetTwistSpeed |
( |
float |
forward, |
|
|
float |
yaw = 0.0F |
|
) |
| |
|
virtual |
Sets the forward and rotation speed of a (grounded) Roboid.
- Parameters
-
forward | The target forward speed |
yaw | The target rotation speed around the vertical axis This function is typically used for Roboid which are driving on the ground. |
Reimplemented in Passer::RoboidControl::DifferentialDrive.
◆ SetTwistSpeed() [2/3]
void Propulsion::SetTwistSpeed |
( |
Vector2 |
linear, |
|
|
float |
yaw = 0.0F |
|
) |
| |
|
virtual |
Sets the forward, sideward and rotation speed of a (grounded) Roboid.
- Parameters
-
linear | The target linear (forward, sideward) speed |
yaw | The target rotation speed around the vertical axis This function is typically used for Roboid which are driving on the ground which have to ability to move sideward |
Reimplemented in Passer::RoboidControl::DifferentialDrive.
◆ SetTwistSpeed() [3/3]
void Propulsion::SetTwistSpeed |
( |
Vector3 |
linear, |
|
|
float |
yaw = 0.0F , |
|
|
float |
pitch = 0.0F , |
|
|
float |
roll = 0.0F |
|
) |
| |
|
virtual |
Set the target 3D linear and 3D rotation speed of a (flying) Roboid.
- Parameters
-
linear | The target linear speed |
yaw | The target rotation speed around the vertical axis |
pitch | The target rotation speed around the sideward axis |
roll | The target rotation speed around hte forward axis |
Reimplemented in Passer::RoboidControl::DifferentialDrive.
◆ motorCount
unsigned int Passer::RoboidControl::Propulsion::motorCount = 0 |
|
protected |
◆ placement
Placement* Passer::RoboidControl::Propulsion::placement = nullptr |
|
protected |
The documentation for this class was generated from the following files:
- d:/PlatformIO/RoboidControlArduino/src/RoboidControl/Propulsion.h
- d:/PlatformIO/RoboidControlArduino/src/RoboidControl/Propulsion.cpp