why I feel want to eat something while I read a difficult article
ChatGPT said:
That’s actually a pretty common brain–body response, and it comes down to how your mind handles effort and stress.
When you read something difficult, your brain shifts into high cognitive load mode — working memory, attention, and problem-solving all spike in activity. This can trigger a few things:
Energy demand signal – Your brain runs almost entirely on glucose, and although reading doesn’t burn a huge amount of calories, sustained mental effort feels like an energy drain. Your body interprets that as a cue to refuel, making snacks suddenly sound appealing.
Stress coping – Challenging reading can activate a mild stress response. Many people unconsciously use eating (especially sweet or crunchy snacks) as a comfort or grounding mechanism.
Reward-seeking loop – Struggling with a hard text can feel frustrating. Eating activates your brain’s dopamine reward system, which can momentarily offset that discomfort — so your brain learns: “This is tough… snack time!”
Habit association – If you’ve often eaten while studying or reading in the past, the mental strain might automatically trigger that old habit, even if you’re not physically hungry.
If you want to test whether it’s actual hunger or just a mental coping cue, you can try pausing for a moment and drinking water, stretching, or doing a 2-minute unrelated task before reaching for food — if the craving fades, it was likely brain-stress, not fuel need.
Here’s a compact 2-minute “in-flow craving reset” you can do without leaving your seat:
Minute 0–0:30 — Hydrate & Acknowledge
Take a few slow sips of water or tea.
Mentally note: “I’m not truly hungry; this is just a brain craving.”
Minute 0:30–1:30 — Micro-movement & sensory shift
Roll shoulders, stretch neck, wiggle fingers.
Adjust lighting or glance outside for a quick visual reset.
I’m working with this recently. It was use to interpolate the unmeasured data in environment. I asked chatgpt to explain the algorithm for me.
How are the weights chosen? Kriging looks at – Distance: closer points are more relevant – Spatial correlation: how similar nearby points tend to be (modeled by a variogram)
The variogram describes how values “change” with distance. For example: If points 1 meter apart are almost always similar → strong correlation If points quickly become unrelated as you move away → weak correlation
from pykrige.ok import OrdinaryKriging
OK = OrdinaryKriging(
x, y, values,
variogram_model='gaussian',
variogram_parameters=None,
nlags=6,
weight=True,
enable_plotting=False,
coordinates_type='euclidean'
)
z, ss = OK.execute('grid', gridx, gridy)
z[z < 0] = np.nan # post-process results by masking negatives
variogram_model: controls how spatial correlation decays including linear, power, gaussian(default), spherical, exponential variogram_parameters = {‘sill’: 0.8, ‘range’: 10, ‘nugget’: 0.1} nlags: controls how many lag bins are used to calculate the experimental variogram. More bins is more smoother fitting, but slower. If weight is True, It weight the variogram fitting by number of point pairs per lag. coordinates_type -euclidean: x, y in linear units (e.g., meters) -geographic: lat/lon in degrees Execute option: grid for mesh, points for specific locations
#If you want even more control (e.g., kernels, noise, trend), use GaussianProcessRegressor:
from sklearn.gaussian_process import GaussianProcessRegressor
from sklearn.gaussian_process.kernels import RBF, WhiteKernel, ConstantKernel
kernel = ConstantKernel() * RBF(length_scale=10.0) + WhiteKernel(noise_level=0.1)
gpr = GaussianProcessRegressor(kernel=kernel)
rosrun halc0311_simulation turtlebot_move_spawn_write.py (this program is somehow so slow)
don’t know why the robot is so drift left/right when command moving forward.
Thinking a better way to generate the waypoints…..
default turtlebot costmapafter reduce threshold on costmap
#1 run gazebo of simulation map
roslaunch halc0311_simulation turtlebot3_gazebo_halc.launch
#2 run amcl navigation (rviz) reading a scan map
roslaunch turtlebot3_navigation turtlebot3_navigation.launch map_file:=$HOME/catkin_ws/src/halc0311_simulation/map/halc0311_c.yaml
# for keyboard control
roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch
#3 save current amcl pose (waypoint) to a file and mark a waypoint on gazebo
rosrun halc0311_simulation recorddraw_goal2digit_onefile.py
#4 read the waypoint file and let the robot move along the waypoint
rosrun halc0311_simulation megarover_sequence_goals.py goal_sequence_20250316_161024.yaml
# cancel navigation goal
rostopic pub /move_base/cancel actionlib_msgs/GoalID -- {}
run keyboard or mouse
rosrun teleop_twist_keyboard teleop_twist_keyboard.py // not work
roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch //ok
[ERROR] [1741507226.788502]: bad callback: <bound method MapConverter.map_callback of <__main__.MapConverter object at 0x7fd8238e8f40>>
Traceback (most recent call last):
File "/opt/ros/noetic/lib/python3/dist-packages/rospy/topics.py", line 750, in _invoke_callback
cb(msg)
File "/home/zotac-d05/catkin_ws/src/map2gazebo/src/map2gazebo.py", line 30, in map_callback
contours = self.get_occupied_regions(map_array)
File "/home/zotac-d05/catkin_ws/src/map2gazebo/src/map2gazebo.py", line 72, in get_occupied_regions
image, contours, hierarchy = cv2.findContours(
ValueError: not enough values to unpack (expected 3, got 2)
First we need to install these libraries pip install –user trimesh pip install –user numpy pip install –user pycollada pip install –user scipy pip install –user networkx
2. Then change open function variable from “w” to “wb”
if mesh_type == "stl":
with open(export_dir + "/map.stl", 'wb') as f:
mesh.export(f, "stl")
rospy.loginfo("Exported STL. You can shut down this node now")
elif mesh_type == "dae":
with open(export_dir + "/map.dae", 'wb') as f:
f.write(trimesh.exchange.dae.export_collada(mesh))
3. You can select output between stl or dae
~/catkin_ws/src/map2gazebo/config/defaults.yaml
4. The export directory was set to $(find map2gazebo)/models/map/meshes” if there is no this folder, it will say the error…
roslaunch map2gazebo gazebo_world.launchrelationship between pgm image and the yaml original setting that reflect gazebo worldyaml adjustment
Then, File -> Save World As halc.world hence you will get the current camera pose. copy the models folder to the package where you copy .world to
zotac-d05@d05:~/catkin_ws/src$ catkin_create_pkg halc_simulation
Created file halc_simulation/package.xml
Created file halc_simulation/CMakeLists.txt
Successfully created files in /home/zotac-d05/catkin_ws/src/halc_simulation. Please adjust the values in package.xml.
zotac-d05@d05:~/catkin_ws/src$ cd halc_simulation
zotac-d05@d05:~/catkin_ws/src/halc_simulation$ mkdir -p worlds launch
zotac-d05@d05:~/catkin_ws$ catkin build
roslaunch halc_simulation gazebo_halc.launch
Creating a world with turtlebot (this method load map.sdf, unable to adjust the camera pose, just save the world via gazebo is fine!)
zotac-d05@d05:~$ roslaunch turtlebot3_gazebo turtlebot3_fmt_world.launch
... logging to /home/zotac-d05/.ros/log/c07d07c4-fca8-11ef-89bd-9985b327fdea/roslaunch-d05-17171.log
Checking log directory for disk usage. This may take a while.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.
RLException: Invalid <param> tag: Cannot load command parameter [robot_description]: no such command [['/opt/ros/noetic/share/xacro/xacro.py', '/home/zotac-d05/catkin_ws/src/turtlebot3/turtlebot3_description/urdf/turtlebot3_waffle_pi.urdf.xacro']].
Param xml is <param name="robot_description" command="$(find xacro)/xacro.py $(find turtlebot3_description)/urdf/turtlebot3_$(arg model).urdf.xacro"/>
The traceback for the exception was written to the log file
go back to the tutorial ROS演習7-2019:デッドレコニングを実装しよう!
note that there are turtlebot3_fmt_world.launch file, fmt.world file and fmt model file.
fmt model folder with sdf model and config.
then try the program again roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch roslaunch turtlebot3_gazebo turtlebot3_fmt_world.launch roslaunch turtlebot3_slam turtlebot3_slam.launch slam_methods:=gmapping
zotac-d05@d05:~/catkin_ws/src/my_gazebo_world/worlds$ gazebo 02_map_world
Error [parser.cc:775] No <model> element in configFile[/home/zotac-d05/.gazebo/models/my_ground_plane/model.config]
Error Code 12 Msg: Unable to resolve uri[model://my_ground_plane] to model path [/home/zotac-d05/.gazebo/models/my_ground_plane] since it does not contain a model.config file.
~/.gazebo/models
Move 01_square_world to ~/catkin_ws/src/turtlebot3_simulations/turtlebot3_gazebo/worlds/01_square_world.world
Create turtlebot3_square_world.launch in turtlebot3_square_world.launch