Licensed under GPLv3 (see LICENSE file)
(Niryo One : https://niryo.com)
This repository contains all ROS packages used on Niryo One (Raspberry Pi 3B - Xubuntu for ARM).
You can download Niryo One Studio (Linux, Windows and MacOS compatible).
Requirements :
- Ubuntu 16.04
- ROS kinetic (other versions are not supported)
First install ROS kinetic "Desktop-Full" (tutorial here).
You'll need to install some additional ROS packages :
sudo apt-get install ros-kinetic-robot-state-publisher ros-kinetic-moveit ros-kinetic-rosbridge-suite ros-kinetic-joy ros-kinetic-ros-control ros-kinetic-ros-controllers ros-kinetic-tf2-web-republisher
You'll also need to install an additional Python module :
sudo -H pip install jsonpickle
Create a catkin workspace and clone Niryo One ROS stack :
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src
git clone https://github.com/NiryoRobotics/niryo_one_ros.git .
Build the packages :
cd ~/catkin_ws
catkin_make
Don't forget to use those commands before you try to launch anything (you can add them in your .bashrc) :
source /opt/ros/kinetic/setup.bash
source ~/catkin_ws/devel/setup.bash
You can now launch Rviz with Niryo One (only display mode with some cursors to move the joints):
roslaunch niryo_one_description display.launch
You can also launch the complete Niryo One ROS Stack instead, which you can control from Niryo One Studio.
roslaunch niryo_one_bringup desktop_rviz_simulation.launch
The main differences between this launch file and the launch file executed on Raspberry Pi 3B (rpi_setup.launch) is that the hardware functionalities are disabled, and you get a 3D simulation view with Rviz.
Note that Niryo One ROS packages have been developed with ROS kinetic, on Ubuntu 16.04. Other ROS versions and OS distributions are not supported.
You'll need to install some additional ROS packages :
sudo apt-get install ros-kinetic-gazebo-ros-control
You can now launch Gazebo with Niryo One:
roslaunch niryo_one_gazebo gazebo_niryo_one.launch
Theres a new urdf file that loads gripper onto Niryo One in Gazebo. The following command launches Niryo One with gripper and related controllers
roslaunch niryo_one_gazebo gazebo_niryo_one.launch without_gripper:=false
Thanks to the gazebo_grasp_plugin
from @JenniferBuehler 's gazebo-pkgs
, you should now be able to perform and visualise simple pick and place operations in Gazebo.
Currently our repo only supports gazebo visualizations. In order to visualize objects and develop a pipeline in Rviz, you need to clone the entire gazebo-pkgs and follow the instructions and tutorials found in their wiki.
❗ In case you run into issues while trying to build the
gazebo_grasp_plugin
s on ROS Kinetc, please follow these intructions in issue #10 ❗
(Optional) After you install ROS packages and execute catkin_make you still have some installation steps if you want to use Blockly ("Niryo Blocks" on Niryo One Studio).
Make sure that you have a recent nodejs version (not the default installed one)
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs
Install node modules in the blockly_code_generator directory (where you can find package.json) and create an executable.
cd ~/catkin_ws/src/niryo_one_user_interface/blockly_code_generator
npm install
sudo npm link
That's it, you have now all the Niryo One functionalities ready to be used.
Here's a global overview of the Niryo One ROS Stack :
You can find more specific and detailed info in each package's README.
- Get started with the Niryo One Stack. This will help you understand the architecture and where to start as a developer.
- C++ example to move the robot by Steve Maassen
- Python API
- Remotely control Niryo One (ROS multi-machines)
If you have a question and you don't find the answer here or on our documentation, please send us a message.
Thank you !