SmartDashboard Auto Choice Issues

Our team is using c++ and has been trying to get the auto chooser working on SmartDashboard, but we have been having issues. Once we enable the robot, more empty auto choices appear on SmartDashboard and the auto doesn’t run properly. Here is a snippet of our Robot.cpp code:

void Robot::RobotInit() {
	auto_choice.AddDefault("Timed Drive Forward (default)", new AutoTimedDrive());
	auto_choice.AddObject("Encoders Drive Forward", new AutoEncodeDrive());
	frc::SmartDashboard::PutData("Auto Modes", &auto_choice);
}

void Robot::AutonomousInit() {
	auto_command.reset(auto_choice.GetSelected());

	if (auto_command.get() != nullptr) {
		auto_command->Start();
	}
}

void Robot::AutonomousPeriodic() {
	if (auto_command.get() != nullptr){
		frc::Scheduler::GetInstance()->Run();
	}
}

And here is a snippet of our Robot.h code:

private:
	void RobotInit() override;
	void AutonomousInit() override;
	void AutonomousPeriodic() override;
	void TeleopInit() override;
	void TeleopPeriodic() override;
	void TestPeriodic() override;
	void DisabledInit() override;
	void DisabledPeriodic() override;

	void Log();

	std::unique_ptr<frc::Command> auto_command;
	frc::SendableChooser<frc::Command*> auto_choice;

Finally, we’ve also been having difficulties pulling data from the SmartDashboard, and when we try to pull out a random number or string we only get the default value (second argument in the GetNumber/GetString function).