ROS

RVIZ Odometry

Jagbbum 2023. 10. 5. 17:06

Odometry :

오도미터 등의 기기의 측정값으로 움직이는 사물의 위치를 측정하는 방법

 

Ackermann Steering

- 앞 바퀴 2개를 간단한 기계식 구조로 연결

 

Odometry

토픽 : /odom

타입 : nav_msgs/Odometry

rosmsg show nav_msgs/Odometry
std_msgs/Header header
  uint32 seq
  time stamp
  string frame_id
string child_frame_id
geometry_msgs/PoseWithCovariance pose
  geometry_msgs/Pose pose
    geometry_msgs/Point position
      float64 x
      float64 y
      float64 z
    geometry_msgs/Quaternion orientation
      float64 x
      float64 y
      float64 z
      float64 w
  float64[36] covariance
geometry_msgs/TwistWithCovariance twist
  geometry_msgs/Twist twist
    geometry_msgs/Vector3 linear
      float64 x
      float64 y
      float64 z
    geometry_msgs/Vector3 angular
      float64 x
      float64 y
      float64 z
  float64[36] covariance

  

예시

https://gist.github.com/atotto/f2754f75bedb6ea56e3e0264ec405dcf

위의 깃의 코드를 실행하였다.

rostopic list
/odom
/rosout
/rosout_agg
/tf

rostopic info odom
Type: nav_msgs/Odometry

Publishers: 
 * /odometry_publisher (http://localhost:42767/)

Subscribers: None

rostopic echo odom
header: 
  seq: 1
  stamp: 
    secs: 1696492620
    nsecs: 791644096
  frame_id: "odom"
child_frame_id: "base_link"
pose: 
  pose: 
    position: 
      x: 1.22753871382
      y: 2.35266491189
      z: 0.0
    orientation: 
      x: 0.0
      y: 0.0
      z: -0.937822470358
      w: 0.347115274932
  covariance: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
twist: 
  twist: 
    linear: 
      x: 0.1
      y: -0.1
      z: 0.0
    angular: 
      x: 0.0
      y: 0.0
      z: 0.1
  covariance: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]