-
Notifications
You must be signed in to change notification settings - Fork 5
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #307 from QUT-Motorsport/composition+msgs
Composition overhaul
- Loading branch information
Showing
53 changed files
with
2,055 additions
and
3,491 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
2 changes: 1 addition & 1 deletion
2
...ommon/driverless_msgs/msg/WSSVelocity.msg → ...on/driverless_msgs/msg/Float32Stamped.msg
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,2 @@ | ||
std_msgs/Header header | ||
float32 velocity | ||
float32 data |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
std_msgs/Header header | ||
int32 data |
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
2 changes: 1 addition & 1 deletion
2
src/control/velocity_controller/config/velocity_controller.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
66 changes: 66 additions & 0 deletions
66
src/control/velocity_controller/include/component_velocity_controller.hpp
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,66 @@ | ||
#ifndef VELOCITY_CONTROLLER__COMPONENT_VELOCITY_CONTROLLER_HPP_ | ||
#define VELOCITY_CONTROLLER__COMPONENT_VELOCITY_CONTROLLER_HPP_ | ||
|
||
#include <iostream> | ||
|
||
#include "ackermann_msgs/msg/ackermann_drive_stamped.hpp" | ||
#include "driverless_common/common.hpp" | ||
#include "driverless_msgs/msg/float32_stamped.hpp" | ||
#include "driverless_msgs/msg/state.hpp" | ||
#include "rcl_interfaces/msg/set_parameters_result.hpp" | ||
#include "rclcpp/rclcpp.hpp" | ||
|
||
using std::placeholders::_1; | ||
|
||
namespace velocity_controller { | ||
|
||
class VelocityController : public rclcpp::Node { | ||
private: | ||
float Kp_ = 0; | ||
float Ki_ = 0; | ||
float max_integral_torque_ = 0; | ||
float histerisis_kickin_ms_ = 0; | ||
float histerisis_reset_ms_ = 0; | ||
float min_time_to_max_accel_sec_ = 0; | ||
float max_accel_per_tick_ = 0; | ||
|
||
float integral_error_ = 0; | ||
|
||
rclcpp::TimerBase::SharedPtr controller_timer_; | ||
|
||
rclcpp::Publisher<ackermann_msgs::msg::AckermannDriveStamped>::SharedPtr accel_pub_; | ||
rclcpp::Subscription<ackermann_msgs::msg::AckermannDriveStamped>::SharedPtr ackermann_sub_; | ||
rclcpp::Subscription<driverless_msgs::msg::State>::SharedPtr state_sub_; | ||
rclcpp::Subscription<driverless_msgs::msg::Float32Stamped>::SharedPtr velocity_sub_; | ||
|
||
std::shared_ptr<rclcpp::ParameterEventHandler> param_event_handler_; | ||
std::shared_ptr<rclcpp::ParameterEventCallbackHandle> param_cb_handle_; | ||
|
||
const int loop_ms_ = 10; | ||
|
||
// Enable motors logic | ||
driverless_msgs::msg::State::SharedPtr state_ = std::make_shared<driverless_msgs::msg::State>(); | ||
bool motors_enabled_ = false; | ||
bool received_velocity_ = false; | ||
bool received_ackermann_ = false; | ||
|
||
float avg_velocity_; | ||
ackermann_msgs::msg::AckermannDriveStamped::SharedPtr target_ackermann_ = | ||
std::make_shared<ackermann_msgs::msg::AckermannDriveStamped>(); | ||
float prev_accel_ = 0; | ||
|
||
public: | ||
VelocityController(const rclcpp::NodeOptions& options); | ||
|
||
void update_parameters(const rcl_interfaces::msg::ParameterEvent& event); | ||
|
||
void ackermann_callback(const ackermann_msgs::msg::AckermannDriveStamped::SharedPtr msg); | ||
void velocity_callback(const driverless_msgs::msg::Float32Stamped::SharedPtr msg); | ||
void state_callback(const driverless_msgs::msg::State::SharedPtr msg); | ||
|
||
void controller_callback(); | ||
}; | ||
|
||
} // namespace velocity_controller | ||
|
||
#endif // VELOCITY_CONTROLLER__COMPONENT_VELOCITY_CONTROLLER_HPP_ |
57 changes: 0 additions & 57 deletions
57
src/control/velocity_controller/include/node_velocity_controller.hpp
This file was deleted.
Oops, something went wrong.
Oops, something went wrong.