Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
  • Loading branch information
mikoff committed Mar 28, 2024
1 parent 8334719 commit efe1a63
Show file tree
Hide file tree
Showing 5 changed files with 3 additions and 3 deletions.
Binary file modified posts/mcmc-sampling.md/20240322220518.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified posts/mcmc-sampling.md/20240322220533.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified posts/mcmc-sampling.md/20240322233256.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified posts/mcmc-sampling.md/20240324204042.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
6 changes: 3 additions & 3 deletions posts/mcmc-sampling.md/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,7 @@
</span></span><span style=display:flex><span>pose_logpdf <span style=color:#000;font-weight:700>=</span> <span style=color:#000;font-weight:700>-</span>np<span style=color:#000;font-weight:700>.</span>inf
</span></span><span style=display:flex><span>np<span style=color:#000;font-weight:700>.</span>random<span style=color:#000;font-weight:700>.</span>seed(<span style=color:#099>100</span>)
</span></span><span style=display:flex><span><span style=color:#998;font-style:italic># sample the robot poses using gibbs sampling procedure</span>
</span></span><span style=display:flex><span><span style=color:#000;font-weight:700>for</span> i <span style=color:#000;font-weight:700>in</span> <span style=color:#0086b3>range</span>(<span style=color:#099>0</span>, <span style=color:#099>2000</span>):
</span></span><span style=display:flex><span><span style=color:#000;font-weight:700>for</span> i <span style=color:#000;font-weight:700>in</span> <span style=color:#0086b3>range</span>(<span style=color:#099>0</span>, <span style=color:#099>5000</span>):
</span></span><span style=display:flex><span> current_pose, pose_logpdf <span style=color:#000;font-weight:700>=</span> gibbs_sample_step(perception, pose_logpdf, current_pose, <span style=color:#d14>&#39;x&#39;</span>)
</span></span><span style=display:flex><span> samples<span style=color:#000;font-weight:700>.</span>append(current_pose)
</span></span><span style=display:flex><span> current_pose, pose_logpdf <span style=color:#000;font-weight:700>=</span> gibbs_sample_step(perception, pose_logpdf, current_pose, <span style=color:#d14>&#39;y&#39;</span>)
Expand Down Expand Up @@ -187,7 +187,7 @@
</span></span><span style=display:flex><span> <span style=color:#998;font-style:italic># used to map x to idx on a grid</span>
</span></span><span style=display:flex><span> x_to_idx <span style=color:#000;font-weight:700>=</span> {x:i <span style=color:#000;font-weight:700>for</span> i, x <span style=color:#000;font-weight:700>in</span> <span style=color:#0086b3>enumerate</span>(np<span style=color:#000;font-weight:700>.</span>arange(<span style=color:#099>0</span>, <span style=color:#099>20.</span>, <span style=color:#099>0.25</span>))}
</span></span><span style=display:flex><span> y_to_idx <span style=color:#000;font-weight:700>=</span> {y:i <span style=color:#000;font-weight:700>for</span> i, y <span style=color:#000;font-weight:700>in</span> <span style=color:#0086b3>enumerate</span>(np<span style=color:#000;font-weight:700>.</span>arange(<span style=color:#099>0</span>, <span style=color:#099>20.</span>, <span style=color:#099>0.25</span>))}
</span></span><span style=display:flex><span> theta_to_idx <span style=color:#000;font-weight:700>=</span> {theta:i <span style=color:#000;font-weight:700>for</span> i, theta <span style=color:#000;font-weight:700>in</span> <span style=color:#0086b3>enumerate</span>(np<span style=color:#000;font-weight:700>.</span>deg2rad(np<span style=color:#000;font-weight:700>.</span>linspace(<span style=color:#000;font-weight:700>-</span><span style=color:#099>180</span>, <span style=color:#099>180</span> <span style=color:#000;font-weight:700>-</span> <span style=color:#099>180</span><span style=color:#000;font-weight:700>/</span><span style=color:#099>4</span>, <span style=color:#099>8</span>)))}
</span></span><span style=display:flex><span> theta_to_idx <span style=color:#000;font-weight:700>=</span> {theta:i <span style=color:#000;font-weight:700>for</span> i, theta <span style=color:#000;font-weight:700>in</span> <span style=color:#0086b3>enumerate</span>(np<span style=color:#000;font-weight:700>.</span>deg2rad(np<span style=color:#000;font-weight:700>.</span>linspace(<span style=color:#000;font-weight:700>-</span><span style=color:#099>180</span>, <span style=color:#099>180</span> <span style=color:#000;font-weight:700>-</span> <span style=color:#099>180</span><span style=color:#000;font-weight:700>/</span><span style=color:#099>16</span>, <span style=color:#099>32</span>)))}
</span></span><span style=display:flex><span>
</span></span><span style=display:flex><span> logpdf_xytheta <span style=color:#000;font-weight:700>=</span> np<span style=color:#000;font-weight:700>.</span>zeros((<span style=color:#0086b3>len</span>(x_to_idx), <span style=color:#0086b3>len</span>(y_to_idx), <span style=color:#0086b3>len</span>(theta_to_idx)))
</span></span><span style=display:flex><span> <span style=color:#000;font-weight:700>for</span> x <span style=color:#000;font-weight:700>in</span> x_to_idx<span style=color:#000;font-weight:700>.</span>keys():
Expand Down Expand Up @@ -216,7 +216,7 @@
</span></span><span style=display:flex><span>current_pose <span style=color:#000;font-weight:700>=</span> (np<span style=color:#000;font-weight:700>.</span>random<span style=color:#000;font-weight:700>.</span>uniform(<span style=color:#099>0</span>, <span style=color:#099>20</span>), np<span style=color:#000;font-weight:700>.</span>random<span style=color:#000;font-weight:700>.</span>uniform(<span style=color:#099>0</span>, <span style=color:#099>20</span>), np<span style=color:#000;font-weight:700>.</span>random<span style=color:#000;font-weight:700>.</span>uniform(<span style=color:#000;font-weight:700>-</span>np<span style=color:#000;font-weight:700>.</span>pi, np<span style=color:#000;font-weight:700>.</span>pi))
</span></span><span style=display:flex><span>samples <span style=color:#000;font-weight:700>=</span> [current_pose]
</span></span><span style=display:flex><span>xx, yy, tt <span style=color:#000;font-weight:700>=</span> np<span style=color:#000;font-weight:700>.</span>array(<span style=color:#0086b3>list</span>(x_to_idx<span style=color:#000;font-weight:700>.</span>keys())), np<span style=color:#000;font-weight:700>.</span>array(<span style=color:#0086b3>list</span>(y_to_idx<span style=color:#000;font-weight:700>.</span>keys())), np<span style=color:#000;font-weight:700>.</span>array(<span style=color:#0086b3>list</span>(theta_to_idx<span style=color:#000;font-weight:700>.</span>keys()))
</span></span><span style=display:flex><span><span style=color:#000;font-weight:700>for</span> i <span style=color:#000;font-weight:700>in</span> <span style=color:#0086b3>range</span>(<span style=color:#099>0</span>, <span style=color:#099>10000</span>):
</span></span><span style=display:flex><span><span style=color:#000;font-weight:700>for</span> i <span style=color:#000;font-weight:700>in</span> <span style=color:#0086b3>range</span>(<span style=color:#099>0</span>, <span style=color:#099>5000</span>):
</span></span><span style=display:flex><span> x, y, theta <span style=color:#000;font-weight:700>=</span> samples[<span style=color:#000;font-weight:700>-</span><span style=color:#099>1</span>]
</span></span><span style=display:flex><span> <span style=color:#998;font-style:italic># find the conditional pdf row, column given current y coordinate and theta angle</span>
</span></span><span style=display:flex><span> y_idx, theta_idx <span style=color:#000;font-weight:700>=</span> np<span style=color:#000;font-weight:700>.</span>abs(yy <span style=color:#000;font-weight:700>-</span> y)<span style=color:#000;font-weight:700>.</span>argmin(), np<span style=color:#000;font-weight:700>.</span>abs(tt <span style=color:#000;font-weight:700>-</span> theta)<span style=color:#000;font-weight:700>.</span>argmin()
Expand Down

0 comments on commit efe1a63

Please sign in to comment.