Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New controller package #1

Merged
merged 8 commits into from
Dec 20, 2023
Merged

New controller package #1

merged 8 commits into from
Dec 20, 2023

Conversation

charlesxu0124
Copy link
Collaborator

Hi all,

This is the first commit for the Franka controller package, modeled after the franka_ros/franka_example_controllers package. I've only kept the necessary files so this package does not use franka_example_controllers as a dependency. This package can be built and used after installing libfranka and franka_ros compatible with their own FCI firmware version according to the Franka Official guide.

This package contains:

  • Cartesian impedance controller with separate reference clipping values for each direction.
    • launch the controller by roslaunch serl_franka_controllers impedence.launch robot_ip:=<RobotIP> load_gripper:=<true/false>
    • compliance parameters can be controlled and adjusted on the fly with rosrun rqt_reconfigure rqt_reconfigure
  • Joint position controller for resets.
    • Launch by roslaunch serl_franka_controllers joint.launch robot_ip:= load_gripper:=<true/false>
    • The target joint position is obtained from the rosparam /target_joint_positions when the controller is launched. The parameter can by rosparam set /target_joint_positions '[q1, q2, q3, q4, q5, q6, q7]' after running roscore

Copy link
Member

@youliangtan youliangtan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the PR, added a few feedbacks.

Also, could you

  • Add a readme here in regards to quick instructions. Also reference to the original franka examples codebase.
  • Also append the readme at https://github.com/rail-berkeley/serl to point to this repo for robot controller code.

CMakeLists.txt Outdated
project(serl_franka_controllers)

set(CMAKE_BUILD_TYPE Release)
set(CMAKE_CXX_STANDARD 14)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

does this work with higher CXXX version (e.g. 17 or 20), for forward compatibility

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yep I updated to 20

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I can add this repo in the serl repo README in the next PR.

package.xml Outdated
<url type="website">http://wiki.ros.org/franka_example_controllers</url>
<url type="repository">https://github.com/frankaemika/franka_ros</url>
<url type="bugtracker">https://github.com/frankaemika/franka_ros/issues</url>
<author>Franka Emika GmbH</author>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Clean this, remove unessasary lines. and maybe add the license to this repo too

@charlesxu0124
Copy link
Collaborator Author

I updated the package information, added a README, and added a python test/example showing how to interact with the controller in python code.

Copy link
Member

@youliangtan youliangtan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

THanks for the changes and readme docs. I assume it will run all well on the actual robot. In terms of the main code and test script, all look perfect to me.

Copy link
Collaborator

@jianlanluo jianlanluo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@jianlanluo jianlanluo merged commit 689238c into main Dec 20, 2023
@youliangtan youliangtan deleted the dev branch December 23, 2023 03:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants