Finding a low cost case isn’t as easy as expected – even with some common dimensions around 200mm*200mm*50mm the only inexpensive thing I found, was an star wars cookie box made out of thin plate.
So to change that I went to a DIY-Store today (or Baumarkt in german) and bought a 2 meters aluminium mopboard, some metal glue, acrylic glass and went to the basement:
BoxCon – Pic 00
BoxCon – Pic 01
BoxCon – Pic 02
BoxCon – Pic 03 metal glue instructions
BoxCon – Pic 04 metal glue
BoxCon – Pic 05
BoxCon – Pic 06
BoxCon – Pic 07
BoxCon – Pic 08
But after cleaning the gluey mess off the table with spiritus, taking a well deserved shower and waiting 24 hours for the glue to get its full power the result is something able to be shown:
aMoSeRo new case – front
aMoSeRo new case – iso
aMoSeRo new case – top
aMoSeRo new case – top 2
aMoSeRo new case – top 3
aMoSeRo new case – top 4
It’s a bit bigger than before but provides the basic functions in only 40 mm height. So we’ve got a real mobile plattform (base_footprint) for all upcoming modules (i.g. mesh networks, robot arms, flying drones or sensors like Geiger-Müller counters).
We’ve reached half time! Lets see whats still possible 🙂
I had the honor to take part on demonstrate the aMoSeRo to hundrets of children. Next to it we showed some two dancing NAOs and the LeapMotion – all to explain the need of mathematics and informatics for future applications.
This surely doesn’t look amazing from a external look – but this has been a day of hard work and was very important.
first EKF – the package graph
first EKF – the new TF-Tree
first EKF – slamming, mapping
The robot_pose_ekf package is working! It is neither the setup I am going to use nor is it very stable – but it proves some points.
First I needed to write my own IMU driver for ros – 9 degrees of freedom (DOF) for 30€ and a bag of problems. This is a lot cheaper (around 100€) than the often used Razor IMU of sparkfun with existing ROS code, and exactly 3DOF better than the WiiMote (with Motion+ and also about 60-70€) I have been experimenting with. There is still a lot of work left for improving the stability, the calibration of the LSM9DS0 and there has been a lot more to find out about magnetic fields and strange units that needed to be converted in other ones than I would have ever expected – but so far the /imu_data topic serves some not totally wrong data – therefore normalisation minimizes the issues with the 3-5 scales per axis I had to deal with.
Next I needed to increase my bad odometry sources – if not by quality at least with quantity – and added a GPS sensor as /vo topic. The CubieTruck is a abstruse while handling some easy things like using one of the possible 8 UART connections… for today I’ve not managed to get it running with UART but a external serial usb controller. Another area that needs heavy improvement…
Finally I had to deal with the REP105 issue that I have been describing in a previous post. The gmapping algorithm needed to get adjusted parameters, coming along with some serious confusion generated by inconsistent syncing over my 4 working devices (rosBrain with roscore and slamming, rosDev – my development machine, the aMoSeRo and the seafile backup server)…
…but after that all parts worked together for the first time, including a simulated aMoSeRo moving on screen while beeing hold in different angles in the real world.
Everything is still far from done – but right on the way – and we’ve already found out how wide the road is 🙂
For reasons of documentation and because I never did something like that before (fun) I have created a little video of the amosero driving around in the yard today. It is my longest video so far and I hope you enjoy it:
Far from done, but right on the way – the aMoSeRo did his first 2D planning today. There are still a lot of adjustments needed for the mapping to work properly, but it’s already impressive to see ROS working.
first SPLAM – first navigation through a map
The node graph still grows and will need some changes when used with multiple robots, but organising goes on 🙂