Coordula (Coordinate und LEGO© ALEXA) is a wire robot that can show you all the places in the world. Voice controlled. Simple.
Using a projector, you project a world map on a wall and fasten Coordula via two wires at two suspension points.
A quick calibration and you can go on a world tour. Enter into dialogue with Amazon's language assistants with "Alexa, open my World". Ask Coordula to show you a city of your choice.
"Alexa? Show me Rio de Janeiro" causes Coordula to send the city name returned by Alexa Skill in the form of a string to the web service of GEONAMES.ORG. The result of the service inquiry is the latitude and longitude of the desired city. There is a conversion of the longitude and latitude degrees in coordinates of the Mercator projection. So a representation of the world map, in which the projection in the direction of the cylinder axis is so distorted that a true-to-scale representation of the earth's surface can be achieved. Subsequently, the calculation of the tape lengths necessary to place the Coordula at the desired location is performed. Starting from the starting point, the Lego Mindstorms motors are now controlled to wind up or unwind the wire. Due to this fact, the robot moves to the desired position on the world map.The end of Coordulas pointer shows to the searched place.
Now you can discover any place. Enjoy!
SeeCoordula in action (https://youtu.be/LQe8MoVbKf8)
Discover your world and build your own Coordula-----------------------------------------------Prepare and complete the setup and missions 1 through 3.
Step 1:Build Coordula (See LDD-File in the Attachments-Section) and attach it to a wall.We are using a Nylon wire with a diameter of 0.35 mm for the suspension.
Download the world map file here and project it on a wall.
Step 2:Download the Coordula project files and configure ALEXA and the Lego Mindstorms Environment for using in the Visual Studio.
Step 3:Configure the coordula.ini file and insert your amazonID and alexaGadgetSecret-key.
[GadgetSettings]
amazonId =
alexaGadgetSecret =
Step 4:Configure the coordula.py file regarding your own world map projection.
# most northern latitude (works with the shown world map)
epgrenz = 75
self.ygrenz = asinh(tan(radians(epgrenz)))
# Speed of the LEGO Motor
self.speed = 180
# Half lenght and height of the map
self.xlen = 520
self.ylen = 330
# Distance from point of attachment to the middle of the map
self.xm = 660
self.ym = 1047
# Length of the wire
self.ca = 1240
self.cb = 1240
# Offset from the robot centre (where the skateboard is mounted)
# to the pointer of the minifigure. The end of the pointer shows on the
# desired city
self.botOffsetY = 48
self.botOffsetX = 15
# Conversion from mm in degree (The value is stored in index.js file on amazon). See line 210
self.mm2deg = 13.5
Update line 80 and 81 also to the length of your wires.
self.ca = 1240
self.cb = 1240
Step 5:Register on genomes.org, get a username, edit the index.js in line 52 and replace YOUR-USERNAME with your GeoNames Username.
const response = await fetch(`http://api.geonames.org/search?name=${encodeURIComponent(city)}&username=YOUR-USERNAME&maxRows=1&type=json`);
Step 6:Create an Alexa Skill and upload the lambda-Files, save and deploy them.
Step 7:Upload the model.json file, save and build the model.
Step 8: Start and CalibrationUpload your coordula-directory to the EV3 and run the program coordula.py. It will take nearly 4 1/2 minutes to start. Once the program is started, you have to calibrate Coordula. Use your IR remote control for moving the robot to the middle of the world map. See the picture below. Press the Enter Button on the EV3-Brick, when you are at the correct position.
Begin to discover your world together with Coordula:Just say "Alex, open my world!" followed by "show me" and your favorite Cityname.
Have fun with Coordula, Alexa, Lego Mindstorms and the whole world.
Thanks to all who helped:Andreas Hurling, Andreas Eims, Torben Eims, Fabrice Weinberg, Angela Moldenauer and Andreas Baumgart
Comments