Git Product home page Git Product logo

doosan-robot's People

Contributors

bxtbold avatar doosan-robotics avatar gavanderhoorn avatar jinhyuk-gong avatar song-ms avatar steinmn avatar vid-juvan-axonv avatar woawo1213 avatar

Stargazers

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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

doosan-robot's Issues

Missing Robot Feedback, incomplete implementation with arm-controller (Read/Write-function)

void DRHWInterface::write(ros::Duration& elapsed_time)

Dear Doosan Team,

We have tried to use the Doosan robot in conjunction with moveIT and it was important to us that we could stop the robot movement at any time. This is what the ROS template with the arm controller provides for. Unfortunately this does not work with the Doosan driver because the read/write functions are not fully implemented.

A very detailed error documentation including pictures and sources can be found in the attached pdf in German and English.

Are there any ambitions to fix this bug in the near future?

Thanks and best regards
Simon

Doosan_Driver_v2.pdf
Doosan_Treiber_v2.pdf

ROS melodic support

안녕하세요.

점점 로봇 관련 센서들이 18.04 이상 지원하고 있는데,
ROS melodic 관련하여 doosan robotics 에서 향후 계획이 있는지 문의 드립니다.
혹은 이전에 melodic 을 지원했을때의 코드를 받을 수 있을까요?

각도 제한에 대한 질문

Movej, MoveL 등으로 이동할 때 파이썬 스크립트 상에서 각도제한으로 인해 이동할 수 없는 곳의 좌표명령을 주게 되면 어떻게 되는지 궁금합니다. (터미널 상에서 아예 오류가 뜨는지 아니면 이동하다가 각도 제한이 걸리는 쪽에서 상태등이 붉은색으로 바뀌며 멈추는지)

혹시모를 안전문제로 아직 시도해보지는 않았습니다.

답변 부탁드리겠습니다. 감사합니다.

Error when running $ roslaunch dsr_launcher single_robot_gazebo.launch

...
[ INFO] [1580182332.669205000, 0.068000000]: Loading gazebo_ros_control plugin
[ERROR] [1580182332.669441500, 0.068000000]: GazeboRosControlPlugin missing while using DefaultRobotHWSim, defaults to true.
This setting assumes you have an old package with an old implementation of DefaultRobotHWSim, where the robotNamespace is disregarded and absolute paths are used instead.
If you do not want to fix this issue in an old package just set to true.

[ INFO] [1580182332.671241600, 0.068000000]: Starting gazebo_ros_control plugin in namespace: /dsr01
[ INFO] [1580182332.673083300, 0.068000000]: gazebo_ros_control plugin is waiting for model URDF in parameter [/dsr01/robot_description] on the ROS param server.
[ERROR] [1580182332.790878500, 0.068000000]: No p gain specified for pid. Namespace: /gazebo_ros_control/pid_gains/joint1
[ERROR] [1580182332.794291100, 0.068000000]: No p gain specified for pid. Namespace: /gazebo_ros_control/pid_gains/joint2
[ERROR] [1580182332.798343900, 0.068000000]: No p gain specified for pid. Namespace: /gazebo_ros_control/pid_gains/joint3
[ERROR] [1580182332.802171600, 0.068000000]: No p gain specified for pid. Namespace: /gazebo_ros_control/pid_gains/joint4
[ERROR] [1580182332.805066100, 0.068000000]: No p gain specified for pid. Namespace: /gazebo_ros_control/pid_gains/joint5
[ERROR] [1580182332.807891400, 0.068000000]: No p gain specified for pid. Namespace: /gazebo_ros_control/pid_gains/joint6
[ INFO] [1580182332.829139600, 0.068000000]: Loaded gazebo_ros_control.
[ WARN] [1580182332.829673200, 0.068000000]: The default_robot_hw_sim plugin is using the Joint::SetPosition method without preserving the link velocity.
[ WARN] [1580182332.830283200, 0.069000000]: As a result, gravity will not be simulated correctly for your model.
[ WARN] [1580182332.830635000, 0.069000000]: Please set gazebo_pid parameters, switch to the VelocityJointInterface or EffortJointInterface, or upgrade to Gazebo 9.
[ WARN] [1580182332.831069600, 0.069000000]: For details, see ros-simulation/gazebo_ros_pkgs#612
...

Torque, current control availability

안녕하세요

저는 두산 로봇 m1013 을 이용하여 연구하고 있는 학생입니다.
두산 로봇 안에 좋은 torque 센서가 있는 것으로 알고있습니다만,
혹시 이를 활용하여 torque 또는 current를 input으로 motion control을 할 수 있는 기능은 없는지요?
향후에라도 이러한 기능을 넣을 의향이 있으신지 궁금합니다.
(set_stiffness를 이용하여 position, joint value를 input으로 받는 control 을 제외한 직접적인 torque제어를 말씀드리는 겁니다.)

Build error in Kinetic

Hi, I'm getting catkin_make error
'''
/usr/bin/ld: skipping incompatible /home/nvidia/arm_ws/src/doosan-robot/dsr_control/../common/lib/kinetic/x86_64/libDRFL.a when searching for -lDRFL
/usr/bin/ld: cannot find -lDRFL
collect2: error: ld returned 1 exit status
doosan-robot/dsr_control/CMakeFiles/dsr_control_node.dir/build.make:206: recipe for target '/home/nvidia/arm_ws/devel/lib/dsr_control/dsr_control_node' failed
make[2]: *** [/home/nvidia/arm_ws/devel/lib/dsr_control/dsr_control_node] Error 1
CMakeFiles/Makefile2:6042: recipe for target 'doosan-robot/dsr_control/CMakeFiles/dsr_control_node.dir/all' failed
make[1]: *** [doosan-robot/dsr_control/CMakeFiles/dsr_control_node.dir/all] Error 2
Makefile:138: recipe for target 'all' failed
make: *** [all] Error 2
'''

Moveit Velocity

안녕하세요. Moveit 사용 도중 몇가지 질문이 있어 글을 씁니다.

MoveIt을 사용해 모션 플랜을 실행해도 Plan 속도에 비해 매니퓰레이터 동작 속도가 굉장히 느리게 움직입니다.

현재 set_planning_time은 5,
set_max_velocity_scaling_factor은 1(최대)로 설정되어 있습니다.

이동속도를 증가시키기 위해 moveit_config_* 내부에 joint_limits.yaml 파일에서 max_velocity 또는 max_acceleration 등을 바꿔도 되는지 여쭤보고 싶습니다.

또는 속도를 증가시키는 다른 방법이 있나요???

Using Hand-E Gripper

Robotiq 사의 Hand-E를 이용해 dsr_example의 예제를 테스트해보던 중 문제가 발생했습니다.
일단 워크셀 매니저를 통해 Hand-E 제품을 등록하고 티칭펜던트로 동작확인은 모두 마쳤습니다.
roslanch를 이용해 노드들을 실행시키면 아래와 같이 주기적으로 gripper에 대한 메시지가 출력됩니다.

[ INFO] [1580445714.434525742]: On Monitor State
[callback OnMonitoringStateCB] current state: (1) STANDBY
[ INFO] [1580445714.435173511]: On Monitor State
[callback OnMonitoringStateCB] current state: (3) SAFE_OFF
[ INFO] [1580445714.819421485]: On Monitor State
[callback OnMonitoringStateCB] current state: (1) STANDBY
[callback OnMonitoringModbusCB] 2F_AR_5: 2304
[callback OnMonitoringModbusCB] 2F_GS_5: 63744
[callback OnMonitoringModbusCB] 2F_PR_5: 0
[callback OnMonitoringModbusCB] 2F_FS_PRE_5: 0
[callback OnMonitoringModbusCB] 2F_SP_FO_5: 65534
[callback OnMonitoringModbusCB] 2F_PO_CU_5: 768
[callback OnMonitoringModbusCB] 2F_AR_5: 2304
[callback OnMonitoringModbusCB] 2F_GS_5: 63744
[callback OnMonitoringModbusCB] 2F_PR_5: 0
[callback OnMonitoringModbusCB] 2F_FS_PRE_5: 0

