|
Re: Command Based Auto - Windriver C++ Having trouble to add sequential auto commands
Adding a bit of info to to the above post (I'm one of the mentors on the team)...
It seems to be some sort of scheduling issue. I would have expected the function call order after enabling autonomous from a power turn on to be (roughly):
Robot.cpp -> DroveBaseSub -> AutonomousCommandGroup -> DriveAuto
And each call to DriveAuto (a drive forward, left, or right step for some amount of time) to finish execution before going on to the next step. But, it calls the constructors of all the steps of the command group and then seems to jump to executing the last step in the sequence.
Additionally, it seems run the default DriveBase Susbsystem command (which is our main teleop drive function - reading joysticks and moving the robot). So the real autonomous step is being called periodically back and forth with the default command which are most likely in conflict with what they are command the mech_drive function to do in ping-pong fashion.
I did not expect the default command to get called at all during autonomous.
Those assumptions are based on how we had last year's code - which may or may not be valid. We have also looked at some other team's command based C code and not found any differences in their structure of autonomous calls.
|