How to simplify robotics research with a native, ROS-based system
The problem with ROS and proprietary robot control systems
- They have invested significant resources into developing and testing their proprietary control systems and don’t want to expose the inner workings of their system to external researchers for fear of losing intellectual property.
- There are risks associated with exposing the system parameters to external researchers. Untested usage may
introduce bugs or other issues that could compromise the safety or reliability of the system. - Legal or contractual obligations often prevent manufacturers from sharing proprietary information with external parties.
- They may be concerned about potential liability issues if their closed-source control systems are modified by external parties.
- There is little financial incentive for most manufacturers, and in many cases, there is a strong disincentive: the need to invest in additional documentation, training, and support infrastructure to enable researchers to work with their control systems effectively.
Motor and drive feedback to ROS
The ZA6 provides the following:
- Feedback from each joint, standard configuration: position, velocity feedback, torque feedback in SI units, following error, diagnostics-like error code, with configuration, drives can also report additional diagnostics like motor/encoder temperatures and error code history.
- 10 digital inputs + 12 digital outputs (one digital input usable as probe input)
- HAL can report RT latency
- Feedback from ROS and MoveIt, especially Cartesian pose
Meet HAL: The open-source Hardware Abstraction Layer
- Using PREEMPT-RT Linux extensions, HAL components written in C execute in a 1kHz real-time thread with minimum jitter.
- HAL has many pre-written components designed for low-level hardware control (PWM generators, stepper driver step generators, BLDC and three-phase motor controls, and more. A full list can be found here.
Preconfigured for ROS
Python: the robot’s programming language
- Using the csv and http requests libraries to upload data files recorded by the robot to a web server.
- Using opencv to recognize ArUco markers for visual servoing and localization.
- Using numpy and kdl to calculate forces in cartesian space from the joint torque feedback and robot Jacobian.
- Using Twilio to send text messages from the robot.
- Using ChatGPT and the Python OpenAI API to conversationally create robot programs – example here.
Suitable for research and education
from The Robot Report - Robotics News, Analysis & Research https://ift.tt/ZdQnGS3
via artificialconference
Comments
Post a Comment