Introduction ........................4 Purpose ..............................4 Safety precautions ..........................4 Software versions ........................... 4 How to update Niryo One software ....................4 Niryo One - Physical external interfaces ................. 6 Overview ..............................6 Panel connector ............................7 Get started with Niryo One ....................9 Niryo One Studio ............................
Page 3
Sequences ............................... 39 4.7.1 Save a sequence .......................... 39 4.7.2 Save a sequence from Niryo Blocks ..................41 Use the top button to trigger a (set of) sequences ..............42 Use a joystick controller to move the robot ................44 4.9.1 Connect and enable the joystick controller ..............
When you receive a Niryo One, the versions of the 3 layers are all compatible between them. ⚠ If you update one of those software layer, you may have to update the other layers (in this case you’ll get a warning on Niryo One Studio when you connect to the robot).
Page 5
Update Niryo One Studio Update Raspberry Pi 3B image Update Niryo Steppers On the download page, you can also find all kinds of resources to download.
Niryo One - Physical external interfaces 2.1 Overview There are many physical interfaces at the back of Niryo One. Here is an overview and some warnings about things you should be careful about. The functionalities related to each interface will be covered throughout this manual.
9. GPIO panel * 2. Total 6 digital pins, actionable through software. You can use GPIO1 and GPIO2 pins as 5V digital pins (mode: input or output, state: high or low). 10. Power switch 11. Power adapter connector ⚠ Ensure your power adapter has a 12V output and is able to provide 6A. Lower output voltage and current may cause the robot to fail to move correctly.
Page 8
The XL-320 (Dxl-Data1) interface should only be used to connect XL-320 motors. The XL-430 (Dxl-Data2) interface should only be used to connect XL-430 motors. Do not make a short circuit between the GND and 12V pins of the switches (SW1 and ...
Niryo One Studio is the desktop application (Windows - MacOS - Linux) for controlling Niryo One. You can use it to setup the robot, change some settings, move the robot, program a sequence, etc. In this manual we’ll cover all the available functionalities.
The left menu allows you to switch between all the different panels. From top to bottom: Robot command (arm, tool, digital I/Os) Niryo blocks Saved positions Saved sequences (+ sequence autorun) Settings (Wi-Fi, Raspberry Pi, software versions) ...
LED is purple, you can release the button. Now, wait until the LED becomes red. Once the LED turns red, it means that you can safely switch off the robot and unplug the power adapter. 2. On Niryo One Studio -> “settings” panel, “Raspberry Pi settings” section: Click on the “Shutdown Niryo One” button and confirm.
(from top button or from Niryo One Studio), in this case it means that you can power off the robot and pull the power adapter. Blue The LED will be blue when the robot is fully started and in “hotspot mode”. If the robot doesn’t find any previously saved Wi-Fi network on boot, it will create its own Wi-Fi network, and its IP address will be 10.10.10.10 (static IP).
Niryo One Studio), and is currently shutting down. Once the Raspberry Pi 3B is completely shut down, the LED will turn red, meaning that you can power off the robot and unplug the power adapter. Blue or green + blinking red...
On the right of the toolbar, you can see the current connection state: “Connected to” + IP address, or “Not connected”. Once the robot is powered on, and fully started (LED blue or green), you can connect Niryo One Studio to it.
First, connect your computer to this Wi-Fi network (password: “niryoone”). Note that this network doesn’t provide an Internet access. Once connected, you can press the “Connect to Niryo One” button. You should see a success message on the screen, and the toolbar should look like this: To disconnect from the robot, open the connection panel again and click on “disconnect”.
Page 16
Write “169.254.200.200” (static IP) and click on “Choose” to select the IP address. Note that selecting the IP address just means that this IP will be used by Niryo One Studio, it does not mean that you are connected to the robot.
3.5.3 Connect the robot to a Wi-Fi network One of the main drawback of the “hotspot mode” is that you can’t be connected to the robot and have Internet access at the same time. Also, if you have multiple robots, it means that you need to connect your computer to a different Wi-Fi network every time you want to switch between robots.
If the robot is successfully connected to the Wi-Fi network, the LED will turn green (connected mode). If the LED stays blue after 30 seconds, it means that the robot failed to connect to the Wi-Fi network (for example: bad ssid/password). The robot is still in “hotspot mode” and you can connect to it again by connecting your computer to the Wi-Fi network created by the robot.
You can now click on the new displayed IP address (or name) to select it. Make sure that the IP address is correctly shown in the deep blue chip. (The IP address you see here is the one used for the entire application) Now, click on “Connect to Niryo One”...
After the robot has been successfully launched (LED green or blue), and before you can give a move command to the robot, you will need to calibrate it. Also, if a Niryo Stepper motor was disconnected and reconnected, a calibration will be required.
Once connected, you will easily find out if a calibration is needed. In this case, you’ll see a “Calibration needed” blinking warning on the top right of Niryo One Studio. Click on the warning, or on the calibration icon on the left menu to go on the calibration panel.
Page 22
The offsets to apply will then be saved inside the robot. The manual calibration will use the stored values from the last auto-calibration. Place all the axis (only the axis with Niryo Stepper motors) so the small marks on the mechanical parts are (approximately) in front of each other.
The calibration will have the exact same precision as the last auto-calibration, so if you save a position inside the robot, the position will be the same every time you reboot the robot. This is much faster : a few seconds instead of about 30 seconds ...
4.1 State section and learning mode For every panel you open in Niryo One Studio, you’ll always have the same right section. This section will give you some info about the robot and also contains the “learning mode” functionality that you’ll use quite often.
The 3D view can help you see if a manual or auto calibration was not done correctly. If there is an offset between what you see on the screen and your robot (ex: the axis 1 is clearly not at the same position), then you should probably do the auto-calibration again. 2.
Page 26
You can’t execute a new command while another move command is running. If you want to start a new command, you’ll have to stop the previous one. You can also choose a position that you previously saved with the “Select saved position”...
4.3 Use the tools 4.3.1 Overview There are several tools that you can use with Niryo One. With each Niryo One, you get one Gripper 1. You may have also ordered some additional tools: 1. Gripper 1 (already included)
2. Gripper 2 3. Gripper 3 4. Electromagnet 5. Vacuum Pump 4.3.2 How to plug the tools? For all the tools in the “gripper” category, you just have to plug the tool to the robot “hand” and connect the 3-wires cable of the gripper. Gripper 1 Gripper 2 Gripper 3...
Page 29
⚠ Make sure you connect the cable with the black wire in front of the black wire, and the red wire in front of the red wire. Electromagnet Plug the electromagnet to the robot “hand”, and connect the end of the cable to the “GPIO1” connector placed at the back of the robot.
You can only have one tool selected at the same time. At any time, you can unselect the current selected tool by clicking on the “X” icon near the...
4.3.4 Control a tool Once the tool is successfully selected, you can send a command. Grippers The commands will be “open” and “close”. You can set a speed parameter. Electromagnet You first need to setup a digital I/O pin. If you are using the electromagnet cable provided with your tool (and connected on the “GPIO1”...
Page 32
In Niryo One Studio → “Digital I/O panel” section, you can control the 2 switches and all 6 digital pins. The switches are already set as OUTPUT mode and cannot be changed. You can activate the 12V output (HIGH) or deactivate it (LOW).
Make sure that you have read the warnings about the panel connector, and the safety precautions. 4.5 Saved positions 4.5.1 Overview Go to the “Saved positions” panel. You can see all the saved positions on the robot inside the select box. Now select one saved position.
When you select a position, you can see its properties. 1. Basically a saved position has a name and a list of joints in radian. The position and orientation of the TCP (Tool Center Point) are also saved but not displayed. 2.
You can also reuse a position in the “Niryo Blocks” panel. 4.6 Niryo Blocks Open the “Niryo Blocks” panel. This panel allows you to create complete programs (sequences) for Niryo One, without having to know how to program.
Page 36
The interface is based on Blockly, a Google library, which is also used on the Scratch project made by the MIT. To create a program, use any of the standard and Niryo One specific blocks on the left. Drag them to the workspace and assemble them in the order you want.
Page 37
Niryo Blocks along with the learning mode is the perfect combination to easily create programs in no time. Activate the learning mode, then for each position you want, add a position block corresponding to the current state, and that’s it. Check out this video tutorial how to use the “learning mode”...
Page 38
11. The “Niryo One” functions in the block library cover almost all of the possible commands you can execute on the robot: Move commands Tool commands Calibration Digital I/Os (write/read) … The “Niryo Blocks” panel contains everything you need to create complete programs for...
4.7 Sequences 4.7.1 Save a sequence You can create sequences with Niryo Blocks. You can also save them and reuse them later. Go on the “Sequences” panel -> “Sequences” section.
Page 40
This will help you and other people know what the sequence is about. Blockly XML : the XML representation of the sequence (this is what Niryo Blocks is using to show the blocks on the workspace) Python Code: The generated Python code from the XML.
If you plan on using the Python API to control Niryo One, using Niryo Block first can be helpful to get started with no programming language. You can see what Python code is generated from your sequence, and when you feel more confident, you can switch to Python.
The Blockly XML field will be already filled with the current sequence you had on the Niryo Blocks workspace. You need to give a name and (optional) a description, and then click on the “Save” button to save the sequence on the robot. Note that if you don’t give a name, a default name will be given (“sequence_”...
Page 43
One Studio This is very useful when you use Niryo One in an exhibition event or for a demo. You’ll just need to power on the robot, wait for the LED to be blue or green, and then press the button to run a given set of sequences (that you previously programmed).
(wireless controller won’t work because of a driver compatibility issue). 4.9.1 Connect and enable the joystick controller First, connect the USB cable of the joystick controller to one of the USB cable available at the back of the robot.
Once you’re done with the joystick control, uncheck this box to disable it. Direct control and joystick control are not compatible. You can only enable the joystick control if the robot is not moving. Also while the joystick control is enabled, you can’t move the robot with the “Move Joints”...
Go on “Settings” panel → “Raspberry Pi settings”. 5.1.1 ROS logs (advanced users) The software inside the Raspberry Pi 3B (Niryo One ROS stack) is producing logs, which are useful when developing and debugging. Those logs are also stored. However, after some time they can take a lot of space, and they will indefinitely need more space.
and stored, unless you are developing or debugging a specific point (in this case you might want to switch the option to “NO” and then turn it back to “YES” when you’re done) ⚠ If you never purge ROS logs (on boot or manually), the micro SD card will eventually become full and might not work as expected.
2. Niryo Raspberry Pi 3B image: The image that is flashed inside the Raspberry Pi 3B micro SD card. 3. ROS: The current version of the Niryo One ROS stack running on the Niryo Raspberry Pi 3B image. 4. Niryo Steppers: A list of the firmware versions running on each Niryo Stepper attached to Niryo One.
5.3.2 Motor connection problem If you see a blinking alert saying “Motor connection problem” on the top right of Niryo One Studio, it means that one or multiple motors are not connected/recognized.
5.4 Debug and logs 5.4.1 Overview Go on the “Debug” tab. Here you’ll find 3 sections: Niryo One Studio logs: the logs produced by the desktop application. Robot logs (ROS): the logs produced internally by the robot. Motor debug options: allows you to debug motors one by one.
For example, you noticed that the robot is not able to communicate with Dynamixel motors. What you can do is disable all motors, try to launch the robot, and then enable one motor at a time. Click on “Change config and reboot” to apply the new configuration. The robot will then reboot, don’t power it off.
Start as a maker with Niryo One Start as a developer with Niryo One You can also find on the NiryoRobotics github account: Niryo One STL files + BOM + Electronics overview Niryo One ROS Stack Niryo Stepper firmware ...
Need help?
Do you have a question about the One and is the answer not in the manual?
Questions and answers