This repository contains the necessary tools and code to control a MECA500 robot developed in the LINQS lab, currently for nanofabrication tasks. The project uses ROS2 Jazzy and provides an environment for both simulation and robot control through MoveIt.
At the moment we implement a resist development task. It identifies chiplets inside a chip-box, picks them up to move through developer and runs a nitrogen gun at the end controlled using a Serial-port controlled valve.
The hardware components that need to be 3D printed, can be found in docs/assets/models.
| Component | Description | Product Number |
|---|---|---|
| MECA500 Robot Arm | Primary robotic arm for nanofabrication tasks | Meca500 |
| End-effector - Gripper | Mounts for Techni Tool Tweezer tips. Uses Dowel pins for alignment. | MEGP-25 LS |
| Realsense | Depth camera for object detection. | Realsense D405 |
| Tweezer Tips | Techni-Pro Tweezer Tips. Techni-Pro 758TW0304 | Techni-Pro 758TW0305 |
| Chip-box | Holds chiplets for pickup and placing | Entegris H44-999-1415 |
| Nitrogen Valve | Serial-port valve-controlled drying gun. | Beduan Solenoid Valve |
| Serial Relay | USB Serial Port Relay Module. | JESSINIE Relay Module |
| Dowel Pins | Used for angular alignment of tweezer tips. (M1.5 x 6mm) | Amazon Link |
Important
Please do not expect this project to just run for you. You can see it as inspiration, help with implementing some of the tasks. This is not a final library you can just install and run.
The project also contains a few unfinished leads we were following, like recovering some old MoveIt controller or including an RRTC motion planning algorithm in moveit_linqs.
- Ubuntu 24.04
- just - A command runner (similar to make but simpler)
All commands should be run from the root of the workspace directory. There's no need to modify your bashrc as the justfile handles environment sourcing.
The demo is simplest run by starting three different components and running these commands:
just meca-driver
just bringup
just meca-demo-develop -
Run RViz2:
just rviz2
-
Run RViz2 with Meca Robot model:
just rviz2-meca
- Launch MoveIt with Meca Robot model:
just moveit-meca
- Run any ROS2 command:
For example:
just ros2 <command>
just ros2 node list
-
Install ROS2 Jazzy:
just install-ros2-jazzy
This will install:
- ROS2 Jazzy desktop
- Required development tools
- Dependencies needed for the project
-
Build the workspace:
just build_ws
-
Update dependencies (if needed):
just rosdep_update
The workspace is organized as follows:
- meca_controller: Controller nodes for the MECA500 robot
- meca_moveit_config: MoveIt configuration for motion planning
- mecademic_description: Robot description files (URDF, visualization)
If you need to run this on a non-Ubuntu system, you can use containerization:
- Install toolbox
- Create an Ubuntu 24.04 container:
toolbox create --distro ubuntu --release 24.04 ubuntu2404-ROS
- Enter the toolbox:
toolbox enter ubuntu2404-ROS
- Inside the toolbox, clone this repository and follow the installation steps above
To rebuild the workspace after changes:
just build_ws