jsk-ros-pkg / jsk_aerial_robot

The platfrom for aerial robot (e.g. general multirotor, hydrus, di, dragon, etc)
http://www.jsk.t.u-tokyo.ac.jp/index-j.html
34 stars 34 forks source link

[merge after #487][dragon] generate dragon euslisp model in CMakeLists.txt #488

Open knorth55 opened 3 years ago

knorth55 commented 3 years ago

this PR generate dragon euslisp model from robots/quad/euclid_201709.urdf.xacro

tongtybj commented 3 years ago

@knorth55

Gratefull for you!

I will test eusIK with gazebo

tongtybj commented 3 years ago

@knorth55

Dragon has a 6DoF virtual joint in the root. How does other robot realize such joint in eus model? Should I refer to HRP2?

knorth55 commented 3 years ago

@tongtybj how about using with-append-root-joint like this?

(load "package://dragon/robots/quad/dragon.l")

(dragon)
(setq *robot* *dragon*)
(objects (list *dragon*))

(with-append-root-joint
 (link-list-with-robot-6dof *robot* (list (cdr (send *robot* :links)))
                            :joint-class 6dof-joint
                            :joint-args
                            (list :min #f(-500 -500 -500 -90 -90 -90) 
                                  :max #f(500 500 500 90 90 90)))
 (send *robot* :inverse-kinematics (make-coords :pos #f(1500 300 300))
       :move-target (send *robot* :larm :end-coords)
       :link-list link-list-with-robot-6dof
       :additional-weight-list
       (list (list (car (send *robot* :links)) #f(0.1 0.1 0.1 0.5 0.5 0.5)))
       :rotation-axis nil))

Initial pose

dragon_ik_root_before

IK result

dragon_ik_root

https://github.com/jsk-ros-pkg/jsk_pr2eus/blob/master/pr2eus/pr2-utils.l#L114-L138 https://github.com/euslisp/jskeus/blob/689b015f0c727616e2745652423f2918d1e52252/irteus/irtrobot.l#L502-L515

knorth55 commented 3 years ago

I add dragon-interface.l.

tongtybj commented 3 years ago

Great!

Why can't we directly use :fullbody-inverse-kinematics ? https://github.com/euslisp/jskeus/blob/689b015f0c727616e2745652423f2918d1e52252/irteus/irtrobot.l#L467

knorth55 commented 3 years ago

I think you can but im not familiar with fullbody-inverse-kinematics