Pick and place without a specialist workstation
Pick-and-place software has to turn a capable arm into a repeatable job: plan the motion, rehearse it, then run the same program on the real robot. OLO does that in the browser — MoveIt-backed motion, cloud simulation, and typed SDKs — on ROS 2 arms you already have, without a local workstation.

Why pick-and-place projects stall after the demo
A capable arm is not a pick-and-place cell. Getting an object from A to B means inverse kinematics, collision-aware planning, a grasp that holds, and a scene the planner can see. Turning it into a job the rest of the team can run, change, and put on hardware they already own is where most projects stop.
OLO closes that gap. Rehearse the pick in simulation, prove the motion in the browser, then run the same program on the arm on the bench — without a specialist laptop in the loop. The whole team can watch, adjust, and rerun from a URL. You still specify poses, scene, and grip; OLO does not invent a grasp or ship a finished cell. What it removes is the one-off demo and the dead end between proving it once and putting it into production.
What makes the job possible
Pick and place needs more than a capable arm. These are the parts of OLO that turn a demo into a job the whole team can run.
Explore the platformRehearse before the arm moves
Cloud simulation runs the same program against a simulated arm in the browser. The first physical pick verifies a motion that already worked virtually.
Motion without the specialist laptop
Visualise, teleoperate, and run MoveIt-backed programs from the Portal — poses, linear paths, speed, and grippers — without a local ROS workstation in the loop.
A program the team can change
Typed Python and TypeScript SDKs sit underneath the browser. When the job needs logic no form can express, the same platform carries you from first draft to deployment on the bench.
What that gets you in practice
A browser, not a workstation
Visualise, teleoperate, and run programs from any machine with a URL. The team stops depending on the one laptop that has the ROS environment installed.
Rehearse the pick before the arm moves
Cloud simulation runs the same MoveIt-backed program against a simulated robot. The first physical run verifies a motion that already worked virtually.
MoveIt without living in the stack
The kinematics module plans and executes joint targets, end-effector poses, and linear paths, scales trajectory speed, and commands grippers — on any arm with a working MoveIt setup.
A program, not a teach-pendant one-off
Typed Python and TypeScript SDKs sit under the browser. When the job needs logic no form can express — or a first draft from AI-assisted programming — you stay on the same platform.
How it works
Pick and place follows the same simulate-then-deploy path as every other job on OLO. The arm-specific work is connecting MoveIt, rehearsing the motion, and putting the same program on hardware.
Connect
Install the OLO Appliance beside the arm's ROS 2 drivers and register it in the Portal — or skip hardware and start in managed cloud simulation.
Simulate
Rehearse the pick and the place against a simulated arm in the browser, using the same tools and APIs you will use on the physical robot.
Program
Write Python or TypeScript in the SDK Playground: MoveIt poses, linear paths, gripper commands, and any scene logic the job needs.
Deploy
The program runs on the Appliance, robot-side. Your laptop does not need to stay in the loop once the motion is proven.
Operate
Watch, teleoperate, and iterate from the Portal. Change a pose or a speed, run it again, and keep the same workflow the whole team can open.
Hardware: a ROS 2 arm with MoveIt
Pick and place lives or dies on the manipulator. OLO works with robots you already have: any arm with a working MoveIt configuration, plus partner hardware that has been integrated so it connects from the browser.
Franka Research 3
A partner arm on this site. Force-sensitive, ROS 2 via libfranka and franka_ros, and usable from OLO's browser cockpit with MoveIt and cloud simulation.
Any arm with MoveIt
The kinematics module plans, executes, and commands the end effector on any manipulator that already has a working MoveIt setup.
Mobile bases, if the job needs them
If the arm sits on a ROS 2 mobile base, Nav2 is there for the drive between picks. The page is still about the grasp — navigation does not replace it.
Custom and research platforms
If your build publishes ROS 2 topics, the Core module can already see it. Closing a driver gap is a small piece of engineering — by your team, or ours.
Frequently asked questions
A ROS 2 arm with a working MoveIt configuration, and a browser. The Appliance joins the robot's existing ROS 2 environment; the Portal is the workspace. You still specify poses, scene, and grip — OLO does not invent a grasp for an unknown object.
No. Visualisation, teleoperation, cloud simulation, and the SDK Playground all run in the browser. The Appliance executes programs robot-side, so the development laptop does not have to stay on the network.
Yes. The free personal plan includes managed cloud simulation, so you can rehearse the motion in the browser before hardware is involved. The same code and tools point at the real robot when it arrives.
Yes. Franka Robotics is a hardware partner. The Franka Research 3 connects through the standard ROS 2 stack — libfranka and franka_ros — and OLO adds the browser workspace, MoveIt motion, and simulation.
You can. Typed Python and TypeScript SDKs cover MoveIt motion and gripper commands in the browser Playground. If you want a first draft from a description, AI-assisted programming is a separate capability on the same platform — review the code, run it in simulation, then put it on the arm.
For the developersof robotics.
Test in simulation. Visualise, teleoperate and script in the browser. No installation required.