ROS node for receiving lap time data from the optic barrier using Arrowhead Framework. Note: This is built on ah-ros-bridge-example.
This application serves as an Arrowhead wrapper for the Optic barrier of f1tenth-scoreapp race measuring system. It register itself as an Arrowhead Service laptime
consumer and uses Arrowhead Core orchestration to find available barriers (providers).
The Service laptime
has following metadata:
address
-- preferred IP address of the barrier
Note: The node currently connects to the first received barrier only using preferred address (if available).
Data received from the optic barrier (lap time) are published to topic lap_time
using std_msgs/Time message.
autopsy >= 0.4.1
- GitHub: https://github.com/jara001/autopsy
- Wheel: v0.4.1
aclpy >= 0.2.0
- GitHub: https://github.com/CTU-IIG/ah-acl-py
- Wheel: v0.2.0
websocket-client
python3 -m pip install websocket-client
- Obtain certificates (
.p12
,.pub
) for your system from your local Arrowhead Core. - Obtain also the certificate authority
.ca
for your cloud. - Create a configuration file
configuration.py
. - Run the ROS node.
Note: This is currently stored inside ./ah_ros_barrier/module/configuration.py
.
Server = ArrowheadServer(
address = "127.0.0.1",
)
Interface = ArrowheadInterface(
name = "HTTP-INSECURE-JSON",
)
Service = ArrowheadService(
name = "laptime",
)
Client = ArrowheadClient(
name = "ros-machine",
address = "192.168.1.1",
port = 0,
pubfile = "/home/machine/keys/ros-machine.pub",
p12file = "/home/machine/keys/ros-machine.p12",
p12pass = "abcd",
cafile = "/home/machine/keys/cloud.ca",
server = Server,
interfaces = [Interface],
)