Merge pull request #31 from tlab-wide/cpm-tr
Sync changes to cpm-tr with main
This commit is contained in:
commit
0c377f62b3
|
@ -47,12 +47,12 @@ cd ~/workspace/autoware_docker
|
||||||
```
|
```
|
||||||
v2x/autowarev2x:
|
v2x/autowarev2x:
|
||||||
type: git
|
type: git
|
||||||
url: git@github.com:tlab-wide/AutowareV2X.git
|
url: https://github.com/tlab-wide/AutowareV2X.git
|
||||||
version: main
|
version: cpm-tr
|
||||||
v2x/vanetza:
|
v2x/vanetza:
|
||||||
type: git
|
type: git
|
||||||
url: git@github.com:tlab-wide/vanetza.git
|
url: https://github.com/yuasabe/vanetza.git
|
||||||
version: socktap-cpm-tr103562
|
version: master
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
|
@ -37,14 +37,14 @@ colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release
|
||||||
|
|
||||||
1. Edit the `autoware.repos` file and add the following two repositories to the end.
|
1. Edit the `autoware.repos` file and add the following two repositories to the end.
|
||||||
```
|
```
|
||||||
v2x/autoware_v2x:
|
v2x/autowarev2x:
|
||||||
type: git
|
type: git
|
||||||
url: git@github.com:tlab-wide/autoware_v2x.git
|
url: https://github.com/tlab-wide/AutowareV2X.git
|
||||||
version: main
|
version: cpm-tr
|
||||||
v2x/vanetza:
|
v2x/vanetza:
|
||||||
type: git
|
type: git
|
||||||
url: git@github.com:tlab-wide/vanetza.git
|
url: https://github.com/yuasabe/vanetza.git
|
||||||
version: socktap-cpm-tr103562
|
version: master
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
Binary file not shown.
After Width: | Height: | Size: 668 KiB |
|
@ -24,6 +24,13 @@ docker network create --driver=bridge --subnet=10.0.0.0/24 v2x_net -o com.docker
|
||||||
|
|
||||||
### Launch two ITS-S containers
|
### Launch two ITS-S containers
|
||||||
|
|
||||||
|
!!! Note
|
||||||
|
Here, we will use a Rocker extension called [off-your-rocker](https://github.com/sloretz/off-your-rocker).
|
||||||
|
Install `off-your-rocker` by running the below:
|
||||||
|
```bash
|
||||||
|
python3 -m pip install off-your-rocker
|
||||||
|
```
|
||||||
|
|
||||||
In one terminal, use rocker to launch container `autoware_1`:
|
In one terminal, use rocker to launch container `autoware_1`:
|
||||||
```bash
|
```bash
|
||||||
rocker --nvidia --x11 --user --privileged --volume $HOME/workspace/autoware_docker --volume $HOME/data --network=v2x_net --name autoware_1 --oyr-run-arg "--ip 10.0.0.2 --hostname autoware_1" -- ghcr.io/autowarefoundation/autoware-universe:latest-cuda
|
rocker --nvidia --x11 --user --privileged --volume $HOME/workspace/autoware_docker --volume $HOME/data --network=v2x_net --name autoware_1 --oyr-run-arg "--ip 10.0.0.2 --hostname autoware_1" -- ghcr.io/autowarefoundation/autoware-universe:latest-cuda
|
||||||
|
@ -42,7 +49,7 @@ In `autoware_1`:
|
||||||
|
|
||||||
```
|
```
|
||||||
cd ~/workspace/autoware_docker
|
cd ~/workspace/autoware_docker
|
||||||
source ~/autoware_docker/install/setup.bash
|
source install/setup.bash
|
||||||
export AWID=1 # autoware_1
|
export AWID=1 # autoware_1
|
||||||
source ~/workspace/autoware_docker/src/v2x/autowarev2x/setup.sh
|
source ~/workspace/autoware_docker/src/v2x/autowarev2x/setup.sh
|
||||||
ros2 launch autoware_launch planning_simulator.launch.xml map_path:=$HOME/data/maps/sample-map-planning vehicle_model:=sample_vehicle sensor_model:=sample_sensor_kit
|
ros2 launch autoware_launch planning_simulator.launch.xml map_path:=$HOME/data/maps/sample-map-planning vehicle_model:=sample_vehicle sensor_model:=sample_sensor_kit
|
||||||
|
@ -55,11 +62,13 @@ Note that you can make the dummy cars to be static by changing its `Velocity` to
|
||||||
|
|
||||||
![](./tools-properties.png)
|
![](./tools-properties.png)
|
||||||
|
|
||||||
|
![](./autoware_1_rviz.png)
|
||||||
|
|
||||||
In `autoware_2`:
|
In `autoware_2`:
|
||||||
|
|
||||||
```
|
```
|
||||||
cd ~/workspace/autoware_docker
|
cd ~/workspace/autoware_docker
|
||||||
source ~/autoware_docker/install/setup.bash
|
source install/setup.bash
|
||||||
export AWID=2 # autoware_2
|
export AWID=2 # autoware_2
|
||||||
source ~/workspace/autoware_docker/src/v2x/autowarev2x/setup.sh
|
source ~/workspace/autoware_docker/src/v2x/autowarev2x/setup.sh
|
||||||
ros2 launch autoware_launch planning_simulator.launch.xml map_path:=$HOME/data/maps/sample-map-planning vehicle_model:=sample_vehicle sensor_model:=sample_sensor_kit
|
ros2 launch autoware_launch planning_simulator.launch.xml map_path:=$HOME/data/maps/sample-map-planning vehicle_model:=sample_vehicle sensor_model:=sample_sensor_kit
|
||||||
|
@ -74,8 +83,8 @@ In `autoware_1`:
|
||||||
```
|
```
|
||||||
docker exec -it autoware_1 bash
|
docker exec -it autoware_1 bash
|
||||||
sudo su
|
sudo su
|
||||||
cd ~/workspace/autoware_docker
|
cd workspace/autoware_docker
|
||||||
source ~/workspace/autoware_docker/install/setup.bash
|
source install/setup.bash
|
||||||
export AWID=1
|
export AWID=1
|
||||||
source ./src/v2x/autowarev2x/setup.sh
|
source ./src/v2x/autowarev2x/setup.sh
|
||||||
ros2 launch autoware_v2x v2x.launch.xml network_interface:=eth0
|
ros2 launch autoware_v2x v2x.launch.xml network_interface:=eth0
|
||||||
|
@ -89,8 +98,8 @@ In `autoware_2`:
|
||||||
```
|
```
|
||||||
docker exec -it autoware_2 bash
|
docker exec -it autoware_2 bash
|
||||||
sudo su
|
sudo su
|
||||||
cd ~/workspace/autoware_docker
|
cd workspace/autoware_docker
|
||||||
source ~/workspace/autoware_docker/install/setup.bash
|
source install/setup.bash
|
||||||
export AWID=2
|
export AWID=2
|
||||||
source ./src/v2x/autowarev2x/setup.sh
|
source ./src/v2x/autowarev2x/setup.sh
|
||||||
ros2 launch autoware_v2x v2x.launch.xml network_interface:=eth0 is_sender:=false
|
ros2 launch autoware_v2x v2x.launch.xml network_interface:=eth0 is_sender:=false
|
||||||
|
@ -104,9 +113,9 @@ When both the sender and receiver is launched, you should see that the receiver
|
||||||
|
|
||||||
1. Press "Add" from the Displays Panel <br>
|
1. Press "Add" from the Displays Panel <br>
|
||||||
![](./add-v2x-rviz-1.png)
|
![](./add-v2x-rviz-1.png)
|
||||||
2. Choose "By topic", then select PredictedObjects from /v2x/cpm/objects
|
2. Choose "By topic", then select PredictedObjects from /v2x/cpm/objects <br>
|
||||||
![](./add-v2x-rviz-2.png)
|
![](./add-v2x-rviz-2.png)
|
||||||
3. The CPM-shared objects are shown in Rviz!
|
3. The CPM-shared objects are shown in Rviz for `autoware_2`! <br>
|
||||||
![](./add-v2x-rviz-3.png)
|
![](./add-v2x-rviz-3.png)
|
||||||
|
|
||||||
## Run scenarios
|
## Run scenarios
|
||||||
|
|
|
@ -4,18 +4,30 @@
|
||||||
|
|
||||||
In `autoware_1`:
|
In `autoware_1`:
|
||||||
```
|
```
|
||||||
|
docker exec -it autoware_1 bash
|
||||||
cd ~/workspace/autoware_docker
|
cd ~/workspace/autoware_docker
|
||||||
ros2 bag record -o test_sender_rosbag /perception/object_recognition/objects /tf
|
ros2 bag record -o test_sender_rosbag /perception/object_recognition/objects /tf
|
||||||
tcpdump -i eth0 -w test_sender_tcpdump
|
|
||||||
|
sudo apt update
|
||||||
|
sudo apt install tcpdump
|
||||||
|
sudo tcpdump -i eth0 -w test_sender_tcpdump.pcap
|
||||||
```
|
```
|
||||||
|
|
||||||
In `autoware_2`:
|
In `autoware_2`:
|
||||||
```
|
```
|
||||||
|
docker exec -it autoware_2 bash
|
||||||
cd ~/workspace/autoware_docker
|
cd ~/workspace/autoware_docker
|
||||||
ros2 bag record -o test_receiver_rosbag /v2x/cpm/objects /tf
|
ros2 bag record -o test_receiver_rosbag /v2x/cpm/objects /tf
|
||||||
tcpdump -i eth0 -w test_receiver_tcpdump
|
|
||||||
|
sudo apt update
|
||||||
|
sudo apt install tcpdump
|
||||||
|
sudo tcpdump -i eth0 -w test_receiver_tcpdump.pcap
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Open PCAP file in Wireshark
|
||||||
|
|
||||||
|
![](./wireshark_awv2x.png)
|
||||||
|
|
||||||
## Analyze in JupyteLab
|
## Analyze in JupyteLab
|
||||||
|
|
||||||
### Plot the x,y coordinates of objects in test_sender_rosbag
|
### Plot the x,y coordinates of objects in test_sender_rosbag
|
||||||
|
|
Binary file not shown.
After Width: | Height: | Size: 184 KiB |
|
@ -10,7 +10,8 @@
|
||||||
<buildtool_depend>ament_cmake_auto</buildtool_depend>
|
<buildtool_depend>ament_cmake_auto</buildtool_depend>
|
||||||
|
|
||||||
<depend>autoware_auto_perception_msgs</depend>
|
<depend>autoware_auto_perception_msgs</depend>
|
||||||
<depend>tf2_msgs</depend>
|
<depend>tf2_msgs</depend>
|
||||||
|
<depend>tf2</depend>
|
||||||
<depend>geometry_msgs</depend>
|
<depend>geometry_msgs</depend>
|
||||||
<depend>rclcpp</depend>
|
<depend>rclcpp</depend>
|
||||||
<depend>std_msgs</depend>
|
<depend>std_msgs</depend>
|
||||||
|
|
|
@ -46,7 +46,7 @@ namespace v2x {
|
||||||
cpm_num_(0),
|
cpm_num_(0),
|
||||||
received_cpm_num_(0),
|
received_cpm_num_(0),
|
||||||
cpm_object_id_(0),
|
cpm_object_id_(0),
|
||||||
use_dynamic_generation_rules_(true)
|
use_dynamic_generation_rules_(false)
|
||||||
{
|
{
|
||||||
RCLCPP_INFO(node_->get_logger(), "CpmApplication started. is_sender: %d", is_sender_);
|
RCLCPP_INFO(node_->get_logger(), "CpmApplication started. is_sender: %d", is_sender_);
|
||||||
set_interval(milliseconds(100));
|
set_interval(milliseconds(100));
|
||||||
|
|
Loading…
Reference in New Issue