Skip to content

Commit 84e7e87

Browse files
committed
2 parents 95c6741 + 518088f commit 84e7e87

File tree

9 files changed

+77
-18
lines changed

9 files changed

+77
-18
lines changed

src/uirover_basestation/package.xml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,14 @@
77
<maintainer email="[email protected]">ethan</maintainer>
88
<license>TODO: License declaration</license>
99

10+
<depend>foxglove_bridge</depend>
11+
1012
<buildtool_depend>ament_cmake</buildtool_depend>
1113

1214
<test_depend>ament_lint_auto</test_depend>
1315
<test_depend>ament_lint_common</test_depend>
1416

17+
1518
<export>
1619
<build_type>ament_cmake</build_type>
1720
</export>

src/uirover_moveit/config/joint_limits.yaml

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -11,30 +11,30 @@ joint_limits:
1111
arm_j0:
1212
has_velocity_limits: true
1313
max_velocity: 0.5
14-
has_acceleration_limits: false
15-
max_acceleration: 0
14+
has_acceleration_limits: true
15+
max_acceleration: 1.0
1616
arm_j1:
1717
has_velocity_limits: true
1818
max_velocity: 0.5
19-
has_acceleration_limits: false
20-
max_acceleration: 0
19+
has_acceleration_limits: true
20+
max_acceleration: 1.0
2121
arm_j2:
2222
has_velocity_limits: true
2323
max_velocity: 0.5
24-
has_acceleration_limits: false
25-
max_acceleration: 0
24+
has_acceleration_limits: true
25+
max_acceleration: 1.0
2626
arm_j3:
2727
has_velocity_limits: true
2828
max_velocity: 0.5
29-
has_acceleration_limits: false
30-
max_acceleration: 0
29+
has_acceleration_limits: true
30+
max_acceleration: 1.0
3131
arm_j4:
3232
has_velocity_limits: true
3333
max_velocity: 0.5
34-
has_acceleration_limits: false
35-
max_acceleration: 0
34+
has_acceleration_limits: true
35+
max_acceleration: 1.0
3636
arm_j5:
3737
has_velocity_limits: true
3838
max_velocity: 0.5
39-
has_acceleration_limits: false
40-
max_acceleration: 0
39+
has_acceleration_limits: true
40+
max_acceleration: 1.0
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
@realtime soft rtprio 99
2+
@realtime soft priority 99
3+
@realtime soft memlock unlimited
4+
@realtime hard rtprio 99
5+
@realtime hard priority 99
6+
@realtime hard memlock unlimited
File renamed without changes.

tools/misc/enable_vcan.sh

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,16 @@
55
# view outgoing CAN messages using `candump vcan0` from the can-utils package.
66

77
sudo modprobe vcan
8-
sudo ip link add dev vcan0 type vcan
9-
sudo ip link set up vcan0
8+
echo "vcan kernel module enabled"
9+
10+
if ! ip link | grep -q vcan; then
11+
sudo ip link add dev vcan0 type vcan
12+
echo "Created vcan0 network device"
13+
else
14+
echo "vcan0 already exists"
15+
fi
16+
17+
sudo ip link set up vcan0
18+
echo "vcan0 enabled"
19+
echo
20+
echo "Virtual CANbus network device has been enabled. Run 'ip link show vcan0' to check"

tools/misc/setup_realtime.sh

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
#!/usr/bin/env bash
2+
3+
# https://control.ros.org/rolling/doc/ros2_control/controller_manager/doc/userdoc.html
4+
# The normal linux kernel is optimized for computational throughput and therefore is not well suited for hardware control.
5+
# This script adds custom limits to /etc/security/limits.d/ to allow users of the 'realtime' group to increase their
6+
# CPU scheduling priority. This gives ROS2 control more consistent behavior and reduces jitter in control loops.
7+
# For the best possible performance a 'real-time' kernel should be installed. Nvidia provides guides for this
8+
# here: https://docs.nvidia.com/jetson/archives/r36.2/DeveloperGuide/SD/Kernel/KernelCustomization.html
9+
#
10+
#
11+
# IMPORTANT: It may not be advisable to install a realtime kernel on your personal machine. Proceed with caution
12+
13+
SCRIPT_DIR=$( cd "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
14+
15+
if ! cat "/etc/group" | grep -q realtime; then
16+
sudo groupadd realtime
17+
echo "Created realtime group"
18+
else
19+
echo "realtime group already exists"
20+
fi
21+
22+
if ! groups "$(whoami)" | grep -q realtime; then
23+
sudo usermod -aG realtime "$(whoami)"
24+
newgrp realtime
25+
echo "Added $(whoami) to realtime group"
26+
else
27+
echo "$(whoami) already in realtime group"
28+
fi
29+
30+
if sudo cp "${SCRIPT_DIR}/99-uirover-rt-limits.conf" /etc/security/limits.d/; then
31+
echo "Succesfully added security rules. Reboot to apply changes"
32+
else
33+
echo "ERROR: Failed to add security rules"
34+
fi
35+
File renamed without changes.

tools/ros/build.sh

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -40,11 +40,14 @@ else
4040
echo "Installing colcon-mixin"
4141
sudo apt update && sudo apt install -y python3-colcon-mixin
4242
fi
43-
MIXIN_URL="https://raw.githubusercontent.com/colcon/colcon-mixin-repository/master/index.yaml"
44-
if ! colcon mixin list 2>/dev/null | grep -q "$MIXIN_URL"; then
45-
colcon mixin add default "$MIXIN_URL"
46-
fi
43+
if [ -e "${HOME}/.colcon/mixin/default/compile-commands.mixin" ]; then
44+
echo "Colcon mixins already initialized"
45+
else
46+
colcon mixin add default "https://raw.githubusercontent.com/colcon/colcon-mixin-repository/master/index.yaml" \
47+
|| echo "Default mixins repo already set"
4748

49+
colcon mixin update default
50+
fi
4851
# desktop_notification- console_stderr- disable annoying features of colcon
4952
# --continue-on-error continues building other packages even if one fails
5053
# --parallel-workers 0 uses all available CPU cores

tools/ros/install_dependencies.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ WS_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )/../.." &> /dev/null && pwd )" #
55

66
# other dependencies
77
sudo apt install -y libopencv-dev python3-pip python3-catkin-pkg python3-venv mapproxy
8+
pip install catkin-pkg # for some reason the apt package alone doesn't work. catkin-pkg must be install through pip
89

910
# gstreamer
1011
sudo apt install -y libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libgstreamer-plugins-bad1.0-dev gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-libav gstreamer1.0-tools gstreamer1.0-x gstreamer1.0-alsa gstreamer1.0-gl gstreamer1.0-gtk3 gstreamer1.0-qt5 gstreamer1.0-pulseaudio

0 commit comments

Comments
 (0)