4 ms·
It's not clear to me really where to start for somebody like that me that has advanced CS knowledge but knows nothing about robots. Still just start from the ba
by ddlutz 5y ago
It's not clear to me really where to start for somebody like that me that has advanced CS knowledge but knows nothing about robots. Still just start from the basics?
- jcims 5y agoI built a two axis gimbal for tracking satellites with an RF antenna. I used a couple moteus controllers and a raspberry pi and just started hacking away. Took about four weeks to get something useful. I’d come up with the project first and then find someone doing it (or something similar) on YouTube to get some ideas. Keep it functional but simple, 2-3 degrees of freedom to start. No quadruped robots unless you are ready to invest $5k+ and probably multiple years into it. Some channels: https://youtube.com/c/Skyentific https://youtube.com/c/Skyentific https://youtube.com/c/jamesbruton https://youtube.com/c/jamesbruton https://youtube.com/user/awesjosh https://youtube.com/user/awesjosh https://youtube.com/channel/UCx32JW2oIrax47Gjq8zNI-w https://youtube.com/channel/UCx32JW2oIrax47Gjq8zNI-w
- mysterydip 5y agoI'm going through the stuff available at parallax, like this: https://www.parallax.com/product/activitybot-360-robot-kit/ https://www.parallax.com/product/activitybot-360-robot-kit/ They have several different robots to build/program and tutorials for them. I'm branching out a bit more and using some different sensors available on their site and learning low level microcontroller programming and interfaces, and having a good time with it. It's been a refreshing change from the normal high level x86 compiling.
- showerst 5y agoDo you know basic electronics? I bought one of those cheapie elegy arduino starter kits on Amazon and actually found it to be great. Lots of common commodity sensors and parts, and a useable manual to walk you through them. It helped springboard me into larger projects, and move on to ros.
- RugnirViking 5y agoIt really depends how far you want to go. For batchelor degree level robotics, the below is roughly what you'd want. That would let you write basic control software for most things from a plane to a production line. Theres a fairly dense mathematical background to a lot of robotics, some of which is parallel to advanced CS but some which will be entirely new. Linear algrebra is a good starting point to jump into robot kinematics, and from there dynamics - kinematics(in robotics) is basically maths describing the position & motion of the end effector of a robot arm as a function of each of the joint values like angle or extention (and vice versa - called inverse kinematics!). Dynamics takes that further by looking at the force required at each joint to provide a certain acceleration of the end effector. A lot of things that might not seem "arm-like" can be modelled as arms for this, including 3d printer print heads or office chairs Another topic to look into is control theory, which is used in a lot of fields but I wouldn't have thought it would be taught in CS classes (I'm trained in robotics so wouldn't know!). This is really critical to understand for robotics tho, a good start within this topic is understanding what PID control is. Another useful thing will be understanding path planning basics. While you probably know some things that feel like path planning (Dijkstra's, a* etc) those are useful but not nearly the whole of it. New things could be cell decomposition (splitting a region containing obstacles into several sub-zones that contain no obstacles, useful for going from a global map to a local map), or calculating Configuration space (basically your robot isn't a point entity but actually is a physical shape, meaning you can't path arbritrarily close to an obstacle. Configuration space is "growing" obstacles such that the point you are using for navigation touching the edge of new obstacles is equivalent to the edge of the robot touching the old obstacles). Some things that you probably already know such as computer vision are useful in robotics, so you aren't starting completely from scratch. Not sure if you're familliar with statistsics and/or Kalman filters and their variants, which would be very helpful. You're probably also familliar with low level networking stuff like packets and signal processing - knowledge on using an oscilloscope will be helpful! Something you can use to practise some of this stuff is install a fresh linux partition with ROS (https://www.ros.org/ https://www.ros.org/ - best to keep it in its own linux parititon) and webots/gazebo (two robot simulation software - I like webots). Then you can dissect the control programs that come stock, and edit them or write your own. Also ROS is another thing in and of itself that might require a little bit of learning, but with good CS and the excellent ROS tutorials you should be able to figure out how to get nodes up and running in a day or two I've been thinking about making a youtube channel with intros to some of this stuff one day, but thats a ways away yet Each of these are really dense topics that will take a good few months to years to get truly proficient in, and they don't really cover stuff like electronics, biology (yes it comes up surprisingly often), materials or mechanical engineering which are also important for robotics, as well as stuff like knowledge about sensor types and their benefits and use cases (when to use LIDAR, when to use structured light sensors, sonar, ultrasound, infrared, radio etc). I tried to name-drop the most important topics in the hopes that it can start your search, but if you have any other questions feel free to ask.
- dbuder 5y agoMaybe try Making Embedded Systems by Elecia White, more of a software eng into firmware dev but it won't be C++ but maybe teach your LED to blink before you teach a robot to pathfind.