The Project BlogProviding updates as I progress through this capstone project.
|
Update 1/31/19
I've done about a week of information gathering regarding the Parallax 360 Bot. My sources included the Parallax site and a previous capstone done back in 2017 by Julio Fuentes. So far some of the parts I will need (based on the project description), include:
- Wifi module: a means of communicating with the bot remotely
- sound impact sensor: performs tasks upon audio reception (ie: voice commands)
- colorPAL: performs tasks based on the colors received by this sensor (bot might already have one)
- an axis joystick: for remote control of the bot
- x2 xBee modules: one for the joystick and one to go in the bot (allows for communication between the joystick and the bot)
- based on volts, bot can distinguish which way the joystick is moving
Update 2/6/19
I've received the bot from Dr. Pankratz and have started assembling. My first goal is to understand each and every part that goes into the bot and understand it thoroughly. This may lead to a longer building time but I think it will prove useful when it comes time to coding it. I've performed research on a few of the pieces so far. I think the most key part will be the xBee modules as it will open the door to a new variety of tasks that can be accomplished with the bot. The sound impact sensor mentioned in the previous post seems to only be able to detect sound not interpret it. It could prove to be useful for making the bot dance or something niche when told to. My goal for this week and the weekend will be to finish assembly and just barely begin programming as I'm working through each piece.
Update 2/13/19
Unfortunately still assembling with the bot, had a bit of a distraction with other classes and then at work. However, I am close to finishing the assembly portion of the bot, and then I can finally move onto coding. I have not gotten to test the wifi module yet as I couldn't find it in the box I took from the lab. I recently remembered that I saw it on a different, already assembled bot. I will have to check with DCP and make sure that it's okay I take it from that other bot.
Update 2/20/19
The bot itself is fully assembled and moving around correctly. I have written some test code to make sure it moves correctly, and used Parallax's calibration programs to set it up. I have started on the requirement of moving to a set destination while avoiding obstacles. I have started writing code in the IDE for the bot however I am having trouble mounting the PING sensor bracket with the 360 servo.
The 360 servo plastic attachment that mounts on the metal mount requires that the screw hole be enlarged with either a drill bit or a box opening knife, essentially. However, too much pressure when trying to create this hole will crack and break the plastic attachment on the servo. I need to get some time with DCP to see how I should approach this without breaking the plastic attachment. I tried using a sharper knife but it seemed ineffective for how hard I was pressing. Again, I didn't want to press too hard and break the plastic servo attachment.
Update 2/26/19
AR-U2 DEEP-2 is moving around and now he's moving around wirelessly! The wifi module has been a huge help as testing his movement while being tethered to a machine has been tedious to say the least. Additionally, I can place an html page that uses in-line javascript to control him. My plan is to have an html page with a joystick of sorts. Press up, he moves forward, press back and he moves backwards and so on.
There has been problems with the PING sensor however. It doesn't detect the distances correctly, I am not sure if I configured it wrong or what. Additionally, I couldn't find any breadboard configuration images for the ActivityBot model so I am not sure if it's just my I/O config that's not correct for the PING sensor. I have the power plugged into a 5V pin, the grounding wire into the GND pin and the I/O wire into one of the I/O pins. Still the ping detects a distance of 0 cm when my hand is right in front of it.
Update 4/11/19
It has been a while since an update here so there will be a lot to cover. I have completely reworked how the bot moves going from that of a limited movement to something similar to that of a car. The user will select to drive (forward), go in reverse or completely stop the machine. This sets a sort of mode variable within the bot's C code. Then in order to move, the user has to push down on the gas. The more the user pushes on the gas, the faster the bot will go. Slow simulates a brake and the turning buttons move the bot left or right, while maintaining it's current direction. Additionally, the bot spits out relevant information about it's current status, the PING distance right now. Currently, I'm tried to work with strings and concatenation from the bot side. When the user presses a button, the bot sends back a response string. Right now, that string only contains the PING distance. The function wifi_print() is what sends that string back to the webpage which it then displays. That functions supports sending multiple variables it just concatenates them together. My problem is parsing that string on the webpage side. So what I've been trying to do is insert a delimiter in between variables so that I can properly parse it within the JavaScript. Luckily, the Simple IDE GCC Compiler contains a lot of popular C libraries such as string.h, stdio.h and so on. Once I have it properly parsed, I can display all kinds of data in the left hand pane.
Update 4/29/19
This will be the final entry in my blog. All files can be found in the resources tab above. This includes program files, web page files, and user manual, with parallax resources. All of these aided me in this project. What has changed from the above image? Not much, I added a speedometer with help from a blog, and instead of the popup window saying when the bot can't move, I added some colored text in the left pane there. Red means it can't move, green means it can. My presentation slides will also be on the resources tab, and some of the extensions on there are worthwhile. Good luck to the future programmer who gets this project. Contact me if something doesn't make sense I'd be happy to help.
This will be the final entry in my blog. All files can be found in the resources tab above. This includes program files, web page files, and user manual, with parallax resources. All of these aided me in this project. What has changed from the above image? Not much, I added a speedometer with help from a blog, and instead of the popup window saying when the bot can't move, I added some colored text in the left pane there. Red means it can't move, green means it can. My presentation slides will also be on the resources tab, and some of the extensions on there are worthwhile. Good luck to the future programmer who gets this project. Contact me if something doesn't make sense I'd be happy to help.