simulation_node.cpp
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2018 Leo Muhendislik, Leutrim Gruda
3  *
4  * License: Modified BSD Software License Agreement
5  *
6  */
7 
8 
9 #include <ros/ros.h>
10 #include <sensor_msgs/Imu.h>
12 
13 
14 void imuCallback(const sensor_msgs::ImuConstPtr &imu_in)
15 {
16  double d_roll, d_pitch, d_yaw;
17  static double roll, pitch, yaw;
18  static tf::TransformBroadcaster broadcaster;
19  tf::Transform transform;
21  q.setX(imu_in->orientation.x);
22  q.setY(imu_in->orientation.y);
23  q.setZ(imu_in->orientation.z);
24  q.setW(imu_in->orientation.w);
25 
26  tf::Matrix3x3 m(q);
27 
28  m.getRPY(d_roll, d_pitch, d_yaw);
29 
30  roll += d_roll;
31  pitch += d_pitch;
32  yaw += d_yaw;
33 
34  q.setRPY(roll, pitch, yaw);
35 
36  transform.setOrigin(tf::Vector3(0, 0, 0));
37  transform.setRotation(q);
38  broadcaster.sendTransform(tf::StampedTransform(transform, ros::Time::now(), "world", "imu"));
39 }
40 
41 int main(int argc, char *argv[])
42 {
43  ros::init(argc, argv, "simulation");
44  ros::NodeHandle nh;
45 
46  ros::Subscriber imu_sub = nh.subscribe<sensor_msgs::Imu>("imu/data_raw", 10, imuCallback);
47 
48  while (ros::ok())
49  ros::spin();
50 
51  return 0;
52 }
TFSIMD_FORCE_INLINE void setRotation(const Quaternion &q)
Subscriber subscribe(const std::string &topic, uint32_t queue_size, void(T::*fp)(M), T *obj, const TransportHints &transport_hints=TransportHints())
ROSCPP_DECL void init(int &argc, char **argv, const std::string &name, uint32_t options=0)
ROSCPP_DECL void spin(Spinner &spinner)
int main(int argc, char *argv[])
void setRPY(const tfScalar &roll, const tfScalar &pitch, const tfScalar &yaw)
void getRPY(tfScalar &roll, tfScalar &pitch, tfScalar &yaw, unsigned int solution_number=1) const
ROSCPP_DECL bool ok()
void sendTransform(const StampedTransform &transform)
static Time now()
void imuCallback(const sensor_msgs::ImuConstPtr &imu_in)
TFSIMD_FORCE_INLINE void setOrigin(const Vector3 &origin)


dmu_ros
Author(s): Leutrim Gruda
autogenerated on Mon Jun 10 2019 13:05:49