I'm currently working on the iRobot Create 2 platform using a RaspberryPi (Python) and ROS. I have an indoor navigation/ GPS system, which can provide me with x,y coordinates within its coordinate system. I have thus far implemented a Kalman filter in MATLAB for practice and now am trying to implement on the Create. I also have an IMU but haven't yet implemented that.
I'm currently trying to figure out how to subscribe to the topics from the Marvelmind indoor nav system (but that's a different issue).
My Kalman filter is using [x, y, xdot, ydot], and I believe those should be in the global frame (which I'm taking to be the coordinate system provided by the Marvelmind indoor nav system). That being the case, I can easily get my x and y position from that system; however, I'm not sure what to do about the xdot and ydot. Currently, I have that information from the Create odometry (Twist msgs), but those are in the local frame (since the robot can only go in the x (forward) direction and can't go in y (side to side)). Do I need to transform the local to the global? If yes, do I need to use the IMU to get the angle to use for the transformation?
I feel like I have many pieces, but I'm just not sure how to piece them together. Any advice would be appreciated. Thank you!