Giter Site home page Giter Site logo

densorobot / denso_cobotta_ros Goto Github PK

View Code? Open in Web Editor NEW
12.0 11.0 19.0 380 KB

denso_cobotta_ros’s documentation

Home Page: https://densorobot.github.io/docs/denso_cobotta_ros/

License: GNU General Public License v2.0

CMake 7.37% C++ 86.93% C 4.45% Python 1.25%

denso_cobotta_ros's Introduction

denso_cobotta_ros

In order to operate cobotta, execute following command.

roslaunch denso_cobotta_bringup denso_cobotta_bringup.launch
roslaunch denso_cobotta_driver denso_cobotta_driver.launch

After executing the above command, you can use the following services and topics.

  • service
    • /cobotta/clear_error
    • /cobotta/clear_robot_error
    • /cobotta/clear_safe_state
    • /cobotta/get_brake_state
    • /cobotta/get_motor_state
    • /cobotta/set_LED_state
    • /cobotta/set_brake_state
    • /cobotta/set_motor_state
  • topic
    • /cobotta/close_button
    • /cobotta/gripper_move
    • /cobotta/gripper_action
    • /cobotta/miniIO_input
    • /cobotta/miniIO_output
    • /cobotta/open_button
    • /cobotta/position_button
    • /cobotta/robot_state
    • /cobotta/safe_state

Installation and requirements

Please see the Getting started page.

denso_cobotta_ros's People

Contributors

densowaverobot avatar roboticsyy avatar shotaak avatar toshitakasuzuki avatar

Stargazers

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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

denso_cobotta_ros's Issues

/cobotta/denso_cobotta_control: open(/dev/denso_cobotta): No such file or directory

I connect the cobotta to the switch via ethnet cable, and my computer connect to the switch via ethnet cable too. when i run

roslaunch denso_cobotta_bringup denso_cobotta_bringup.launch

do you have any tutorial to connect the robot to my pc?

this error occur (shown as in the image below).

OS: ubuntu 18.04
ROS: melodic

image

It seems like all ther denso_cobotta driver are supposed to be supported in Ubuntu 16.04, will you update it to supported Ubuntu 18.04?

image

my kernel version is: 5.3.0-59-generic
image

Using two cobottas at the same time

Hi,
I am trying to use two Cobottas simultaneously in the same network.
I tried modifying the launch files to use the namespace instead of the default "cobotta", but it did not work.
Does anyone have any recommendations on how to do it?
I am currently having errors when loading the controller_manager.

Thank you.

ROS Noetic Ninjemys Support

Are you planning on migrating this package to ROS Noetic and if so when will it be available (approximately)?
Thank you very much in advance.

ABORTED: Solution found but controller failed during execution

I am trying to simulate the 6DOF cobotta manipulator and when I try to move the robot with MoveIt I get these errors

ABORTED: Solution found but controller failed during execution
and
[ WARN] [1668996337.684285871, 67.488000000]: Controller cobotta/arm_controller failed with error GOAL_TOLERANCE_VIOLATED:
[ WARN] [1668996337.684471635, 67.488000000]: Controller handle cobotta/arm_controller reports status ABORTED

I am using the fuctions move_group.go() and move_group.stop() in python, giving a goal configuration state as input. I have checked and the goal is within the joints limits.

Thank you.

electric gripper control

How can I control electric gripper via bCAP?
I try to use bCAP Extension to send command such as "Chuck", "UnChuck" but the robot tell me "Unknown name".

How to use electric chuck in native C++?

I am using the b-Cap Client library in native C++.
I tried to operate COBOTTA's electric chuck with the code below, but it didn't work. crush.
Please let me know where I am going wrong.

  • Although it is not shown here, the arm can be operated.
  • The electric chuck cannot be operated with HandMoveA and HandMoveH.HandChuck and HandUnChuck work.
  • ManualResetPreparation and MotionPreparation have been executed.
#include "/bcap_core/bCAPClient/bcap_client.h"	// b-cap client libarary header
...

