<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	
	>
<channel>
	<title>
	Comments on: Designing an Advanced Autonomous Robot: Goose	</title>
	<atom:link href="https://paulbupejr.com/autonomous-robot-design/feed/" rel="self" type="application/rss+xml" />
	<link>https://paulbupejr.com/autonomous-robot-design/</link>
	<description>Hardware, software, and everything in between</description>
	<lastBuildDate>Thu, 04 Feb 2021 00:51:24 +0000</lastBuildDate>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>
	<item>
		<title>
		By: Easy Raspberry Pi Pico Microcontroller C/C++ Programming on Windows		</title>
		<link>https://paulbupejr.com/autonomous-robot-design/#comment-6215</link>

		<dc:creator><![CDATA[Easy Raspberry Pi Pico Microcontroller C/C++ Programming on Windows]]></dc:creator>
		<pubDate>Thu, 04 Feb 2021 00:51:24 +0000</pubDate>
		<guid isPermaLink="false">http://paulbupejr.com/?p=363#comment-6215</guid>

					<description><![CDATA[[&#8230;] Designing an Advanced Autonomous Robot: Goose [&#8230;]]]></description>
			<content:encoded><![CDATA[<p>[&#8230;] Designing an Advanced Autonomous Robot: Goose [&#8230;]</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Easy Raspberry Pi Pico Microcontroller C/C++ Development on Windows		</title>
		<link>https://paulbupejr.com/autonomous-robot-design/#comment-6204</link>

		<dc:creator><![CDATA[Easy Raspberry Pi Pico Microcontroller C/C++ Development on Windows]]></dc:creator>
		<pubDate>Tue, 02 Feb 2021 01:08:56 +0000</pubDate>
		<guid isPermaLink="false">http://paulbupejr.com/?p=363#comment-6204</guid>

					<description><![CDATA[[&#8230;] Designing an Advanced Autonomous Robot: Goose [&#8230;]]]></description>
			<content:encoded><![CDATA[<p>[&#8230;] Designing an Advanced Autonomous Robot: Goose [&#8230;]</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Indoor Localization - An Introduction &#124; Paul Bupe, Jr		</title>
		<link>https://paulbupejr.com/autonomous-robot-design/#comment-3207</link>

		<dc:creator><![CDATA[Indoor Localization - An Introduction &#124; Paul Bupe, Jr]]></dc:creator>
		<pubDate>Mon, 06 Jul 2020 20:27:06 +0000</pubDate>
		<guid isPermaLink="false">http://paulbupejr.com/?p=363#comment-3207</guid>

					<description><![CDATA[[&#8230;] Designing an Advanced Autonomous Robot: Goose [&#8230;]]]></description>
			<content:encoded><![CDATA[<p>[&#8230;] Designing an Advanced Autonomous Robot: Goose [&#8230;]</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: paulbupe		</title>
		<link>https://paulbupejr.com/autonomous-robot-design/#comment-359</link>

		<dc:creator><![CDATA[paulbupe]]></dc:creator>
		<pubDate>Wed, 21 Aug 2019 14:58:09 +0000</pubDate>
		<guid isPermaLink="false">http://paulbupejr.com/?p=363#comment-359</guid>

					<description><![CDATA[In reply to &lt;a href=&quot;https://paulbupejr.com/autonomous-robot-design/#comment-349&quot;&gt;Jacob&lt;/a&gt;.

Yes, the IMU was only used to improve the accuracy of the encoder odometry.]]></description>
			<content:encoded><![CDATA[<p>In reply to <a href="https://paulbupejr.com/autonomous-robot-design/#comment-349">Jacob</a>.</p>
<p>Yes, the IMU was only used to improve the accuracy of the encoder odometry.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Designing An Superior Autonomous Robotic: Goose - NTH Secure		</title>
		<link>https://paulbupejr.com/autonomous-robot-design/#comment-351</link>

		<dc:creator><![CDATA[Designing An Superior Autonomous Robotic: Goose - NTH Secure]]></dc:creator>
		<pubDate>Fri, 16 Aug 2019 10:13:16 +0000</pubDate>
		<guid isPermaLink="false">http://paulbupejr.com/?p=363#comment-351</guid>

					<description><![CDATA[[&#8230;] not fairly as troublesome as astrophysics or understanding human relationships, however designing a competitors successful bot from scratch was by no means going to be simple. Okay, so [Paul Bupe, Jr’s] robotic, named [&#8230;]]]></description>
			<content:encoded><![CDATA[<p>[&#8230;] not fairly as troublesome as astrophysics or understanding human relationships, however designing a competitors successful bot from scratch was by no means going to be simple. Okay, so [Paul Bupe, Jr’s] robotic, named [&#8230;]</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Jacob		</title>
		<link>https://paulbupejr.com/autonomous-robot-design/#comment-349</link>

		<dc:creator><![CDATA[Jacob]]></dc:creator>
		<pubDate>Mon, 12 Aug 2019 15:21:12 +0000</pubDate>
		<guid isPermaLink="false">http://paulbupejr.com/?p=363#comment-349</guid>

					<description><![CDATA[In reply to &lt;a href=&quot;https://paulbupejr.com/autonomous-robot-design/#comment-348&quot;&gt;paulbupe&lt;/a&gt;.

Interesting, thanks for the info. When you&#039;re talking about odometry providing the quadrant, was that the odometry + IMU? Or was IMU used for something else?]]></description>
			<content:encoded><![CDATA[<p>In reply to <a href="https://paulbupejr.com/autonomous-robot-design/#comment-348">paulbupe</a>.</p>
<p>Interesting, thanks for the info. When you&#8217;re talking about odometry providing the quadrant, was that the odometry + IMU? Or was IMU used for something else?</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: paulbupe		</title>
		<link>https://paulbupejr.com/autonomous-robot-design/#comment-348</link>

		<dc:creator><![CDATA[paulbupe]]></dc:creator>
		<pubDate>Mon, 12 Aug 2019 03:35:54 +0000</pubDate>
		<guid isPermaLink="false">http://paulbupejr.com/?p=363#comment-348</guid>

					<description><![CDATA[In reply to &lt;a href=&quot;https://paulbupejr.com/autonomous-robot-design/#comment-347&quot;&gt;Jacob&lt;/a&gt;.

I modified &lt;a href=&quot;https://github.com/kriswiner/MPU9250&quot; target=&quot;_blank&quot; rel=&quot;noopener noreferrer nofollow&quot;&gt;Kris Winer&#039;s implementation of Madgwick&#039;s AHRS&lt;/a&gt; to do the 9 DoF sensor fusion. Since I was using ROS I used a filter from the &lt;a href=&quot;http://docs.ros.org/melodic/api/robot_localization/html/index.html&quot; target=&quot;_blank&quot; rel=&quot;noopener noreferrer nofollow&quot;&gt;robot_localization&lt;/a&gt; package. Most of the work was figuring out the proper covariances.

The point cloud data from the LIDAR is the important piece since I wasn&#039;t technically navigating based on the odometry data in the traditional sense. In such a small space the LIDAR would know precisely where it was as long as it knew which of the four quadrants it was in, which is what was provided by the odometry. Since I knew that it would take significantly longer than the competition run time for there to be any significant error in the odometry I could get away without completing the loop.]]></description>
			<content:encoded><![CDATA[<p>In reply to <a href="https://paulbupejr.com/autonomous-robot-design/#comment-347">Jacob</a>.</p>
<p>I modified <a href="https://github.com/kriswiner/MPU9250" target="_blank" rel="noopener noreferrer nofollow">Kris Winer&#8217;s implementation of Madgwick&#8217;s AHRS</a> to do the 9 DoF sensor fusion. Since I was using ROS I used a filter from the <a href="http://docs.ros.org/melodic/api/robot_localization/html/index.html" target="_blank" rel="noopener noreferrer nofollow">robot_localization</a> package. Most of the work was figuring out the proper covariances.</p>
<p>The point cloud data from the LIDAR is the important piece since I wasn&#8217;t technically navigating based on the odometry data in the traditional sense. In such a small space the LIDAR would know precisely where it was as long as it knew which of the four quadrants it was in, which is what was provided by the odometry. Since I knew that it would take significantly longer than the competition run time for there to be any significant error in the odometry I could get away without completing the loop.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Jacob		</title>
		<link>https://paulbupejr.com/autonomous-robot-design/#comment-347</link>

		<dc:creator><![CDATA[Jacob]]></dc:creator>
		<pubDate>Mon, 12 Aug 2019 02:21:44 +0000</pubDate>
		<guid isPermaLink="false">http://paulbupejr.com/?p=363#comment-347</guid>

					<description><![CDATA[Thanks for the writeup! I&#039;m looking forward to the more detailed articles.

Your localization block diagram shows wheel odometry and IMU data going into a Kalman filter, and you mentioned using a fusion algorithm for the IMU data. Was that AHRS fusion algorithm separate from the Kalman filter? Assuming it was, did you feed the position data from the Kalman filter back into the fusion algorithm? Or was the fusion algorithm only producing rates, which were used to update the position estimate in the Kalman filter?

I&#039;m imagining that if the AHRS fusion and odometry algorithms both maintained an estimated pose without any feedback, they would diverge from each other and become less and less useful.]]></description>
			<content:encoded><![CDATA[<p>Thanks for the writeup! I&#8217;m looking forward to the more detailed articles.</p>
<p>Your localization block diagram shows wheel odometry and IMU data going into a Kalman filter, and you mentioned using a fusion algorithm for the IMU data. Was that AHRS fusion algorithm separate from the Kalman filter? Assuming it was, did you feed the position data from the Kalman filter back into the fusion algorithm? Or was the fusion algorithm only producing rates, which were used to update the position estimate in the Kalman filter?</p>
<p>I&#8217;m imagining that if the AHRS fusion and odometry algorithms both maintained an estimated pose without any feedback, they would diverge from each other and become less and less useful.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: paulbupe		</title>
		<link>https://paulbupejr.com/autonomous-robot-design/#comment-346</link>

		<dc:creator><![CDATA[paulbupe]]></dc:creator>
		<pubDate>Sat, 10 Aug 2019 16:49:08 +0000</pubDate>
		<guid isPermaLink="false">http://paulbupejr.com/?p=363#comment-346</guid>

					<description><![CDATA[In reply to &lt;a href=&quot;https://paulbupejr.com/autonomous-robot-design/#comment-345&quot;&gt;Paul Payne&lt;/a&gt;.

Hmm I might give the ODroid board a try -- looking at their website their newest board has some pretty impressive specs!

I would recommend the Teensy boards over Arduino if you want to run ROS nodes on a microcontroller -- they outperform the Arduino boards in practically every metric and most Arduino libraries will work on the Teensy. I almost always opt for using a microcontroller when dealing with encoders, high frequency control loops, or anything that has &quot;realtime&quot; requirements. 

I&#039;m going to do a post soon on running ROS nodes on a microcontroller and a SBC like a Pi -- looks like a lot of people are interested in that. It&#039;s really pretty straightforward and rather formulaic but it does require more than surface-level knowledge of C++.]]></description>
			<content:encoded><![CDATA[<p>In reply to <a href="https://paulbupejr.com/autonomous-robot-design/#comment-345">Paul Payne</a>.</p>
<p>Hmm I might give the ODroid board a try &#8212; looking at their website their newest board has some pretty impressive specs!</p>
<p>I would recommend the Teensy boards over Arduino if you want to run ROS nodes on a microcontroller &#8212; they outperform the Arduino boards in practically every metric and most Arduino libraries will work on the Teensy. I almost always opt for using a microcontroller when dealing with encoders, high frequency control loops, or anything that has &#8220;realtime&#8221; requirements. </p>
<p>I&#8217;m going to do a post soon on running ROS nodes on a microcontroller and a SBC like a Pi &#8212; looks like a lot of people are interested in that. It&#8217;s really pretty straightforward and rather formulaic but it does require more than surface-level knowledge of C++.</p>
]]></content:encoded>
		
			</item>
		<item>
		<title>
		By: Paul Payne		</title>
		<link>https://paulbupejr.com/autonomous-robot-design/#comment-345</link>

		<dc:creator><![CDATA[Paul Payne]]></dc:creator>
		<pubDate>Sat, 10 Aug 2019 15:10:30 +0000</pubDate>
		<guid isPermaLink="false">http://paulbupejr.com/?p=363#comment-345</guid>

					<description><![CDATA[I&#039;ve been having a good time with the ODroid-C2, btw, as a more powerful ROS-capable alternative to the RPi. Even though I have an Arduino, I am driving ROS DiffDrive nodes directly on the ODroid. I&#039;ll have to rethink what putting nodes on the Arduino might look like... didn&#039;t even really consider that. Are you sharing your code? Mine (currently non-functional, I stalled integrating IMU) is at https://github.com/payneio/baybot.]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been having a good time with the ODroid-C2, btw, as a more powerful ROS-capable alternative to the RPi. Even though I have an Arduino, I am driving ROS DiffDrive nodes directly on the ODroid. I&#8217;ll have to rethink what putting nodes on the Arduino might look like&#8230; didn&#8217;t even really consider that. Are you sharing your code? Mine (currently non-functional, I stalled integrating IMU) is at <a href="https://github.com/payneio/baybot" rel="nofollow ugc">https://github.com/payneio/baybot</a>.</p>
]]></content:encoded>
		
			</item>
	</channel>
</rss>

<!--
Performance optimized by W3 Total Cache. Learn more: https://www.boldgrid.com/w3-total-cache/?utm_source=w3tc&utm_medium=footer_comment&utm_campaign=free_plugin

Page Caching using Disk: Enhanced 
Lazy Loading (feed)

Served from: paulbupejr.com @ 2026-04-14 16:07:32 by W3 Total Cache
-->