You use the Robot.getTable() in your dashboard extension, which returns a
NetworkTable that you can use to set individual data elements (using putInt(...), putDouble(...), etc).
Then on the robot, you use
SmartDashboard (which, if you look at its source, is basically a thin wrapper around the same NetworkTable as the Robot class returns to the dashboard extension) to retrieve those values. You can also use these classes in the opposite direction. The NetworkTable does the work of transferring the values between the robot and the dashboard and vice versa.
__________________
FRC 2046, 2007-2008, Student member
FRC 1708, 2009-2012, College mentor; 2013-2014, Mentor
FRC 766, 2015-, Mentor