bool CobottaController_HandMoveH()
{
    HRESULT hr;
    BSTR bstr;
    VARIANT vntParam;
    VARIANT vntReturn;
    VARIANT* pvntData;

    bstr = SysAllocString(L"HandMoveH");

    VariantInit(&vntParam);
    VariantInit(&vntReturn);

    vntParam.vt = (VT_VARIANT|VT_ARRAY);
    vntParam.parray = SafeArrayCreateVector(VT_VARIANT, 0, 3);
    SafeArrayAccessData(vntParam.parray, (void**)&pvntData);

    pvntData[0].vt = VT_R8;
    pvntData[0].dblVal = 25;  // force [N]
    pvntData[1].vt = VT_BOOL;
    pvntData[1].bVal = VARIANT_TRUE;	// TRUE : close FALSE : open
    pvntData[2].vt = VT_BSTR;
    pvntData[2].bstrVal = SysAllocString(L"DetectOn");	// option

    SafeArrayUnaccessData(vntParam.parray);

    hr = bCap_ControllerExecute(fd, hCtrl, bstr, vntParam, &vntReturn);	// crush here

    sleep(2); // wait

    SysFreeString(bstr);
    VariantClear(&vntReturn);
    VariantClear(&vntParam);

    if ( SUCCEEDED(hr)) { return true; }
    else { return false; }

}

platfrom : windows11
compiler : MSVC 2022 community
b-Cap Client Library : build to static library with CMake(MSVC)

Compilation error: Could not find a package configuration file provided by "denso_cobotta_lib

Environment

Ubuntu 16.04 + ROS Kinetic and Ubuntu 18.04 + ROS Melodic
Branch: Master

Descirption

Following the normal way to setup ros workspace and using catkin build to build the workspace. This compilation error happens:

Errors     << denso_cobotta_driver:cmake /root/ws_denso/logs/denso_cobotta_driver/build.cmake.000.log
CMake Warning at /opt/ros/kinetic/share/catkin/cmake/catkinConfig.cmake:76 (find_package):
  Could not find a package configuration file provided by "denso_cobotta_lib"
  with any of the following names:

    denso_cobotta_libConfig.cmake
    denso_cobotta_lib-config.cmake

  Add the installation prefix of "denso_cobotta_lib" to CMAKE_PREFIX_PATH or
  set "denso_cobotta_lib_DIR" to a directory containing one of the above
  files.  If "denso_cobotta_lib" provides a separate development package or
  SDK, be sure it has been installed.
Call Stack (most recent call first):
  CMakeLists.txt:8 (find_package)


CMake Error at /opt/ros/kinetic/share/catkin/cmake/catkinConfig.cmake:83 (find_package):
  Could not find a package configuration file provided by "denso_cobotta_lib"
  with any of the following names:

    denso_cobotta_libConfig.cmake
    denso_cobotta_lib-config.cmake

  Add the installation prefix of "denso_cobotta_lib" to CMAKE_PREFIX_PATH or
  set "denso_cobotta_lib_DIR" to a directory containing one of the above
  files.  If "denso_cobotta_lib" provides a separate development package or
  SDK, be sure it has been installed.
Call Stack (most recent call first):
  CMakeLists.txt:8 (find_package)

IOError : No such file or directory

On my terminal screen.

hanggaga@hanggaga-X555LB:~$ roslaunch denso_cobotta_moveit_config demo.launch 
... logging to /home/hanggaga/.ros/log/280c11ba-1311-11e9-a60d-40b89a4ff069/roslaunch-hanggaga-X555LB-20138.log
Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

Traceback (most recent call last):
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/roslaunch/__init__.py", line 306, in main
    p.start()
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/roslaunch/parent.py", line 268, in start
    self._start_infrastructure()
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/roslaunch/parent.py", line 217, in _start_infrastructure
    self._load_config()
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/roslaunch/parent.py", line 132, in _load_config
    roslaunch_strs=self.roslaunch_strs, verbose=self.verbose)
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/roslaunch/config.py", line 451, in load_config_default
    loader.load(f, config, verbose=verbose)
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/roslaunch/xmlloader.py", line 749, in load
    self._load_launch(launch, ros_config, is_core=core, filename=filename, argv=argv, verbose=verbose)
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/roslaunch/xmlloader.py", line 721, in _load_launch
    self._recurse_load(ros_config, launch.childNodes, self.root_context, None, is_core, verbose)
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/roslaunch/xmlloader.py", line 685, in _recurse_load
    val = self._include_tag(tag, context, ros_config, default_machine, is_core, verbose)
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/roslaunch/xmlloader.py", line 95, in call
    return f(*args, **kwds)
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/roslaunch/xmlloader.py", line 627, in _include_tag
    default_machine, is_core, verbose)
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/roslaunch/xmlloader.py", line 665, in _recurse_load
    self._param_tag(tag, context, ros_config, verbose=verbose)
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/roslaunch/xmlloader.py", line 95, in call
    return f(*args, **kwds)
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/roslaunch/xmlloader.py", line 265, in _param_tag
    value = self.param_value(verbose, name, ptype, *vals)
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/roslaunch/loader.py", line 472, in param_value
    with open(textfile, 'r') as f:
