@@ -23,6 +23,7 @@ import {
2323 StretchTool ,
2424 getStretchTool ,
2525 DiagnosticArray ,
26+ ROSOdometry ,
2627} from "shared/util" ;
2728import {
2829 rosJointStatetoRobotPose ,
@@ -88,6 +89,7 @@ export class Robot extends React.Component {
8889 ) => void ;
8990 private batteryStateCallback : ( batteryState : ROSBatteryState ) => void ;
9091 private occupancyGridCallback : ( occupancyGrid : ROSOccupancyGrid ) => void ;
92+ private odomCallback : ( odom : ROSOdometry ) => void ;
9193 private moveBaseResultCallback : ( goalState : ActionState ) => void ;
9294 private playbackPosesResultCallback : ( goalState : ActionState ) => void ;
9395 private amclPoseCallback : ( pose : Transform ) => void ;
@@ -109,6 +111,7 @@ export class Robot extends React.Component {
109111 ) => void ;
110112 batteryStateCallback : ( batteryState : ROSBatteryState ) => void ;
111113 occupancyGridCallback : ( occupancyGrid : ROSOccupancyGrid ) => void ;
114+ odomCallback : ( odom : ROSOdometry ) => void ;
112115 moveBaseResultCallback : ( goalState : ActionState ) => void ;
113116 playbackPosesResultCallback : ( goalState : ActionState ) => void ;
114117 amclPoseCallback : ( pose : Transform ) => void ;
@@ -121,6 +124,7 @@ export class Robot extends React.Component {
121124 this . jointStateCallback = props . jointStateCallback ;
122125 this . batteryStateCallback = props . batteryStateCallback ;
123126 this . occupancyGridCallback = props . occupancyGridCallback ;
127+ this . odomCallback = props . odomCallback ;
124128 this . moveBaseResultCallback = props . moveBaseResultCallback ;
125129 this . playbackPosesResultCallback = props . playbackPosesResultCallback ;
126130 this . amclPoseCallback = props . amclPoseCallback ;
@@ -254,6 +258,7 @@ export class Robot extends React.Component {
254258 this . subscribeToJointState ( ) ;
255259 this . subscribeToJointLimits ( ) ;
256260 this . subscribeToBatteryState ( ) ;
261+ this . subscribeToOdom ( ) ;
257262 this . subscribeToMode ( ) ;
258263 this . subscribetoJointStateDiagnostics ( ) ;
259264 this . subscribeToActionResult (
@@ -355,6 +360,19 @@ export class Robot extends React.Component {
355360 } ) ;
356361 }
357362
363+ subscribeToOdom ( ) {
364+ const odomTopic : Topic < ROSOdometry > = new Topic ( {
365+ ros : this . ros ,
366+ name : "/wheel_odom" ,
367+ messageType : "nav_msgs/msg/Odometry" ,
368+ } ) ;
369+ this . subscriptions . push ( odomTopic ) ;
370+
371+ odomTopic . subscribe ( ( msg : ROSOdometry ) => {
372+ if ( this . odomCallback ) this . odomCallback ( msg ) ;
373+ } ) ;
374+ }
375+
358376 subscribeToMode ( ) {
359377 const modeTopic : Topic = new Topic ( {
360378 ros : this . ros ,
0 commit comments