dsr_example 안의 gripper 폴더에 있는 3가지 파일들을 실행 시켰을 때 다음과 같은 에러가 발생합니다.

  1. object_pick_and_place_simple.py
shin@shin:~$ rosrun dsr_example_py object_pick_and_place_simple.py 
_robot_id =dsr01
_robot_model =m0609
_srv_name_prefix =/dsr01m0609
_topic_name_prefix =/dsr01m0609
Traceback (most recent call last):
  File "/home/shin/catkin_ws/src/doosan-robot/dsr_example/py/scripts/gripper/object_pick_and_place_simple.py", line 79, in <module>
    robotiq_2f_move(0.4)
  File "/home/shin/catkin_ws/src/doosan-robot/dsr_example/py/scripts/gripper/object_pick_and_place_simple.py", line 26, in robotiq_2f_move
    srv_robotiq_2f_move(width)
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/rospy/impl/tcpros_service.py", line 435, in __call__
    return self.call(*args, **kwds)
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/rospy/impl/tcpros_service.py", line 515, in call
    responses = transport.receive_once()
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/rospy/impl/tcpros_base.py", line 727, in receive_once
    p.read_messages(b, msg_queue, sock) 
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/rospy/impl/tcpros_service.py", line 353, in read_messages
    self._read_ok_byte(b, sock)
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/rospy/impl/tcpros_service.py", line 336, in _read_ok_byte
    raise ServiceException("service [%s] responded with an error: %s"%(self.resolved_name, str))
rospy.service.ServiceException: service [/dsr01m0609/gripper/robotiq_2f_move] responded with an error: 
shutdown time!
shutdown time!
shutdown time!
  1. pick_and_place_simple.py
shin@shin:~$ rosrun dsr_example_py pick_and_place_simple.py 
_robot_id =dsr01
_robot_model =m0609
_srv_name_prefix =/dsr01m0609
_topic_name_prefix =/dsr01m0609
Traceback (most recent call last):
  File "/home/shin/catkin_ws/src/doosan-robot/dsr_example/py/scripts/gripper/pick_and_place_simple.py", line 84, in <module>
    robotiq_2f_close()
  File "/home/shin/catkin_ws/src/doosan-robot/dsr_example/py/scripts/gripper/pick_and_place_simple.py", line 27, in robotiq_2f_close
    srv_robotiq_2f_close()
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/rospy/impl/tcpros_service.py", line 435, in __call__
    return self.call(*args, **kwds)
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/rospy/impl/tcpros_service.py", line 515, in call
    responses = transport.receive_once()
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/rospy/impl/tcpros_base.py", line 727, in receive_once
    p.read_messages(b, msg_queue, sock) 
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/rospy/impl/tcpros_service.py", line 353, in read_messages
    self._read_ok_byte(b, sock)
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/rospy/impl/tcpros_service.py", line 336, in _read_ok_byte
    raise ServiceException("service [%s] responded with an error: %s"%(self.resolved_name, str))
rospy.service.ServiceException: service [/dsr01m0609/gripper/robotiq_2f_close] responded with an error: 
shutdown time!
shutdown time!
shutdown time!
  1. real_pick_and_place_simple.py
shin@shin:~$ rosrun dsr_example_py real_pick_and_place_simple.py 
_robot_id =dsr01
_robot_model =m0609
_srv_name_prefix =/dsr01m0609
_topic_name_prefix =/dsr01m0609
Traceback (most recent call last):
  File "/home/shin/catkin_ws/src/doosan-robot/dsr_example/py/scripts/gripper/real_pick_and_place_simple.py", line 85, in <module>
    gripper_send_data(init_data)
  File "/home/shin/catkin_ws/src/doosan-robot/dsr_example/py/scripts/gripper/real_pick_and_place_simple.py", line 24, in gripper_send_data
    srv_gripper_send_data(send_data)
NameError: global name 'srv_gripper_send_data' is not defined

답변 부탁드립니다.

ros-melodic, cannot find -lDRFL

I have build doosan-robot package with ros-melodic.
It shows error "/usr/bin/ld : cannot find -lDRFL"

I think '-lDRFL' option was missed in "libDRFL.a" file

How can I fix it?

Error shows below :

/usr/bin/ld: skipping incompatible /home/e8ite/catkin_ws/src/doosan-robot/dsr_control/../common/lib/melodic/x86_64/libDRFL.a when searching for -lDRFL
/usr/bin/ld: cannot find -lDRFL
collect2: error: ld returned 1 exit status
doosan-robot/dsr_control/CMakeFiles/dsr_control_node.dir/build.make:205: recipe for target '/home/e8ite/catkin_ws/devel/lib/dsr_control/dsr_control_node' failed
make[2]: *** [/home/e8ite/catkin_ws/devel/lib/dsr_control/dsr_control_node] Error 1
CMakeFiles/Makefile2:4045: recipe for target 'doosan-robot/dsr_control/CMakeFiles/dsr_control_node.dir/all' failed
make[1]: *** [doosan-robot/dsr_control/CMakeFiles/dsr_control_node.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 97%] Built target ti_mmwave_rospkg
[ 98%] Built target zed_wrapper_node
/home/e8ite/catkin_ws/src/doosan-robot/common/servicepack/plugin/robotiq_gazebo/src/mimic_joint_plugin.cpp: In destructor ‘virtual gazebo::MimicJointPlugin::~MimicJointPlugin()’:
/home/e8ite/catkin_ws/src/doosan-robot/common/servicepack/plugin/robotiq_gazebo/src/mimic_joint_plugin.cpp:50:18: error: ‘DisconnectWorldUpdateBegin’ is not a member of ‘gazebo::event::Events’
event::Events::DisconnectWorldUpdateBegin(this->updateConnection);
^~~~~~~~~~~~~~~~~~~~~~~~~~
/home/e8ite/catkin_ws/src/doosan-robot/common/servicepack/plugin/robotiq_gazebo/src/mimic_joint_plugin.cpp: In member function ‘void gazebo::MimicJointPlugin::UpdateChild()’:
/home/e8ite/catkin_ws/src/doosan-robot/common/servicepack/plugin/robotiq_gazebo/src/mimic_joint_plugin.cpp:170:39: error: ‘class gazebo::physics::World’ has no member named ‘GetPhysicsEngine’; did you mean ‘SetPhysicsEnabled’?
static ros::Duration period(world_->GetPhysicsEngine()->GetMaxStepSize());
^~~~~~~~~~~~~~~~
SetPhysicsEnabled
/home/e8ite/catkin_ws/src/doosan-robot/common/servicepack/plugin/robotiq_gazebo/src/mimic_joint_plugin.cpp:173:26: error: ‘class gazebo::physics::Joint’ has no member named ‘GetAngle’; did you mean ‘GetForce’?
double angle = joint_->GetAngle(0).Radian()*multiplier_+offset_;
^~~~~~~~
GetForce
/home/e8ite/catkin_ws/src/doosan-robot/common/servicepack/plugin/robotiq_gazebo/src/mimic_joint_plugin.cpp:175:30: error: ‘class gazebo::physics::Joint’ has no member named ‘GetAngle’; did you mean ‘GetForce’?
if(abs(angle-mimic_joint_->GetAngle(0).Radian())>=sensitiveness_)
^~~~~~~~
GetForce
/home/e8ite/catkin_ws/src/doosan-robot/common/servicepack/plugin/robotiq_gazebo/src/mimic_joint_plugin.cpp:179:32: error: ‘class gazebo::physics::Joint’ has no member named ‘GetAngle’; did you mean ‘GetForce’?
double a = mimic_joint_->GetAngle(0).Radian();
^~~~~~~~
GetForce
/home/e8ite/catkin_ws/src/doosan-robot/common/servicepack/plugin/robotiq_gazebo/src/mimic_joint_plugin.cpp:183:31: error: ‘gazebo::math’ has not been declared
double effort = gazebo::math::clamp(pid_.computeCommand(error, period), -max_effort_, max_effort_);
^~~~
doosan-robot/common/servicepack/plugin/robotiq_gazebo/CMakeFiles/gazebo_mimic_joint_plugin.dir/build.make:62: recipe for target 'doosan-robot/common/servicepack/plugin/robotiq_gazebo/CMakeFiles/gazebo_mimic_joint_plugin.dir/src/mimic_joint_plugin.cpp.o' failed
make[2]: *** [doosan-robot/common/servicepack/plugin/robotiq_gazebo/CMakeFiles/gazebo_mimic_joint_plugin.dir/src/mimic_joint_plugin.cpp.o] Error 1
CMakeFiles/Makefile2:5932: recipe for target 'doosan-robot/common/servicepack/plugin/robotiq_gazebo/CMakeFiles/gazebo_mimic_joint_plugin.dir/all' failed
make[1]: *** [doosan-robot/common/servicepack/plugin/robotiq_gazebo/CMakeFiles/gazebo_mimic_joint_plugin.dir/all] Error 2
Makefile:140: recipe for target 'all' failed
make: *** [all] Error 2