IOError: [Errno 2] No such file or directory: u'/home/suzuki/cobotta_description/cobotta.urdf'

File cobotta.urdf not found! .

Use of the parallel gripper in simulation

Hi,
I have the OSS Cobotta with the parallel gripper and I am using it with ROS Melodic.
When using the real robot I do not have any problem controlling the gripper to pick and place items, but I need to be able to replicate these actions in simulation.
When using the robot in Gazebo I can not control the opening and closing of the gripper. In the changelog of the repository it is mentioned in the version 1.2.2- dev "the Gripper simulation is currently not supported".
I was wondering if there is any update on the gripper simulation? Or how can I simulate the opening or closing of the gripper?

Thanks

New version on Melodic or ROS2?

Is there any plan this package will be migrated to Melodic or ROS2? For my last check, the driver are not supporting the latest kernel. If there is any further plan, can I know about the timetable? Thanks.

Direct mode

Hi,
I didn't find any clue to activate the direct mode inside this package, we can retreive the function button state but no service to call upon.
Can we call it after by ourself ?

Modifying joint_limits.yaml

(updated: fix copy-and-paste failure of the script at 2020/07/27 Sun. 02:06 JST.)

Hi, thank you for COBOTTA OSS repository.
I'm sorry for my poor English; please let me know if you find any unclear points.

I have a question about denso_cobotta_moveit_config/config/joint_limits.yaml.

According to COBOTTA User Manuals [Rev.2.073 (2019-03-01)] ID: 3702 (Daily Inspections), COBOTTA needs to move its all axes to prevent damage to the bearings.

I wrote a script shown below to move arms.

#!/usr/bin/env python
"""
This script moves axes and prevents COBOTTA from early wear-off of bearings.
See "NOTE" section of COBOTTA User Manuals [Rev.2.073 (2019-03-01)] ID: 3702 (Daily Inspections) for details.
"""

import rospy
import moveit_commander
import math


def main():
	"""
	Main function.
	"""
	rospy.init_node("daily_inspections", anonymous=True)
	scene = moveit_commander.PlanningSceneInterface()
	robot = moveit_commander.RobotCommander()
	arm = moveit_commander.MoveGroupCommander("arm")

	# Motion angle of each axis from COBOTTA User Manuals [Rev.2.073 (2019-03-01)] ID: 7260
	joints = {0: [-150, 150], 1: [-60, 100], 2: [18, 140], 3: [-170, 170], 4: [-95, 135], 5: [-170, 170]}

	# Number of iterations
	iterations = 10

	# initialization
	# Moves all axes to "neutral" angle.
	rospy.loginfo("Initializing all axes...")
	joint_goal = arm.get_current_joint_values()
	for j in range(len(joint_goal)):
		joint_goal[j] = math.radians((joints[j][0] + joints[j][1]) / 2)

		try:
			arm.go(joint_goal)
		except moveit_commander.exception.MoveItCommanderException as ex:
			print(ex)
		arm.stop()
		arm.clear_pose_targets()

	# Moves each axis from min to max.
	for j in range(len(joints)):
		for i in range(iterations):
			rospy.loginfo("Moving axis %d (%d/%d)..." % (j, i, iterations))

			joint_goal = arm.get_current_joint_values()
			joint_goal[j] = math.radians(joints[j][i % 2])

			multiplier = 1.0

			while multiplier > 1e-2 and not rospy.is_shutdown():
				try:
					success = arm.go(joint_goal)
				except moveit_commander.exception.MoveItCommanderException as ex:
					print("joint: %d: %s: %f [rad]" % (j, ex, joint_goal[j]))
					success = False

				arm.stop()
				arm.clear_pose_targets()

				# Go to the next iteration.
				if success:
					break

				# If the motion planning fails (e.g. collision with the ground), reduce the range of the angle.
				multiplier *= 0.9
				joint_goal[j] = math.radians((joints[j][0] + joints[j][1]) / 2) + joint_goal[j] * multiplier

		# Moves the axis to "neutral" angle.
		rospy.loginfo("Resetting axis %d..." % j)
		joint_goal[j] = math.radians((joints[j][0] + joints[j][1]) / 2)
		try:
			arm.go(joint_goal)
		except moveit_commander.exception.MoveItCommanderException as ex:
			print(ex)
		arm.stop()
		arm.clear_pose_targets()

	rospy.loginfo("All done.")


