You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Our motor controllers will control our motors. We need to control our motors to drive our robot.
Flashing anything to our motor controller(s)
Before we can use our motor controllers for anything, we have to actually be able to flash programs to them. This probably requires using these roboteq ROS packages to communicate with them. Completion Criteria: we can flash a program to the motor controllers.
Writing a useful program for motor controller(s)
Now that we can flash our motor controllers, we need to write a program that can usefully control them. This will probably just require adapting the old code from the Bowser repo, and adjusting it for driving a single motor. Completion Criteria: the motor controllers should be ready to accept data in a format we specify, and turn that data into motor commands.
ROS script to talk to motor controllers
With our motor controllers programmed, now we just need to tell them what to do. A ROS script will open a serial connection to the motor controller(s) (pyserial). Then, it will listen for ROS messages on a specific topic and convert them to commands for the motor controller in whatever format we specified. Completion Criteria: ROS script should receive ROS messages, and convert them into the correct format for motor controller.
Actually controlling motors
All the pieces are in place, now we just need to make sure we can actually control the motors using the stuff from above. Testing this will require that the motor controller be hooked up to a battery and the motor(s). Talk to Dwight first. Make sure the motors aren't actually touching the ground when you do this. Completion Criteria: motors actually move in the expected direction at expected speed. Test through the whole range of speeds, if possible.
Our motor controllers will control our motors. We need to control our motors to drive our robot.
Flashing anything to our motor controller(s)
Before we can use our motor controllers for anything, we have to actually be able to flash programs to them. This probably requires using these roboteq ROS packages to communicate with them.
Completion Criteria: we can flash a program to the motor controllers.
Writing a useful program for motor controller(s)
Now that we can flash our motor controllers, we need to write a program that can usefully control them. This will probably just require adapting the old code from the Bowser repo, and adjusting it for driving a single motor.
Completion Criteria: the motor controllers should be ready to accept data in a format we specify, and turn that data into motor commands.
ROS script to talk to motor controllers
With our motor controllers programmed, now we just need to tell them what to do. A ROS script will open a serial connection to the motor controller(s) (pyserial). Then, it will listen for ROS messages on a specific topic and convert them to commands for the motor controller in whatever format we specified.
Completion Criteria: ROS script should receive ROS messages, and convert them into the correct format for motor controller.
Actually controlling motors
All the pieces are in place, now we just need to make sure we can actually control the motors using the stuff from above. Testing this will require that the motor controller be hooked up to a battery and the motor(s). Talk to Dwight first. Make sure the motors aren't actually touching the ground when you do this.
Completion Criteria: motors actually move in the expected direction at expected speed. Test through the whole range of speeds, if possible.