Compare commits

...

4 Commits

Author SHA1 Message Date
winterhalderp 41d1ea87ad Update 'non-ros-files/rpi_install.bash' 2023-03-03 23:29:46 +01:00
Christopher Herr 7b55f1e325 revert 3d0fb1ef73
revert revert ed2f2c95c7

revert ROS actionlib start
2023-01-18 16:13:42 +01:00
Christopher Herr 3d0fb1ef73 revert ed2f2c95c7
revert ROS actionlib start
2023-01-18 16:12:06 +01:00
Christopher Herr f36c5f5424 modified: src/custom_interfaces/CMakeLists.txt
new file:   src/custom_interfaces/srv/InclineControlSRV.srv
	new file:   src/custom_interfaces/srv/MosfetControlSRV.srv
	new file:   src/custom_interfaces/srv/PitchControlSRV.srv
	new file:   src/custom_interfaces/srv/RotationControlSRV.srv
	new file:   src/custom_interfaces/srv/SensorSRV.srv
	new file:   src/custom_interfaces/srv/WatchdogSRV.srv
	new file:   src/pubsub/pubsub/__pycache__/__init__.cpython-310.pyc
	new file:   src/pubsub/test/__pycache__/test_copyright.cpython-310-pytest-6.2.5.pyc
	new file:   src/pubsub/test/__pycache__/test_flake8.cpython-310-pytest-6.2.5.pyc
	new file:   src/pubsub/test/__pycache__/test_pep257.cpython-310-pytest-6.2.5.pyc

Let's see
2023-01-18 15:42:46 +01:00
13 changed files with 81 additions and 22 deletions

View File

@ -4,22 +4,43 @@
# Only the password was changed after first boot
# Everything else is stock
# First Update
## Reference / Source:
# https://docs.ros.org/en/foxy/Installation/Ubuntu-Install-Debians.html
## First Update
sudo apt-get update && sudo apt-get upgrade -y && sudo apt-get dist-upgrade -y
# Install ROS2 Foxy Fitzroy Desktop
sudo apt update && sudo apt install locales
### Install ROS2 Foxy Fitzroy for Raspberry Pi
## Check for UTF-8
locale # check for UTF-8
sudo apt install locales
sudo locale-gen en_US en_US.UTF-8
sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8
sudo apt update && sudo apt install -y curl gnupg2 lsb-release
curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -
sudo sh -c 'echo "deb [arch=$(dpkg --print-architecture)] http://packages.ros.org/ros2/ubuntu $(lsb_release -cs) main" > /etc/apt/sources.list.d/ros2-latest.list'
sudo apt update && sudo apt install -y ros-foxy-ros-base
export LANG=en_US.UTF-8
locale # verify settings
## Setup Sources
sudo apt install software-properties-common
sudo add-apt-repository universe
sudo apt update && sudo apt install curl
sudo apt install -y curl gnupg2 lsb-release
sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(. /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null
# OLD: curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -
# OLD: sudo sh -c 'echo "deb [arch=$(dpkg --print-architecture)] http://packages.ros.org/ros2/ubuntu $(lsb_release -cs) main" > /etc/apt/sources.list.d/ros2-latest.list'
## Install ROS2
sudo apt-get update && sudo apt-get upgrade -y
sudo apt install -y ros-foxy-ros-base
source /opt/ros/foxy/setup.bash
# Check to see if installed correctly
echo "ROS_VERSION: "$ROS_VERSION
## Install other Tools
# Install rosdep
sudo apt install -y python3-rosdep2
rosdep update
@ -44,7 +65,6 @@ cd colcon_ws
colcon build
# Install network tools
sudo apt install -y wireless-tools
@ -52,16 +72,16 @@ sudo apt install -y wireless-tools
# Install Git
sudo apt install -y git
# Setup remote git from inside workspace
cd ~/colcon_ws
git init
# Change the URL to your Git repository
git remote add origin https://egit.irs.uni-stuttgart.de/RoverLehre/ROS2_pubsub.git
git fetch --all
git reset --hard origin/master
# Install your project specific python packages
# You can use pip3 as the install tool, eg:
pip3 install python-can

View File

@ -37,6 +37,12 @@ rosidl_generate_interfaces(${PROJECT_NAME}
"msg/CustomMsg2.msg"
"srv/CustomSrv1.srv"
"srv/StateMachineSrv.srv"
"srv/InclineControlSRV.srv"
"srv/MosfetControlSRV.srv"
"srv/PitchControlSRV.srv"
"srv/RotationControlSRV.srv"
"srv/SensorSRV.srv"
"srv/WatchdogSRV.srv"
DEPENDENCIES builtin_interfaces
)

View File

@ -0,0 +1,6 @@
int32 incline
bool store
bool elevate
bool upright
---
bool success

View File

@ -0,0 +1,3 @@
bool command
---
bool success

View File

@ -0,0 +1,11 @@
int32 degree
uint32 speed
bool status
---
bool success
string error
int32 present_position
int32 present_load
int32 present_temp
uint32 present_v
int32 up_cali

View File

@ -0,0 +1,7 @@
bool abs
int32 degree
int32 local_degree
string center
---
bool success
int32 present_pos

View File

@ -0,0 +1,3 @@
bool triggered
---
bool success

View File

@ -0,0 +1,3 @@
string node_name
---
string node_name

Binary file not shown.

View File

@ -246,7 +246,7 @@ class MinimalActionServer(Node):
* act_callback_input: action callback function
Return:
*
*
"""
def __init__(self, NODE_NAME, ACT_NAME, ACT_TYPE, act_callback_input=None):
@ -258,19 +258,19 @@ class MinimalActionServer(Node):
self.execute_callback= self.std_act_callback
else:
self.execute_callback = act_callback_input
# Init above laying class "Node" (super class)
super().__init__(self.NODE_NAME)
print("\tStarting Action Server:\t%s"%(self.ACT_NAME))
self._action_server = ActionServer(self, self.ACT_TYPE, self.ACT_NAME, self.execute_callback)
# standard action callback
def std_act_callback(self, goal_handle):
""" Standard Action Callback Method
""" Standard Action Callback Method
Replace this method by inputting a custom callback method using 'act_callback_input'.
This method MUST return a variable of the type 'action result',
Replace this method by inputting a custom callback method using 'act_callback_input'.
This method MUST return a variable of the type 'action result',
eg. result = ACTION_TYPE.Result()
"""
self.get_logger().info('Executing goal...')
@ -280,7 +280,7 @@ class MinimalActionServer(Node):
#################
result = self.ACT_TYPE.Result()
return result
#******************************************************************************#
class MinimalActionClient(Node):
@ -292,21 +292,21 @@ class MinimalActionClient(Node):
* act_callback_input: action callback function
Return:
*
*
"""
def __init__(self, NODE_NAME, ACT_NAME, ACT_TYPE, act_callback_input=None):
self.NODE_NAME = NODE_NAME
self.ACT_NAME = ACT_NAME
self.ACT_TYPE = ACT_TYPE
# Init above laying class "Node" (super class)
super().__init__(self.NODE_NAME)
print("\tStarting Action Client for:\t%s"%(self.ACT_NAME))
self._action_client = ActionClient(self, self.ACT_TYPE, self.ACT_NAME)
def send_goal(self, input):
return
def abort_goal(self):
return