if __name__ == '__main__':
	try:
		main()
	except rospy.ROSInterruptException:
		exit()

When I execute the script, I get ERROR messages like:

...
[ERROR] [1595494556.981926028]: /cobotta/denso_cobotta_driver: [Lv4:844A5001/00000000] <safety> J1 speed limit over
[ERROR] [1595494556.991894407]: /cobotta/denso_cobotta_driver: [Lv4:844A5001/00000000] <safety> J1 speed limit over
[ INFO] [1595494557.001881770]: /cobotta/denso_cobotta_driver: [Lv0:0F200202/00000000] <robot#0> Motor is OFF
[ERROR] [1595494557.011896937]: /cobotta/denso_cobotta_driver: [Lv4:84405501/00000601] <robot#0> J1:Bus voltage failure
[ERROR] [1595494557.013605907]: /cobotta/denso_cobotta_driver: [Lv4:84405502/00000601] <robot#0> J2:Bus voltage failure
[ERROR] [1595494557.013791882]: /cobotta/denso_cobotta_driver: [Lv4:84405503/00000601] <robot#0> J3:Bus voltage failure
[ERROR] [1595494557.015826998]: /cobotta/denso_cobotta_driver: [Lv4:84405504/00000601] <robot#0> J4:Bus voltage failure
[ERROR] [1595494557.017741371]: /cobotta/denso_cobotta_driver: [Lv4:84405505/00000601] <robot#0> J5:Bus voltage failure
[ERROR] [1595494557.018185885]: /cobotta/denso_cobotta_driver: [Lv4:84405506/00000601] <robot#0> J6:Bus voltage failure
[ERROR] [1595494557.019415086]: /cobotta/denso_cobotta_driver: [Lv4:84405501/00000601] <robot#1> J1:Bus voltage failure
...

Driver version:

[ INFO] [1595486395.517196523]: /cobotta/denso_cobotta_driver: Driver: Linux driver: 1.2.0-0 (Requirements: 1.2.N-M)
[ INFO] [1595486395.517669691]: /cobotta/denso_cobotta_driver: Driver: FPGA MAIN: cbmtA09G,02/07/2019
[ INFO] [1595486395.518352179]: /cobotta/denso_cobotta_driver: Driver: FPGA MAIN backup: cbmtF09G,02/07/2019
[ INFO] [1595486395.519346084]: /cobotta/denso_cobotta_driver: Driver: ServoMCU: 1010-1010-1010-1010-1010-1010-0000-0000-1010
[ INFO] [1595486395.520386826]: /cobotta/denso_cobotta_driver: Driver: SafetyMCU: 1003,1003-1003,1003-1003,1003-1003,1003-1003,1003-1003,1003-0000,0000-0000,0000-1003,1003

denso_cobotta_ros package revision: 27e185522ae241b9361dd4180d519fb46401a3f2 (Oct 29, 2019) branch: master
$ uname -a: Linux tlab-cobotta 4.15.0-54-generic #58~16.04.1-Ubuntu SMP Mon Jun 24 13:21:41 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

I found that modifying max_velocity of denso_cobotta_moveit_config/config/joint_limits.yaml solves the error (and some axes seem to allow higher value).

axis (joint) current value proposed value
1 0.4031710572 0.36
2 0.3921754829 0.35
3 0.725707903 0.925
4 0.7391469382 0.9375
5 0.7391469382 1
6 1.1093312726 1.5

This is my joint_limits.yaml.
I executed the script 5 times (50 iterations) with this settings and didn't see the error messages.

And my question is: Is modifying it unsafe for the robot?
Your help would be much appreciated.

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.