Releases: Kinovarobotics/ros_kortex
Release 2.5.2 of KINOVA ROS KORTEX repository in sync with KINOVA Gen3 release v2.5.2
Release 2.5.2 is a release only for the Gen3 arm.
It is important to note that:
The API is common to both robots, but newer features will only be available with firmware package 2.5.2, which is only available for Gen3 arms.
The Gen3 SWU file cannot be uploaded on a Gen3 lite, and vice versa.
Download links
Firmware packages
for the Gen3 (SWU 2.5.2) here
for the Gen3 lite (2.3.2) here
Release notes:
for the Gen3 (SWU 2.5.2) here
for the Gen3 lite (SWU 2.3.2) here
User Guides:
for the Gen3 (SWU 2.5.2) here
for the Gen3 lite (SWU 2.3.2) here
What's new
Robot features (see Release notes for more details)
2.5.2
- Added Brake support for Gen3 arms
- Disable Bluetooth by default
- Journal Export
- Fixed TORQUE_HIGH_VELOCITY control
mode. Now possible to send torque commands in TORQUE_HIGH_VELOCITY control
mode - Fixed SetCoggingFeedforwardMode and GetCoggingFeedforwardMode API calls
- Fixed voltage reading on Automatic power on variants of the Gen3
2.4.0
- Disable Wi-Fi and Bluetooth
- Automatic Power On variant of the Gen3
Changes to the ROS Kortex packages
- Updated proto files with the ones from the latest Kortex API 2.6.0
- Updated the auto-generated ROS related files (services, messages, include files, source files) for this new API
- You can download for reference the .PROTO files used to generate the 2.6.0 API on Artifactory.
Release 2.3.0 of KINOVA ROS KORTEX repository in sync with KINOVA Gen3 and Gen3 lite release v2.3.0
Release 2.3.0 is a common release for both the Gen3 and Gen3 lite robots.
It is important to note that:
- The API is common to both robots.
- The released features apply to both robots.
- The firmware files are nonetheless specific per robot. The Gen3 SWU file cannot be uploaded on a Gen3 lite, and vice versa.
Download links
You can download the 2.3.0 firmware package:
You can download the 2.3.0 release notes:
You can download the most recent User Guide:
What's new
Robot features (see Release notes for more details)
- Joint and cartesian waypoint support
- Modbus communication protocol support for control commands
- Improvements to Torque Control
- Fixed a memory leak bug which would force the end user to reboot the arm after running a fixed number of Pre-Computed Joint Trajectories (seen by MoveIt users).
Changes to the ROS Kortex packages
- The kortex_driver has been adapted to use the new Cartesian Waypoints API and offers an Action Server for playing Cartesian waypoint trajectories. An example has been added in kortex_examples for usage of that server, both in C++ and Python.
- The kortex_driver has been adapted to use the new Joint Waypoints API and the Action Server for playing Joint Trajectories (used by MoveIt) has been modified to use that API instead of the pre-computed joint trajectories.
- As a direct consequence of the previous point, the MoveIt configuration for all arms has been adapted to use the
AddIterativeSplineParameterization
Time Parametrization algorithm, which fixes the problem of trajectories being rejected because velocity or acceleration values exceed the limits of the robot. This also makes MoveIt create trajectories much more in line with the robot's limits, as previous implementations forced velocity and acceleration limits to be tuned down for these errors to be avoided. - The fix to the memory leak bug (which directly impacted MoveIt users) now enables the arm to properly run MoveIt trajectories in a loop without facing a mandatory reboot after some time.
Release 2.2.2 of KINOVA ROS KORTEX repository : improvements to the Gazebo simulation
This simulation-only release affects users using the Gazebo simulation for Kortex arms.
Download links
There is no new release for Kortex arms firmware so the release 2.2.0 download links are still the latest ones.
What's new
We have received a lot of feedback in the last few months over the fact that the Gazebo simulation for the Kortex arms did not have the same interface as the real arms, so writing code in simulation and testing it afterwards on a real arm was tedious in nature because code had to change between the simulated and real arm implementations.
We addressed that issue by modifying the kortex_driver
package to start in simulation too, and to expose all the auto-generated services
and topics that a real arm exposes. We implemented only the most important RPCs : the ones related to moving and stopping the arm and its gripper. You can see the list of handlers in the source code. They include the *Action ROS services as well as their specific counterpart (PlayCartesianTrajectory, PlayJointTrajectory, SendGripperCommand, ApplyEmergencyStop).
The SendTwist implementation has been kept in the code as a POC, but commented out because the arm was shaky in some positions and not stable enough. Users can uncomment this to see the behaviour and start from this code if they want to achieve simulated twist commands. We won't work on enhancing this in the short term. We didn't find the root cause for the shaking but it may be because of the PID gains not tuned enough, or the command rate of the simulated ROS Control individual position controllers.
You can have a look at the new kortex_examples documentation to learn more about the details and the differences between simulated and real arms.
The entry-point for real arms is still kortex_driver.launch and the entry-point for simulated arms is still spawn_kortex_robot.launch.
What's changed/fixed
- #88 the
prefix
option for both the simulated and real arm now also prefixes MoveIt configurations correctly. This is useful if you want to run multiple robots on a given ROS network (make sure to also set therobot_name
parameter to namespace your robot!) - #90 The implementation of the PlayCartesianTrajectory and ExecuteAction ROS services for a simulated arm makes it possible for simulation users to send the arms to a Cartesian pose, without computing the IK themselves. We use KDL in the
kortex_driver
to do this. Since the real arm has its own IK implementation, paths may vary between simulation and real arms (especially for the Gen3 7DOF). - The Gen3 lite users now don't have to specify a gripper when launching the driver since the default (and only) gripper is
gen3_lite_2f
.
Using simulated services that are not implemented
It is possible for users to implement simulation handlers for every call in the Kortex API. We did implement the most crucial ones and don't plan in the short term to implement more, but there is only one function call to add in the kortex_arm_driver and one handler to define in the kortex_arm_simulation to implement your own simulated behaviour for one of our Kortex API RPCs in simulation.
By default, unimplemented handlers for simulated services return the default value for their Response data structure and print a warning in the terminal.
Bugfix release 2.2.1 of KINOVA ROS KORTEX repository
This small bugfix release addresses a couple issues that were fixed over the last few weeks.
The first issue in the list could impact the end users using MoveIt Cartesian poses with the arms.
Download links
There is no new release for Kortex arms firmware so the release 2.2.0 download links are still the latest ones.
What has been fixed
- Issues #26 , #60 and Kinovarobotics/Kinova-kortex2_Gen3_G3L#51 through #97 . The tool frame used by the arms firmware was added to the kortex_description packages as the
tool_frame
link. This link was also added to thearm
MoveIt planning group, so if you had Cartesian trajectories planned with MoveIt, be aware that the last arm link is nowtool_frame
to match the end effector pose present in the robot's feedback. You can see the definition for the link in TF with RViz, or in the source URDF for the Robotiq 2F-85, the Robotiq 2F-140 and the Gen3 lite gripper. - #98 fixed a problem where the Robotiq grippers would fly away in Gazebo.
- A touch of colour was added to the Gen3 lite simulation model. A more realistic colour texture will be added in the future.
- A fix for the
prefix
option in the driver was made so the action server would use it correctly. The option is still not supported in simulation and will be fixed in the short term. - Instructions were added here to build the ROS Kortex packages for ARMV8 architecture.
- Building with
catkin_make_isolated
andcatkin tools
is now supported.
Release 2.2.0 of KINOVA ROS KORTEX repository in sync with KINOVA Gen3 release v2.2.0
Release 2.2.0 of KINOVA KORTEX repository in sync with KINOVA Gen3 Ultra lightweight robot version 2.2.0
This release works for both the Gen3 and the Gen3 lite, but the new firmware is only for Gen3. The most recent firmware version for Gen3 lite is 2.1.0
Download links
You can download the 2.2.0 firmware package for the Gen3 here.
You can download the 2.2.0 release notes for the Gen3 here.
You can download the most recent User Guide here.
What's new
Robot features
- New Gen3 6DOF robot model
- Added Fixed Base and No Vision Module configurations for the Gen3 arm
- Faster robot movement:
- Up to 50 cm/s in Cartesian Linear Twist
- Up to 100 deg/s in Cartesian Angular Twist
- Up to 80 deg/s in Joint Speeds for big actuators
- Up to 70 deg/s in Joint Speeds for small actuators
- Configurable soft limits in the WebApp (you can access the tab in Configurations->Speed Limits):
- Teaching mode was added and can be accessed when Creating a new Sequence in the Actions page. You can read more about how the Teaching mode functions in the User Guide.
- Controller mappings are now configurable (you can access the tab in Configurations->Controllers):
Changes to the ROS Kortex packages
- The Kortex API is now hosted on our Conan Artifactory server and a Conan installation procedure has been added. Once Conan is installed on your machine, the API will be automatically downloaded by Conan instead. You can read more about the Conan package manager here. You can still use the old way of building ROS Kortex and download it on Artifactory (see details in this section).
Essentially, to install Conan, run those lines (make sure you have python3 and pip installed):
sudo python3 -m pip install conan
conan config set general.revisions_enabled=1
conan profile new default --detect > /dev/null
conan profile update settings.compiler.libcxx=libstdc++11 default
- A new deprecation message was added to the API for some functions. With ROS, you'll get a runtime warning when calling the deprecated services in the kortex_arm_driver window output.
- Added an option to use the arm's hard limits as soft limits (Gen3 only). This enables the arm to use MoveIt at full speed, with modified joint speed and acceleration limits. The hard joint limits can be found, for example, in this file. You can read more about it in the use_hard_limits parameter in this section. Be aware that enabling this parameter will automatically set your arm's soft limits to the hard limits, so your arm will move a lot faster! Be cautious when turning it on for the first time!
- Added the description and MoveIt config's for the 6DOF arms, and support for Gen3 arms without vision modules.
Release 2.1.0 of KINOVA ROS KORTEX repository in sync with KINOVA Gen3 lite initial release v2.1.1
This release 2.1.0 of the ROS KORTEX packages adds compatibility for the initial release of a new 6DOF Kortex arm, the Gen3 lite.
Important note to update an existing ROS Kortex workspace
For the workspace to build properly, after this update because of the change to auto-generated files, you will have to run those commands and then clean and rebuild the package:
rm -rf kortex_api/include kortex_api/lib
Note for Gen3 users
This release does not add features or examples for the Gen3. It only adds compatibility for 6DOF arms. The ROS Kortex 2.1.0 package is backward compatible with the 2.0.X firmware packages for Gen3.
What's new
- Added support for the Gen3 lite in the kortex_driver, kortex_control, kortex_gazebo and kortex_description packages.
- Added MoveIt support for the Gen3 lite.
- Updated the kortex_examples to work for Gen3 lite.
- Updated the auto-generated documentation for the API to match with the 2.1.0 API.
Download links
You can download the 2.1.1 firmware package for the Gen3 lite only here.
You can download the 2.1.1 release notes for the Gen3 lite here.
Release 2.0.0 of the KINOVA ros_kortex repository
Release 2.0.0 of KINOVA ros_kortex repository in sync with KINOVA Gen3 Ultra lightweight robot version 2.0.0
Download links
You can download the 2.0.0 firmware package for the Gen3 here.
You can download the 2.0.0 release notes for the Gen3 here.
Compatibility break
-
The packages filesystem has changed with v2.0.0. You may have to remap some ROS topics, ROS services and refactor some launch files. You can see all the details in the dedicated compatibility section.
-
The base branch of the repository has been changed to
kinetic-devel
and themaster
branch has been deleted. If you were on themaster
branch, you can simply checkout to thekinetic-devel
branch :git fetch git checkout kinetic-devel
Instructions to update your ros_kortex package to v2.0.0
- Checkout
kinetic-devel
branch and pull the latest version :
cd path_to_your_catkin_ws/src/ros_kortex
git fetch
git checkout kinetic-devel
git pull
- Remove the kortex_api/include and kortex_api/lib folder (because they are currently at 1.1.7):
rm -rf kortex_api/include kortex_api/lib
- Install the new dependencies:
cd path_to_your_catkin_ws
rosdep install --from-paths src --ignore-src
- Clean and build the package. The Kortex API v2.0.0 will be automatically downloaded and extracted to the correct location during catkin_make as the documentation explains.
cd path_to_your_catkin_ws
rm -rf devel build
catkin_make
What's new
- The
kortex_actuator_driver
,kortex_device_manager
andkortex_vision_config_driver
packages have been removed andkortex_driver
has been updated to include all of the Kortex API functionalities. You can read more about the ROS topics, ROS services and functionalities of the driver in the dedicated documentation. - The
kortex_control
package has been added. It provides a basic ROS Control interface for the simulated Gen3 arm in Gazebo. You can read more about thekortex_control
package in the dedicated documentation. Support for a ROS Control interface with the real Gen3 arm is not present yet and will be added in a future release. - The
kortex_description
package now supports the Robotiq 2-fingers 85 gripper. - The
kortex_examples
package has been updated to use services and topics from the updatedkortex_driver
. You can read more about the examples in the dedicated documentation. - Gazebo support was added for the Gen3 in the
kortex_gazebo
package. The package is experimental for now. You can see why, and how to start the Gazebo simulation in the dedicated documentation. - MoveIt support was added for the Gen3 in the
kortex_move_it_config
package. You can read more about the MoveIt support in the dedicated documentation.
Release 1.1.6 of KINOVA ROS KORTEX repository
Release 1.1.6 of KINOVA KORTEX repository in sync with KINOVA Gen3 Ultra lightweight robot version 1.1.6. The changes include:
• Generated the .srv, .msg, .cpp and .h files for Kortex API v1.1.6.
• Added the build.sh script to setup ROS Kortex easily after cloning the repository. The script downloads the API, unzips it to the right folder and builds the ROS packages with catkin_make
.
• Updated the comments in the examples
• Updated the Google Drive link to download the Kortex API v1.1.6
• Added the kortex_tests package : a first draft for functional testing of the ROS nodes
Initial release of KINOVA ROS KORTEX repository
Initial release of KINOVA ROS KORTEX repository in sync with KINOVA Gen3 Ultra lightweight robot version 1.1.4. This repository contains the official ROS package built on top of KINOVA KORTEX API to communicate with KINOVA Gen3 Ultra lightweight robot version 1.1.4 and up.
This includes the initial release of:
• KORTEX driver ROS node that allows communication with a robotic based from a Gen3 robot.
• KORTEX actuator ROS node that allows direct communication with a Gen3 actuator.
• KORTEX device manager ROS node that allows basic communication with every devices supported by the KORTEX framework.
• KORTEX vision configuration ROS node that allows direct communication with a Gen3 vision module.
• KORTEX examples which holds all examples needed to understand the basics of ROS KORTEX.
• KORTEX description package which contains the URDF and STL of a complete Gen3 robot.