Autonomous Racing  1
f1tenth Project Group of Technical University Dortmund, Germany
chase_cam.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <gazebo/gazebo_client.hh>
4 #include <gazebo/transport/transport.hh>
5 
6 constexpr const char* TOPIC_CAMERA_POSE = "/gazebo/racetrack/user_camera/joy_pose";
7 constexpr const char* TOPIC_GAZEBO_POSES = "/gazebo/racetrack/pose/info";
8 const std::string CAR_NAME = std::string("racer");
9 
10 const ignition::math::Vector3d CAMERA_OFFSET(-1.7, 0, 0.5);
11 
17 class ChaseCam
18 {
19  public:
20  ChaseCam();
21 
22  private:
23  gazebo::transport::NodePtr m_gazebo_node;
24  gazebo::transport::PublisherPtr m_camera_pose_publisher;
25  gazebo::transport::SubscriberPtr m_racer_pose_subscriber;
26 
27  void gazeboPosesCallback(ConstPosesStampedPtr& message);
28  void publishCameraPose(ignition::math::Pose3d& pose);
29  void updateCamera(ignition::math::Pose3d& car_pose);
30 
31  ignition::math::Vector3d m_last_position;
32  ignition::math::Quaterniond m_last_rotation;
33 };
Chase camera Gazebo node that listens to racer pose messages and updates the Gazebo client camera pos...
Definition: chase_cam.h:17
constexpr const char * TOPIC_CAMERA_POSE
Definition: chase_cam.h:6
const ignition::math::Vector3d CAMERA_OFFSET(-1.7, 0, 0.5)
constexpr const char * TOPIC_GAZEBO_POSES
Definition: chase_cam.h:7
const std::string CAR_NAME
Definition: chase_cam.h:8