Category: FlexivArm
These are notes on using the Rizon arm. Hopefully these notes will mature to instructions.
Date: 06-15-2023
Author: Michael
New: As of "05/14/2023" we are on Flexiv RDK version 0.7
Just follow instructions on https://github.com/flexivrobotics/flexiv_rdk/tree/v0.7
Make sure to activate RDK with instructions here https://rdk.flexiv.com/manual/getting_started.html#client-server-reconnection
Old: Flexiv arm at BDML was updated to work with Flexiv RDK 0.7 on Feb. 2023
There are two ways to control the Flexiv Rizon: 1. Through the GUI in the teach pendant called G-ROS. 2. Through the RDK scripts. This tutorial runs the arm through RDK.
Note that as of 06-15-2022, the RDK loaded in the robot control box is 0.4.0, when using the RDK on the computer side please make sure that this version matches! (Refer to Appendix A)
The RDK by itself will have some simple motion control examples in both C++ and Python. The python methods are mostly not real-time, but it might be sufficient for most applications.
We have developed a ROS wrapping on top of the Fleixv python interface such that you can both control the arm through ROS commands and integrate with your other ROS based projects. Please find the repository with barebones ROS code here: [link to githuib]
Steps to getting Xbox controller demo to work:
- Turn on the control box
- Wait until the safety controller LEDs turn orange and the arm LEDs light up and start blinking. This takes some time (approx 2 minutes). If it does not happen it may be because startup failed, so restart the control box.
- Make sure that the safety controller mode is switched to "automatic". That is the slider switch should be up. Attach: SafetyControllerAutoMode.jpg
- Make sure that the ethernet cable is connected to naboo computer.
- In naboo terminal, go to directory "~/ml_ws/flexiv/catkin_ws"
- Open 4 tabs
- In tab 1, assuming you are in the catkin_ws directory, run source devel/setup.bash, then run roscore
- In tab 2, assuming that the Xbox USB dongle is connected to the computer, run sudo xboxdrv --silent
- In tab 3, assuming you are in catkin_ws directory, run source devel/setup.bash, then run rosrun joy joy_node _autorepeat_rate:=30 _coalesce_interval:=0.033''
- In tab 4, assuming you are in catkin_ws dir, run source devel/setup.bash, then go to catkin_ws/src/flexiv_ros/src.
- Run conda activate flexiv. This is needed because the flexiv drivers only work with Python 3.8.
- BEFORE YOU RUN THIS DEMO. MAKE SURE TO NOT MOVE THE END EFFECTOR PASSED THE BLUE LINE MARKED ON THE TABLE OR IT WILL HIT ITS JOINT LIMITS.
- Release the e-stop on the safety controller.
- Finally, run python cartesian_impedance_control.py 192.168.2.100 192.168.2.51 hold 100.
- Now the breaks of the robot joint will click and release and the robot will be ready to be controlled. Make sure the xbox controller is turned on by holding on the logo button.
Appendix A
If a new RDK library is cloned from github, it will be at the latest version whatever that is. If you want to change to a specific version, you can see what is available by typing "git tag -n" inside the repository. To change the version of the RDK you can do
git checkout v0.4.0