Skip to content

Commit b99a207

Browse files
committed
system setup docs
1 parent a88d57a commit b99a207

File tree

2 files changed

+69
-3
lines changed

2 files changed

+69
-3
lines changed

curt_mini/doc/motor_control.rst

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,9 @@ A `fixed version of the candle_ros2 package`_ for ROS 2 Jazzy is provided and al
2222
Motor control is handled through `ros2_control`_.
2323
A `hardware interface`_ is provided for CURTmini, bridging ros2_control to candle_ros2.
2424

25+
The nuc also has the `mdtool`_ motor configuration software preinstalled and configured.
26+
2527
.. _`ros2_control`: https://control.ros.org/jazzy/index.html
26-
..
27-
TODO: publish fixed candle_ros2
28-
.. _`fixed version of the candle_ros2 package`: https://domain.invalid
28+
.. _`fixed version of the candle_ros2 package`: https://github.com/ipa323/candle_ros2
2929
.. _`hardware interface`: https://github.com/ipa320/curt_mini/tree/main/ipa_ros2_control
30+
.. _`mdtool`: https://mabrobotics.github.io/MD80-x-CANdle-Documentation/software_package/legacy/MDTOOL.html

curt_mini/doc/software_setup.rst

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,5 +26,70 @@ When turning on CURTmini, a `tmux`_ session called :code:`nav` is started automa
2626
By default, the robot base launchfile is started, allowing access to all the integrated sensors, receiving twist commands from navigation software and controlling the robot manually with the joystick.
2727
To customize startup behavior, adjust the tmuxp configuration accordingly.
2828

29+
Attach to the running TMUX session using:
30+
31+
.. code-block:: console
32+
33+
$ tmux attach -t nav
34+
2935
.. _`tmux`: https://github.com/tmux/tmux/wiki
3036
.. _`tmuxp`: https://github.com/tmux-python/tmuxp
37+
38+
This is implemented using a systemd service :code:`ipa-ros-autostart`:
39+
40+
.. code-block:: ini
41+
42+
[Unit]
43+
Description=CURTmini ROS autostart with tmuxp
44+
PartOf=ipa-tmux-master.service
45+
After=ipa-tmux-master.service
46+
47+
[Service]
48+
Type=oneshot
49+
RemainAfterExit=yes
50+
User=curt
51+
ExecStart=/usr/bin/tmuxp load -d /home/curt/workspace/src/curt_mini/curt_mini/bringup/autostart.tmuxp.yaml
52+
ExecStop=/usr/bin/tmux kill-session -t nav
53+
54+
[Install]
55+
WantedBy=multi-user.target
56+
57+
Which requires an additional systemd service to start the host tmux session:
58+
59+
.. code-block:: ini
60+
61+
[Unit]
62+
Description=tmux master service
63+
64+
[Service]
65+
Type=forking
66+
User=curt
67+
ExecStart=/usr/bin/tmux new-session -s master -d
68+
ExecStop=/usr/bin/tmux kill-session -t master
69+
70+
[Install]
71+
WantedBy=multi-user.target
72+
73+
****
74+
BIOS
75+
****
76+
The NUC is configured to automatically boot once it is powered, by setting the "After Power Failure" setting to "Power On" in the "Power" menu.
77+
Additionally, the "Fan Mode" setting in the "Cooling" menu is set to "Performance".
78+
79+
***************
80+
Colcon Defaults
81+
***************
82+
83+
A :code:`~/.colcon/defaults.yaml` file is already installed to ensure the robot base packages are built in release mode, and using symlink-install:
84+
85+
.. code:: yaml
86+
87+
{
88+
"build": {
89+
"symlink-install": true,
90+
"cmake-args": [
91+
"-DCMAKE_EXPORT_COMPILE_COMMANDS=True",
92+
"-DCMAKE_BUILD_TYPE=RelWithDebInfo",
93+
]
94+
}
95+
}

0 commit comments

Comments
 (0)