export only explictly downloaded packages:
conda env export --from-history --name ecl_robotic_cell > environment.yml
create new from environment.yml file:
conda env create
(pre-commit is not set up for this repo, so probably ignore this)
make sure .pre-commit-config.yaml file is up to date
language_version: python (use system version of python)
run this: pre-commit install
in .vscode/settings.json make sure formatonsave = TRUE
- 2 x IRB4600-40/2.55 on 3.9m tracks
- 1 x IRB7600-400/2.55 stationary
- Connect robots with Ethernet via x6/WAN port → Ethernet switch → PC
- Configuring robot WAN IP:
- Restart → Advanced → Launch Boot Application
- Set the IP addresses to 192.168.0.xxx (arbitrary, but different for each controller). Used 102 and 103 for 4600 and 7600 respectively.
- Default gateway to 192.168.0.254 (same for all).
- Connect both controllers to Ethernet switch
- On the PC:
- Ethernet switch to PC connection
- network adapter settings → IPv4
- Set IP address to 192.168.0.101 and default gateway to 192.168.0.254 for Ethernet switch
- Now both robot controllers should be connected. Check in RobotStudio (Controller → Add Controller).
- Controller Rapid Code changes:
- WAN port + Ethernet switch connect. Under RRC_Config_ctrl, set the b_RRC_AutoIPAddress to TRUE, if you want to connect with the IP that was set in step #2
- Serviceport connect. Under RRC_Config_ctrl, set the b_RRC_AutoIPAddress to FALSE, will connect with the IP that is set in the st_RRC_IP_AddressMan variable. Default is 192.168.125.1
- Docker Compose files:
- Make sure to pass variable for setting the IP if connecting through Ethernet switch.
- If no variable set, the default is the Serviceport IP, 192.168.125.1.
- Set the corresponding IP addresses in grasshopper/python when sending commands to send to correct controller.
Compose up on any of the three docker setups available:
- ECL_2rob_cell (both 4600s on tracks)
- ECL_3rob_cell (7600 and 4600s on tracks)
- ECL_IRB7600 (single 7600 robot)
This should allow you to work with any of these setups, to do path planning and to send commands through RRC.
Set the GUI variable to TRUE to see the rviz launch moveit Set the RRC variable to TRUE for robot control
Generating xacros and moveit files with Ubuntu running on Windows.
- Using Windows terminal: Microsoft Documentation
- Ubuntu 20.04 through WSL: Microsoft Documentation
- ROS on Linux through COMPAS Fab documentation: COMPAS Documentation
- Creating URDF from xacro files: COMPAS Documentation
- Creating moveit Package: COMPAS Documentation
roslaunch moveit_setup_assistant setup_assistant.launch
- currently the latest version on moveit is generating config files that do not work with the docker images. Generate files in a format that match the current setups (manual edit, time-consuming...)
- To use tools in Linux that have GUI (i.e., moveit setup installer) need to have some visualization software running:
- VcXsrv: Install Page
- Some settings: Documentation
- found that display should be set to 0.0 and not 0
- Search for XLaunch and manually setup, or open the
setup/wsl/xlaunch.config
file with XLaunch
Basically work in Linux (through WSL), and then copy files that are generated over to location on local Windows system
.bashrc and .bashalias files:
- copy the
.bashrc
and.bash_aliases
files to the root directory in WSLcd ~
andls -la
to see dot files
- You can edit these files on Windows side and then copy over to with this function:
copy_load_bash_files
alias
to see the alias, this will not show the functions though
xacro files:
- work on the
_macro.xacro
files on the windows side, and then copy over to Linux to make the URDFs - Function to copy all xacro files from windows to Linux:
all_xacro_copy
- deletes existing folders under
~/catkin_ws/src/
- copies over new
launch
,meshes
,rviz
,urdf
folders - copies over
CMakeLists.txt
andpackage.xml
files
- deletes existing folders under
- Function to make all URDFs with ROS and copy these files back onto Windows:
all_urdf_make
rosrun xacro xacro --inorder -o URDF_OUT XACRO_IN
- then copies over the URDF file onto windows
- NOTE THAT CURRENTLY 3ROB CELL THERE IS MANUAL TWEAKING IN THE URDF FILE FOR THE POSITION OF THE 3RD ROBOT...
- Run
catkin_make
- Run
source devel/setup.bash
to see the URDF links (based on rviz config files saved in folders)
On Linux:
- rviz:
roslaunch FOLDERNAME display.launch
- XML check:
cd ~/catkin_ws/src/FOLDERNAME/urdf
check_urdf URDFNAME.urdf
On Windows:
check the URDF definitions by visualizing in RH/GH:
- open
setup/grasshopper/_ECL.3dm
- open
setup/grasshopper/check_urdf.ghx
, load any of the URDFs with dropdown menu:- IRB4600
- IRB7600
- IRB4600 + track
- 2 robot cell
- 3 robot cell
check the moveit definition in RH/GH in folder:
- open
setup/grasshopper/_ECL.3dm
- if compose-up on ECL_2rob_cell:
setup/grasshopper/2rob_cell_visualize.ghx
- if compose-up on ECL_3rob_cell:
setup/grasshopper/3rob_cell_visualize.ghx
- if compose-up on ECL_7600:
setup/grasshopper/IRB7600_visualize.ghx
measuring in tool: Video Link
create work object: Video Link
wobj definition:
- x-axis is from X1 → X2
- y-axis is from X2 → Y1
- center is at X2