License

Can you please add a license to the code. I know you have this here and that it is cloned to use during the ROS installation. But legally no one can use or edit the code without a license attached to it.

Please add a license so it can be used legally.

ros-melodic mobile.launch error

I tried roslaunch dsr_launch mobile.launch on ros-malodic
but, on error occurred.
This seems to require the param to be referenced in the gazebo

[ERROR] [1548900240.610942685, 0.147000000]: No p gain specified for pid. Namespace: /dsr01/gazebo_ros_control/pid_gains/front_left_wheel
[ERROR] [1548900240.616034387, 0.147000000]: No p gain specified for pid. Namespace: /dsr01/gazebo_ros_control/pid_gains/front_right_wheel
[ERROR] [1548900240.620370634, 0.147000000]: No p gain specified for pid. Namespace: /dsr01/gazebo_ros_control/pid_gains/rear_left_wheel
[ERROR] [1548900240.624443381, 0.147000000]: No p gain specified for pid. Namespace: /dsr01/gazebo_ros_control/pid_gains/rear_right_wheel

Moveit Control Issue

log

Hello,

I have couple more questions.

  1. I'm keep getiing "Completed trajectory execution with status SUCCEEDED" when the arm didn't move at all.

The arm display(URDF/SRDF model) from rviz gets updated to the goal position whilst the actual arm position remains the same. Any solution? (See the attached terminal output)

I've tried moving various distances, restarting a launch file, and rebooting both laptop and controller. However, I am keeping getting SUCCEEDED status when the arm hasn't moved.

  1. I'm not getting any other error messages (besides 1214 message) when the arm doesn't repond after I pressed Plan & Execute.

(When I start the launch file, I do hear a mechanical sound that the arm has entered the Server-On mode)

Thank you for your help.

M1013 issue

m1013 모델을 사용중입니다.
roslaunch dsr_launcher single_robot_rviz.launch model:=m1013 mode:=real host:=
를 이용해서 작업중인데, 일정시간동안 켜놓으면 (약 5분)
'따다따닥'소리 (로봇이 activate 될때 소리)가 나면서 LED가 청색으로 바뀝니다.

그 뒤에, 로봇제어 코드를 실행하면 (movej) 로봇이 가다 멈추다 가다 멈추다를 반복하다가
빨간 LED로 바뀌고 안전모드로 빠집니다.

이 증상은 일정시간(5분)에 sleep 모드로 들어가는 의도된 행동같은데, 그냥 manual mode 로 변경되는것뿐인가요?
해제 혹은 코드상에서 이를 감지하고 원상태로 복구할 수 있나요?

아래는 dsr_launcher log 입니다. (bold 부분이 해당 증상후 로그)

SUMMARY

