Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
12 changed files
with
300 additions
and
38 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
# Dynamixel SDK | ||
|
||
This package has been forked from the official [dynamixel_sdk](https://github.com/ROBOTIS-GIT/DynamixelSDK) package. | ||
|
||
It has been adapted to work on the Niryo custom Raspberry Pi 3 shield, using the [wiringPi](http://wiringpi.com/) library. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,15 +1,14 @@ | ||
RPI3 library for MCP2515 module (CAN bus interface) through SPI GPIOs | ||
# mcp\_can\_rpi | ||
|
||
Forked from : https://github.com/coryjfowler/MCP_CAN_lib | ||
Raspberry Pi 3 library for MCP2515 module (CAN bus interface) through SPI GPIOs | ||
|
||
The library has the same features, but is working on a Raspberry Pi 3. | ||
Forked from [MCP_CAN](https://github.com/coryjfowler/MCP_CAN_lib) library. | ||
|
||
One of the main difference is we don't handle SPI Chip Select PIN. This is already done by the wiringPi library, and | ||
all PINS for SPI are already predefined (spi channel 0 or 1). | ||
|
||
This library is licensed under GPLv3, for now. | ||
The MCP2515 module is a SPI-CAN interface. The MCP_CAN library is using the SPI protocol on Arduino to program and use this module. It has been adapted here to work with the Raspberry Pi 3 GPIOs, using the SPI functions of the [wiringPi](http://wiringpi.com/) library. | ||
|
||
------------------------------------------------------- | ||
--- | ||
|
||
--> More documentation will be published soon. <-- | ||
One of the main difference is we don't handle SPI Chip Select PIN. This is already done by the wiringPi library, and | ||
all PINs for SPI are already predefined (spi channel 0 or 1). | ||
|
||
To poll the MCP2515 module (to see if there is any data to read), the _digitalRead_ function of wiringPi is used. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
# Niryo One Bringup | ||
|
||
This packages provides config and launch files to start Niryo One and ROS packages with various parameters. | ||
|
||
Launch files (in _launch_ folder) : | ||
|
||
### niryo\_one\_base | ||
|
||
Setup many rosparams, this package should be launched before any other package. | ||
|
||
### controllers | ||
|
||
Starts Niryo One _driver_, _tools\_controller_, _ros\_control_ and _robot\_state\_publisher_ packages. | ||
|
||
### robot\_commander | ||
|
||
Starts robot command utilities to move the arm and tools. | ||
|
||
### user\_interface | ||
|
||
Starts joystick interface (Xbox controller) and Blockly server (Blockly is a graphical programming library, integrated in Niryo One Studio). | ||
|
||
### rpi\_setup | ||
|
||
The main package to launch on a Raspberry Pi 3. Also launches _rosbridge_, _niryo\_one\_base_, _controllers_, _robot\_commander_, and _user\_interface_. This package is automatically launched when Niryo One boots (Niryo One RPi3 image). | ||
|
||
### desktop\_rviz\_simulation | ||
|
||
This is the main package for simulation mode. It launches _niryo\_one\_base_, _controllers_, _robot\_commander_, _user\_interface_, _rosbridge_, and Rviz to see a 3D view of Niryo One. The _controllers_ package is launched with a simulation flag, so the hardware-related stuff is not used. | ||
|
||
Note that you need to launch this file on your computer, with 3D packages installed. This will not work on the Niryo One RPI3 image. | ||
|
||
--- | ||
|
||
You can find more info about what the packages do in each package's README. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
# Niryo One Commander | ||
|
||
This package is a high-level interface built on top of Niryo One controllers and Moveit! utilities. | ||
|
||
The robot\_action\_server provides an actionlib server. All robot commands go trough this server (from Niryo One Studio, Blockly server, Python API, etc). | ||
|
||
Here's what it does : | ||
* Handles concurrent requests | ||
* Checks if the command can't be processed due to other factors (ex: learning mode) | ||
* Validates parameters | ||
* Calls required controllers and returns appropriate status and message | ||
|
||
The Action for this server is RobotMove.action (including RobotMoveCommand.msg for the goal), and can be found in [niryo\_one\_msgs](https://github.com/NiryoRobotics/niryo_one_ros/tree/master/niryo_one_msgs) package. | ||
|
||
The files _robot\_commander_, _arm\_moveit\_commander_, and _tool\_commander_ are used by this server to call the required controllers (tools, rpi, Moveit! + ros_control) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
# Niryo One Driver | ||
|
||
This packages provides an interface to _ros\_control_ and handles the hardware control of motors. | ||
|
||
Here's a global overview of this package : | ||
|
||
![niryo one driver - global overview](https://niryo.com/wp-content/uploads/2017/12/niryo_one_driver_global_overview.png) | ||
|
||
For each kind of motor, this packages contains a driver + a communication class between the driver and _ros\_control_. | ||
|
||
2 types of motors : | ||
* Dynamixel XL_320 motors for axis 5, 6 and some tools (grippers, vacuum pump). | ||
* Niryo Stepper Motors, connected to a CAN bus (you can find the firmware for the motors [here](https://github.com/NiryoRobotics/niryo_stepper)) | ||
|
||
The _ros\_interface_ class is an interface between Niryo One hardware and the ROS ecosystem. It handles specific commands (learning mode, calibration, ...) and sends some data (hardware status, connected tool, ...). |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
# Niyo One Raspberry Pi 3 | ||
|
||
This packages handles all the external hardware (everything else than the motors) of Niryo One, and provides many utilities for the Raspberry Pi 3 : | ||
* Digital I/O panel : gets commands and sends the current state of digital I/Os. Also controls tools like the electromagnet. | ||
* LED : sets the LED color. | ||
* Top Button : executes actions when the button is pressed. | ||
* Wifi : handles the Raspberry Pi 3 Wi-FI connection (connected to a local network, or in hotspot mode). | ||
* ROS log : can remove all previous logs on startup to prevent a lack of disk space in the long run (SD cards do not have infinite storage). | ||
* ROS setup : can launch different processes and roslaunch files from code, with the possibility to add a delay before launching. Practicle on Raspberry Pi, where the computation power is quite low compared to a standard laptop. | ||
|
||
Note that this package should not be used when you are using Niryo One ROS stack on your computer, in simulation mode. |
Oops, something went wrong.