Controller Node - AtlasBuggy/BabyBuggyROS Wiki

Dead Reckoning

To Run

Run rosrun controller controller_node

Subscribed Topics

/amcl_pose, PoseWithCovarianceStamped

/odom, Odometry

/wheel_vel, Float64

/ch3, UInt16

Published Topics

/steering_angle, Float64

Details

The controller node is the primary control scheme on BabyBuggy. It relies on getting a pose estimate in some global world frame, which in this case is the map frame given from /amcl_pose. Further, internally, the node contains a list of waypoints that it aims to reach. To do so, it calculates a steering angle using a method known as Pure Pursuit, which you can read more about here. This steering angle is published to /steering_angle, which is used by another node to directly control the linear actuator.