Public Member Functions | Private Attributes | List of all members
rm_gimbal_controllers::BulletSolver Class Reference

#include <bullet_solver.h>

Public Member Functions

void bulletModelPub (const geometry_msgs::TransformStamped &odom2pitch, const ros::Time &time)
 
 BulletSolver (ros::NodeHandle &controller_nh)
 
double getGimbalError (geometry_msgs::Point pos, geometry_msgs::Vector3 vel, double yaw, double v_yaw, double r1, double r2, double dz, int armors_num, double yaw_real, double pitch_real, double bullet_speed)
 
double getPitch () const
 
double getResistanceCoefficient (double bullet_speed) const
 
void getSelectedArmorPosAndVel (geometry_msgs::Point &armor_pos, geometry_msgs::Vector3 &armor_vel, geometry_msgs::Point pos, geometry_msgs::Vector3 vel, double yaw, double v_yaw, double r1, double r2, double dz, int armors_num)
 
double getYaw () const
 
void identifiedTargetChangeCB (const std_msgs::BoolConstPtr &msg)
 
void judgeShootBeforehand (const ros::Time &time, double v_yaw)
 
void reconfigCB (rm_gimbal_controllers::BulletSolverConfig &config, uint32_t)
 
bool solve (geometry_msgs::Point pos, geometry_msgs::Vector3 vel, double bullet_speed, double yaw, double v_yaw, double r1, double r2, double dz, int armors_num, double chassis_angular_vel_z)
 
 ~BulletSolver ()=default
 

Private Attributes

double bullet_speed_ {}
 
Config config_ {}
 
realtime_tools::RealtimeBuffer< Configconfig_rt_buffer_
 
int count_
 
dynamic_reconfigure::Server< rm_gimbal_controllers::BulletSolverConfig > * d_srv_ {}
 
bool dynamic_reconfig_initialized_ {}
 
double fly_time_
 
std::shared_ptr< realtime_tools::RealtimePublisher< std_msgs::Float64 > > fly_time_pub_
 
bool identified_target_change_ = true
 
ros::Subscriber identified_target_change_sub_
 
bool is_in_delay_before_switch_ {}
 
visualization_msgs::Marker marker_desire_
 
visualization_msgs::Marker marker_real_
 
double max_track_target_vel_
 
double output_pitch_ {}
 
double output_yaw_ {}
 
std::shared_ptr< realtime_tools::RealtimePublisher< visualization_msgs::Marker > > path_desire_pub_
 
std::shared_ptr< realtime_tools::RealtimePublisher< visualization_msgs::Marker > > path_real_pub_
 
double resistance_coff_ {}
 
int selected_armor_
 
int shoot_beforehand_cmd_ {}
 
std::shared_ptr< realtime_tools::RealtimePublisher< rm_msgs::ShootBeforehandCmd > > shoot_beforehand_cmd_pub_
 
ros::Time switch_armor_time_ {}
 
double switch_hysteresis_
 
geometry_msgs::Point target_pos_ {}
 
bool track_target_ = true
 

Detailed Description

Definition at line 96 of file bullet_solver.h.

Constructor & Destructor Documentation

◆ BulletSolver()

rm_gimbal_controllers::BulletSolver::BulletSolver ( ros::NodeHandle controller_nh)
explicit

Definition at line 76 of file bullet_solver.cpp.

◆ ~BulletSolver()

rm_gimbal_controllers::BulletSolver::~BulletSolver ( )
default

Member Function Documentation

◆ bulletModelPub()

void rm_gimbal_controllers::BulletSolver::bulletModelPub ( const geometry_msgs::TransformStamped &  odom2pitch,
const ros::Time time 
)

Definition at line 315 of file bullet_solver.cpp.

◆ getGimbalError()

double rm_gimbal_controllers::BulletSolver::getGimbalError ( geometry_msgs::Point  pos,
geometry_msgs::Vector3  vel,
double  yaw,
double  v_yaw,
double  r1,
double  r2,
double  dz,
int  armors_num,
double  yaw_real,
double  pitch_real,
double  bullet_speed 
)

Definition at line 364 of file bullet_solver.cpp.

◆ getPitch()

double rm_gimbal_controllers::BulletSolver::getPitch ( ) const
inline

Definition at line 110 of file bullet_solver.h.

◆ getResistanceCoefficient()

double rm_gimbal_controllers::BulletSolver::getResistanceCoefficient ( double  bullet_speed) const

Definition at line 134 of file bullet_solver.cpp.

◆ getSelectedArmorPosAndVel()

void rm_gimbal_controllers::BulletSolver::getSelectedArmorPosAndVel ( geometry_msgs::Point armor_pos,
geometry_msgs::Vector3 &  armor_vel,
geometry_msgs::Point  pos,
geometry_msgs::Vector3  vel,
double  yaw,
double  v_yaw,
double  r1,
double  r2,
double  dz,
int  armors_num 
)

Definition at line 288 of file bullet_solver.cpp.

◆ getYaw()

double rm_gimbal_controllers::BulletSolver::getYaw ( ) const
inline

Definition at line 106 of file bullet_solver.h.

◆ identifiedTargetChangeCB()

void rm_gimbal_controllers::BulletSolver::identifiedTargetChangeCB ( const std_msgs::BoolConstPtr &  msg)

Definition at line 414 of file bullet_solver.cpp.

◆ judgeShootBeforehand()

void rm_gimbal_controllers::BulletSolver::judgeShootBeforehand ( const ros::Time time,
double  v_yaw 
)

Definition at line 420 of file bullet_solver.cpp.

◆ reconfigCB()

