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

Add dual_panda2 #1544

Merged
merged 139 commits into from
Dec 1, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
139 commits
Select commit Hold shift + click to select a range
10a4475
[jsk_panda_robot] initial add
YoheiKakiuchi Mar 22, 2021
95ee6a8
add find_package(catkin) to CMakeLists
Mar 30, 2021
33e089a
add panda accesories CAD files for tool mouter
ykawamura96 Apr 28, 2021
b650db2
[WIP] Add panda-teleop package
ykawamura96 Jun 8, 2021
28f8ba0
changed outer to 0.06 in dual_panda-interface.l
softyanija Jun 9, 2021
ec72914
[jsk_panda_teleop] fix package.xml version to 1.1.0
ykawamura96 Jun 9, 2021
066ce81
[jsk_panda_accessories] remove unnesesorry virtual CAD file
ykawamura96 Jun 9, 2021
18b4904
[jsk_panda_teleop] fix franka_play.sh
ykawamura96 Jun 9, 2021
6978284
add arguments :width,:inner,:outer to :start-grasp, :width to :stop-g…
softyanija Jun 11, 2021
f1e7f19
fix package name typo
ykawamura96 Jun 13, 2021
413ba9f
fix typo in master side running script
ykawamura96 Jun 13, 2021
c3d8f19
add jsk_panda.rosinstall
ykawamura96 Jun 14, 2021
bed4fdf
Move panda_record/play.launch and play.sh under the jsk_panda_startup
ykawamura96 Jun 16, 2021
598e52c
make gripper file and add panda-hand_tweezer_v2
softyanija Jun 17, 2021
1d39335
Update README.md
softyanija Jun 17, 2021
db6bf77
Update README.md
softyanija Jun 17, 2021
acd010a
changed directory name gripper->tweezers and README.md
softyanija Jun 17, 2021
9d5f2ad
add end-coords_publisher.l
softyanija Jun 18, 2021
a895b0f
add allow-other-keys to dual_panda-robot-interface :init
k-okada Jun 18, 2021
0babbd6
fix yaml format
k-okada Jun 18, 2021
a34b3a8
update rosdep for jsk_panda_teleop
ykawamura96 Jun 18, 2021
9da91c1
set rosparam '/dual_panda/end_coords_pub_hz' and made node 'end_coord…
softyanija Jun 23, 2021
e50b428
changed node name 'pose-stamped-publisher' to 'ee-poses-publisher' an…
softyanija Jun 23, 2021
8994750
add /dual_panda/end_coords/rarm and /larm to panda_record.launch
softyanija Jun 23, 2021
aba2259
modified indent in panda_record.launch
softyanija Jun 23, 2021
291249a
changed param name end_pose_publishing_hz to end_coords_publishing_hz…
softyanija Jun 23, 2021
c0caa4f
add comment about end_coords_publishing_hz in dual_panda.launch
softyanija Jun 24, 2021
e1abcd2
remove rwt teleop and fix name of controllers in start_pand_rt_contro…
ykawamura96 Jun 25, 2021
6bfdac0
[jsk_panda_robot] panda_start_launch now runs hand-eye usb camera by …
ykawamura96 Jul 2, 2021
5d3441d
[jsk_panda_robot] add audio capture and play
ykawamura96 Jul 2, 2021
b3b400a
add readme
ykawamura96 Mar 20, 2022
47f824a
Update README.md
ykawamura96 Mar 20, 2022
a964dfd
refactor from review
ykawamura96 Mar 20, 2022
5f55969
add env-hooks
ykawamura96 Mar 20, 2022
ecdb858
add topic syncronizer
ykawamura96 Mar 20, 2022
39d0b31
Update README.md
ykawamura96 Mar 20, 2022
023cc44
[jsk_panda_startup] Remove tabs in panda_record.launch
softyanija Jun 27, 2022
7110486
[jsk_panda_teleop] Update audio_device to current status
softyanija Jun 27, 2022
6d8df7a
[panda_eus] add .gitignore
ykawamura96 Dec 1, 2021
846116e
[jsk_panda_startup] update threshold
ykawamura96 Dec 1, 2021
3b8b305
[panda_eus] Add the same end-coords as eus model to URDF
softyanija Jun 27, 2022
4a2002d
[jsk_panda_teleop] Delete meaningless brank line at the end of dual_p…
softyanija Jun 27, 2022
c5fb3bd
[jsk_panda_teleop] Fix typo in move_to_initial.l
softyanija Jun 27, 2022
8c1edf6
[jsk_panda_teleop] Move IP settings from start_master_side.sh to README
softyanija Jun 27, 2022
2777fe2
[jsk_panda_startup] delete end-coords_publisher.l
softyanija Jun 28, 2022
1630478
[jsk_panda_startup] remove description about end-coords_publisher.l f…
softyanija Jun 28, 2022
68f4f29
[jsk_panda_startup] Add missing dependency to uvc_camera
softyanija Jun 28, 2022
e742c7b
[jsk_panda_robot] Fix typo in README
softyanija Jul 8, 2022
90461c7
[jsk_panda_robot] Add explanation about :recover-error
softyanija Jul 8, 2022
ecff32c
[jsk_panda_robot] rossetpanda -> rossetdualpanda
softyanija Jul 8, 2022
11cca5a
[jsk_panda_teleop] Delete unnecessary command about phantom omni devi…
pazeshun Jul 19, 2022
e4a7775
[jsk_panda_startup] Update audio_device to current status
pazeshun Jul 19, 2022
3ed3e0e
[jsk_panda_robot] Fix how to get microphone parameters
pazeshun Jul 19, 2022
349f55b
[jsk_panda_robot] Use USB microphone instead of web camera
pazeshun Jul 19, 2022
e91035e
[jsk_panda_robot] Fix device file name of web camera
pazeshun Jul 19, 2022
e3552a4
[jsk_panda_teleop] Stop using unnecessary robot model
pazeshun Jul 20, 2022
3eed90b
[jsk_panda_robot] Required changes of franka_ros becomes PR
pazeshun Jul 20, 2022
dda7b03
[panda_eus] Change dual_panda model to follow https://github.com/fran…
pazeshun Jul 20, 2022
ffc42d3
[jsk_panda_robot] New PR to Geomagic_Touch_ROS_Drivers becomes requir…
pazeshun Jul 20, 2022
46b0d67
[jsk_panda_robot] Make rosinstall work after jsk_panda_robot is merge…
pazeshun Jul 20, 2022
f35f79e
[jsk_panda_robot] Restore how to start audio in @ykawamura96's experi…
pazeshun Jul 21, 2022
911afe8
[jsk_panda_robot] Add missing kernel version on README
pazeshun Jul 21, 2022
3c14dba
[jsk_panda_robot] Change code blocks on README to avoid line breaks &…
pazeshun Jul 21, 2022
3175049
[jsk_panda_robot] Fix colon and semicolon on README
pazeshun Jul 21, 2022
e91c58c
[jsk_panda_robot] Make installation method of OpenHaptics & Touch Dev…
pazeshun Jul 21, 2022
ff44e30
[jsk_panda_startup] Remove unnecessary or wrongly placed files
pazeshun Jul 21, 2022
b7b9795
[jsk_panda_teleop] Delete config/dual_panda.rviz because it seems old…
pazeshun Jul 21, 2022
667d448
[jsk_panda_teleop] Commit changes @ykawamura96 forgot to commit in or…
pazeshun Jul 21, 2022
f2d3daf
[jsk_panda_teleop] Fix for python3
pazeshun Jul 25, 2022
24222eb
[panda_eus] Skip generating dual_panda.l when franka_description is n…
pazeshun Jul 25, 2022
248ccb7
[CI] Install franka_description from source on kinetic to build panda…
pazeshun Jul 25, 2022
8b89a28
[panda_eus] create dual_panda2.urdf and xacro
softyanija Jun 29, 2022
cab12d2
[jsk_panda_startup] made dual_panda2.launch from dual_panda.launch an…
softyanija Jul 1, 2022
d1f220b
[jsk_panda_startup] delate and commentout description about hand cameras
softyanija Jul 1, 2022
dac500b
[jsk_panda_startup] delete commentouted part about rqt_reconfigure
softyanija Jul 1, 2022
26896f2
[jsk_panda_startup] add dual_panda2.rviz, but haven't check this yet
softyanija Jul 1, 2022
ea5ae1e
[jsk_panda_startup] add desciption to launch realsense to dual_panda2…
softyanija Jul 1, 2022
a185339
[jsk_panda_startup] add dependency to realsense2_camera
softyanija Jul 1, 2022
a65b427
[jsk_panda_startup] delete description about audio
softyanija Jul 4, 2022
0749328
[panda_eus] delete part of pan_tilt_kinect from dual_panda.urdf.xacro
softyanija Jul 4, 2022
4f3d19e
[jsk_panda_startup] rename files about rosbag from panda to dual_panda
softyanija Jul 4, 2022
3255122
[jsk_panda_startup] make rosbag play and record for dual_panda2
softyanija Jul 4, 2022
952425f
[jsk_panda_startup] adjust topics in dual_panda2_play and record launch
softyanija Jul 4, 2022
fb13119
[jsk_panda_startup] Add rossetdualpanda2
softyanija Jul 8, 2022
5bfd313
[jsk_panda_robot] Add dual_panda2 to README
softyanija Jul 8, 2022
a4e9332
[jsk_panda_startup] rename dual_play_panda.rviz -> dual_panda_play.rviz
softyanija Jul 11, 2022
741823b
[jsk_panda_startup] rename dual_panda2.rviz -> dual_panda2_play.rviz
softyanija Jul 11, 2022
5e53723
[jsk_panda_startup] edit displaying contens in dual_panda2_play.rviz
softyanija Jul 11, 2022
7e200c6
[jsk_panda_startup] add robot_description to dual_panda ns
softyanija Jul 12, 2022
58b1fe9
[jsk_panda_startup] changed reference of robot_description to dual_pa…
softyanija Jul 12, 2022
4bd4b97
[jsk_panda_robot] Install realsense2_camera from source on panda cont…
softyanija Jul 14, 2022
358445a
[panda_eus] change reference from dual_panda.urdf.xacro to dual_panda…
softyanija Jul 20, 2022
192be06
[jsk_panda_startup] delete description about fisheye in dual_panda2.u…
softyanija Jul 20, 2022
2f7e500
[panda_eus] delete description about xtion in dual_panda2.urdf.xacro
softyanija Jul 20, 2022
783ba3d
[panda_eus] add realsense model _d435.urdf.xacro from realsense2_desc…
softyanija Jul 20, 2022
3a3e0f2
[panda_eus] adjust position and angle of mesh model of realsense
softyanija Jul 20, 2022
99d7c64
[panda_eus] Change dual_panda2 model to follow https://github.com/fra…
pazeshun Jul 20, 2022
7550747
[jsk_panda_teleop] Add unique name to each window of camera image to …
pazeshun Jul 27, 2022
445b11b
[jsk_panda_robot] Update rviz image on README
pazeshun Jul 27, 2022
e80b560
[jsk_panda_teleop] Delete unnecessary item from rviz
pazeshun Jul 27, 2022
0e9b52e
[jsk_panda_robot] Change robot IPs
pazeshun Aug 10, 2022
a752873
[jsk_panda_robot] Delete rossetdualpanda*
pazeshun Aug 10, 2022
2c75438
[panda_eus] Fix typo in euslisp module name
pazeshun Aug 10, 2022
e532df6
[jsk_panda_robot] Change robot name: dual_panda -> dual_panda1. From …
pazeshun Aug 10, 2022
ac85ca5
[jsk_panda_robot] Change hostname of controller PCs to follow RFC952
pazeshun Aug 10, 2022
1c720d5
[panda_eus] Remove wrongly added unnecessary file
pazeshun Aug 10, 2022
4048d60
[jsk_panda_robot] Extract common part of dual_panda*.launch as dual_p…
pazeshun Aug 10, 2022
32a2b7a
[jsk_panda_robot] Change dual_panda.urdf.xacro to dual_panda1.urdf.xa…
pazeshun Aug 12, 2022
8214dcf
[jsk_panda_robot] Change camera name: camera -> head_camera
pazeshun Aug 12, 2022
9399b50
[panda_eus] Roughly calibrate head_camera pose
pazeshun Aug 12, 2022
91733a0
[jsk_panda_teleop] Use existing controller to remove dependency on ht…
pazeshun Nov 10, 2022
0c21259
[panda_eus] Change dual_panda model to follow latest franka_description
pazeshun Nov 11, 2022
41f7c48
[jsk_panda_teleop] Fix installation to work with 'catkin config --ins…
pazeshun Nov 11, 2022
ed1dfc3
[jsk_panda_robot] apt version of franka_hw does not work
pazeshun Nov 11, 2022
05fafc4
[jsk_panda_robot] Update speaker setting & refactor comments
pazeshun Nov 14, 2022
3ac2e81
[jsk_panda_teleop] Fix typo: syncronizer -> synchronizer
pazeshun Nov 14, 2022
72a6a0e
[jsk_panda_teleop] Delete unnecessary srv
pazeshun Nov 14, 2022
624d0a3
[jsk_panda_teleop] jsk_panda_teleop depends on jsk_panda_startup
pazeshun Nov 14, 2022
065c905
[jsk_panda_teleop] Delete unnecessary launch
pazeshun Nov 14, 2022
3a8ee2d
[panda_eus] Update panda model
pazeshun Nov 14, 2022
fcc4eac
[jsk_panda_robot] Refactor rosbag recorders
pazeshun Nov 17, 2022
fd591cf
[jsk_panda_robot] Refactor rosbag players
pazeshun Nov 17, 2022
6134046
[jsk_panda_startup] Avoid image_raw hz drop when subscribing compress…
pazeshun Nov 18, 2022
6a86808
[jsk_panda_accessories] Fix README
pazeshun Nov 18, 2022
0e6e227
[jsk_panda_robot] Merge controller configs & equalize larm configs to…
pazeshun Nov 18, 2022
52298e5
[panda_eus] Remove unnecessary CATKIN_DEPENDS
pazeshun Nov 18, 2022
488e335
[jsk_panda_robot] Delete gazebo settings & fix some typos
pazeshun Nov 18, 2022
4fc99f5
[panda_eus] Add docs to euslisp interface & correct some mistakes
pazeshun Nov 19, 2022
633108d
[jsk_panda_robot] Skip generating dual_panda.l on kinetic due to xacr…
pazeshun Nov 19, 2022
5b1613a
[panda_eus] Fix tm->speed conversion in gripper methods & refactor gr…
pazeshun Nov 22, 2022
58ee315
[panda_eus] Update comments about gains to avoid further updates due …
pazeshun Nov 22, 2022
8ca7542
[jsk_panda_teleop] Add rosbag player of teleop
pazeshun Nov 22, 2022
bbc7a22
[jsk_panda_robot] Add rosbag recorder/player to README
pazeshun Nov 22, 2022
9848910
[jsk_panda_startup] Record/play depth on dual_panda2
pazeshun Nov 24, 2022
afca6cc
[jsk_panda_startup] Fix dual_panda2 camera topic name (/*arm_vision/c…
pazeshun Nov 24, 2022
560b823
[jsk_panda_robot] Update rviz configs: display point cloud, delete un…
pazeshun Nov 24, 2022
374345e
[jsk_panda_robot] Add how to setup TouchUSBs
pazeshun Nov 24, 2022
b3ee060
[jsk_panda_robot] Add how to distinguish dual_panda1 and dual_panda2
pazeshun Nov 25, 2022
44f917d
[jsk_panda_teleop] Enable 'catkin build' to change python shebang for…
pazeshun Nov 25, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
126 changes: 126 additions & 0 deletions jsk_panda_robot/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,126 @@
# JSK Panda Robot
## Installation
- Following pages provide informative resources.
- Official manual page: https://frankaemika.github.io/docs/installation_linux.html
- Franka Community: https://www.franka-community.de/


### Installation for User PC
1. Install OpenHaptics and Touch Device Driver from here: https://support.3dsystems.com/s/article/OpenHaptics-for-Linux-Developer-Edition-v34?language=en_US
* If your Ubuntu version is not supported, check JSK backup: https://drive.google.com/drive/folders/1FiQ4m3XtoDlwdRIq3H7LJv8T882SBVBl

2. Install ROS packages:
```bash
mkdir -p ~/franka_ws/src
cd ~/franka_ws/src
wstool init
wstool merge https://raw.githubusercontent.com/jsk-ros-pkg/jsk_robot/master/jsk_panda_robot/jsk_panda_user.rosinstall
wstool update
cd ../
source /opt/ros/melodic/setup.bash
rosdep install -y -r --from-paths src --ignore-src --skip-keys=librealsense2,realsense2_camera # See comments in jsk_panda.rosinstall
catkin build jsk_panda_startup jsk_panda_teleop
source devel/setup.bash
```
3. If you want to use TouchUSBs (haptic devices), see [this README](https://github.com/pazeshun/Geomagic_Touch_ROS_Drivers/tree/dual-phantom-readme#use-multiple-devices) to setup devices.
* Note that this README was written for old Ubuntu.
- On Ubuntu 18.04, run `Touch_Setup` instead of `/opt/geomagic_touch_device_driver/Geomagic_Touch_Setup`. If you want to check device status, run `Touch_Diagnostic` instead of `/opt/geomagic_touch_device_driver/Geomagic_Touch_Diagnostic`.

### Installation for Panda Controller PC
1. Please see and follow installation written in: https://frankaemika.github.io/docs/installation_linux.html
* Note that you need to install real-time kernel (`PREEMPT-PR` kernel) for real-time control.
* Ref: Current controller PC uses following kernel: `dual-panda1`: `5.4.19-rt11`, `dual-panda2`: `5.4.93-rt51`
2. Install librealsense2:
https://github.com/IntelRealSense/librealsense/blob/master/doc/distribution_linux.md#installing-the-packages
3. Install OpenHaptics and Touch Device Driver from here: https://support.3dsystems.com/s/article/OpenHaptics-for-Linux-Developer-Edition-v34?language=en_US
* If your Ubuntu version is not supported, check JSK backup: https://drive.google.com/drive/folders/1FiQ4m3XtoDlwdRIq3H7LJv8T882SBVBl
4. Install ROS packages:
```bash
mkdir -p ~/franka_ws/src
cd ~/franka_ws/src
wstool init
wstool merge https://raw.githubusercontent.com/jsk-ros-pkg/jsk_robot/master/jsk_panda_robot/jsk_panda.rosinstall
wstool update
cd ../
source /opt/ros/melodic/setup.bash
rosdep install -y -r --from-paths src --ignore-src --skip-keys=librealsense2,realsense2_camera # See comments in jsk_panda.rosinstall
catkin build jsk_panda_startup jsk_panda_teleop
source devel/setup.bash
```


## Running Dual-Panda
### Boot robot
1. Please turn on the controller box and unlock joints by accessing desk.
### Via roseus
1. Start controller on controller PC:
```bash
# dual_panda1: robot having Xtion camera on head, web cameras on both hands, microphone on right hand
# dual_panda2: robot having RealSense D435 on both hands
ssh [email protected] # Or ssh [email protected]
roslaunch jsk_panda_startup dual_panda1.launch # Or roslaunch jsk_panda_startup dual_panda2.launch
```

2. Controlling Dual-Panda via roseus:
1. Setting up network:
```bash
rossetmaster dual-panda1.jsk.imi.i.u-tokyo.ac.jp # Or rossetmaster dual-panda2.jsk.imi.i.u-tokyo.ac.jp
rossetip
```
2. Execute following script in roseus:
```lisp
(load "package://panda_eus/euslisp/dual_panda-interface.l")
(dual_panda-init)
(send *robot* :angle-vector (send *robot* :reset-pose))
(when (send *ri* :check-error)
(send *ri* :recover-error))
(send *ri* :angle-vector (send *robot* :angle-vector) 3000)
```
`(send *ri* :recover-error)` is required every time when you press and release the black switch (`activated` -> `monitored stop` -> `activated`).
#### Record/play rosbag
```bash
roslaunch jsk_panda_startup dual_panda1_record.launch # Or roslaunch jsk_panda_startup dual_panda2_record.launch
# Generated bag file: /tmp/panda_rosbag/data_*.bag
roslaunch jsk_panda_startup dual_panda1_play.launch bagfile_name:=/path/to/bagfile # Or roslaunch jsk_panda_startup dual_panda2_play.launch bagfile_name:=/path/to/bagfile
```
### Teleop
#### Start program
1. Start controller on controller PC:
```bash
ssh [email protected]
roslaunch jsk_panda_teleop start_panda_teleop_follower_side.launch start_bilateral:=true
```
`start_bilateral:=true` connects haptic device and dual_panda from the beginning, i.e. it moves the robot immediately after running leader (user) side.
If you start with `start_bilateral:=false`, you would need to call following service call:
```bash
rosservice call /dual_panda/control_bilateral "pose_connecting: true
force_connecting: true
reset_phantom: true
wait: 3.0"
```

2. Start user PC:
```bash
rossetmaster dual-panda1.jsk.imi.i.u-tokyo.ac.jp
rossetip
rosrun jsk_panda_teleop start_master_side.sh
```
Then you should see rviz popup like this:
![image](https://user-images.githubusercontent.com/14994939/181154686-cb8e95c8-96a7-47ac-b074-bf3c72bc5ee8.png)

#### Move robot
1. Press connection mode switch (white button) to change connect or not-connect status between the haptic devices and the robot.
2. Press gripper switch to close / open gripper.

![image](https://user-images.githubusercontent.com/43567489/159150507-75122802-121e-4a22-abd1-b9540890950b.png)

#### Record/play rosbag
```bash
roslaunch jsk_panda_teleop panda_teleop_record.launch
# Generated bag file: /tmp/panda_rosbag/data_*.bag
roslaunch jsk_panda_teleop panda_teleop_play.launch bagfile_name:=/path/to/bagfile
```

#### Trouble Shooting
1. `Failed to initialize haptic device` -> Please give access to haptic devices, i.e `sudo chmod 777 /dev/ttyACM[0-1]`

32 changes: 32 additions & 0 deletions jsk_panda_robot/jsk_panda.rosinstall
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# This file is for workspace for panda controller PC

- git:
local-name: jsk-ros-pkg/jsk_robot
uri: https://github.com/jsk-ros-pkg/jsk_robot.git
version: master

# Wait https://github.com/bharatm11/Geomagic_Touch_ROS_Drivers/pull/8 to be merged.
# NOTE: even when that is merged, you have to use dual-phantom-beta branch, not hydro-devel, until dual-phantom-beta is merged into hydro-devel
- git:
local-name: phantom_drivers
uri: https://github.com/pazeshun/Geomagic_Touch_ROS_Drivers.git
version: dual-phantom-readme

# Wait https://github.com/frankaemika/franka_ros/pull/298 to be released.
- git:
local-name: franka_ros
uri: https://github.com/pazeshun/franka_ros.git
version: install-FrankaCombinableHW

# Wait sound_classification to be released.
- git:
local-name: jsk-ros-pkg/jsk_recognition
uri: https://github.com/jsk-ros-pkg/jsk_recognition.git
version: f455d96f431d094177be5f7569c79a3e25e8e360

# ros-$ROS_DISTRO-librealsense2 is unstable, so we install librealsense2 from intel apt repo and build realsense2_camera with it.
# See Notice of https://github.com/IntelRealSense/realsense-ros/tree/2.3.2#method-1-the-ros-distribution.
- git:
local-name: realsense-ros
uri: https://github.com/IntelRealSense/realsense-ros.git
version: 2.3.2
13 changes: 13 additions & 0 deletions jsk_panda_robot/jsk_panda_accessories/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# Tool mounter
Mounting any tools onto panda-hand. Plate mounter has M3 screw wholes placed by 10mm x 10mm.

![](tool_mounter/hand_adapter.png)

Designed by Yoichiro Kawamura.

# tweezers
Expansion parts to grasp small things.

<img width="252" alt="tweezer_v2_right" src="https://user-images.githubusercontent.com/48650394/122322295-3781de00-cf60-11eb-926e-7aec0473b5ab.png">

Designed by Koki Amabe.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Binary file not shown.
13 changes: 13 additions & 0 deletions jsk_panda_robot/jsk_panda_startup/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
cmake_minimum_required(VERSION 2.8.0)
find_package(catkin)
project(jsk_panda_startup)

catkin_package()

#############
## Install ##
#############

install(DIRECTORY launch config
Copy link
Member

Choose a reason for hiding this comment

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

forget rviz directory?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

rviz directory is inside config directory, so I think it is installed by current CMakeLists.txt:

leus@dual-panda1:~/test_ws/install/share/jsk_panda_startup/config/rviz$ ls
dual_panda1_play.rviz  dual_panda2_play.rviz

DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
USE_SOURCE_PERMISSIONS)
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
robot_hardware:
- rarm
- larm

rarm:
type: franka_hw/FrankaCombinableHW
arm_id: rarm
joint_names:
- rarm_joint1
- rarm_joint2
- rarm_joint3
- rarm_joint4
- rarm_joint5
- rarm_joint6
- rarm_joint7
# Configure the threshold angle for printing joint limit warnings.
joint_limit_warning_threshold: 0.1 # [rad]
# Activate rate limiter? [true|false]
rate_limiting: true
# Cutoff frequency of the low-pass filter. Set to >= 1000 to deactivate.
cutoff_frequency: 1000
# Internal controller for motion generators [joint_impedance|cartesian_impedance]
internal_controller: joint_impedance
# Used to decide whether to enforce realtime mode [enforce|ignore]
realtime_config: enforce
# Configure the initial defaults for the collision behavior reflexes.
collision_config:
# lower_torque_thresholds_acceleration: [20.0, 20.0, 18.0, 18.0, 16.0, 14.0, 12.0] # [Nm]
# upper_torque_thresholds_acceleration: [20.0, 20.0, 18.0, 18.0, 16.0, 14.0, 12.0] # [Nm]
# lower_torque_thresholds_nominal: [20.0, 20.0, 18.0, 18.0, 16.0, 14.0, 12.0] # [Nm]
# upper_torque_thresholds_nominal: [20.0, 20.0, 18.0, 18.0, 16.0, 14.0, 12.0] # [Nm]
# lower_force_thresholds_acceleration: [20.0, 20.0, 20.0, 25.0, 25.0, 25.0] # [N, N, N, Nm, Nm, Nm]
# upper_force_thresholds_acceleration: [20.0, 20.0, 20.0, 25.0, 25.0, 25.0] # [N, N, N, Nm, Nm, Nm]
# lower_force_thresholds_nominal: [20.0, 20.0, 20.0, 25.0, 25.0, 25.0] # [N, N, N, Nm, Nm, Nm]
# upper_force_thresholds_nominal: [20.0, 20.0, 20.0, 25.0, 25.0, 25.0] # [N, N, N, Nm, Nm, Nm]
lower_torque_thresholds_acceleration: [40.0, 40.0, 36.0, 36.0, 32.0, 28.0, 24.0] # [Nm] (* 2.0)
upper_torque_thresholds_acceleration: [40.0, 40.0, 36.0, 36.0, 32.0, 28.0, 24.0] # [Nm] (* 2.0)
lower_torque_thresholds_nominal: [40.0, 40.0, 36.0, 36.0, 32.0, 28.0, 24.0] # [Nm] (* 2.0)
upper_torque_thresholds_nominal: [40.0, 40.0, 36.0, 36.0, 32.0, 28.0, 24.0] # [Nm] (* 2.0)
lower_force_thresholds_acceleration: [40.0, 40.0, 40.0, 50.0, 50.0, 50.0] # [N, N, N, Nm, Nm, Nm] (* 2.0)
upper_force_thresholds_acceleration: [40.0, 40.0, 40.0, 50.0, 50.0, 50.0] # [N, N, N, Nm, Nm, Nm] (* 2.0)
lower_force_thresholds_nominal: [40.0, 40.0, 40.0, 50.0, 50.0, 50.0] # [N, N, N, Nm, Nm, Nm] (* 2.0)
upper_force_thresholds_nominal: [40.0, 40.0, 40.0, 50.0, 50.0, 50.0] # [N, N, N, Nm, Nm, Nm] (* 2.0)

larm:
type: franka_hw/FrankaCombinableHW
arm_id: larm
joint_names:
- larm_joint1
- larm_joint2
- larm_joint3
- larm_joint4
- larm_joint5
- larm_joint6
- larm_joint7
# Configure the threshold angle for printing joint limit warnings.
joint_limit_warning_threshold: 0.1 # [rad]
# Activate rate limiter? [true|false]
rate_limiting: true
# Cutoff frequency of the low-pass filter. Set to >= 1000 to deactivate.
cutoff_frequency: 1000
# Internal controller for motion generators [joint_impedance|cartesian_impedance]
internal_controller: joint_impedance
# Used to decide whether to enforce realtime mode [enforce|ignore]
realtime_config: enforce
# Configure the initial defaults for the collision behavior reflexes.
collision_config:
# lower_torque_thresholds_acceleration: [20.0, 20.0, 18.0, 18.0, 16.0, 14.0, 12.0] # [Nm]
# upper_torque_thresholds_acceleration: [20.0, 20.0, 18.0, 18.0, 16.0, 14.0, 12.0] # [Nm]
# lower_torque_thresholds_nominal: [20.0, 20.0, 18.0, 18.0, 16.0, 14.0, 12.0] # [Nm]
# upper_torque_thresholds_nominal: [20.0, 20.0, 18.0, 18.0, 16.0, 14.0, 12.0] # [Nm]
# lower_force_thresholds_acceleration: [20.0, 20.0, 20.0, 25.0, 25.0, 25.0] # [N, N, N, Nm, Nm, Nm]
# upper_force_thresholds_acceleration: [20.0, 20.0, 20.0, 25.0, 25.0, 25.0] # [N, N, N, Nm, Nm, Nm]
# lower_force_thresholds_nominal: [20.0, 20.0, 20.0, 25.0, 25.0, 25.0] # [N, N, N, Nm, Nm, Nm]
# upper_force_thresholds_nominal: [20.0, 20.0, 20.0, 25.0, 25.0, 25.0] # [N, N, N, Nm, Nm, Nm]
lower_torque_thresholds_acceleration: [40.0, 40.0, 36.0, 36.0, 32.0, 28.0, 24.0] # [Nm] (* 2.0)
upper_torque_thresholds_acceleration: [40.0, 40.0, 36.0, 36.0, 32.0, 28.0, 24.0] # [Nm] (* 2.0)
lower_torque_thresholds_nominal: [40.0, 40.0, 36.0, 36.0, 32.0, 28.0, 24.0] # [Nm] (* 2.0)
upper_torque_thresholds_nominal: [40.0, 40.0, 36.0, 36.0, 32.0, 28.0, 24.0] # [Nm] (* 2.0)
lower_force_thresholds_acceleration: [40.0, 40.0, 40.0, 50.0, 50.0, 50.0] # [N, N, N, Nm, Nm, Nm] (* 2.0)
upper_force_thresholds_acceleration: [40.0, 40.0, 40.0, 50.0, 50.0, 50.0] # [N, N, N, Nm, Nm, Nm] (* 2.0)
lower_force_thresholds_nominal: [40.0, 40.0, 40.0, 50.0, 50.0, 50.0] # [N, N, N, Nm, Nm, Nm] (* 2.0)
upper_force_thresholds_nominal: [40.0, 40.0, 40.0, 50.0, 50.0, 50.0] # [N, N, N, Nm, Nm, Nm] (* 2.0)
120 changes: 120 additions & 0 deletions jsk_panda_robot/jsk_panda_startup/config/dual_panda_controllers.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,120 @@
dual_panda_effort_joint_trajectory_controller:
type: effort_controllers/JointTrajectoryController
joints:
- rarm_joint1
- rarm_joint2
- rarm_joint3
- rarm_joint4
- rarm_joint5
- rarm_joint6
- rarm_joint7
- larm_joint1
- larm_joint2
- larm_joint3
- larm_joint4
- larm_joint5
- larm_joint6
- larm_joint7
constraints:
goal_time: 0.5
larm_joint1:
goal: 0.05
larm_joint2:
goal: 0.05
larm_joint3:
goal: 0.05
larm_joint4:
goal: 0.05
larm_joint5:
goal: 0.05
larm_joint6:
goal: 0.05
larm_joint7:
goal: 0.05
rarm_joint1:
goal: 0.05
rarm_joint2:
goal: 0.05
rarm_joint3:
goal: 0.05
rarm_joint4:
goal: 0.05
rarm_joint5:
goal: 0.05
rarm_joint6:
goal: 0.05
rarm_joint7:
goal: 0.05
gains:
rarm_joint1: {p: 600, d: 30, i: 0, i_clamp: 1}
rarm_joint2: {p: 600, d: 30, i: 0, i_clamp: 1}
rarm_joint3: {p: 600, d: 30, i: 0, i_clamp: 1}
rarm_joint4: {p: 600, d: 30, i: 0, i_clamp: 1}
rarm_joint5: {p: 250, d: 10, i: 0, i_clamp: 1}
rarm_joint6: {p: 150, d: 10, i: 0, i_clamp: 1}
rarm_joint7: {p: 50, d: 5, i: 0, i_clamp: 1}
larm_joint1: {p: 600, d: 30, i: 0, i_clamp: 1}
larm_joint2: {p: 600, d: 30, i: 0, i_clamp: 1}
larm_joint3: {p: 600, d: 30, i: 0, i_clamp: 1}
larm_joint4: {p: 600, d: 30, i: 0, i_clamp: 1}
larm_joint5: {p: 250, d: 10, i: 0, i_clamp: 1}
larm_joint6: {p: 150, d: 10, i: 0, i_clamp: 1}
larm_joint7: {p: 50, d: 5, i: 0, i_clamp: 1}

rarm_state_controller:
type: franka_control/FrankaStateController
arm_id: rarm
joint_names:
- rarm_joint1
- rarm_joint2
- rarm_joint3
- rarm_joint4
- rarm_joint5
- rarm_joint6
- rarm_joint7
publish_rate: 30 # [Hz]

larm_state_controller:
type: franka_control/FrankaStateController
arm_id: larm
joint_names:
- larm_joint1
- larm_joint2
- larm_joint3
- larm_joint4
- larm_joint5
- larm_joint6
- larm_joint7
publish_rate: 30 # [Hz]

rarm_cartesian_impedance_controller:
type: franka_example_controllers/CartesianImpedanceExampleController
arm_id: rarm
joint_names:
- rarm_joint1
- rarm_joint2
- rarm_joint3
- rarm_joint4
- rarm_joint5
- rarm_joint6
- rarm_joint7
# # Keep params the same as DualArmCartesianPoseController
# # (https://github.com/frankaemika/franka_ros/pull/270/files#diff-6edeaeced01c9386cab21e9b756259aa82a94cebca584324d241454e97d76863R20)
# rarm_cartesian_impedance_controllerdynamic_reconfigure_compliance_param_node:
# nullspace_stiffness: 0.0

larm_cartesian_impedance_controller:
type: franka_example_controllers/CartesianImpedanceExampleController
arm_id: larm
joint_names:
- larm_joint1
- larm_joint2
- larm_joint3
- larm_joint4
- larm_joint5
- larm_joint6
- larm_joint7
# # Keep params the same as DualArmCartesianPoseController
# # (https://github.com/frankaemika/franka_ros/pull/270/files#diff-6edeaeced01c9386cab21e9b756259aa82a94cebca584324d241454e97d76863R20)
# larm_cartesian_impedance_controllerdynamic_reconfigure_compliance_param_node:
# nullspace_stiffness: 0.0
Loading