These are the show I watched in the past 2 weeks to get ideas for the robot personality, appearance concepts, and the overall world for O.U.R.S..
This is the nearest concept to what I have in mind, from the robot characteristic, appearance, to the overall concept. the Lab scene, the destroyed appearance is what i could reference on and I really like it.
The personality of KVN(Kevin, the round robot) of this show got some really interesting personality, it is really irritating and have some sense of self realization that it is easily replaceable was really cool.
watched to get a general sense of a cyberpunk theme(which is the world O.U.R.S was placed in) really cool technological stuffs here and the city was really well made.
Dragon + Robot, quite cool, except for the fact that the anime was good, there was nothing much for me to reference here.
classic, robotic sound can create emotions too, simple movement and eye from the robot could say alot.
it is just an action movie with robot, nothing much here.
current Art Direction for explorer 27:
Friendly, empathy, not industry looking, not intimidating.
BY 26 OCT :
unity + touchscreen control master arduino
read book (I robot – Isaac Asimov)
By 9th nov:
drawing for concept
head model (maybe)
Further Research Done:
“Mobile Robot Planning to Seek Help with Spatially-Situated Tasks
Stephanie Rosenthal and Manuela Veloso
Computer Science Department
Carnegie Mellon University
Pittsburgh, PA 15213”
the three laws of Robotics:
1) A robot may not injure a human being or, through inaction, allow a human being to come to harm.
2) A robot must obey orders given to it by human beings except where such orders would conflict with the First Law.
3) A robot must protect its own existence as long as such protection does not conflict with the First or Second Law.
Sounds really awesome isnt it, of course, there are situations that the robot will be forced to break these law, but again…. what if a robot is made to go against the first 2 law?
1) A robot may lightly injure a human when required to get the task done. 2) A robot may not obey all orders given to it by human beings. 3) A robot must protect its own existence and continue to execute the first and second law.
sounds really funny to me, doomsday robot? AHAHHAHA! sure, why not? ok maybe not. These laws are still in conceptualizing phase and if it made into the final project, it will be quite funny for those who read or knows the three law of robotics.
What was done until now after the last update?
As of the previous update(the one before the presentation) whereby I’ve construct the wheel and the base structure for the robot, I’ve noticed that the parts get looser and looser even when I tighten all nut and bolt in every connections, that was because of the vibration when i move the structure around. To counter this problem, I’ve dissemble the structure and change all bolt and nuts to self-tighten nuts (Nyloc nut) paired with a spring washer to reduce the rate of it getting loose overtime. As a loose part will get looser overtime through vibration, if this was not done at the early phase(now), it will be a real hassle at the end as I want the robot to have a relative fast parts replacement (so no joints should be joined with permanent solution like super glue) and this solution of the combination of spring washer and Nyloc nut is the most effective solution for its cost(time and money).
Nyloc Nut, to “lock ” the nut prevent slippage of the nut:
Spring washer, to prevent loosening through vibration
LED matrix animation:
The LED Matrix used is 4 x 1088 8 by 8 LED matrix which will be used as the animation for the eye of the robot, it will be attached to an arduino Nano which will be labeled as “Emotion Processing Unit” in this project to give it a more developed feeling to bring it away from the “Arduino = prototype” perception.
The Mecanum wheel is controlled through a 5 wire motor(VCC,GND,PWM,Dir and FG wire) so the motor driver was not required and I could wire them directly to an arduino. all the code was stored and run through an Arduino Uno whereby the main switch to control the motors were linked to a relay for the motor circuit. As mecanum wheel move unlike a normal wheel, special codes were used to move the robot in any direction without changing the orientation.
Master-Slave Arduino System
There is a function of Arduino that is called the master and slave relationship, whereby a master arduino could communicate with other arduinos(up to 52) through just two analog pin (A4 and A5), this is really helpful for my robot as there was the saying of “Do not put all the egg in a basket” and this function will ease my repair if any parts gets faulty during the FYP show, I could just switch out the problematic parts without re-wiring the WHOLE 5 bazillion wire connections. Also, Arduino is a single thread micro-controller(it can only do one task at a single moment) so by splitting up different processing requirement into different arduino, I could run multiple thread without any lags between them. Finally for the upside of a Master-slave system, it is simply to solve the problem of hardware problem of the limited digital pins each arduino have(more arduino = more pins I could utilize without having more parts/coding like using a I2C Address chip.
Things are getting technical here…
The Wiring Diagram, as messy as it looks but in normal language, a Master Arduino is controlled by a clickable analog stick (mode 1 to move, mode 2 to rotate), the data is processed and sent over through Analog Pin 4 & 5 to the MPU and EPU which “Movement Processing Unit(MPU)” that controls all the movements of the motor and “Emotion Processing Unit(EPU) controls the eye Animation on the LED Matrix. All of the Arduinos and motors will be paralleled connected to the 12V battery supply to power them up.
when using the program that was provided, the lidar works perfectly, but since I am going to use it in Unity, there are problems as Unity runs on C#(a programming language) while the SDK(Software Development Kit) runs in C++, although it is not impossible to write a bridge between the 2 language or write another code in C# to use the Lidar directly in unity, it was out of my capabilities to do so after trying for a week, and while researching for how to do it, i came across another Lidar that provided the Unity codes, however the code does not work on the current lidar I have……
SO, simple solution to this problem, either i ditch the idea of using a lidar OR I buy the Lidar with the Unity code and I put the current Lidar I have for sale online (at higher price than I bought it of course.) And of course, I chosed the 2nd option, to sell the one I have and buy the other 1 that provide a unity code. Carousell, my best friend.
Project update since the previous post, I decided to shift my focus of the project from ” To build a set of robots that help our FYP Show” to “To build a system that help our FYP show”. The Basic direction and everything is still the same whereby I will still be building the robots for user interactions, but instead of only focusing just on the robots which I feel does not match up to the true potential of this project, I think this project will be about trying to make the FYP show slightly better for us and the robot itself will be just one of the many aspect within the whole system.
Yes, maybe it doesn’t matter because the project will be the same and the only thing that changed was the way that I look at this project but I think this is really important for me because depending on how I look at the project, the course of developing this project will change later on. Instead of narrowing my focus onto just the robot and become fixated into trying to create the perfect robots, I should look at the bigger picture and maybe sacrifice some aspect of these robot and use the time and resources into other aspect of the project like the interactivity of the system, my booth, or even overall branding of my FYP. (yes, branding is not important in FYP, but always good to have. I should consider about branding from now on since I may use it at the end and this kind of thing will not be achievable in the last minute consideration. *atleast for me, I know I am not smart enough to package thing nicely at the end.*)
Edit: After a week of thinking about branding, I came up with a “Company” name as I thought It will be more interesting to have a “Company” so I could revolve my FYP around it.
Initial Concept Generations(Branding):
At the start I was playing out with Company Name Generator to find interesting names, then I came across something like ApolloRobots, Apollo was from Greek mythology and I thought to myself…”Is there a god for creativity?”
And, I found Hephaestus.
According to Wiki *I know this is not a place for doing research, but it is fast place to understand a concept or who someone is.*
“Hephaestus is the Greek god of blacksmiths, metalworking, carpenters, craftsmen, artisans, sculptors, metallurgy, fire, and volcanoes.
As a smithing god, Hephaestus made all the weapons of the gods in Olympus. He served as the blacksmith of the gods, and was worshipped in the manufacturing and industrial centers of Greece, particularly Athens. The cult of Hephaestus was based in Lemnos. Hephaestus’ symbols are a smith’s hammer, anvil, and a pair of tongs.”
As I want to use my project as a tool for all student to have better exposure and the first object that I think about tool is hammer. There I have it, “Hephaestus Hammer”
It was at this point that I figured out that the suitability of the name and logo is really Important, “Hephaestus Hammer”sounded too aggressive and it is not what I intend to do, Unless I intend to make military robots, which I am not. So I changed “Hephaestus Hammer” to “Hephaestus Systems” and the colour scheme from gradient which is really hard to control during printing so I also changed it to flat colours. The reason I switched orientation of tilt was because the H within the logo seemed heavier than the S partly due to the extension of the H below the base line while S stopped at the base line, so I change the tilt orientation to make it more visually pleasing.
So, after I’ve generate my initial idea of company name and logo, I proceed to develop my idea generation for a better overview of what kind of feeling i want to achieve in the robots which I may build.
as for this past 2 weeks, I had been visiting ADM library to look for inspiration for my FYP in terms of artistic and styling for the overall look and feel for my project, and I found out that the illustration book of movies from Pixar really inspired me.
I’ve also joined many DIY robots groups in the past 2 weeks, these people in there are really helpful and does really amazing projects, the amount of effort they put into their project were astonishing and because most of them treat it as a hobby, I can see their enthusiasm in it.
Like this, they are all really willing to share their incomplete projects and technologies if I asked, more often than not, they will reply! Afterwhich, I did a google search…. https://www.adafruit.com/product/870
to my surprise, I found out that I already have this exact 8×8 matrix somewhere in my toolbox, maybe I should make use of these wonderful object which I did not previously know how beautiful they are and the outcome will be more than what it appeared to be. (look at this 8×8 matrix as a component = boring. Put it in a cool looking helmet and make it blink like an eye = SUPER AWESOME! )
Kid’s controlled cars (cheap, heavy duty, comes with battery and remote), the size of these small vehicles will be really great for my project and it could easily carry the weight of the robot, maybe around 10kg and still move around efficiently. Furthermore the stability of it appears to be really good for it’s size.
These wonderful wheels move really well and when built and code properly, I really like these and it could even go side way and look way too cool. The reason they work this way is because each wheel could rotate in 4 directions (front back left right) and as a bonus fact, since their axis of rotation will not change while the direction changes, the stability of these wheels will be really incredible.
Like A tank, they usually have low speed(which is what I need) and also really high in stability, however the downside is the power efficiency unless I purchase a really good track which will be rather expensive, so unless really required, I will probably not go with this.
Computer + screen system:
I will Probably go for one or two these systems depends on availability, the base line here will be that it will all be the same system as I would prefer to create one app for all 3 robots rather than different apps due to the different system used.
1- CPU with a normal monitor upgraded with touchscreen interface.
This is probably the most cost saving, but the logistic and power consumption seemed to be a problem (unless I use energy saving computer or mini computer, will do more research about this)
2- CPU with a touchscreen monitor.
Probably not this as a basic touchscreen monitor will be really expensive.(easily 800 and up, and I need 3 at minimum )
3- CPU with a tablet modified into a touch screen monitor.
More research need to be done in this system, probably the hardest of all options due to the technical difficulties to modify (software and hardware) the tablet and also finding a cheap and good tablet with well documented modification will be challenging.
4- Refurbished touchscreen laptops.
This is really a good choice due to power efficiency and I will also save on CPU
5- Windows based Tabletsthat supports output like HDMI and USB.
Alike the touch screen Laptop, this will be really similar, except that sometimes I dont really need a keyboard and touchpad as it is touchscreen.
continuation from the previous part 2 post with some new ideas after the talk about the past FYP showcase from Assoc Prof Laura Miotto, I’ve been inspired to do something that focuses solely on the showcase, since the showcase will mark the end ADM life of all current year 3, I would like to do something for many of the peers that would enhance student’s FYP showcase capability as well as the visitor’s experience of the visit.
As the founder of Kimchi and Chips, Elliot Woods asked during the Emergent Visions Symposium,
“What is the work that only I can make?”
This question hit me like Tiger Woods golf clubbed me in the head…
Yes, what is the work that only I can make in this coming FYP showcase?
back to my first post, I’ve already know what my strength is at this point of time, I would really want my FYP to have an impact on others, why not use my strength into making other’s FYP presentation to potentially having slightly more possibility? Wouldn’t that be great?!
so, this will be an idea which I know that I would enjoy spending a year to complete.
A set of robots(3 to 6) that will display student’s work in complementary of their booth where visitor could get more information(project info/booth location).
Just imagine, every student have their booth while a robot moving around in the FYP show displaying their project on its screen, when a visitor saw it on the screen, got interested and wanted to see the booth, they simply click a “Bring me to this booth” button and the robot will do so. How much more potential exposure will that bring to that student?
And on another aspect viewing this project, what will be realer than an actual application of an FYP project during the FYP show? What the visitor sees is what was actually made specially for that FYP show, if it doesn’t work or spoiled halfway, it simply meant that I did not plan well/have a backup or do a good enough job but there will not be an imaginative scenario where “This FYP was supposed to work in another location” *I am not saying that that kind of project isn’t good, but just what I would not like to do*
Project Brief ver.1-
To design a set of Robots that have the ability to move around while avoiding people/obstacles during the FYP show. The purpose of the Robots is to expand the presentation possibility of student’s project while enhancing the experiences of the visitors. Safety of the people around the robot should be of the utmost importance and under no circumstances whereby injuries caused by the robot should happens.
Project Specification Ver.1 –
Each Robot should have a minimum battery life of 6 hours on single charge.
Every Robot designed should be unique and serves different function.
The Robots should be designed with ease of maintenance system that allows ad hoc repair.
The interface on every Robot will be touchscreen enabled to suit the behavioral characteristic of the targeted user. ( young adult of developed country)
Network between Robots and a Central Hub should be setup to enable a smooth flow of communication and for controls during the exhibition.
Similar Project :
Although it will be really hard to do so, but I aimed to complete a project of this standard but the task which my robot will do is much simpler.
Computational System Research:
There were many considerations made for this aspect of the project, firstly, the Cost and Value Analysis of the system must be made, of course, if money isn’t a problem, then this part would be really easy as I will just get the suitable parts which I need for the FYP, but sadly that isn’t the case… Money is a problem in FYP.
So, how can I maximize the output of my project by using the minimum amount of money? I have to also consider about how strong/fast the system is, and how would I like to have the user interface (touch screen) to be incorporated into the system.
These are the types of computation system which might be possible for my project at reasonable price –
Raspberry Pi 3 –
This is the latest Raspberry Pi 3. It features a 1.2GHz 64-bit quad-core ARMv8 CPU with 802.11n Wireless LAN and Bluetooth 4.1. Like Raspberry Pi 2, it also has 1GB RAM,4 USB ports,40 GPIO pins,Full HDMI port and Ethernet port. This third generation Pi is an excellent tool for hackers, makers and educators because of its small footprint, low power consumption, and low price.
Pi 3 comes with build in WIFI system so that would save me about $30 for WIFI module, output of screen is easy to setup(like a normal computer), runs on Linux system, which I have a slight experience on and as a bonus, I own one of this so that would save me some money too.
Latte Panda –
A LattePanda is a complete Windows 10 single board computer. It has everything a regular PC has and can do anything that a regular PC does. It is compatible with almost every gadget likw printers, joysticks, cameras and more. Any peripherals that work on PC will work on a LattePanda.
In terms of processing strength, completely overpowered Raspberry Pi 3, the price is however much steeper than Pi 3, also as an added bonus, I already own a Lattepanda and I would rather work on Lattepanda over Raspberry Pi as it runs on Windows system and that would save a huge amount of time for me, plus overall it is much faster at processing video and even runs Max MSP(a programming software) which is what I will probably be using. I am sure Latte Panda will be more responsive than Raspberry Pi 3 at the cost of more $$.
Cheap Desktop CPU –
Yes, I praised so much about Lattepanda, but the cheap CPU nowadays is already cheaper than a LattePanda, although bigger,heavier and more power hungry, it is way cheaper than a Lattepanda at relatively same processing power and also, a cheap CPU usually comes with Internal HDD(atleast 128GB) while Lattepanda only has a mere 64GB(minus operating system installed, leaving about 40GB). Best part, Desktop CPU comes with built-in cooling fan, which overheating is a problem for Lattepanda.
*REFURBISH is the word here hence the cheap price*
since I don’t really need a brand new computer to get the job done. This is the normal sized CPU, which is rather big but I am sure it is small enough to be build into a robot.
Second handed/refurb touchscreen laptop –
For me, I think that this is the best system i could think of for now which I will need, firstly, touchscreen laptop meant that I do not need to purchase another separate touchscreen(which is usually really expensive) secondly, it comes with all the benefit of a CPU like cooling fan and such, also, laptop have a additional battery which reduce the load of the power supply, like if the main power supply ran out, there will still be time for the system to send out notification to the control system which then battery could be replaced. lastly, laptop will be slightly lighter and uses lesser power in comparison to a CPU, which make it really good over a normal CPU.
These are really good deal I think, I have been also browsing on carousell to find cheap and well condition touchscreen laptops, will update when I found some.
By having a computer doesn’t meant that this project will work, of course, what I am going to do on the computer is all that matter.
Since I don’t have sufficient knowledge in programming for windows system or app, so I also looked up for some online courses which I think I may follow during the holiday.
Continue from my part 4 of this project updates, This is the final part which leads to the completion and is rather long as many things from getting the power supply, modelling, testing, painting, assembling to coding had been done in the past 2 weeks.
First, the final video of The Curious & Timid Turtle.
And then, into the process….
NEW POWER SUPPLY!!!
At the end of last post, I was waiting for the power supply to reach and it did during these 2 weeks so I’ve tested it out, The one that I bought is a AC-DC converter at 6V 20A when all I needed was 6V 8A, i decided to buy the higher Amp one just if i need more amp in the future, and I could also share the supply to my Interactive device project during the End of sem show.I did some wiring afterwards.
Since the last post that I’ve decided to change the system in the legs to save space and shorten the overall length by stacking a smaller MG90S on the MG966R to act as a lever system to pull control the legs. After testing this system out and seemed to be working, I merged it with the turtle leg that I’ve modeled in Zbrush, I don’t know about Zbrush before this project and it tool a long time just to model the shell, the legs and the feet.
I merged the leg with the previous test “rod-like” leg because I’ve already gotten the dimension in there so i just need to scale the Zbrush modeled leg accordingly to fit the “rod-like” leg.
changing of the entire base layout to reduce size and increase EFFICIENCY for the back legs.
At this point, I was wondering if I should change the MG966R(metal gears) into SG-5010(plastic gears) due to weight issue I might face later after adding the shell and so on, so I weigh the motors and decided that I should change the back leg to SG5010(but I changed it back to MG966R one day before submission due to the internal gears got loose in SG5010)
Major changes were made for whole layout of the base due to various reasons – the backleg will move differently from the front and since my project is basically a turtle with round shell instead of a flat one, it made more sense to use a smaller but higher layout rather than a flatter and wider one to make use of all the space within the shell.
Since my Zbrush was cracked, it crash rather often and I did the same thing over and over if I forgot to save frequently and hence it took quite long to model anything, but well~~
As for the shell… it took so much time and crashes to get it right, because the shell cannot be too thin(unable to print later) and cant be too thick (too heavy) and I cant find a function that could allow me to see the thickness (like reduce opacity of the material to see through), so everytime to check the thickness, I have to export into STL, and import into Tinkercad to check the thickness.
Everytime I made major changes to the shell, I’ll have to import to Tinkercad to check the thickness and shape.
After this, I added a few lines of code to substitute the button pressed with sound sensor to make the turtle more intractable and a few more actions that made it more timid looking (head peeking out to check the environment before the whole body come out.)
Overall, I really liked this project although I kind of regretted trying to make a turtle during the process because the shell is giving a lot of layout and movability problem made me kept thinking that if I were to make something without shell, it will be so much easier, but the reason that I first wanted to make a turtle is the best is because the shell naturally hide all components that break the user’s perception that this is a robot and a turtle is my spiritual animal, now that I finished the project, I am really glad that I sticked to my initial idea of making a turtle and persevere through all the problems I faced(mainly hardware and mechanical problems which I changed my system and design so many times.).
With more time, I am sure that I could code the turtle be able to be scare back into the shell by another sudden loud noise – I tried to change the delay in my code to Millis multiple times and it do every action in the sequence twice so I sticked to using delay for now, which disabled me to write the activation code for using the sound as a trigger since it is in a delay loop. But, it looked really nice for now even if there is only one sequence of movement and I am glad that people were thinking that the turtle is cute when they saw it.
The field of Bio Inspired robots is too wide and I think that we will benefit more by understand the different ways of how we could learn from the nature rather than narrowing the scope down and go deep into one of the sub division of bio-inspired robots.
The File size for the presentation is too large so I screen recorded the presentation in presenter’s view.