So I searched but couldn’t find this question answered anywhere else.
Is there a way to inverse the victor commands at declaration of the motor? By which I mean as the motors go on there’s a possibility that a motor command of 1 makes it go backward when it comes to driving the robot. Am I stuck modifying the motorcommand during processing or is there an overloaded way during declaration to tell the robot that motor is backwards?
Yea, I’m referring to an individual basis. Right now we’re just doing Motor->Set(-MotorCommand) for the ones that are backwards. Just seems like there should be a more elegant solution.
Yes unfortunately, the myRobot.SetInvertedMotor(myRobot.kRearLeftMotor, true) function only handles all the motors for the RobotDrive class. If you have an individual motor for an arm or shooter, for example, I can’t find an equivalent “Inverse” function in the WPI library. In our code, we have encapsulated individual motors into a PIDMotor class and provided our own “Inverse” function. There are many quick and dirty ways to do this. One of them is:
When calling the SetSpeed(speed) of a motor, you can do SetSpeed(speed*ARM_MOTOR_INVERSE) where ARM_MOTOR_INVERSE is defined as either -1.0 or 1.0.