4 ms·
Take a look at the Robot Operating System[1] and their tutorials[2]. Keep in mind though that very slowly ROS is transitioning to ROS2 which fixes some major pr
by Datenstrom 8y ago
Take a look at the Robot Operating System[1] and their tutorials[2]. Keep in mind though that very slowly ROS is transitioning to ROS2 which fixes some major problems caused by ageing. Most notably the switch from ROS messages to the Data Distribution Service (DDS) which is very popular in robotics.
ROS has a large amount of packages available for popular robots and integrates well with many simulation environments also. This will save you a massive amount of time learning and from being overwhelmed with the massive amount of things that go into even making a simple robot work. Download a bunch of packages and focus on just the part/parts you are learning right now. You will also see lots of great examples of how robotics software is written. Whether it is DDS, ROS messages, or LCM it is generally structured into a collections of nodes that interact with each other.
As far as hardware, even having personal projects with a simple line following robot should be enough to get a foot in the door. Where I worked previously preferred to hire people who were software engineers first, or at least keep the team balanced and I learned on the job. Simulation to real training has had some recent breakthroughs also, see "Learning Dexterity" by OpenAI[3] so it is increasingly possible to do effective work in simulation.
[1]: http://www.ros.org/ http://www.ros.org/
[2]: http://wiki.ros.org/ROS/Tutorials http://wiki.ros.org/ROS/Tutorials
[3]: https://blog.openai.com/learning-dexterity/ https://blog.openai.com/learning-dexterity/
- dbcurtis 8y agoOK, so I am a ROS fan and have worked on several ROS-based projects both for hobby and for hire. Be aware that ROS has a non-trivial learning curve. I guess I would say that if you are learning robotics, ROS is where you want to end up, but not necessarily where you want to start. But when starting with ROS, be aware that: 1) ROS 2 is still under heavy development. We have not yet reached the promised land, no commercial ROS companies that I know (and I know a bunch) have switched over yet. 2) While there is a lot of documentation and tutorials for ROS to be found, it is very easy to get tangled up in documentation for the wrong release. Sounds basic, I know, but really, if you are working with Melodic and snag into a tutorial for Jade, errrf, it can be frustrating for a beginner until you realize your PEBKAC. So for ROS, definitely start with the simulator, and work through the tutorials. Melodic is the current long-term-support release of ROS. After doing the turtlebot tutorials from ROS.org, you can get other simulated robots, like the Fetch model for a mobile manipulator, or for arms the Moveit! ROS package has a nice tutorial based around a simulated Puma. But I don't think you need to start with ROS. A lot can be learned by starting with something much simpler. Get your hands dirty and build something simple, anything really. Something I have seen many times at the Homebrew Robotics club is some smart guy from Facebook or Google or similar with an MSCS will walk in and tell us all about the great robot he plans to build. The 12 year old kids with two or three Arduino-and-popsickle-stick robots under their belt are thinking (usually not saying) "Talk is cheap, show us a working robot." Robots are humbling. So for parts, in addition to SparkFun and Adafruit for various motor controller and other widgets, also look at Pololu.com for robot parts. Their Romi chassis has a lot going for it as a beginner kit. A good challenge might be to add some sensors and see if you can get one to simply explore the top of a table without falling off. Not as easy as it sounds. Brings new meaning to the phrase "corner cases". Books: An oldie but goodie that gives serious beginners a good overview is "Behavior Based Robotics" by Ron Arkin. A little more intense: "Probabilistic Robotics", Thrun/Burgard/Fox. And my favorite piece of advice to all robot beginners: Your first robot should have low enough mass that a missing semicolon does not put a hole the the wallboard of your living room. (I recently worked on a 1000lb mobile robot with 1000lb payload capacity. Several of us spent a loooong time designing/tweaking the E-Stop circuit. Make your newbie mistakes on something smaller :)
- kajecounterhack 8y agoZoox self driving cars use ROS fwiw
- dbcurtis 8y agoYes, I am pretty sure that is ROS 1. There are a lot of companies using ROS 1, mostly either Kinetic or Melodic. (I am not going to name names.)