PARAMETERS

  • /dsr01/dsr_joint1_position/joint: joint1
  • /dsr01/dsr_joint1_position/pid/d: 200.0
  • /dsr01/dsr_joint1_position/pid/i: 100.0
  • /dsr01/dsr_joint1_position/pid/i_clamp: 500
  • /dsr01/dsr_joint1_position/pid/p: 500.0
  • /dsr01/dsr_joint1_position/type: position_controll...
  • /dsr01/dsr_joint2_position/joint: joint2
  • /dsr01/dsr_joint2_position/pid/d: 250.0
  • /dsr01/dsr_joint2_position/pid/i: 100.0
  • /dsr01/dsr_joint2_position/pid/i_clamp: 500
  • /dsr01/dsr_joint2_position/pid/p: 500.0
  • /dsr01/dsr_joint2_position/type: position_controll...
  • /dsr01/dsr_joint3_position/joint: joint3
  • /dsr01/dsr_joint3_position/pid/d: 40.0
  • /dsr01/dsr_joint3_position/pid/i: 20.0
  • /dsr01/dsr_joint3_position/pid/i_clamp: 500
  • /dsr01/dsr_joint3_position/pid/p: 300.0
  • /dsr01/dsr_joint3_position/type: position_controll...
  • /dsr01/dsr_joint4_position/joint: joint4
  • /dsr01/dsr_joint4_position/pid/d: 40.0
  • /dsr01/dsr_joint4_position/pid/i: 0.0
  • /dsr01/dsr_joint4_position/pid/i_clamp: 500
  • /dsr01/dsr_joint4_position/pid/p: 100.0
  • /dsr01/dsr_joint4_position/type: position_controll...
  • /dsr01/dsr_joint5_position/joint: joint5
  • /dsr01/dsr_joint5_position/pid/d: 25.0
  • /dsr01/dsr_joint5_position/pid/i: 20.0
  • /dsr01/dsr_joint5_position/pid/i_clamp: 500
  • /dsr01/dsr_joint5_position/pid/p: 200.0
  • /dsr01/dsr_joint5_position/type: position_controll...
  • /dsr01/dsr_joint6_position/joint: joint6
  • /dsr01/dsr_joint6_position/pid/d: 25.0
  • /dsr01/dsr_joint6_position/pid/i: 20.0
  • /dsr01/dsr_joint6_position/pid/i_clamp: 500
  • /dsr01/dsr_joint6_position/pid/p: 300.0
  • /dsr01/dsr_joint6_position/type: position_controll...
  • /dsr01/dsr_joint_position_controller/joints: ['joint1', 'joint...
  • /dsr01/dsr_joint_position_controller/publish_rate: 20
  • /dsr01/dsr_joint_position_controller/type: position_controll...
  • /dsr01/dsr_joint_publisher/publish_rate: 150
  • /dsr01/dsr_joint_publisher/type: joint_state_contr...
  • /dsr01/dsr_joint_trajectory_controller/joints: ['joint1', 'joint...
  • /dsr01/dsr_joint_trajectory_controller/publish_rate: 20
  • /dsr01/dsr_joint_trajectory_controller/type: position_controll...
  • /dsr01/dsr_velocity_controller/angular/z/has_acceleration_limits: True
  • /dsr01/dsr_velocity_controller/angular/z/has_velocity_limits: True
  • /dsr01/dsr_velocity_controller/angular/z/max_acceleration: 6.0
  • /dsr01/dsr_velocity_controller/angular/z/max_velocity: 2.0
  • /dsr01/dsr_velocity_controller/base_frame_id: base_link
  • /dsr01/dsr_velocity_controller/cmd_vel_timeout: 0.25
  • /dsr01/dsr_velocity_controller/enable_odom_tf: False
  • /dsr01/dsr_velocity_controller/estimate_velocity_from_position: False
  • /dsr01/dsr_velocity_controller/left_wheel: ['front_left_whee...
  • /dsr01/dsr_velocity_controller/linear/x/has_acceleration_limits: True
  • /dsr01/dsr_velocity_controller/linear/x/has_velocity_limits: True
  • /dsr01/dsr_velocity_controller/linear/x/max_acceleration: 3.0
  • /dsr01/dsr_velocity_controller/linear/x/max_velocity: 1.0
  • /dsr01/dsr_velocity_controller/pose_covariance_diagonal: [0.001, 0.001, 0....
  • /dsr01/dsr_velocity_controller/publish_rate: 50
  • /dsr01/dsr_velocity_controller/right_wheel: ['front_right_whe...
  • /dsr01/dsr_velocity_controller/twist_covariance_diagonal: [0.001, 0.001, 0....
  • /dsr01/dsr_velocity_controller/type: diff_drive_contro...
  • /dsr01/dsr_velocity_controller/wheel_radius_multiplier: 1.0
  • /dsr01/dsr_velocity_controller/wheel_separation_multiplier: 1.875
  • /dsr01/gazebo_ros_control/pid_gains/front_left_wheel/d: 1.0
  • /dsr01/gazebo_ros_control/pid_gains/front_left_wheel/i: 0.0
  • /dsr01/gazebo_ros_control/pid_gains/front_left_wheel/p: 500.0
  • /dsr01/gazebo_ros_control/pid_gains/front_right_wheel/d: 1.0
  • /dsr01/gazebo_ros_control/pid_gains/front_right_wheel/i: 0.0
  • /dsr01/gazebo_ros_control/pid_gains/front_right_wheel/p: 500.0
  • /dsr01/gazebo_ros_control/pid_gains/rear_left_wheel/d: 1.0
  • /dsr01/gazebo_ros_control/pid_gains/rear_left_wheel/i: 0.0
  • /dsr01/gazebo_ros_control/pid_gains/rear_left_wheel/p: 500.0
  • /dsr01/gazebo_ros_control/pid_gains/rear_right_wheel/d: 1.0
  • /dsr01/gazebo_ros_control/pid_gains/rear_right_wheel/i: 0.0
  • /dsr01/gazebo_ros_control/pid_gains/rear_right_wheel/p: 500.0
  • /dsr01/robot_description: <?xml version="1....
  • /dsr01/robot_state_publisher/robot_description: /dsr01/robot_desc...
  • /dsr01/robot_state_publisher/tf_prefix: dsr01
  • /dsr01m1013/command: True
  • /dsr01m1013/dsr_joint1_position/joint: joint1
  • /dsr01m1013/dsr_joint1_position/pid/d: 200.0
  • /dsr01m1013/dsr_joint1_position/pid/i: 100.0
  • /dsr01m1013/dsr_joint1_position/pid/i_clamp: 500
  • /dsr01m1013/dsr_joint1_position/pid/p: 500.0
  • /dsr01m1013/dsr_joint1_position/type: position_controll...
  • /dsr01m1013/dsr_joint2_position/joint: joint2
  • /dsr01m1013/dsr_joint2_position/pid/d: 250.0
  • /dsr01m1013/dsr_joint2_position/pid/i: 100.0
  • /dsr01m1013/dsr_joint2_position/pid/i_clamp: 500
  • /dsr01m1013/dsr_joint2_position/pid/p: 500.0
  • /dsr01m1013/dsr_joint2_position/type: position_controll...
  • /dsr01m1013/dsr_joint3_position/joint: joint3
  • /dsr01m1013/dsr_joint3_position/pid/d: 40.0
  • /dsr01m1013/dsr_joint3_position/pid/i: 20.0
  • /dsr01m1013/dsr_joint3_position/pid/i_clamp: 500
  • /dsr01m1013/dsr_joint3_position/pid/p: 300.0
  • /dsr01m1013/dsr_joint3_position/type: position_controll...
  • /dsr01m1013/dsr_joint4_position/joint: joint4
  • /dsr01m1013/dsr_joint4_position/pid/d: 40.0
  • /dsr01m1013/dsr_joint4_position/pid/i: 0.0
  • /dsr01m1013/dsr_joint4_position/pid/i_clamp: 500
  • /dsr01m1013/dsr_joint4_position/pid/p: 100.0
  • /dsr01m1013/dsr_joint4_position/type: position_controll...
  • /dsr01m1013/dsr_joint5_position/joint: joint5
  • /dsr01m1013/dsr_joint5_position/pid/d: 25.0
  • /dsr01m1013/dsr_joint5_position/pid/i: 20.0
  • /dsr01m1013/dsr_joint5_position/pid/i_clamp: 500
  • /dsr01m1013/dsr_joint5_position/pid/p: 200.0
  • /dsr01m1013/dsr_joint5_position/type: position_controll...
  • /dsr01m1013/dsr_joint6_position/joint: joint6
  • /dsr01m1013/dsr_joint6_position/pid/d: 25.0
  • /dsr01m1013/dsr_joint6_position/pid/i: 20.0
  • /dsr01m1013/dsr_joint6_position/pid/i_clamp: 500
  • /dsr01m1013/dsr_joint6_position/pid/p: 300.0
  • /dsr01m1013/dsr_joint6_position/type: position_controll...
  • /dsr01m1013/dsr_joint_position_controller/joints: ['joint1', 'joint...
  • /dsr01m1013/dsr_joint_position_controller/publish_rate: 20
  • /dsr01m1013/dsr_joint_position_controller/type: position_controll...
  • /dsr01m1013/dsr_joint_publisher/publish_rate: 150
  • /dsr01m1013/dsr_joint_publisher/type: joint_state_contr...
  • /dsr01m1013/dsr_joint_trajectory_controller/joints: ['joint1', 'joint...
  • /dsr01m1013/dsr_joint_trajectory_controller/publish_rate: 20
  • /dsr01m1013/dsr_joint_trajectory_controller/type: position_controll...
  • /dsr01m1013/dsr_velocity_controller/angular/z/has_acceleration_limits: True
  • /dsr01m1013/dsr_velocity_controller/angular/z/has_velocity_limits: True
  • /dsr01m1013/dsr_velocity_controller/angular/z/max_acceleration: 6.0
  • /dsr01m1013/dsr_velocity_controller/angular/z/max_velocity: 2.0
  • /dsr01m1013/dsr_velocity_controller/base_frame_id: base_link
  • /dsr01m1013/dsr_velocity_controller/cmd_vel_timeout: 0.25
  • /dsr01m1013/dsr_velocity_controller/enable_odom_tf: False
  • /dsr01m1013/dsr_velocity_controller/estimate_velocity_from_position: False
  • /dsr01m1013/dsr_velocity_controller/left_wheel: ['front_left_whee...
  • /dsr01m1013/dsr_velocity_controller/linear/x/has_acceleration_limits: True
  • /dsr01m1013/dsr_velocity_controller/linear/x/has_velocity_limits: True
  • /dsr01m1013/dsr_velocity_controller/linear/x/max_acceleration: 3.0
  • /dsr01m1013/dsr_velocity_controller/linear/x/max_velocity: 1.0
  • /dsr01m1013/dsr_velocity_controller/pose_covariance_diagonal: [0.001, 0.001, 0....
  • /dsr01m1013/dsr_velocity_controller/publish_rate: 50
  • /dsr01m1013/dsr_velocity_controller/right_wheel: ['front_right_whe...
  • /dsr01m1013/dsr_velocity_controller/twist_covariance_diagonal: [0.001, 0.001, 0....
  • /dsr01m1013/dsr_velocity_controller/type: diff_drive_contro...
  • /dsr01m1013/dsr_velocity_controller/wheel_radius_multiplier: 1.0
  • /dsr01m1013/dsr_velocity_controller/wheel_separation_multiplier: 1.875
  • /dsr01m1013/gripper: none
  • /dsr01m1013/host: 192.168.1.57
  • /dsr01m1013/mobile: none
  • /dsr01m1013/mode: real
  • /dsr01m1013/model: m1013
  • /dsr01m1013/name: dsr01
  • /dsr01m1013/port: 12345
  • /dsr01m1013/rate: 100
  • /dsr01m1013/standby: 5000
  • /rosdistro: kinetic
  • /rosversion: 1.12.14

NODES
/dsr01/
controller_spawner (controller_manager/spawner)
robot_state_publisher (robot_state_publisher/robot_state_publisher)
spawn_create_model (gazebo_ros/spawn_model)
world_tf (tf/static_transform_publisher)
/
dmodel (dsr_launcher/dmodel.py)
dsr01m1013 (dsr_control/dsr_control_node)
/dsr01m1013/
controller_spawner (controller_manager/spawner)

ROS_MASTER_URI=http://localhost:11311

process[dsr01/controller_spawner-1]: started with pid [6919]
[INFO] [1582776578.987161]: Controller Spawner: Waiting for service controller_manager/load_controller
process[dsr01m1013/controller_spawner-2]: started with pid [6920]
[INFO] [1582776579.493360]: Controller Spawner: Waiting for service controller_manager/load_controller
process[dsr01m1013-3]: started with pid [6932]
[ INFO] [1582776579.757073565]: rate is 100

[ INFO] [1582776579.761012022]: name_space is dsr01, m1013

[ INFO] [1582776579.761051885]: [dsr_hw_interface] constructed
[ INFO] [1582776579.815260061]: [dsr_hw_interface] init() ==> setup callback fucntion
[ INFO] [1582776579.815287876]: INIT@@@@@@@@@@@@@@@@@@@@@@@@@
[ INFO] [1582776579.815297240]: [dsr_hw_interface] init() ==> arm is standby
[ INFO] [1582776579.822857511]: host 192.168.1.57, port=12345 bCommand: 1, mode: real

[callback OnMonitoringAccessControlCB] eAccCtrl: 3
[callback OnTpInitializingCompletedCB] tp initializing completed
[ INFO] [1582776579.825351478]: On Monitor State
[callback OnMonitoringStateCB] current state: (3) SAFE_OFF
[ INFO] [1582776579.826579335]: DRCF version = GF020301
[ INFO] [1582776579.826601584]: DRFL version = GL010105-1
[ INFO] [1582776579.826650869]: m_nVersionDRCF = 20301

[callback OnMonitoringAccessControlCB] eAccCtrl: 2
access control granted
[ INFO] [1582776579.826836832]: On Monitor State
[callback OnMonitoringStateCB] current state: (3) SAFE_OFF
[ INFO] [1582776580.212946105]: On Monitor State
[callback OnMonitoringStateCB] current state: (3) SAFE_OFF
[ INFO] [1582776580.233180131]: On Monitor State
[callback OnMonitoringStateCB] current state: (1) STANDBY
process[dsr01/robot_state_publisher-4]: started with pid [6947]
[ INFO] [1582776580.254566123]: [init]::read 0-pos: 0.000
[ INFO] [1582776580.254598409]: [init]::read 1-pos: 0.000
[ INFO] [1582776580.254634164]: [init]::read 2-pos: 0.000
[ INFO] [1582776580.254648094]: [init]::read 3-pos: 0.000
[ INFO] [1582776580.254658071]: [init]::read 4-pos: 0.000
[ INFO] [1582776580.254668371]: [init]::read 5-pos: 0.000
[ INFO] [1582776580.296389787]: [dsr_control] controller_manager is updating!
[INFO] [1582776580.397889]: Controller Spawner: Waiting for service controller_manager/switch_controller
[INFO] [1582776580.399273]: Controller Spawner: Waiting for service controller_manager/unload_controller
[INFO] [1582776580.401118]: Loading controller: dsr_joint_position_controller
[INFO] [1582776580.416896]: Loading controller: dsr_joint_publisher
[INFO] [1582776580.426883]: Controller Spawner: Loaded controllers: dsr_joint_position_controller, dsr_joint_publisher
[INFO] [1582776580.436730]: Started controllers: dsr_joint_position_controller, dsr_joint_publisher
process[dsr01/world_tf-5]: started with pid [7073]
process[dsr01/spawn_create_model-6]: started with pid [7127]
process[dmodel-7]: started with pid [7140]
[WARN] [1582776609.273579]: Controller Spawner couldn't find the expected controller_manager ROS interface.
[dsr01/controller_spawner-1] process has finished cleanly
log file: /root/.ros/log/cb69b3a0-5909-11ea-8461-00012e93400b/dsr01-controller_spawner-1*.log
[ INFO] [1582776880.264821075]: [callback OnLogAlarm]
[ INFO] [1582776880.264907976]: level : 1
[ INFO] [1582776880.264985765]: group : 1
[ INFO] [1582776880.265027732]: index : 1038
[ INFO] [1582776880.265054018]: param :
[ INFO] [1582776880.265082732]: param :
[ INFO] [1582776880.265109566]: param :
[ INFO] [1582776880.267497275]: On Monitor State
[callback OnMonitoringStateCB] current state: (3) SAFE_OFF
[ INFO] [1582776880.287912205]: On Monitor State
[callback OnMonitoringStateCB] current state: (1) STANDBY
[ INFO] [1582776880.369411787]: On Monitor State
[callback OnMonitoringStateCB] current state: (3) SAFE_OFF
[ INFO] [1582776880.756358728]: On Monitor State
[callback OnMonitoringStateCB] current state: (1) STANDBY

urdf m1013 model for other simulation usage

안녕하세요

coppeliasim 소프트웨어 사용을 위한m1013 urdf 를 구하고 있습니다.
doosan-robot-master\dsr_description\xacro 폴더에는 xacro file만 있습니다.
ros 상에서 urdf 변환을 했을때 error가 발생하는 것 같습니다.
urdf file을 따로 가지고 계신 것이 있으신지요?

Move it commander example not working properly.

I have setup everything for the doosan m1013. and tried to launch moveit commander from the manual. I launched like so:
roslaunch dsr_control dsr_moveit.launch model:=m1013 mode:=virtual

however i get the following errors when launching this:
ERROR: cannot launch node of type [dsr_control/dsr_control_node]: can't locate node [dsr_control_node] in package [dsr_control]

[ERROR] [1597155302.606933879]: Action client not connected: dsr_joint_trajectory_controller/follow_joint_trajectory

installing the workspace gave me no errors. I am running in kinetic.

get_current_pose & movej

pos = get_current_pose(ROBOT_SPACE_JOINT)와 같은 형식으로 위치를 저장한 후, 그 위치를 이용해 movej를 하려고 합니다. 그러나 리턴 값을 저장한 pos를 movej(pos, 50, 50) 함수에 넣어 사용을 했더니,

('_movej', 2251)
[ERROR] <DSR_ROBOT.py> func_name = _movej, line_no = 2251

다음과 같은 에러가 납니다. get_current_pose 반환값을 type()을 사용하여 확인했더니

<class 'dsr_msgs.srv._GetCurrentPose.GetCurrentPoseResponse'>

위와 같은 형태이던데 어떻게 활용해야할지 조언 부탁드립니다.

감사합니다.

Support Melodic

안녕하세요.

현재 엔드이펙터단에 3D 비전 카메라와 그립퍼를 부착해 수확로봇을 개발 중 입니다.

AI 모델을 통한 물체인식과 영상처리가 필요하기 때문에 GPU가 포함된 Nvidia Jetson Xavier를 메인 SBC로 선정하였습니다.

Xavier의 경우 ubuntu 18.04 LTS가 기본 OS이지만, doosan-robot 패키지가 Kinetic 밖에 지원하지 않기 때문에 확정을 보류하고 있습니다.

추후 Melodic 지원 예정이 있는지 궁금합니다.

감사합니다.

Using Moveit

안녕하세요.

현재 2.5kg 정도되는 그리퍼를 만들어 다음과 같이 셋팅을 하였습니다.

gripper
limit

문제는 Moveit을 사용할 때 목표 지점까지 명령을 줘도 0.3초 정도 움직이다가 아래와 같은 메시지와 함께 멈추고 맙니다. (티칭펜던트상의 조그 사용 시, 잘 작동하지만 Moveit을 사용하면 어떤 동작을 해도 오류 메시지와 함께 멈춥니다.)

[ INFO] [1581930124.355384396]: Planning attempt 1 of at most 1
[ INFO] [1581930124.359989971]: Planner configuration 'arm' will use planner 'geometric::RRTConnect'. Additional configuration parameters will be set when the planner is constructed.
[ INFO] [1581930124.361676386]: RRTConnect: Starting planning with 1 states already in datastructure
[ INFO] [1581930124.402283069]: RRTConnect: Created 4 states (2 start + 2 goal)
[ INFO] [1581930124.402342420]: Solution found in 0.041378 seconds
[ INFO] [1581930124.418945718]: SimpleSetup: Path simplification took 0.016473 seconds and changed from 3 to 2 states
[ INFO] [1581930124.454843131]: callback: Trajectory received
[ INFO] [1581930124.454870311]:   msg->goal.trajectory.points.size() =10
[ INFO] [1581930124.454881212]:   msg->goal.trajectory.joint_names.size() =6
[ INFO] [1581930124.454897162]: [trajectory] [00 : 0.000] -19.745  19.989   0.007  13.730   0.006  -0.003
[ INFO] [1581930124.454910656]: [trajectory] [01 : 0.283] -17.551  17.768   0.006  12.204   0.006  -0.003
[ INFO] [1581930124.454920239]: [trajectory] [02 : 0.400] -15.357  15.547   0.005  10.678   0.006  -0.002
[ INFO] [1581930124.454937596]: [trajectory] [03 : 0.489] -13.164  13.325   0.004   9.152   0.006  -0.001
[ INFO] [1581930124.454946672]: [trajectory] [04 : 0.564] -10.970  11.104   0.003   7.626   0.005  -0.000
[ INFO] [1581930124.454954569]: [trajectory] [05 : 0.632]  -8.776   8.882   0.002   6.100   0.005   0.001
[ INFO] [1581930124.454962433]: [trajectory] [06 : 0.709]  -6.582   6.661   0.001   4.574   0.005   0.002
[ INFO] [1581930124.454971487]: [trajectory] [07 : 0.799]  -4.389   4.439   0.001   3.048   0.005   0.003
[ INFO] [1581930124.454978705]: [trajectory] [08 : 0.916]  -2.195   2.218  -0.000   1.522   0.005   0.003
[ INFO] [1581930124.454987325]: [trajectory] [09 : 1.194]  -0.001  -0.004  -0.001  -0.004   0.005   0.004
[ INFO] [1581930124.478524858]: On Monitor State
[callback OnMonitoringStateCB] current state: (2) MOVING
[ INFO] [1581930124.714329153]: [callback OnLogAlarm]
[ INFO] [1581930124.714467740]:  level : 1
[ INFO] [1581930124.714508645]:  group : 2
[ INFO] [1581930124.714572474]:  index : 1214
[ INFO] [1581930124.714610059]:  param : [INFO]finalTime(2.191) is adjusted above User Input(1.194)
[ INFO] [1581930124.714641131]:  param : 
[ INFO] [1581930124.714724955]:  param : 
[ INFO] [1581930125.033644182]: On Monitor State
[callback OnMonitoringStateCB] current state: (3) SAFE_OFF
[ WARN] [1581930125.060216333]: [callback OnLogAlarm]
[ WARN] [1581930125.060301489]:  level : 2
[ WARN] [1581930125.060338186]:  group : 5
[ WARN] [1581930125.060371090]:  index : 7056
[ WARN] [1581930125.060427996]:  param : 
[ WARN] [1581930125.060469619]:  param : 
[ WARN] [1581930125.060513666]:  param : 
[ INFO] [1581930125.062819542]: On Monitor State
[callback OnMonitoringStateCB] current state: (1) STANDBY
[ INFO] [1581930125.062907141]: On Monitor State
[callback OnMonitoringStateCB] current state: (3) SAFE_OFF
[ WARN] [1581930125.085651755]: [callback OnLogAlarm]
[ WARN] [1581930125.085733278]:  level : 2
[ WARN] [1581930125.085783231]:  group : 5
[ WARN] [1581930125.085816159]:  index : 7056
[ WARN] [1581930125.085879091]:  param : 
[ WARN] [1581930125.085907366]:  param : 
[ WARN] [1581930125.085931169]:  param : 
[ INFO] [1581930125.088255169]: On Monitor State
[callback OnMonitoringStateCB] current state: (1) STANDBY
[ INFO] [1581930125.088340069]: On Monitor State
[callback OnMonitoringStateCB] current state: (3) SAFE_OFF
[ WARN] [1581930125.100238107]: [callback OnLogAlarm]
[ WARN] [1581930125.100328828]:  level : 2
[ WARN] [1581930125.100365655]:  group : 2
[ WARN] [1581930125.100405060]:  index : 9015
[ WARN] [1581930125.100434071]:  param : 
[ WARN] [1581930125.100462285]:  param : err=External_Force, mode=Reduced, limit force=150.000(N)[33.721(lbf)], current force=314.659(N)[70.738(lbf)]
[ WARN] [1581930125.100494908]:  param : 
[ WARN] [1581930125.104939692]: [callback OnLogAlarm]
[ WARN] [1581930125.105017331]:  level : 2
[ WARN] [1581930125.105054327]:  group : 5
[ WARN] [1581930125.105095114]:  index : 7056
[ WARN] [1581930125.105124534]:  param : 
[ WARN] [1581930125.105150699]:  param : 
[ WARN] [1581930125.105179052]:  param : 
[ INFO] [1581930125.107274409]: On Monitor State
[callback OnMonitoringStateCB] current state: (1) STANDBY
[ INFO] [1581930125.107362584]: On Monitor State
[callback OnMonitoringStateCB] current state: (3) SAFE_OFF
[ WARN] [1581930125.119735647]: [callback OnLogAlarm]
[ WARN] [1581930125.119807116]:  level : 2
[ WARN] [1581930125.119839400]:  group : 2
[ WARN] [1581930125.119864077]:  index : 9015
[ WARN] [1581930125.119897729]:  param : 
[ WARN] [1581930125.119958187]:  param : err=External_Force, mode=Reduced, limit force=150.000(N)[33.721(lbf)], current force=762.194(N)[171.348(lbf)]
[ WARN] [1581930125.119991266]:  param : 
[ WARN] [1581930125.124354572]: [callback OnLogAlarm]
[ WARN] [1581930125.124427237]:  level : 2
[ WARN] [1581930125.124463225]:  group : 5
[ WARN] [1581930125.124508466]:  index : 7056
[ WARN] [1581930125.124550764]:  param : 
[ WARN] [1581930125.124576932]:  param : 
[ WARN] [1581930125.124615250]:  param : 
[ INFO] [1581930125.126904423]: On Monitor State
[callback OnMonitoringStateCB] current state: (1) STANDBY
[ INFO] [1581930125.126996221]: On Monitor State
[ INFO] [1581930125.454985393]: Completed trajectory execution with status SUCCEEDED ...
[callback OnMonitoringStateCB] current state: (3) SAFE_OFF
[ WARN] [1581930125.513818751]: [callback OnLogAlarm]
[ WARN] [1581930125.513902390]:  level : 2
[ WARN] [1581930125.514129764]:  group : 2
[ WARN] [1581930125.514172990]:  index : 9015
[ WARN] [1581930125.514198675]:  param : 
[ WARN] [1581930125.514407511]:  param : err=External_Force, mode=Reduced, limit force=150.000(N)[33.721(lbf)], current force=1198.887(N)[269.521(lbf)]
[ WARN] [1581930125.514459265]:  param : 
[ WARN] [1581930125.519264245]: [callback OnLogAlarm]
[ WARN] [1581930125.519339904]:  level : 2
[ WARN] [1581930125.519372944]:  group : 5
[ WARN] [1581930125.519397857]:  index : 7056
[ WARN] [1581930125.519449758]:  param : 
[ WARN] [1581930125.519475705]:  param : 
[ WARN] [1581930125.519498626]:  param : 

M0609 모델을 사용 중이며, 2달전 그립퍼를 사용하지 않을 때에도 테스트할 때 제한문제로 멈춤이 있었습니다.

[ WARN] [1581930125.100462285]:  param : err=External_Force, mode=Reduced, limit force=150.000(N)[33.721(lbf)], current force=314.659(N)[70.738(lbf)]

이 부분을 보면 제한 문제 같은데, 추가로 더 설정해줘야하는 부분이 있나요?

Compatible vision camera

현재 pick&place용으로 Intel realsense를 구매했는데 PC와 연결해 사용해야하다보니 추후에는 modbus 및 ethercat 방식으로 Doosan robot의 컨트롤러와 연결하여 사용할 수 있는 제품을 찾고 있습니다.

Doosan robot 및 ROS와 호환하여 사용할 수 있는 비전 카메라와 3D depth 카메라를 알고 싶습니다.

그렇지 않다면, 3d 비전 카메라를 그냥 PC와 연결해 ros topic으로 받아 이미지 처리 후 사용하는걸 권장하시는지 알고 싶습니다.

감사합니다.

A-Series support

A시리즈(a0509) 모델에 대한 기능 추가가 완료되었습니다.

The function addition for the A series (a0509) model is completed.

SVM(Smart Vision Module) Compatibility

옵션으로 판매 중인 SVM을 구매하려고 합니다. 제가 듣기로는 SVM의 기본 API를 통해 영상 출력은 되지만 저장은 안 된다고 들었습니다. 혹시 ROS에서 사용하게 될 경우 호환 여부 및 예제 제공 여부가 궁급합니다.

감사합니다.

trans 함수 관련 질문

이전 두산의 윈도우기반 프로그램에서 ROS 로 변경하고 있는데,
trans 함수는 사라진건가요?
해당 함수를 사용하고 싶은데 가이드 부탁드립니다.

S/W Process for Angle limit

안녕하세요.

저는 아래 영상과 같이 인식된 객체에 대해 3D좌표를 반환하고 M0609가 이동하도록 진행하고 있습니다. https://youtu.be/urASQwXqyHw

로봇이 팔 길이가 짧아 이동할 수 없는 경우에 대해서는 [WARN] 메시지가 나타나고 그 위치까지 이동하지 않지만, 가동 범위 안에 있는 경우에 대해서는 목표지점까지 잘 이동합니다.
그러나 수치상 이동가능한 위치지만 목표 지점으로 이동하는 중 관절이 제한각도를 벗어나게 되면, 매니퓰레이터가 이동 중 붉은색 LED와 각도제한 메시지와 함께 멈추게 됩니다.

관절 각도 상 이동할 수 없는 경로를 사전에 알 수 있는 방법이 s/w적으로 있는지 알고 싶습니다.

감사합니다.

ROS2 Support

It has been more than two years since ROS2 was released.
Is the transition to ROS2 mega trends?
I would be grateful if you could leave your thoughts about ROS2.

Doosan robot call center number?

안녕하세요 두산로봇 고객지원으로 연락 가능한 번호가 있을까요?
현재 홈페이지에 있는 031-8014-5500 또는 로봇에 적혀있는 5550 모두 전화를 받지 않습니다.
로봇 펌웨어 업그레이드를 위하여 라이센스 번호를 입력하면 모두 틀린번호로 결과가 나오는 관계로 해결책을 찾고 있습니다.
연락가능한 연락처를 [email protected] 또는 이곳에 남겨주시면 감사하겠습니다.

Moveit Connection Issue

I've successfully launched

roslaunch dsr_control dsr_moveit.launch mode:=real host:=192.168.127.100 model:m1013

and I don't get any error messages.

However, when I try to use Motion Planning, joints do not move.

When I take a look at the teach pendant, it shows control has been moved successfully.

Is there any other thing I have setup to connect robot arm with Moveit?

serial_node_example build issue

The executable file for the serial communication example (named serial_node_example) cannot be found.
and I get some error in dsr_example_py / real_pick_and_place.py
NameError: global name 'srv_gripper_send_data' is not defined

And I want to know when melodic-version is released.
There is already a melodic branch posted on doosan ros wiki.
But I can't find melodic-dev branch.

Moveit Commander Question

Hi, I'm trying to control the arm using moveit commander.

To do so, I launched

roslaunch dsr_control dsr_moveit.launch

[mode:=real model:=m1013 host:=192.168.127.100]. checked the robot actually moving.

and then, on a new terminal tab, I launched

rosrun moveit_commander moveit_commander_cmdline.py robot_description:=/dsr01/robot_description

use arm

I'm keep getting "unable to initialize arm"

I checked the logging as suggested in this link.
"https://answers.ros.org/question/311012/unable-to-initialize-group-in-moveit-commander/"

I only see Connection::drop(2)
TCP socket [21] closed
Connection::drop(0)

However, when I follow using config launch file,

roslaunch moveit_config_m1013 m1013.launch
rosrun moveit_commander moveit_commander_cmdline.py robot_description:=/dsr01/robot_description

use arm

I was able to control the robot in the virtual mode.

So my question is,
Is there any clash between dsr_control node and moveit_commander node?
Maybe ip address problem?

Are auxiliary control functions available now?

In the ROS programming manual, I found some functions in chapter 9.
They are auxiliary control functions. Some seems like they are available, such as get_current_solution_space() ,but some are not. Are the functions in get_joint_torque and get_tool_force() now in the package?

image

rosdep install error in kinetic-devel branch

rosdep install --from-paths src --ignore-src -y
ERROR: the following packages/stacks could not have their rosdep keys resolved
to system dependencies:
dsr_example_py: Cannot locate rosdep definition for [acionlib_msgs]

How increase execution velocity

I always get controller is taking too long to execute trajectory error. I've tried changing joint_limits.yaml and chaning urdf velocity speed. However it seems like the controller ignores all changes. Is there any other setting I have to change to lower the execution time?

sleep 모드

sleep 모드에 관한 issue 입니다.

현재 사용중인 m1013 로봇이 #43 에서 답변받은대로, 5분동안 움직임이없으면 Manual 모드로 변경됩니다.
이를 ros에서 프로그램이 시작할때, 다시 auto mode 로 변경할려고 합니다.

의도됐는지는 모르겠는데, sleep 으로 인한 auto -> manual 모드 변경은 적용이 안되네요
$ rosservice call /dsr01m1013/system/get_robot_mode
로 모드 호출을 하면 auto 모드 그대로 나옵니다.
그래서
$ rosservice call /dsr01m1013/system/set_robot_mode "robot_mode: 1" // auto mode
로 하면 변경이 없고, 아래와 같이 manual(0) 로 변경후 auto(1) 를 호출해야 변경이 됩니다.

$ rosservice call /dsr01m1013/system/set_robot_mode "robot_mode: 0" // manual mode
$ rosservice call /dsr01m1013/system/set_robot_mode "robot_mode: 1" // auto mode

버그인지 의도된건지는 모르겠지만, issue 등록합니다.

dsr_description: collision geometries

Hi Doosan-team,
I noticed that there is no collision geometry defined in any xacro file.
For doing some path planning, this may be pretty expensive (e.g. M1013: ~7MB of triangles which just belongs to robot). Are you planning to add simpler collision meshes as well?

dsr_control fails to build on Kinetic

From: http://build.ros.org/view/Kbin_uX64/job/Kbin_uX64__dsr_control__ubuntu_xenial_amd64__binary/241/console

00:06:41.395 -- Found Threads: TRUE  
00:06:41.401 -- Using Python nosetests: /usr/bin/nosetests-2.7
00:06:41.452 -- catkin 0.7.20
00:06:41.452 -- BUILD_SHARED_LIBS is on
00:06:41.935 -- Configuring done
00:06:41.936 CMake Error at CMakeLists.txt:58 (add_executable):
00:06:41.936   Cannot find source file:
00:06:41.936 
00:06:41.936     ../common/src/dsr_serial.cpp
00:06:41.936 
00:06:41.936   Tried extensions .c .C .c++ .cc .cpp .cxx .m .M .mm .h .hh .h++ .hm .hpp
00:06:41.936   .hxx .in .txx
00:06:41.936 
00:06:41.936 
00:06:41.937 CMake Error: CMake can not determine linker language for target: dsr_control_node
00:06:41.938 CMake Error: Cannot determine link language for target "dsr_control_node".
00:06:41.953 -- Generating done
00:06:41.956 CMake Warning:
00:06:41.956   Manually-specified variables were not used by the project:
00:06:41.956 
00:06:41.956     CMAKE_INSTALL_LOCALSTATEDIR
00:06:41.956     CMAKE_INSTALL_SYSCONFDIR
00:06:41.956 

ros-melodic building error

I modified dsr_control/CMakeLists.txt as follows
line 37: target_link_libraries(dsr_control_node ${PROJECT_SOURCE_DIR}/lib/libDRFL.a PocoFoundation PocoNet)
There seems to be an error in libDSRF.so

[100%] Linking CXX executable /home/nvidia/Works/doosan_robotics_ros_ws/devel/lib/dsr_control/dsr_control_node
/usr/bin/ld: skipping incompatible /home/nvidia/Works/doosan_robotics_ros_ws/src/doosanrobotics-v0.45_mobile/dsr_control/lib/libPocoFoundation.so when searching for -lPocoFoundation
/usr/bin/ld: skipping incompatible /home/nvidia/Works/doosan_robotics_ros_ws/src/doosanrobotics-v0.45_mobile/dsr_control/lib/libPocoNet.so when searching for -lPocoNet
/usr/bin/ld: skipping incompatible /home/nvidia/Works/doosan_robotics_ros_ws/src/doosanrobotics-v0.45_mobile/dsr_control/lib/libPocoFoundation.so when searching for -lPocoFoundation
/usr/bin/ld: /home/nvidia/Works/doosan_robotics_ros_ws/src/doosanrobotics-v0.45_mobile/dsr_control/lib/libDRFL.a(DRFL.cpp.o): Relocations in generic ELF (EM: 62)
/usr/bin/ld: /home/nvidia/Works/doosan_robotics_ros_ws/src/doosanrobotics-v0.45_mobile/dsr_control/lib/libDRFL.a(DRFL.cpp.o): Relocations in generic ELF (EM: 62)
/usr/bin/ld: /home/nvidia/Works/doosan_robotics_ros_ws/src/doosanrobotics-v0.45_mobile/dsr_control/lib/libDRFL.a(DRFL.cpp.o): Relocations in generic ELF (EM: 62)
/usr/bin/ld: /home/nvidia/Works/doosan_robotics_ros_ws/src/doosanrobotics-v0.45_mobile/dsr_control/lib/libDRFL.a(DRFL.cpp.o): Relocations in generic ELF (EM: 62)
/usr/bin/ld: /home/nvidia/Works/doosan_robotics_ros_ws/src/doosanrobotics-v0.45_mobile/dsr_control/lib/libDRFL.a(DRFL.cpp.o): Relocations in generic ELF (EM: 62)
/usr/bin/ld: /home/nvidia/Works/doosan_robotics_ros_ws/src/doosanrobotics-v0.45_mobile/dsr_control/lib/libDRFL.a(DRFL.cpp.o): Relocations in generic ELF (EM: 62)
/home/nvidia/Works/doosan_robotics_ros_ws/src/doosanrobotics-v0.45_mobile/dsr_control/lib/libDRFL.a: error adding symbols: File in wrong format
collect2: error: ld returned 1 exit status
doosanrobotics-v0.45_mobile/dsr_control/CMakeFiles/dsr_control_node.dir/build.make:178: recipe for target '/home/nvidia/Works/doosan_robotics_ros_ws/devel/lib/dsr_control/dsr_control_node' failed
make[2]: *** [/home/nvidia/Works/doosan_robotics_ros_ws/devel/lib/dsr_control/dsr_control_node] Error 1
CMakeFiles/Makefile2:2797: recipe for target 'doosanrobotics-v0.45_mobile/dsr_control/CMakeFiles/dsr_control_node.dir/all' failed
make[1]: *** [doosanrobotics-v0.45_mobile/dsr_control/CMakeFiles/dsr_control_node.dir/all] Error 2
Makefile:140: recipe for target 'all' failed
make: *** [all] Error 2
Invoking "make -j4 -l4" failed

python moveit

안녕하세요.

moveit 패키지를 이용해서 파이썬 스크립트를 작성하려고 합니다.

먼저 아래와 같은 두산 예제 명령어는 정상적으로 작동합니다. 실행한 명령어는 다음과 같습니다.

$ roscore
$ roslaunch dsr_control dsr_moveit.launch model:=m0609 host:=192.168.137.71 mode:=real
$ ROS_NAMESPACE=/dsr01m0609 rosrun moveit_commander moveit_commander_cmdline.py robot_description:=/dsr01m0609/robot_description 

>> use arm 
>> goal0 = [0 0 0 0 0 0]
>> go goal0 

파이썬 스크립트에서 작성하기위해 아래 예제를 따라했고,
https://ros-planning.github.io/moveit_tutorials/doc/move_group_python_interface/move_group_python_interface_tutorial.html#the-launch-file

아래 코드는 예제 코드 입니다.
https://github.com/ros-planning/moveit_tutorials/blob/master/doc/move_group_python_interface/scripts/move_group_python_interface_tutorial.py

코드에서 초기 셋팅하는 부분은 다음과 같이 설정했습니다.

class MoveGroupPythonIntefaceTutorial(object):
    def __init__(self):
        super(MoveGroupPythonIntefaceTutorial, self).__init__()

        moveit_commander.roscpp_initialize(sys.argv)
        rospy.init_node('move_group_python_interface_tutorial', anonymous=True)

        robot = moveit_commander.RobotCommander("/dsr01m0609/robot_description")

        scene = moveit_commander.PlanningSceneInterface()

        group_name = "arm"
        group = moveit_commander.MoveGroupCommander(group_name, "/dsr01m0609/robot_description")

디버깅을 해보니 scene = moveit_commander.PlanningSceneInterface() 부분까지는 정상적으로 작동하지만 그 다음 코드부터 정상적으로 작동하지 않습니다. group 부분에서 아래와 같은 오류 메시지가 뜹니다.

Traceback (most recent call last):
  File "/home/shin/catkin_ws/src/dsr_havesting/scripts/moveit.py", line 489, in <module>
    main()
  File "/home/shin/catkin_ws/src/dsr_havesting/scripts/moveit.py", line 439, in main
    tutorial = MoveGroupPythonIntefaceTutorial()
  File "/home/shin/catkin_ws/src/dsr_havesting/scripts/moveit.py", line 105, in __init__
    group = moveit_commander.MoveGroupCommander(group_name, "/dsr01m0609/robot_description")
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/moveit_commander/move_group.py", line 52, in __init__
    self._g = _moveit_move_group_interface.MoveGroupInterface(name, robot_description, ns)
RuntimeError: Unable to connect to move_group action server 'move_group' within allotted time (5s)

moveit_commander에서 >> use arm 명령어를 입력했던 것처럼 group_name 변수를 arm으로 입력했는데 오류가 발생합니다.

조언 부탁드립니다. 또한 파이썬 스크립트상에서 사용할 다른 방법이 있다면 부탁드립니다.

감사합니다.

Low level joint access for ROS control hardware interface

I am currently working on the Doosan ROS Control HW Interface to get the dsr_joint_trajectory_controller running. However, it seems that there are only APIs in Python and C++ available that offer "motion primitives" with interpolation (e.g. moveJ, moveJAsync).

The ROS Control HW-Interface is expecting low-level access to the joint-value buffers on the robot in a streaming-like fashion, in particular without having the robot to do interpolations on its own since the ROS-Controllers are expected to do this work.

Do you see any chance for me to send target joint values using the current interfaces that the m1013 is offering but without interpolation? If this is not the case, do you think this is a feature that could be provided by Doosan in the near future?

Thank you very much for your help!

ROS2 Support

M시리즈 라인업과 추후 공개될 A시리즈에 대해 추후 ROS2 지원 여부가 궁금하네요. 현재 개발 단계 인지 궁금하며 릴리즈된다면 언제쯤인지 알고 싶습니다. 항상 감사합니다.

Delay at MOVEJ stream

I am using M0609 in ubuntu 16 and ROS kinetics, and the robot cannot follow the stream of MOVEJ function (C++) in ROS. The stream is about 30Hz, and the robot stops around 1second during operation.

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.