Conveyor Interface¶
This package handles Niryo’s Conveyors.
It allows you to control up to two Conveyors at the same time.
Two version of the conveyor exist: The Conveyor Belt, communicating via a CAN bus, and the Conveyor Belt (V2), communicating via a TTL bus. Both of them are directly compatible for the Ned and One. For Ned2, you will need to change the stepper card of the CAN Conveyor Belt to be able to use it on a TTL port (there is no CAN port on Ned2).
Conveyor Interface node (For development and debugging purpose only)¶
- This ROS Node has been conceived to:
- Use the correct low level driver according to the hardware version of the robot.
- Initialize the Conveyor Interface.
Conveyor Interface core¶
It is instantiated in Niryo Robot Hardware Interface package.
- It has been conceived to:
- Interface itself with low level drivers (CAN or TTL for Ned and Niryo One, TTL only for Ned2)
- Initialize conveyor motors parameters.
- Handle the requests from services to set, control or remove the conveyors.
- Publish conveyor states.
It belongs to the ROS namespace: /niryo_robot/conveyor/
.
Parameters¶
Name | Description |
---|---|
publish_frequency |
Publishing rate for conveyors state.
Default: ‘2.0’
|
type |
Type of the motor used.
Default: ‘Stepper’
|
protocol |
Protocol of the communication.
It can be ‘CAN’ (for Ned or One) or ‘TTL’ (for Ned or One or Ned 2)
|
default_id |
Default id of the conveyor before the connection.
|
Pool_id_list |
Id of the conveyor after the connection.
|
Direction |
Direction of the conveyor.
|
max_effort
(CAN Only) |
Max effort used by the steppers
Default: ‘90’
|
micro_steps
(CAN only) |
Micro steps used by the Steppers
Default: ‘8’
|
Published topics - Conveyor interface¶
Name | Message Type | Description |
---|---|---|
feedback |
ConveyorFeedbackArray | Conveyors states |
Services¶
Name | Message Type | Description |
---|---|---|
control_conveyor |
ControlConveyor | Sends a command to the desired Conveyor |
ping_and_set_conveyor |
SetConveyor | Scans and sets a new Conveyor or removes a connected Conveyor |
Dependencies - Conveyor interface¶
Services & messages files - Conveyor interface¶
ControlConveyor (Service)¶
uint8 id
bool control_on
int16 speed
int8 direction
---
int16 status
string message
SetConveyor (Service)¶
uint8 cmd
uint8 id
uint8 ADD = 1
uint8 REMOVE = 2
---
int16 id
int16 status
string message
ConveyorFeedbackArray (Message)¶
conveyor_interface/ConveyorFeedback[] conveyors
ConveyorFeedback (Message)¶
#Conveyor id ( either 12 or 18)
uint8 conveyor_id
#Conveyor Connection state ( if it is enabled)
bool connection_state
# Conveyor Controls state : ON or OFF
bool running
# Conveyor Speed ( 1-> 100 %)
int16 speed
# Conveyor direction ( backward or forward)
int8 direction