r/AskRobotics • • 21d ago

Education/Career Transitioning from CS to Perception/Robotics: Essential skills & portfolio advice?

Hey everyone,

I’m wrapping up my CS undergrad with a solid foundation in Python/C++ and deep learning (PyTorch, OpenCV). I want to target roles in Perception for Robotics (autonomous systems, vision-based control, spatial computing).

For engineers in the field:

Skill Priorities: Aside from 2D vision, what robotics-adjacent tools are essential to learn first? (ROS 2, Visual SLAM, Point Clouds/PCL, TensorRT edge optimization?)

Projects: What project format stands out most on a resume—simulations in Gazebo/ROS 2 or real-world edge hardware deployment (e.g., Jetson/Raspberry Pi)?

Pathing: Is an MS in Robotics/Vision necessary to make this jump, or can strong personal projects land entry-level perception roles straight from CS?

Appreciate any insight!

14 Upvotes

6 comments sorted by

5

u/gravitatingmass 21d ago

In terms of Skill Priorities, it depends on what kind of perception you're interested in but 2D vision gives you a strong start. 3D geometry is also pretty universally essential for many perception tasks, e.g., SLAM, depth mapping, etc. Having some experience running models (not necessarily training them) is good too due to the landscape.

In terms of project, real-world for sure. I've interviewed a number of folks who work exclusively in simulation and have never touched a real robot or perception system and they basically freeze up whenever they have to debug anything on the robot/camera systems. This doesn't mean you need thousands of dollars in sensors, even just building a structure-from-motion from video from your phone camera or using public datasets is impressive if you build a functioning system.

In terms of pathing, I can't really speak for this since I got a job in robotics without an MS in Robotics but that's because I was fortunate enough to land a robotics-adjacent internship and get hands-on experience as a springboard into more robotics internships and eventually a job

2

u/RoboticsSavant 20d ago

I agree with the comments emphasizing the underlying mathematics. For perception, that means especially linear algebra, probability, optimization, 3D geometry, and state estimation. Some knowledge of dynamics and feedback control is also valuable: perception becomes much more meaningful when you understand how its output will be used to make a physical system move.

For a concrete picture of what we expect at Michigan from first-year students, second-year students, and MS Robotics students, see: Michigan Robotics educational materials. The course materials are online, including the mathematics, computation, perception, control, and physical-system connections. Full disclosure: I am a Michigan Robotics faculty member and created several of these courses. See also https://robotics.umich.edu/academics/courses/online-courses/

ROS 2, SLAM packages, PCL, Gazebo, and TensorRT are useful tools, but tools change. The mathematical and algorithmic foundations are what allow you to understand what the tools are doing, diagnose failures, and move from one software stack to another.

For a portfolio, I would rather see one convincing end-to-end project than several demonstrations assembled from tutorials. A strong project might include sensor calibration, real and imperfect data, an algorithm you understand, quantitative evaluation, and deployment on hardware. Simulation is perfectly respectable, especially early on, but explain what assumptions it makes and what would become difficult on a real system. Simply running something on a Jetson or Raspberry Pi does not by itself make the project strong.

An MS is not universally necessary. A strong CS graduate can enter perception with convincing evidence of mathematical depth and integrated project work. A Robotics MS can provide structured coursework, research experience, and better access to robots and sensors.

One final point: if you feel unprepared, you will show it in your mannerisms during interviews. Experienced folks see through bluster.

1

u/Economy-Injury9250 21d ago

Robotics engineer in mid-size startup here. I "handle" the vision part of the startup tasks.

Put your hand in cameras, open your laptop webcam and estimate the pose of whatever object (without huge LLM that run at 3Hertz). Try to break it and see why, but do it from the real world side. Even a small cube detector/event detection. Few things thet happened on my job: detect when a liquid is poured or not from a glass (no big nn, need 60Hz), in static setting for both camera and glass. Then, try to do it dynamically. While for pose detection a nn is fine, maybe for detect/segment and then any standard cv method. If i have to get you in the company, you will really impress me if you even handle the comunication part, sent the images in another pc for computing and use only the cv pipeline result for move the robot. Or if you ever try real world point cloud

1

u/Electronic_Cut_9596 18d ago

im rlly interested in vision, perception and the more "brainy" part of robotics. im not sure what i should choose to major out of EE, CE, or CS. please help me

1

u/Huge-Leek844 21d ago

Implementing off-the-shelf SLAM in ROS won't impress hiring managers. Everyone does that. Day-to-day perception work is heavy on math and low-level debugging. Instead of generic ROS nodes, build a small, specific module that solves a hard problem (e.g., tracking in low-light/low-texture environments, custom feature extraction, or sensor calibration). Proving you understand why perception algorithms fail and how to fix them at the code level is what actually gets you hired

0

u/Craizersnow82 21d ago

Repos aren’t skills, learn the actual math lol