My team is having problems with our robot’s drivetrain right now. When we try to drive, all our motors (lift, claw) work, but our drivetrain motors struggle. When we try to drive forwards or turn (separate joystick control/arcade), the drive motors move, but barely enough to inch forwards. When we push both our drive forwards and turn joystick either way at the same time, our motors are able to drive.
We don’t think that this is a hardware/friction issue or a wiring issue. All the ports glow red, every wheel has plenty of clearance, they don’t have to overcome much weight (using green motors with a 15:9 ratio), and none of the motors seem warm.
We think that this has something to do with the programming or software. The drive programming should work (nothing was changed recently). I, however updated our blocks code version to 2.3.0 last night. Our robot drove well at the start of the day, but didn’t drive well after we downloaded a change to our programming (and the new version) today.
Has anyone else experienced problems like this with this version? Do we need to update our brain’s software? (not sure what version). We have a tournament this Saturday. Programming is below:
remove those blocks and just assign the drive to the controller.
even if that “sort of” worked in a previous version, telling the drive to move forward/backwards by some amount followed by turning is not such a great way to control the robot.
I already had the joysticks assigned far before now.
Are you saying that I don’t need any code other than just clicking those buttons to assign the joysticks? I’ll try removing those drive blocks.
That is correct. Setting up the controller and motor/motorgroups in the graphic interface generates all the code needed for driver control.
Interesting. Does this work also for all my motor groups and motors besides my drivetrain?
I’m not sure why my drive motors would stop working based on the block programming after downloading a new version, unless the new version changed how some drive programming worked. Is there a way to find a changelog for Vexcode V5 Blocks?
Yes. Any motor assignments (linking a control to a motor) in the Devices window will automatically generate the code. If you add blocks to the “When driver control” primary block it will run those commands at the same time. Any conflicting commands cause problems.
What surprised us in the previous post is that you were using the drive and turn command which specify distance. If you moved the joystick to 50, the robot drove forward 50 millimeters and not at a speed of 50%.
If you want to take advantage of the blocks code then remove the links in the Devices window and use Drivetrain Velocity to control the speed of your robot. Below is an example.
Thanks! I chose to solve this by removing the control code and assigning each motor to their button on the controller in Devices. This worked well afterwards, and not too soon.