Coder Social home page Coder Social logo

timschneider42 / franky Goto Github PK

View Code? Open in Web Editor NEW

This project forked from pantor/frankx

23.0 23.0 6.0 3.06 MB

High-Level Motion Library for Collaborative Robots

Home Page: https://timschneider42.github.io/franky/

License: GNU Lesser General Public License v3.0

C++ 72.52% Python 8.29% Mathematica 15.92% CMake 1.06% Dockerfile 0.47% Shell 1.74%
franka franka-panda franka-panda-python franka-research-3 python3 robotics

franky's People

Contributors

0wu avatar galaxies99 avatar lukashermann avatar nily-dti avatar pantor avatar timschneider42 avatar toni-sm avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

franky's Issues

Question about cartesian control

This is an awesome fork! Thanks for sharing it. I was wondering if you've had problems with the cartesian control. Specifically, we randomly get joint acceleration and velocity discontinuity errors when using frankx. Has that been your experience too? Do you use a realtime kernel for this?

Thanks again for the great work.

Support for Franka Emika Research 3

Hi, Tim. At the very beginning, thank you for your long-time maintenance for franky .

Our lab currently purchased a FR3 manipulator. I wonder whether franky support FR3. Should I inform the controller my robot's type? How can I realize it, just like with roslaunch command?

roslaunch franka_example_controller joint_impedence_control.launch robot_ip:=172.16.0.2 robot:=fr3

My main concern is whether franky will give wrong kinematical and dynamical information if I control a FR3 robot with it.

I appreciate any assistance you can provide. Thank you in advance for your help.

Best,
CTC

[Communication_constrains_violation] error

I have been encountering an error randomly when attempting to move the robot: “Move command aborted: motion aborted by reflex! [“communication_constrains_violation]” This error does not occur every time, but it happens quite frequently. If I reactivate the robot and perform a Cartesian linear movement, the robot can run successfully without any error messages. However, if I try to repeat this movement without reactivate the robot, this error message will be triggered during the movement and the robot will be stopped.

I have already run the simple ping test and communication test as mentioned in the document. It doesn’t seem to be a problem.

The result of simple ping test:

10000 packets transmitted, 10000 received, 0% packet loss, time 10007ms
rtt min/avg/max/mdev = 0.111/0.211/0.478/0.042 ms

The result of communication test:

Control command success rate of 9978 samples:
Max: 1.00
Avg: 0.99
Min:0.94

I have also disabled the CPU frequency scaling, here is the output (The maximum frequency is 3.90 GHz):
Current CPU frequency is 3.77 GHz.

The robot do jerky sound.

Issue: The franka emika robot doing jerky sounds.

when the robot is moving from one waypoint to other way point.
Observations:- 5 different robots in my lab do same sounds.(probably not a hardware issue)
what code?:- The default code of moving from m1 to m2.
What language:- python sample code

# A point-to-point motion in the joint space
m1 = JointWaypointMotion([JointWaypoint([-0.3, 0.1, 0.3, -1.4, 0.1, 1.8, 0.7])])

# A motion in joint space with multiple waypoints
m2 = JointWaypointMotion([
    JointWaypoint([-0.3, 0.1, 0.3, -1.4, 0.1, 1.8, 0.7]),
    JointWaypoint([0.0, 0.3, 0.3, -1.5, -0.2, 1.5, 0.8]),
    JointWaypoint([0.1, 0.4, 0.3, -1.4, -0.3, 1.7, 0.9])
])

robot.move(m1)
robot.move(m2)

Whole code.

import math
from scipy.spatial.transform import Rotation
from franky import JointWaypointMotion, JointWaypoint, JointPositionStopMotion, CartesianMotion, \
    CartesianWaypointMotion, CartesianWaypoint, Affine, Twist, RobotPose, ReferenceType, CartesianPoseStopMotion, \
    CartesianState, JointState
from franky import Robot

robot = Robot("172.16.0.2")

# Recover from errors
robot.recover_from_errors()

# Set velocity, acceleration and jerk to 5% of the maximum
robot.relative_dynamics_factor = 0.05

# A point-to-point motion in the joint space
m1 = JointWaypointMotion([JointWaypoint([-0.3, 0.1, 0.3, -1.4, 0.1, 1.8, 0.7])])

# A motion in joint space with multiple waypoints
m2 = JointWaypointMotion([
    JointWaypoint([-0.3, 0.1, 0.3, -1.4, 0.1, 1.8, 0.7]),
    JointWaypoint([0.0, 0.3, 0.3, -1.5, -0.2, 1.5, 0.8]),
    JointWaypoint([0.1, 0.4, 0.3, -1.4, -0.3, 1.7, 0.9])
])

robot.move(m1)
robot.move(m2)

Kinematics example outdated

First of all, thank you for keeping the library alive through this fork!

I noticed that the kinematics example uses a vector() method on the Affine type:

q_new = Kinematics.inverse(x_new.vector(), q, null_space)

But when I try to run this example, I get the following error:

AttributeError: 'franky._franky.Affine' object has no attribute 'vector'

It appears that the reason for this is that the Affine type is now a type alias to Eigen and thus no longer uses the affx library where this method is defined.

Should it still be possible to run this example, am I doing something wrong?

Note that I'm using franky-panda 0.4.4 because I'm currently using a Panda instead of an FR3, but it seems to me that the situation for the latest version is the same.

Example code brakes.py is not working

I ran the example code to unlock the brakes and it does not work.
I suspect that the class RobotWebSession must be used instead Robot.
Could you please fix the error and update this example?

Impedance control question

Hello,

We have been trying to use franky with impedance control using CartesianImpedenceMotion but haven't gotten it to work. There is no error when running the code. Below is the code we tried. Any idea what is wrong (maybe we are setting the translational_stiffness correctly)?

from franky import Affine, CartesianMotion, CartesianImpedanceMotion, Robot, ReferenceType, CartesianPoseStopMotion
import time

robot = Robot("172.16.0.2")
robot.recover_from_errors()
robot.relative_dynamics_factor = 0.2

motion = CartesianImpedanceMotion(Affine([0.103205, -0.554416, 0.399998], [0.768303, -0.637665, 0.0449731, 0.0327324]), 100, translational_stiffness=10)

robot.move(motion, asynchronous=True)
time.sleep(30)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.