{"id":10,"date":"2012-01-24T17:37:08","date_gmt":"2012-01-24T22:37:08","guid":{"rendered":"http:\/\/www.mcgurrin.com\/robots\/?p=10"},"modified":"2012-01-24T17:39:39","modified_gmt":"2012-01-24T22:39:39","slug":"initial-musings-on-robotic-vehicles","status":"publish","type":"post","link":"https:\/\/www.mcgurrin.info\/robots\/10\/","title":{"rendered":"Initial musings on robotic vehicles"},"content":{"rendered":"<p>I finally started working on my first robotic vehicle about 2 months ago.\u00a0 It&#8217;s built around the RP5 tracked chassis and the Romeo controller board, both from <a href=\"http:\/\/www.dfrobot.com\/\">DFRobot<\/a>.\u00a0 I chose the RP5 because it&#8217;s low-cost, the tracks make it a bit more capable for traveling over small objects, and it was fully assembled.\u00a0 I chose the Romeo because it&#8217;s an Arduino-compatible board with support for driving the motors built in (no need for a motor controller board) and lots of convenient 3-pin headers (pwr, gnd, and signal) tied to the Arduino pins, making it really easy to connect sensors and other items.<\/p>\n<p>My goal for the first robot is for it to run indoors, using dead reckoning to navigate (as best it can) to a series of pre-specified waypoints, while avoiding obstacles along the way.\u00a0 I wanted to build capability in stages.\u00a0 Here&#8217;s what I&#8217;ve found out so far:<\/p>\n<ol>\n<li>It is trivial to use available kit parts, like the RP5 and the Romeo, to quickly get up a vehicle that moves around, whether in a straight line, by moving and turning for preset time periods, or moving at random.<\/li>\n<li>It is surprisingly easy to add a sensor and instigate obstacle avoidance.<\/li>\n<li>It is 1-2 <em>orders of magnitude harder <\/em>to add position sensing and navigation.<\/li>\n<\/ol>\n<p>Having said that, I&#8217;m well along the way to getting navigation working, it&#8217;s been fun, and given me the opportunity to learn or relearn a lot of basic C along the way (my previous C experience being limited to 1 course about 25 years ago).\u00a0 I find it&#8217;s much easier to learn a technical subject if you&#8217;ve got a hands-on project you&#8217;re working on, and that even a simple robot touches on a lot of the basics of the C language.<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I finally started working on my first robotic vehicle about 2 months ago.\u00a0 It&#8217;s built around the RP5 tracked chassis and the Romeo controller board, both from DFRobot.\u00a0 I chose the RP5 because it&#8217;s low-cost, the tracks make it a &hellip; <a href=\"https:\/\/www.mcgurrin.info\/robots\/10\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[3,5,4],"_links":{"self":[{"href":"https:\/\/www.mcgurrin.info\/robots\/wp-json\/wp\/v2\/posts\/10"}],"collection":[{"href":"https:\/\/www.mcgurrin.info\/robots\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.mcgurrin.info\/robots\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.mcgurrin.info\/robots\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.mcgurrin.info\/robots\/wp-json\/wp\/v2\/comments?post=10"}],"version-history":[{"count":4,"href":"https:\/\/www.mcgurrin.info\/robots\/wp-json\/wp\/v2\/posts\/10\/revisions"}],"predecessor-version":[{"id":16,"href":"https:\/\/www.mcgurrin.info\/robots\/wp-json\/wp\/v2\/posts\/10\/revisions\/16"}],"wp:attachment":[{"href":"https:\/\/www.mcgurrin.info\/robots\/wp-json\/wp\/v2\/media?parent=10"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.mcgurrin.info\/robots\/wp-json\/wp\/v2\/categories?post=10"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.mcgurrin.info\/robots\/wp-json\/wp\/v2\/tags?post=10"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}