Use the following template to help create your post:
What model(s) of servo are you using?
I have 4 XM430-W350-R motors setup on openmanipulator-x with no gripper.
Describe your control environment. Include the controller or interface, operating system (and version #) of your computer, and how you are powering your robot.
-OS UBUNTU 16.04 LTS
-ROS Kinetic
-OpenCR
-My robot is connected to OpenCR board
I have been following the instructions on the openmanipulator-x manual (OpenMANIPULATOR-X) webpage and i have done the instructions on step 4. As you can understand i am trying to control the robot via openCR and ROS. After the step 4 Option 2 : Use OpenCR as a communication interface instructions i proceed to 4.2.Basic Operation tab which is telling me to run this command ;
and when i run it i get the below result;
user@user:~/catkin_ws$ roslaunch open_manipulator_controller open_manipulator_controller.launch usb_port:=/dev/ttyACM0 baud_rate:=1000000
... logging to /home/user/.ros/log/83dd1302-132d-11ed-9d2c-507b9d65ae7d/roslaunch-user-8679.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.
started roslaunch server http://user:36199/
SUMMARY
========
PARAMETERS
* /open_manipulator/control_period: 0.01
* /open_manipulator/moveit_sample_duration: 0.05
* /open_manipulator/planning_group_name: arm
* /open_manipulator/using_moveit: False
* /open_manipulator/using_platform: True
* /rosdistro: kinetic
* /rosversion: 1.12.17
NODES
/
open_manipulator (open_manipulator_controller/open_manipulator_controller)
auto-starting new master
process[master]: started with pid [8689]
ROS_MASTER_URI=http://localhost:11311
setting /run_id to 83dd1302-132d-11ed-9d2c-507b9d65ae7d
process[rosout-1]: started with pid [8702]
started core service [/rosout]
process[open_manipulator-2]: started with pid [8705]
[PortHandlerLinux::SetupPort] Error opening serial port!
[ERROR] [DynamixelDriver] Failed to open the port!
[ERROR] [TxRxResult] Failed transmit instruction packet!
[ERROR] Please check your Dynamixel ID
[ERROR] [TxRxResult] Failed transmit instruction packet!
[ERROR] Please check your Dynamixel ID
[ERROR] [TxRxResult] Failed transmit instruction packet!
[ERROR] Please check your Dynamixel ID
[ERROR] [TxRxResult] Failed transmit instruction packet!
[ERROR] Please check your Dynamixel ID
[ERROR] [DynamixelDriver] Failed to get the Tool
[ERROR] [DynamixelDriver] Failed to get the Tool
[ERROR] [DynamixelDriver] Failed to get the Tool
[ERROR] [DynamixelDriver] Failed to get the Tool
[ERROR] [DynamixelDriver] Failed to get the Tool
[PortHandlerLinux::SetupPort] Error opening serial port!
[ERROR] [DynamixelDriver] Failed to open the port!
[ERROR] [TxRxResult] Failed transmit instruction packet!
[ERROR] Please check your Dynamixel ID
[ERROR] [DynamixelDriver] Failed to get the Tool
[ERROR] [DynamixelDriver] Failed to get the Tool
[ERROR] [DynamixelDriver] Failed to get the Tool
[ERROR] [DynamixelDriver] Failed to get the Tool
[ERROR] [DynamixelDriver] Failed to get the Tool
[ERROR] [DynamixelDriver] Failed to get the Tool
[ERROR] [DynamixelDriver] Failed to get the Tool
[ERROR] [DynamixelDriver] Failed to get the Tool
[ERROR] [DynamixelDriver] Failed to get the Tool
[ERROR] [DynamixelWorkbench] Failed to change torque status!
[ERROR] [DynamixelWorkbench] Failed to change torque status!
[ERROR] [DynamixelWorkbench] Failed to change torque status!
[ERROR] [DynamixelWorkbench] Failed to change torque status!
[ERROR] [DynamixelWorkbench] Failed to change torque status!
[ERROR] [TxRxResult] Failed transmit instruction packet!
[ERROR] groupSyncRead getdata failed
[ERROR] groupSyncRead getdata failed
[ERROR] groupSyncRead getdata failed
[open_manipulator-2] process has died [pid 8705, exit code -11, cmd /home/user/catkin_ws/devel/lib/open_manipulator_controller/open_manipulator_controller /dev/ttyUSB0 1000000 __name:=open_manipulator __log:=/home/user/.ros/log/83dd1302-132d-11ed-9d2c-507b9d65ae7d/open_manipulator-2.log].
log file: /home/user/.ros/log/83dd1302-132d-11ed-9d2c-507b9d65ae7d/open_manipulator-2*.log
I have no problem controlling the motors via Dynamixel Wizard 2.
Arduino ide seems to be uploading the OpenCR tool to the board correctly as shown in the instructions. Motor ID’s are 11, 12, 13, 14.
Baud rates all set to 1000000.
And here is the port ;
user@user:~$ ls -la /dev/ttyACM0
crwxrwxrwx 1 root dialout 166, 0 Aug 3 16:34 /dev/ttyACM0
I am updating the situation. I have changed the launch file that i am trying to run, turns out port value is set to /dev/ttyUSB0 there so i changed it and here is the new error message i am receiving :
user@user:~/catkin_ws$ roslaunch open_manipulator_controller open_manipulator_controller.launch usb_port:=/dev/ttyACM1 baud_rate:=1000000
... logging to /home/user/.ros/log/b791810a-1400-11ed-bab2-507b9d65ae7d/roslaunch-user-2029.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.
started roslaunch server http://user:33851/
SUMMARY
========
PARAMETERS
* /open_manipulator/control_period: 0.01
* /open_manipulator/moveit_sample_duration: 0.05
* /open_manipulator/planning_group_name: arm
* /open_manipulator/using_moveit: False
* /open_manipulator/using_platform: True
* /rosdistro: kinetic
* /rosversion: 1.12.17
NODES
/
open_manipulator (open_manipulator_controller/open_manipulator_controller)
ROS_MASTER_URI=http://localhost:11311
process[open_manipulator-1]: started with pid [2052]
Joint Dynamixel ID : 11, Model Name : XM430-W350
Joint Dynamixel ID : 12, Model Name : XM430-W350
Joint Dynamixel ID : 13, Model Name : XM430-W350
Joint Dynamixel ID : 14, Model Name : XM430-W350
[ERROR] [TxRxResult] There is no status packet!
[ERROR] Please check your Dynamixel ID
[ERROR] [DynamixelDriver] Failed to get the Tool
[ERROR] [DynamixelDriver] Failed to get the Tool
[ERROR] [DynamixelDriver] Failed to get the Tool
[ERROR] [DynamixelDriver] Failed to get the Tool
[ERROR] [DynamixelDriver] Failed to get the Tool
[ERROR] [DynamixelDriver] Failed to get the Tool
[ERROR] [DynamixelDriver] Failed to get the Tool
[ERROR] [DynamixelDriver] Failed to get the Tool
[ERROR] [DynamixelDriver] Failed to get the Tool
[ERROR] [DynamixelWorkbench] Failed to change torque status!
[open_manipulator-1] process has died [pid 2052, exit code -11, cmd /home/user/catkin_ws/devel/lib/open_manipulator_controller/open_manipulator_controller /dev/ttyACM0 1000000 __name:=open_manipulator __log:=/home/user/.ros/log/b791810a-1400-11ed-bab2-507b9d65ae7d/open_manipulator-1.log].
log file: /home/user/.ros/log/b791810a-1400-11ed-bab2-507b9d65ae7d/open_manipulator-1*.log
all processes on machine have died, roslaunch will exit
shutting down processing monitor...
... shutting down processing monitor complete
done
Return a launch file as default if you have modified it, to prevent any issues caused by unnecessary change.
Can not find ID 15 (Gripper) in your resulting terminal. Check it the ID 15 is properly connected. Make sure that your power souece is really powering all actuators.
1- I changed the port value on launch file from /dev/ttyUSB0 to /dev/ttyACM0 not the other way around.
2- I am already giving a port option and a baudrate option if you look carefully you will see that i am executing the command like you sad.
3- The only thing that i have changed in the launch file is the port value which is /dev/ttyACM0 right now, everything else is default you can see my launch file in the previous message.
4- There is no gripper on my robot only 4 XM430-W350-R. Which i have told before. There is power on the system joints are not lose.
So what should i do now ?
Oh… I see. I missed that information. (I only read second comment and missed your command).
I have my own OpenManipulator so that, I am able to test my own one then see what it differ from yours (although I have been away from ROS for a long time).
Regarding the Serial Port opening issue, I found that the usb_port and baud_rate argument was used wronly. Use the command dynamixel_usb_port and dynamixel_baud_rate instead.
I just tested my OpenManipulator-X without Gripper connected, and it rejects me access the application due to the internal rule of OpenManipulator package which I haven’t looked yet.
If possible, mount DYNAMIXEL (ID 15, 1M bps) or modify the code rules on your own. Seems to me you are doing your custom design. The folllowing is the refernce posting that may help proceeding to doing the customization: https://github.com/ROBOTIS-GIT/open_manipulator/issues/84
When I am free, I will spending on looking at the code as I am planning to study ROS soon, but not guarantee I can make my schedule quick. I hope that I am back again for it.
Thank you for taking your time and trying with your own manipulator.
I have noticed the argument name inconsistency in the launch file and the roslaunch command as you mentioned.
At least now i have an idea of the problem and i will try to modify code rules as you suggest. I will post my results if i succeed.