First, we updated the CAD models to reflect recent changes we have made. In the image to the right, the bearing mount for the pull carriage bearing (the right bearing and bearing mount) has been changed to a 3D printed mount instead of the previous mount. This will make it so we have to manufacture less parts and will make it easier to assemble the system.
This week was also a great week for manufacturing! The front and backplates, where the shaft mounts, have been completed. The launch pad (where the bean bag sits) and the launch bearing mount (under the launch pad) have both been 3D printed, the launch bearing has been fit into the launch bearing mount, and the launch pad has been mounted onto the bearing mount. The pull carriage was machined, the pull carriage bearing mount was 3D printed, and the pull carriage bearing was fit into the mount. After dealing with some mismeasurements and miscuts (described below), temporary 80-20 was obtained, and the launch system was assembled, as seen in the picture to the right. Finally, surgical tubing was added and we were able to test-launch some beanbags!
The final mechanical succcess was a test launch! Using our launch system, we launched a beanbag a reasonable distance.
Electrical progress was made on two fronts; the chassis drive system and the pull-back motor drive system. We received many of the basic components that we need to drive these critical components. We are really hoping to start to test out and tuning our motor controller values. On the chassis front, we were able to figure out the basics of control of wheels. A practice chassis structure was built up with the drive system intact, sadly there was an oversight in getting a power distribution block to safely distribute the battery power between the Arduino board and the motor drivers. So we will not be able to tune the parameters given to the controllers or figure out the best width of the chassis until we find a work around
Part of the requirement for class this week was to implement a sensor to change the motion of an actuator. For our launcher, we have a high torque motor, we are using a automotive window motor, to pull back the carriages. There will be a mechanical trigger that will release the the carriage to sling forward without the resistance of the motor. But to shoot again we will need to tell the motor to reverse direction to go and attach again to the carriage. We are going to signify this reversal action with a binary limit switch. it will sense if or if not the carriage is attached. We have set the basic circuit up and were able to reverse the motor direction on the rising edge of the button press.
Challenges posed by the Bluetooth module we purchased prevented us from making significant progress with the software subsystem. However, we were able to program the launch carriage retractor motor to change direction based on the limit switch sensor it will be integrated with.
We also prototyped an Xbox controller input script in Python to accept teleoperation inputs. This script was validated to receive inputs directly from the controller, and will next be used to provide command signals to the Arduino.
As parts are coming in we are trying to integrate all that we are able to early on. This is so that we can quickly find the things that we have overlooked. The main integration that has occurred is the electrical drive system with the practice chassis. We will work on integrating the launcher with the chassis frame once we have better nailed down the final dimensions of the launcher.
The only mechanical challenge encountered this week was a large one. When the CAD model was changed to be based of a longer and thicker linear shaft, the length of the shaft model was not updated. This resulted in the CAD model being based of a shorter shaft. When the V-Slot was cut, it was too short to mount to the linear shaft backplate and frontplate, as see in the picture to the right. While attempting to fix this, we also found that the T-Nuts we had were too big for the V-Slot.
To fix this, we found some 80-20 that was long enough and used it as a temporary solution. The temporary solution can be seen in the picture of the launch system in the Mechanical Successes section. The permanent solution will be buying correctly sized T-Nuts and some joining plates that fit the V-Slot. The joining plates will join the V-Slot rails seen in the picture to the right.
It has been a bit interesting trying to make sure that we have all the right cable connections. This just takes time and for now, in-ideal solutions.
We ordered a DC motor controller before finalizing the motor that we would use. This resulted in a motor controller that was unable to supply the needed current for the motor. Luckily, we had an extra Jaguar motor controller on hand and were able to use that instead.
The biggest challenge is that to do the basic drive test, we are missing the power distribution blocks. Though these are just giant metal blocks that act as a conductor from one source to many branches, it needs to be safely done such that we don't have giant active power rails out in the open. The blocks are on order but might take some time to arrive; so we will need to find a safe workaround for the time being.
After attempting to use four different Python libraries for bluetooth connectivity across three different operating systems for the base station computer, we discovered that the Bluetooth module for Arduino that we ordered does not function well with existing Python tools. This is due to the module using Bluetooth BLE technology, which we learned is primarily used with mobile applications rather than full-scale computers. We were able to establish communication with the Arduino via a third-party BLE scanner, but that application will not allow us to issue commands using an Xbox controller. To rectify this issue, we have ordered other Bluetooth modules which have been shown to be compatible with the libraries we hope to use. These modules are scheduled to arrive on the 25th of April.
The immediate tasks that need to be completed are finalization of the launch system. To do this, the rack, the pinion, and the stepper motor attached to the pinion need to be mounted to the backplate. To do this, the rack slide mount and the motor mount will need to be machined. Additionally, once the necessary parts are obtained, the launch system will be reassembled with the permanent parts instead of the current temporary solution.
After the launch system is complete, the next tasks for the mechanical system will be to integrate the chassis and the launch system. To do this, we will design a mounting system by testing out a few different mounts, as we have the physical prototypes for the chassis and the launch system. After seeing what works, we will create a CAD Model that combines the launcher and the chassis and make any final changes to the mounting system.
We will focus on building our own power distribution boards, and then driving the chassis tuning the PWM signals given so that the robot does what we intend it to do. We will be testing the driving forward capabilities, broad turn, sharp turn and pivoting capability. Tuning really only occurs because motors do not act the same both forwards and backwards, and there might be a discrepancy in the controllers and motors themselves.
We will get the new Bluetooth modules up and running, test Xbox control pass-through commands to the Arduino via USB, and then port the pass-through to the Bluetooth receiver. At that point, we'll write more functional teleoperation code.