I’ve been building robots for some time now and I’ve been always looking for accessible, yet powerful frameworks that would support more complex robot developments. Mostly I have been using Robotis products, lately the XL-320 servos that present a very good value and remarkable functionality in a very compact package.
Recently I have come across Jimu, a very interesting and exciting platform form UBTECH Robotics, geared mostly towards STEM education (in a way similar to the solutions provided by Robotis). What I found quite appealing about this platform is, apart from an even more accessible price, that includes already a number of sophisticated sensors and peripherals – something Robotis’ platform is relatively lacking, despite being around for longer.
What is evident from a first inspection of the company’s website is that the platform is marketed specifically towards the young robot builders. There is very little technical detail or support outside that would be helpful for a more experienced developer or a hacker. This is in significant contrast with the support offered by Robotis that includes massive amount of details about the products’ hardware, software, protocols, and in certain circumstances released the code as open source. That is not the case for UBTECH, at least not for now, but let’s hope this might improve in the future.
Still, given that the platform is promising I decided to get one of the kits and start to find out more things about the products. I have decided for the AstroBot kit as it includes a wider range of items and will provide a good start for a more in depth investigation. An important observation that I think is worth mentioning here is that, at least for the time being, the parts are only sold as pre-packaged kits and you cannot buy individual components (with the notable exception of a 2 pack servo kit). This is a little bit off an oddity, but I think it is just part of the current focus of the company towards the young builders. When I have asked the company if they plan to sell the components individually in the future (they are actually very good at answering the queries) they indicated that they will look into that at one point in time. Let’s hope that would happen soon (guys you’re reading this, yes?) because it would be a shame to let this platform be only for the little ones and not give a chance to the (hmm) more mature children like us to do some more serious stuff with it.
This first post will cover the initial impression about the kit and the contents. The next posts will get into details for each of the important parts and I will try to cover some some of the technical gaps that would be interesting for a maker, including some hacking and peaking under the hood.
When opening the package, the first impression is one of very good attention to the image of the product. The box is luxurious with thick walls and has a flap that secures to the rest of the box using magnets. Really cool.
On the inside flap there is an inventory of the items included in the kit (couriously enough this information is not accessible on the website when looking at the kits, something surely UBTECH should consider to include in the future; so please have a look on the picture bellow if you’re interested to know what’s included in this kit):
In the box the parts are neatly organised in coloured boxes:
You get all the components neatly packed in those boxes. For this first post here are some quick previews of the parts we are interested in:
The controller has five 3 pin connectors for the daisy-chained devices, one 4 pin connector (for some peripheral that I could not figure out for the time being what it is) a 2 pin connector for an on/off switch and another 2 pin connector for an external LED (not sure exactly why they decided to have this is, and I haven’t found a corresponding LED add on that would connect here – but maybe it’s in the making). The battery is a 2S 1200mA LiPo and the nice thing is that the charging logic is built in the controller. This has advantages and disadvantages as charging the battery will have to be in-situ, but on the other hand you don’t need to remove the battery from the robot, something that might be sometimes tricky (and it certainly is in the case of AstroBot) because of the way the battery ends up located for the specific configuration of the robot.
The important thing to notice here, and we’ll come back to this in a later post when I will go into more details about the controller, is that the 3 pin connectors are the same Molex Micro Latch that are used in the Robotis’ XL-320 and I suspect the pin assignments is similar. Check the post on the controller when will be available for more details.
The controller communicates using Bluetooth and at this time the only available software runs on tablets and mobile phones (iOS and Android), understandable due to the target users. What is also different from the controllers from Robotis is that the programs are not transferred to the controller and then executed there, instead the tablet passes the instructions line by line to the controller who operates in a tether mode. This is convenient and can be exploited to produce code that runs on a computer with significant more processing power that will then only pass the commands to the servos or read information from the sensors through the Bluetooth connection. Since the controller uses Bluetooth 3.0 / 4.0 with EDR there is quite a significant bandwidth available. At the moment I could not find any documentation of the protocol used to communicate over Bluetooth, but we’ll try later to hack this.
The servos are very interesting. They use a notch type fixing approach rather than the rivet style of the Robotis XL-320. There are still some holes that support the same rivet connectors (they are also compatible with the LEGO Bionicle), but these are mostly to connect other stuff. The main fixing approach is this tongue and grove, and the producer uses the term “splicing” when referring to the mounting of the servos in the frames.
This mounting approach is very original, and clearly targeted to little builders that would find this more approachable, but also highly versatile as it allows servos to connect is very different positions with very little additional hardware. Of course only time will tell how roboust this form of connectivity is.
Another thing to notice is the fact that the horn of the servo is squared (why nobody thought of that before?). This helps with “splicing” (you can practically connect a servo to another without any additional hardware) but also provides a very simple way for the orientation of the horn as the producer uses 4 different shapes (triangle, circle, star, square) to identify the 4 sides of the horn, thus making it very easy to connect the servo in a specific orientation:
IR sensor (distance measurement)
The kit comes with a DMS sensor IR based that is neatly packed in a case that can be mounted using LEGO style rivets. What’s remarkable about this sensor is that it is a dasy-chained sensor as the servos and several of those can be used in a robot:
Of course, Robotis has a DMS sensor too – but that is analogue and needs to be connected directly to one of the 4 special dedicated ports in the controller. If you have several of those in a remote area of the robot you end up with a lot of wires (that is why the daisy-chain bus was developed in the first instance). What is exciting is that this is the first time when such a sensor is accessible through the daisy-chain bus and can make life far more easier. Since this will also need a processor to control the transmission it could incorporate more sophisticated logic (for instance filtering, averaging, event triggering, etc.) relieving the main controller from those routine activities. I’m really exciting to open one of these up and peek inside, it would be so much better of these details would be provided by UBTECH!
Another cool device is the LED Array (used for “eyes”):
They include 8 tri-colour LEDs and, very excitedly, are also provided with the daisy-chain bus connectors:
(There is another connector on the other side…). This is really nice and opens up a lot of functionality. We’ll take that apart later and try to fill (at least partially) the void.
The last part to cover this post is the Speaker.
Although this also has a 3 pin connector, the functionality is different:
It is actually a Bluetooth speaker. The communication (what to play) is passed using a separate Bluetooth connection (you need to pair it independently), while I suspect the 3 pin connector is used only to provide power to the device, and does not include any other communication.
Now you have it: a short overview of the main important parts in the AstroBot that should open your appetite for some more. I will try to fuel this appetite in the next posts as I will get into details with each of the parts above and share with you the things I learn. Hopefully at one point in time UBTECH might start to share with us some of these details and we would be able to integrate the parts in our own robots.