rb5_advanced_programming
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
rb5_advanced_programming [2023/01/20 14:11] – [Example] bskim | rb5_advanced_programming [2023/02/07 14:22] (current) – [Exercise] bskim | ||
---|---|---|---|
Line 15: | Line 15: | ||
The control syntax provided in the teaching pendant / tablet UI can be implemented by the user directly from the external control device, and the robot operation commands / IO control commands are sent according to the user’s use case. | The control syntax provided in the teaching pendant / tablet UI can be implemented by the user directly from the external control device, and the robot operation commands / IO control commands are sent according to the user’s use case. | ||
- | |||
The following document describes an example of driving a robot with the above concepts. | The following document describes an example of driving a robot with the above concepts. | ||
+ | | ||
=====External Connection===== | =====External Connection===== | ||
In order to use external control, the external computer must be connected to the control box. The connection uses TCP / IP communication and the corresponding IP address can be set in the pendant. The result is displayed on the screen on control panel. Ports 5000 and 5001 open for external control. Port 5000 is a port for receiving commands, and port 5001 is a port for requesting and sending data indicating robot status. For convenience, | In order to use external control, the external computer must be connected to the control box. The connection uses TCP / IP communication and the corresponding IP address can be set in the pendant. The result is displayed on the screen on control panel. Ports 5000 and 5001 open for external control. Port 5000 is a port for receiving commands, and port 5001 is a port for requesting and sending data indicating robot status. For convenience, | ||
Line 29: | Line 29: | ||
| 0x24 | Size& | | 0x24 | Size& | ||
The format of the data is shown below. Depending on the system version, the size of the data may be different. However, the order is consistent, please refer to the table below. | The format of the data is shown below. Depending on the system version, the size of the data may be different. However, the order is consistent, please refer to the table below. | ||
- | *[[rb5_advanced_programming# | + | |
+ | |||
+ | [[rb5_advanced_programming# | ||
+ | |||
+ | ==== Exercise ==== | ||
+ | * Print out the RB5's current Position using script command. | ||
+ | |||
+ | * Print out the RB5's current Joint angle using script command. | ||
+ | |||
+ | * Move RB5 from joint angle(0, | ||
+ | |||
+ | * Move RB5 from joint Position(0.4, | ||
====Example==== | ====Example==== | ||
Line 90: | Line 102: | ||
===Get RB5 data from Controller with Python=== | ===Get RB5 data from Controller with Python=== | ||
+ | This is Example code for get RB5 data from RB5 Controller using Multi-thread. | ||
+ | you can make main program to control RB5 with RB5 data. | ||
+ | |||
<code python> | <code python> | ||
from queue import Queue | from queue import Queue | ||
Line 121: | Line 136: | ||
def get_data_thread(sock, | def get_data_thread(sock, | ||
print(' | print(' | ||
- | ft_calib=calib_ft_data() | ||
while True: | while True: | ||
cmd=q_in.get() | cmd=q_in.get() | ||
if cmd == 1: | if cmd == 1: | ||
rb5_data_ = Rb5_getdata(sock) | rb5_data_ = Rb5_getdata(sock) | ||
- | ft_data_ = read_ft_data()-ft_calib | ||
- | q_out.put(ft_data_) | ||
q_out.put(rb5_data_) | q_out.put(rb5_data_) | ||
| | ||
Line 324: | Line 336: | ||
=====reqdata format===== | =====reqdata format===== | ||
+ | |||
+ | ^ | ||
+ | | 0x24 | Size& | ||
+ | |||
{{ : | {{ : | ||
{{ : | {{ : |
rb5_advanced_programming.1674252660.txt.gz · Last modified: by bskim