ipa-rar/betterfactory_lidar_firos
Fork: 2 Star: 1 (更新于 2024-11-27 03:14:46)
license: 暂无
Language: CMake .
This repository lets you connect your LIDAR sensor to cloud and exchange data using fiware
Installation
# Create a new ROS workspace
mkdir -p catkin_ws/src && cd catkin_ws/src
# Download the repository
git clone https://github.com/ipa-rar/betterfactory_lidar_firos.git
# Download dependencies
cd betterfactory_lidar_firos
wstool init ~/catkin_ws/src/betterfactory_lidar_firos
wstool merge ~/catkin_ws/src/betterfactory_lidar_firos/betterfactory_lidar_firos.rosinstall
wstool up
cd ..
# Install dependencies
rosdep update && rosdep install --from-paths ~/snp_demo_ws/src --ignore-src
cd ~/catkin_ws && catkin_make
source ~/catkin_ws/devel/setup.bash
Starting up the entire system
- Launch the Orion Context Broker(OCB) in the docker container with port
1026
exposed.- sudo docker-compose up
- Bring up the hardware driver nodes and other application nodes before running the firos node. Firos will not transform any new topics that arrive after launching firos node.
sudo ifconfig eth0 192.168.1.121 netmask 255.255.255.0
- roslaunch betterfactory_bringup firos_bringup.launch
Demo of Sub and Pub
- This will start one firos instance that will publish the data to the ocb and another firos instance that will subscribe to the data from the ocb. Since we already use port 10100 for firos instance we have to use a differnt port for other instance.
roscore
rosrun tf static_transform_publisher 0 0 0 0 0 0 1 map cloud 10
rosrun firos core.py --conf ./lidar_config
rosrun firos core.py --conf ./lidar_reverse_config -P 10101 --ros-node-name firos2
Usage
Once you have started up the entire system you can check the contents in the OCB. You can do this by using terminal, postman and web-browser. Web browser is most convenient way as it pretty format the json contents.
-
To list all the available endpoints
http://localhost:1026/v2
-
Expected result
{ "entities_url": "/v2/entities", "types_url": "/v2/types", "subscriptions_url": "/v2/subscriptions", "registrations_url": "/v2/registrations" }
-
-
To list the content that are subscribed by the OCB
http://localhost:1026/v2/entities
-
To list the type of messages that are subscribed by the OCB
http://localhost:1026/v2/types
-
To check the status of FIROS
http://localhost:10100
-
To list the topics subscribed/published by FIROS
http://localhost:10100/topics
Setting up the physical sick tim 571 Lidar
- Install the SOPAS tool from the SICK Sensor Intelligence to configure the LIDAR IP address
- Inorder to identify the LIDAR in windows 10
- Open up
Control pannel -> Network and internet -> Netowork connections -> Ethernet
- Right click on the Ethernet and select properties. This needs admin rights
- Then select
Internet Protocol Version 4 (TCP/IPv4)
- Set IP address of series
192.168.1.xxx
and Subnet mask to255.255.255.0
and save it.
- Open up
- Now your SOPAS tool can identify your LIDAR
- Search for the device using the ethernet interface search setting
- Edit the IP address to the series
192.168.1.xxx
and Subnet mask to255.255.255.0
- This will remove the connection with your LIDAR and you need to search again using the same settings to identify the lidar
- Now you can start using your LIDAR on Ubuntu System
- Change your IP address to the same series of LIDAR
-
sudo ifconfig eth0 192.168.1.xxx netmask 255.255.255.0
- ROS system setup
-
roslaunch sick_scan sick_tim_5xx.launch hostname:=192.168.1.1
-
rosrun tf static_transform_publisher 0 0 0 0 0 0 1 map cloud 10
-
rosrun rviz rviz
- Laser data is published on
/scan
-
Setting up the Lidar publisher node
Conguration files
-
Setup the
config.json
. Here server is thefiros
node andcontext_broker
is responsible of transforming ROS messages to the NGSIv2 and interfacing the ROS world with non-ROS world via the OCB.{ "environment": "local", "local": { "server": { "port": 10100 }, "contextbroker": { "address": "localhost", "port": 1026 } } }
-
The config file
topics.json
defines the topic that needs to be interfaced with OCB. The message type and topic names are defined here. Thepublisher
andsubscriber
terminology is at the non-ROS world. The/scan
and/tf
are being subscribed by the OCB or in other words these topics are published to the OCB.{ "/scan": ["sensor_msgs/LaserScan", "subscriber"], "/tf": ["tf2_msgs/TFMessage", "subscriber"] }
-
As the name suggests, the
whitelist.json
functions as a whitelist to let FIROS know which messages it should keep track of. Given an environment where already ROS-Applications are running, FIROS will not automatically subscribe to all available topics if no whitelist.json is given. In a small ROS-World with few ROS-Applications, it can be desirable to subscribe to all topics.{}
Docker container launch
Work In Progress!
docker network create finet --subnet=19.168.1.123/16 -d ipvlan
Troubleshooting
- Laserscanner does not get detected - refer to Setting up the physical sick tim 571 Lidar section and verify its
ip address
- firos fails to launch - run the orion_context_broker first before running the firos
- Nothing is subscribed/published - firos should be the last one to be started as it works by creating the snapshop of the current running system.
References
最近版本更新:(数据更新于 1970-01-01 00:00:00)
主题(topics):
firos, fiware, fiware-orion, ros
ipa-rar/betterfactory_lidar_firos同语言 CMake最近更新仓库
2024-07-30 05:00:39 dreamworksanimation/openmoonray
2024-07-17 03:22:03 microsoft/vcpkg
2020-09-08 23:43:18 w4123/CQXQ
2016-06-10 17:46:05 team-phoenix/Phoenix
1970-01-01 00:00:00 pku-minic/sysy-cmake-template
1970-01-01 00:00:00 python-cmake-buildsystem/python-cmake-buildsystem