# The default serial port name of 2022 mycobot 320-M5 version is "/dev/ttyUSB0", and the baud rate is 115200. The serial port name of some models is "dev/ttyACM0". If the default serial port name is wrong, you can change the serial port name to "/dev/ttyACM0".
roslaunch new_mycobot_320 mycobot_320_simple_gui.launch port:=/dev/ttyUSB0 baud:=115200
Open a command line and run:
# The default serial port name of 2022 mycobot 320-M5 version is "/dev/ttyUSB0", and the baud rate is 115200. The serial port name of some models is "dev/ttyACM0". If the default serial port name is wrong, you can change the serial port name to "/dev/ttyACM0".
roslaunch new_mycobot_320 mycobot_320_teleop_keyboard.launch port:=/dev/ttyUSB0 baud:=115200
Running effect is as follows:
mycobot information will be output in the command line as follows:
SUMMARY
========
PARAMETERS
* /mycobot_services/baud: 115200
* /mycobot_services/port: /dev/ttyUSB0
* /robot_description: < ? xml version=" 1....
* /rosdistro: kinetic
* /rosversion: 1.12.1.17
NODES
/
mycobot_services (new_mycobot_320/mycobot_services.py)
real_listener (new_mycobot_320/listen_real.py)
robot_state_publisher (robot_state_publisher/state_publisher)
rviz (rviz/rviz)
auto-starting new master
process[master]: started with pid [1333]
ROS_MASTER_URI=http://localhost:11311
setting /run_id to f977b3f4-b3a9-11eb-b0c8-d0c63728b379
process[rosout-1]: started with pid [1349]
started core service [/rosout]
process[robot_state_publisher-2]: started with pid [1357]
process[rviz-3]: started with pid [1367]
process[mycobot_services-4]: started with pid [1380]
process[real_listener-5]: started with pid [1395]
[INFO] [1620882819.196217]: start ...
[INFO] [1620882819.205050]: /dev/ttyUSB0,115200
MyCobot Status
--------------------------------
Joint Limit:
joint 1: -165 ~ +165
joint 2: -165 ~ +165
joint 3: -165 ~ +165
joint 4: -165 ~ +165
joint 5: -165 ~ +165
joint 6: -175 ~ +175
Connect Status: True
Servo Infomation: all connected
Servo Temperature: unknown
Atom Version: unknown
[INFO] [1620882819.435778]: ready
Then open another command line and run:
rosrun new_mycobot_320 mycobot_320_teleop_keyboard.py
You will see the following output in the command line:
Mycobot Teleop Keyboard Controller
---------------------------
Movimg options(control coordinations [x,y,z,rx,ry,rz]):
w(x+)
a(y-) s(x-) d(y+)
z(z-) x(z+)
u(rx+) i(ry+) o(rz+)
j(rx-) k(ry-) l(rz-)
Gripper control:
g - open
h - close
Other:
1 - Go to init pose
2 - Go to home pose
3 - Resave home pose
q - Quit
currently: speed: 50 change percent 5
In this terminal, you can control the state of the robot arm and move it using the keys in the command line.
Parameters supported by this script:
_speed: the movement speed of the robot arm
_change_percent: movement distance percentage
mycobot_ros
has integrated the MoveIt section.
Note: If the end effector uses myGripper F100 force-controlled gripper, the version of the pymycobot driver library must be greater than 3.6.4
Open the command line and run:
roslaunch new_mycobot_320_moveit mycobot320_moveit.launch
# If the end is equipped with a Pro adaptive gripper, run:
roslaunch new_mycobot_320_gripper_moveit mycobot320_gripper_moveit.launch
# If the end is equipped with a myGripper F100 force-controlled gripper, run:
roslaunch new_mycobot_320_force_gripper_moveit mycobot320_force_gripper_moveit.launch
The operation effect is as follows:
If the end is equipped with a Pro adaptive gripper, the operation effect is as follows:
If the end is equipped with a myGripper F100 force-controlled gripper, the operation effect is as follows:
If you want a real robot arm to execute a plan synchronously, you need to open another command line and run:
# The default serial port name of 2022 mycobot 320-M5 version is "/dev/ttyUSB0", and the baud rate is 115200. The serial port name of some models is "dev/ttyACM0". If the default serial port name is wrong, you can change the serial port name to "/dev/ttyACM0".
rosrun new_mycobot_320_moveit sync_plan.py _port:=/dev/ttyUSB0 _baud:=115200
# If the end is equipped with a Pro adaptive gripper, run (serial port modification is the same as above):
rosrun new_mycobot_320_gripper_moveit sync_plan.py _port:=/dev/ttyUSB0 _baud:=115200
# If the end is equipped with a myGripper F100 force-controlled gripper, run (serial port modification is the same as above):
rosrun new_mycobot_320_force_gripper_moveit sync_plan.py _port:=/dev/ttyACM0 _baud:=115200
Note: If the end point is equipped with Pro adaptive grippers or myGripper F100 force-controlled grippers and the grippers need to be planned, you need to switch the planning group to the planning group of the grippers.
>
In order to prevent the joints from shaking during the movement of the real robotic arm, the movement speed of the joints needs to be reduced.
In the sync_plan.py
file, modify the speed parameter of the robot arm Python API, here it is changed to 25.
...
def callback (data ):
# rospy.loginfo(rospy.get_caller_id() + "%s", data)
data_list = []
for index , value in enumerate (data .position ):
radians_to_angles = round (math .degrees (value ), 2 )
data_list .append (radians_to_angles )
rospy .loginfo (rospy .get_caller_id () + "%s" , data_list )
mc .send_angles (data_list , 25 ) # Change speed to 25
...
In the Moveit RViz interface, modify the scaling ratio of speed and acceleration. Here, change it to 0.5, and then save the current configuration.
>
← Previous Page | Next Section →