Skip to content

Commit

Permalink
v3.0.0
Browse files Browse the repository at this point in the history
  • Loading branch information
Wasta-Geek authored and niryo-admin committed Jan 25, 2021
0 parents commit cc32147
Show file tree
Hide file tree
Showing 582 changed files with 61,165 additions and 0 deletions.
17 changes: 17 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
*.pyc
*.swp
urdf.rviz
node_modules/
/CMakeLists.txt
tmp_blockly/
tmp_code_to_execute/
.vscode
*.egg-info
*__pycache__
.idea/*
venv

_build/
.pytest_cache/

/dev/
674 changes: 674 additions & 0 deletions LICENSE

Large diffs are not rendered by default.

17 changes: 17 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Ned ROS stack

Licensed under GPLv3 (see [LICENSE file](LICENSE))

This repository contains all ROS packages used on Ned robot (Raspberry Pi 4B - Ubuntu server 18.04.5 for ARM).
## Ned ROS Stack overview

Here's a global overview of Ned ROS Stack :

![Ned ros stack - global overview](https://niryo.com/wp-content/uploads/github/ned_global_overview.jpg)
## How to use Ned with a graphical interface ?

You can [download Niryo Studio](https://niryo.com/download/?utm_source=github) (Linux, Windows and MacOS compatible).

## Documentation link

You can find the whole generated documentation of this project at [Niryo Documentation](https://niryo.com/)
7 changes: 7 additions & 0 deletions niryo_robot_bringup/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
cmake_minimum_required(VERSION 2.8.3)
project(niryo_robot_bringup)

find_package(catkin REQUIRED)

catkin_package()

41 changes: 41 additions & 0 deletions niryo_robot_bringup/launch/desktop_gazebo_simulation.launch
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
<!-- This launch file allows to run simulation on Gazebo
Warning : Some errors are present in Gazebo
-> It will log some errors because it cannot unload joint_controller (It's because ROS does it before Gazebo)
-> Gazebo GUI is kinda bad on closing. It will always run into SIGTERM. So, what you should do is
to change _TIMEOUT_SIGINT value in the file /opt/ros/melodic/lib/python2.7/dist-packages/roslaunch/nodeprocess.py
This will reduce the amount of time spent waiting during program shutdown
-->
<launch>
<!-- Arguments definition -->
<arg name="gripper_n_camera" default="true"/>
<arg name="gui" default="true"/>
<arg name="hardware_version" value="ned"/>

<!-- Load URDF -->
<arg name="urdf_path" value="urdf/$(arg hardware_version)/niryo_$(arg hardware_version)_gripper1_n_camera.urdf.xacro" if="$(arg gripper_n_camera)"/>
<arg name="urdf_path" value="urdf/$(arg hardware_version)/niryo_$(arg hardware_version)_gazebo.urdf.xacro" unless="$(arg gripper_n_camera)"/>

<param name="robot_description"
command="$(find xacro)/xacro $(find niryo_robot_description)/$(arg urdf_path)"/>

<param name="robot_description_tf2"
command="$(find xacro)/xacro $(find niryo_robot_description)/$(arg urdf_path)"/>

<!-- Define most of ROS parameters -->
<include file="$(find niryo_robot_bringup)/launch/niryo_robot_base_simulation.launch.xml">
<arg name="simu_gripper" value="$(arg gripper_n_camera)"/>
<arg name="gazebo" value="true"/>
</include>

<!-- Launching Gazebo World -->
<include file="$(find niryo_robot_gazebo)/launch/niryo_robot_gazebo_world.launch.xml">
<arg name="gui" value="$(arg gui)"/>
</include>

<!-- Launching vision if the user didn't swap camera arg to false -->
<include file="$(find niryo_robot_vision)/launch/vision_node.launch" if="$(arg gripper_n_camera)">
<arg name="simulation_mode" value="true"/>
</include>
<param name="/niryo_robot_vision/initialized" type="bool" value="true" unless="$(arg gripper_n_camera)"/>

</launch>
28 changes: 28 additions & 0 deletions niryo_robot_bringup/launch/desktop_rviz_simulation.launch
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
<launch>
<!-- Arguments definition -->
<arg name="gui" default="true"/>
<arg name="hardware_version" value="ned"/>

<!-- Load URDF -->
<arg name="urdf_path" value="urdf/$(arg hardware_version)/niryo_$(arg hardware_version).urdf.xacro"/>

<param name="robot_description"
command="$(find xacro)/xacro $(find niryo_robot_description)/$(arg urdf_path)"/>

<param name="robot_description_tf2"
command="$(find xacro)/xacro $(find niryo_robot_description)/$(arg urdf_path)"/>


<!-- Define most of ROS parameters -->
<include file="$(find niryo_robot_bringup)/launch/niryo_robot_base_simulation.launch.xml">
</include>

<group if="$(arg gui)">
<!-- Launching Rviz -->
<node name="rviz" pkg="rviz" type="rviz" args="-d $(find niryo_robot_description)/config/default_config.rviz"/>
</group>

<group ns="niryo_robot/info">
<param name="/niryo_robot_vision/initialized" type="bool" value="true"/>
</group>
</launch>
10 changes: 10 additions & 0 deletions niryo_robot_bringup/launch/niryo_ned_robot.launch
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
<launch>
<!-- Arguments definition -->
<arg name="iot_enabled" default="false"/>
<arg name="debug" default="false"/>

<include file="$(find niryo_robot_bringup)/launch/niryo_robot_base_robot.launch.xml">>
<arg name="iot_enabled" value="$(arg iot_enabled)"/>
<arg name="debug" value="$(arg debug)"/>
</include>
</launch>
62 changes: 62 additions & 0 deletions niryo_robot_bringup/launch/niryo_robot_base_common.launch.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
<launch>
<!-- Arguments -->
<arg name="gazebo" default="false"/>
<arg name="hardware_version" value="ned"/>
<arg name="simu_gripper" default="false"/>
<arg name="simulation_mode" default="false"/>
<arg name="debug" default="false"/>

<!-- SHARED PARAMS -->
<group ns="niryo_robot">
<param name="hardware_version" type="str" value="$(arg hardware_version)"/>
<param name="reboot_when_auto_change_version" type="bool" value="true"/>
<param name="simulation_mode" type="bool" value="$(arg simulation_mode)"/>
</group>

<group ns="niryo_robot/info">
<param name="robot_type" type="string" value="niryo_$(arg hardware_version)" />
<param name="ros_version" type="string" command="rosversion niryo_robot_bringup"/>
</group>

<group ns="niryo_robot/python_ros_wrapper">
<param name="service_timeout" type="int" value="2"/>
<param name="action_connection_timeout" type="int" value="20"/>
<param name="action_execute_timeout" type="int" value="60"/>
<param name="action_preempt_timeout" type="int" value="60"/>
</group>

<arg name="ros_version" value="$(optenv ROS_DISTRO kinetic)"/>

<!-- Launching TF ROS Bridge-->
<node name="tf2_web_republisher" pkg="tf2_web_republisher" type="tf2_web_republisher"/>
<include file="$(find rosbridge_server)/launch/rosbridge_websocket.launch">
<arg name="port" value="9090"/>
<arg name="output" value="log" unless="$(eval 'kinetic' == arg('ros_version'))"/>
</include>

<!-- Including launch files -->

<include file="$(find niryo_robot_hardware_interface)/launch/controllers.launch">
<arg name="gazebo" default="$(arg gazebo)"/>
<arg name="simu_gripper" default="$(arg simu_gripper)"/>
<arg name="simulation_mode" default="$(arg simulation_mode)"/>
<arg name="debug" value="$(arg debug)"/>
</include>

<include file="$(find niryo_robot_commander)/launch/robot_commander.launch">
<arg name="simu_gripper" value="$(arg simu_gripper)"/>
</include>

<include file="$(find niryo_robot_poses_handlers)/launch/poses_handlers.launch">
<arg name="simulation_mode" value="$(arg simulation_mode)"/>
</include>

<include file="$(find niryo_robot_programs_manager)/launch/programs_manager.launch">
<arg name="simulation_mode" value="$(arg simulation_mode)"/>
</include>

<include file="$(find niryo_robot_user_interface)/launch/user_interface.launch">
</include>

<include file="$(find niryo_robot_modbus)/launch/modbus_server.launch"/>
</launch>
54 changes: 54 additions & 0 deletions niryo_robot_bringup/launch/niryo_robot_base_robot.launch.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
<launch>
<!-- Arguments -->
<arg name="iot_enabled" default="false"/>
<arg name="debug" default="false"/>
<arg name="hardware_version" value="ned"/>
<arg name="rpi_model" value="4"/>
<arg name="conf_location" value="~/.config/niryo"/>

<!-- Load URDF -->
<param name="robot_description"
command="$(find xacro)/xacro $(find niryo_robot_description)/urdf/$(arg hardware_version)/without_mesh_niryo_$(arg hardware_version).urdf.xacro"/>
<param name="robot_description_tf2"
command="$(find xacro)/xacro $(find niryo_robot_description)/urdf/$(arg hardware_version)/niryo_$(arg hardware_version).urdf.xacro"/>

<!-- PARAMS -->
<group ns="niryo_robot/info">
<param name="image_version" type="string"
textfile="/home/niryo/.config/niryo/version/version.txt"/>
</group>

<group ns="niryo_robot/robot_state">
<param name="rate_publish_state" type="double" value="5.0"/>
</group>

<!-- Including shared params & nodes -->

<include file="$(find niryo_robot_bringup)/launch/niryo_robot_base_common.launch.xml">
<arg name="simulation_mode" value="false"/>
<arg name="debug" value="$(arg debug)"/>
</include>

<!-- Rpi node (IO / fan / ...) -->
<!-- Ned RPI 4 -->
<include file="$(find niryo_robot_rpi)/launch/rpi_4.launch"/>

<!-- Launching vision node -->
<include file="$(find niryo_robot_vision)/launch/vision_node.launch">
<arg name="simulation_mode" value="false"/>
</include>

<include file="$(find niryo_robot_iot)/launch/serial_number.launch"/>

<group if="$(arg iot_enabled)">
<!-- Launching IOT nodes -->
<include file="$(find niryo_robot_iot)/launch/mqtt_client.launch">
<arg name="conf_location" value="$(arg conf_location)"/>
</include>
</group>

<include file="$(find niryo_robot_system_api_client)/launch/system_api_client.launch">
<arg name="simulation_mode" value="false"/>
</include>

</launch>
22 changes: 22 additions & 0 deletions niryo_robot_bringup/launch/niryo_robot_base_simulation.launch.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
<launch>
<!-- Arguments -->
<arg name="gazebo" default="false"/>
<arg name="hardware_version" value="ned"/>
<arg name="simu_gripper" default="false"/>

<!-- PARAMS -->
<group ns="niryo_robot/robot_state">
<param name="rate_publish_state" type="double" value="20.0"/>
</group>

<!-- Including shared params & nodes -->
<include file="$(find niryo_robot_bringup)/launch/niryo_robot_base_common.launch.xml">
<arg name="gazebo" value="$(arg gazebo)"/>
<arg name="simulation_mode" value="true"/>
<arg name="simu_gripper" value="$(arg simu_gripper)"/>
</include>

<!-- Ghost node for enabling RPI simulation -->
<include file="$(find niryo_robot_rpi)/launch/rpi_simulation.launch"/>

</launch>
11 changes: 11 additions & 0 deletions niryo_robot_bringup/package.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
<package>
<name>niryo_robot_bringup</name>
<version>3.0.0</version>
<description>Provides roslaunch scripts to start Ned packages and initialize ROS params</description>
<author email="r.lux@niryo.com">Rémi Lux</author>
<maintainer email="r.lux@niryo.com">Rémi Lux</maintainer>
<maintainer email="c.ducatez@niryo.com">Corentin Ducatez</maintainer>
<license>GPLv3</license>

<buildtool_depend>catkin</buildtool_depend>
</package>
53 changes: 53 additions & 0 deletions niryo_robot_commander/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
cmake_minimum_required(VERSION 2.8.3)
project(niryo_robot_commander)

find_package(catkin REQUIRED COMPONENTS
actionlib_msgs
geometry_msgs
niryo_robot_msgs
niryo_robot_tools
)

add_message_files(
FILES
ArmMoveCommand.msg
PausePlanExecution.msg
RobotCommand.msg
ShiftPose.msg
)

add_service_files(
DIRECTORY srv
FILES
GetFK.srv
GetIK.srv
JogShift.srv
)

add_action_files(
DIRECTORY action
FILES
RobotMove.action
)

catkin_python_setup()

generate_messages(
DEPENDENCIES
geometry_msgs
niryo_robot_msgs
niryo_robot_tools
)

catkin_package(
CATKIN_DEPENDS
actionlib_msgs
geometry_msgs
niryo_robot_msgs
niryo_robot_tools
)

include_directories(
${catkin_INCLUDE_DIRS}
)

9 changes: 9 additions & 0 deletions niryo_robot_commander/action/RobotMove.action
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# goal
niryo_robot_commander/RobotCommand cmd
---
# result
int32 status
string message
---
# feedback
niryo_robot_msgs/RobotState state
23 changes: 23 additions & 0 deletions niryo_robot_commander/config/commander_params.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# - MoveIt! params
reference_frame: world
move_group_commander_name: arm
joint_controller_name: "/niryo_robot_follow_joint_trajectory_controller"

# Planning settings
allow_replanning: true
goal_joint_tolerance: 0.0001
goal_position_tolerance: 0.0001
goal_orientation_tolerance: 0.001

trajectory_minimum_timeout : 3.0
compute_plan_max_tries : 3

# - Other params
# "Is Active" topic's publish rate
active_publish_rate_sec: 0.1

command_still_active_max_tries : 3

tool_timeout : 3.0

pause_timeout : 45.0
11 changes: 11 additions & 0 deletions niryo_robot_commander/config/jog_params.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
jog_enable_publish_rate: 1.0

jog_timer_rate_sec: 0.15

jog_limits:
translation: 0.05 # Not more than 5 cm
rotation: 0.5 # Not more that 0.5 radians
joints: 0.2 # Not more than 0.2 radians

time_without_jog_limit: 2.0
check_disable_jog_rate: 1.0
Loading

0 comments on commit cc32147

Please sign in to comment.