We have two robotic vehicles in the lab of the same model, namely, Robomaster EP made by DJI.
For more information on this model see https://www.dji.com/robomaster-ep-core.
Controlling each robot can be done from any computer that has Wi-Fi.
For example, you can control a robot from your smart phone.
There are two ways to connect with the robot, namely, via a direct connection and via a network connection; see e.g., here.
When using the network connection, the controlling device (e.g., your smart phone) and the robot are connected vi a router.
We have noticed that in our lab using either free-tau or tau-cs does not work, perhaps because of the router settings.
Therefore, it is recommended to use the direct connection method.
Using this method, you will need to provide the Wi-Fi hotspot name displayed on the sticker on the robot body.
Download the Robomaster application onto your smart phone and install it. Then, connect with one of the robots.
You will need to provide the serial number of the robot that you want to control or use the QR code; both appear on a label on the stuck to the router mounted on the back of the robot.
We named the robots as follows:
If you intend to develop new functionalities, you wil to download and install the development kit available at the page above.
The development kit includes a Python API.
At the time these notes were written the development kit works out of the box with Python 3.8.
However, if you need to work with Python 3.9, download and unpack the archive robomaster and place the extracted code under the same directory your Python code reside.
You will gain access to all functionalities except for the ability to handle the onboard camera.
3D (Three-Dimensional) Printing is a unique form of rapid prototyping, and more recently of actual manufacturing. Here, a 3D object is created by layering and connecting successive cross-sections of plastics, metals, or other material.
We have a dual-extruder 3D printer of Type Ultimaker 3. The printer is located in a locked cabinet on the 2nd floor of Schreiber (near the staircase).
Its (Ha’mafil) serial no. is 015107.
- The type of filament installed on head 1 is PLA; its diameter is 1.75 mm. You need to configure Cura accordingly. This filament is not recognized by the printer, so the printer will not verify the correctness of your settings.
- The type of filament installed on head 2 is PVA. It is recognized by the printer.
The printer supports three types of filaments as follows:
- PVA, a water-soluble synthetic polymer best used for support material.
- CPE, a chemical resistant and tough material that demonstrates good dimensional stability.
- Nylon, a durable and flexible material with high strength-to-weight ratio and low friction, and corrosion resistance.
Currently, a PLA filament is mounted on the the 1st extruder and a PVA filament is mounted on the the 2nd extruder.
If you want to print with two materials, the following combinations of Ultimaker materials are officially supported:
- PLA, PVA
- Nylon, PVA
- PLA, PLA
- ABS, ABS
- CPE, CPE
First, you need to create a digital model. A list of notable 3D modeling tools can be found here; a comprehensive list of modeling software tools can be found here. If you are a novice user and don’t have a preferable modelling tool, we recommend Tinkercad, Onshape, or Sketchup Make
Once you have a model, you will need to generate the “program” that consists of instructions to print it. Our 3D-printer (like most 3D printers) accepts programs written in G-Code.
A G-Code program can be fed directly to the printer from a disk-on-key.
Follow the procedure below when you use this printer.
- Prepare a file in the Gcode format that contains the instructions to the printer to print the object, using Cura.
- Cura should give you an estimate of how long the print process will last.
- Copy the file to a disk-on-key.
- Enter the cabinet where the printer is located.
- Insert the disk-on-key into the USB slot in the printer.
- Coat the tray with glue, using a glue stick, on the area where the 1st layer will be printed.
- If you print a prime tower (which is recommended when you print with PVA support) don’t forget to spread glue also on the area underneath the prime tower.
- Start the print.
- You may leave the premises, but check on the progress every once in a while.
- The printer is equipped with a camera. Once we connect the printer to the network it will be possible to remotely monitor the printer.
- Come back after the print tray has cooled down, and remove the printed object from it.
- You may use a sharp flat (Japanese) knife to disconnect the printed object from the tray.
- Remember to remove the disk-on-key, leave the glue stick near the printer, leave the desk clean, and unlock the cabinet on your way out.
Kinova JACO Robotic Arm
In the lab, we have the robotic arm connected to a dedicated computer that already has the required drivers and software.
The following is a short guide regarding operating and controlling the arm.
Official User Guide:
Installation (no need for the computer lab):
Follow the readme file instructions.
Observe the two new software: Development Center and TorqueConsole.
Plug in Jaco through a USB cable and turn it on.
Run Development Center.
Make sure that the USB option (and not Ethernet) is checked at the top right corner of the window.
After several seconds, the serial number (string) is supposed to appear at the same corner, indicating that the robot is now connected and ready.
API (comes with the software):
file:///C:/Program Files (x86)/JACO-SDK/GUI/html/index.html
Example codes (comes with the software):
C:\Program Files (x86)\JACO-SDK\Examples
Or through the development center
Using the API:
- Add the location of the dlls to the PATH environment variable (account level is sufficient).
If you are running a x64 project, it should be something like that: “C:\Program Files (x86)\JACO-SDK\API\x64”.
- Create an empty c++ project.
Add an empty cpp file to the project.
- In the project properties go to “C/C++”.
Add ‘C:\Program Files (x86)\JACO-SDK\API’ to the “Additional Include Directories” field so the compiler will recognize the header files.
- Follow the code examples to understand what the hell is going on.
Make sure that any other software that uses Jaco is closed before running your code!