void rm_gimbal_controllers::BulletSolver::reconfigCB ( rm_gimbal_controllers::BulletSolverConfig &  config,
uint32_t   
)

Definition at line 441 of file bullet_solver.cpp.

◆ solve()

bool rm_gimbal_controllers::BulletSolver::solve ( geometry_msgs::Point  pos,
geometry_msgs::Vector3  vel,
double  bullet_speed,
double  yaw,
double  v_yaw,
double  r1,
double  r2,
double  dz,
int  armors_num,
double  chassis_angular_vel_z 
)

Definition at line 151 of file bullet_solver.cpp.

Member Data Documentation

◆ bullet_speed_

double rm_gimbal_controllers::BulletSolver::bullet_speed_ {}
private

Definition at line 135 of file bullet_solver.h.

◆ config_

Config rm_gimbal_controllers::BulletSolver::config_ {}
private

Definition at line 132 of file bullet_solver.h.

◆ config_rt_buffer_

realtime_tools::RealtimeBuffer<Config> rm_gimbal_controllers::BulletSolver::config_rt_buffer_
private

Definition at line 130 of file bullet_solver.h.

◆ count_

int rm_gimbal_controllers::BulletSolver::count_
private

Definition at line 140 of file bullet_solver.h.

◆ d_srv_

dynamic_reconfigure::Server<rm_gimbal_controllers::BulletSolverConfig>* rm_gimbal_controllers::BulletSolver::d_srv_ {}
private

Definition at line 131 of file bullet_solver.h.

◆ dynamic_reconfig_initialized_

bool rm_gimbal_controllers::BulletSolver::dynamic_reconfig_initialized_ {}
private

Definition at line 144 of file bullet_solver.h.

◆ fly_time_

double rm_gimbal_controllers::BulletSolver::fly_time_
private

Definition at line 136 of file bullet_solver.h.

◆ fly_time_pub_

std::shared_ptr<realtime_tools::RealtimePublisher<std_msgs::Float64> > rm_gimbal_controllers::BulletSolver::fly_time_pub_
private

Definition at line 127 of file bullet_solver.h.

◆ identified_target_change_

bool rm_gimbal_controllers::BulletSolver::identified_target_change_ = true
private

Definition at line 142 of file bullet_solver.h.

◆ identified_target_change_sub_

ros::Subscriber rm_gimbal_controllers::BulletSolver::identified_target_change_sub_
private

Definition at line 128 of file bullet_solver.h.

◆ is_in_delay_before_switch_

bool rm_gimbal_controllers::BulletSolver::is_in_delay_before_switch_ {}
private

Definition at line 143 of file bullet_solver.h.

◆ marker_desire_

visualization_msgs::Marker rm_gimbal_controllers::BulletSolver::marker_desire_
private

Definition at line 147 of file bullet_solver.h.

◆ marker_real_

visualization_msgs::Marker rm_gimbal_controllers::BulletSolver::marker_real_
private

Definition at line 148 of file bullet_solver.h.

◆ max_track_target_vel_

double rm_gimbal_controllers::BulletSolver::max_track_target_vel_
private

Definition at line 133 of file bullet_solver.h.

◆ output_pitch_

double rm_gimbal_controllers::BulletSolver::output_pitch_ {}
private

Definition at line 134 of file bullet_solver.h.

◆ output_yaw_

double rm_gimbal_controllers::BulletSolver::output_yaw_ {}
private

Definition at line 134 of file bullet_solver.h.

◆ path_desire_pub_

std::shared_ptr<realtime_tools::RealtimePublisher<visualization_msgs::Marker> > rm_gimbal_controllers::BulletSolver::path_desire_pub_
private

Definition at line 124 of file bullet_solver.h.

◆ path_real_pub_

std::shared_ptr<realtime_tools::RealtimePublisher<visualization_msgs::Marker> > rm_gimbal_controllers::BulletSolver::path_real_pub_
private

Definition at line 125 of file bullet_solver.h.

◆ resistance_coff_

double rm_gimbal_controllers::BulletSolver::resistance_coff_ {}
private

Definition at line 135 of file bullet_solver.h.

◆ selected_armor_

int rm_gimbal_controllers::BulletSolver::selected_armor_
private

Definition at line 139 of file bullet_solver.h.

◆ shoot_beforehand_cmd_

int rm_gimbal_controllers::BulletSolver::shoot_beforehand_cmd_ {}
private

Definition at line 138 of file bullet_solver.h.

◆ shoot_beforehand_cmd_pub_

std::shared_ptr<realtime_tools::RealtimePublisher<rm_msgs::ShootBeforehandCmd> > rm_gimbal_controllers::BulletSolver::shoot_beforehand_cmd_pub_
private

Definition at line 126 of file bullet_solver.h.

◆ switch_armor_time_

ros::Time rm_gimbal_controllers::BulletSolver::switch_armor_time_ {}
private

Definition at line 129 of file bullet_solver.h.

◆ switch_hysteresis_

double rm_gimbal_controllers::BulletSolver::switch_hysteresis_
private

Definition at line 137 of file bullet_solver.h.

◆ target_pos_

geometry_msgs::Point rm_gimbal_controllers::BulletSolver::target_pos_ {}
private

Definition at line 146 of file bullet_solver.h.

◆ track_target_

bool rm_gimbal_controllers::BulletSolver::track_target_ = true
private

Definition at line 141 of file bullet_solver.h.


The documentation for this class was generated from the following files:


rm_gimbal_controllers
Author(s): Qiayuan Liao
autogenerated on Sun May 4 2025 02:57:21