Skip to content
This repository was archived by the owner on Jan 28, 2023. It is now read-only.

Commit ba1d8b5

Browse files
committed
Merge branch 'master' into dev/distribute_params_cpp
2 parents b2ccc2b + fb1edeb commit ba1d8b5

21 files changed

Lines changed: 348 additions & 30 deletions

File tree

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -99,11 +99,11 @@ GitHubのProjects機能で開発方針に合わせたタスク管理をしてい
9999
- [2nd step - SSL Game Example](https://github.com/SSL-Roots/consai2r2/projects/3)
100100
- [3rd step - use ROS2 effectively](https://github.com/SSL-Roots/consai2r2/projects/2)
101101

102-
# Controbution
102+
# Contribution
103103

104104
issue, pull request 大歓迎です。
105105

106-
[CONTORIBUTING.md](./CONTRIBUTING.md)を見てくれると嬉しいです。
106+
[CONTRIBUTING.md](./CONTRIBUTING.md)を見てくれると嬉しいです。
107107

108108
# Author & Contributors
109109

consai2r2_description/CMakeLists.txt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ endif()
1313
# find dependencies
1414
find_package(ament_cmake REQUIRED)
1515
find_package(rclcpp REQUIRED)
16-
find_package(python_cmake_module REQUIRED)
1716

1817
set(_PYTHON_EXECUTABLE "${PYTHON_EXECUTABLE}")
1918

@@ -30,7 +29,6 @@ add_executable(${PROJECT_NAME}_node
3029
ament_target_dependencies(
3130
${PROJECT_NAME}_node
3231
"rclcpp"
33-
"launch_ros"
3432
)
3533

3634

consai2r2_description/consai2r2_description/__init__.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,8 @@
2323

2424
class consai2r2_parameters():
2525

26-
def __init__(self, node):
27-
param_names = consai2r2_description.parameter.list_parameters(node)
28-
params = consai2r2_description.parameter.get_parameters(node, param_names)
26+
def __init__(self, node, timeout_sec=10.0):
27+
param_names = consai2r2_description.parameter.list_parameters(node, timeout_sec)
28+
params = consai2r2_description.parameter.get_parameters(node, param_names, timeout_sec)
2929
for param_name, param_value in params.items():
3030
setattr(self, param_name, param_value)

consai2r2_description/consai2r2_description/parameter.py

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,15 +19,15 @@
1919
import rclpy
2020

2121

22-
# https://github.com/ros2/ros2cli/blob/master/ros2param/ros2param/api/__init__.py#L174
23-
def list_parameters(node):
22+
# https://github.com/ros2/ros2cli/blob/780923c046f8e537e884d18bef33a2338f2d409c/ros2param/ros2param/api/__init__.py#L174
23+
def list_parameters(node, timeout_sec=10.0):
2424
# create client
2525
client = node.create_client(
2626
ListParameters,
2727
'consai2r2_description/list_parameters')
2828

2929
# call as soon as ready
30-
ready = client.wait_for_service(timeout_sec=5.0)
30+
ready = client.wait_for_service(timeout_sec)
3131
if not ready:
3232
raise RuntimeError('Wait for service timed out')
3333

@@ -43,15 +43,15 @@ def list_parameters(node):
4343
return response.result.names
4444

4545

46-
# https://github.com/ros2/ros2cli/blob/master/ros2param/ros2param/api/__init__.py#L54
47-
def get_parameters(node, parameter_names):
46+
# https://github.com/ros2/ros2cli/blob/780923c046f8e537e884d18bef33a2338f2d409c/ros2param/ros2param/api/__init__.py#L122
47+
def get_parameters(node, parameter_names, timeout_sec=10.0):
4848
# create client
4949
client = node.create_client(
5050
GetParameters,
5151
'consai2r2_description/get_parameters')
5252

5353
# call as soon as ready
54-
ready = client.wait_for_service(timeout_sec=5.0)
54+
ready = client.wait_for_service(timeout_sec)
5555
if not ready:
5656
raise RuntimeError('Wait for service timed out')
5757

@@ -68,6 +68,7 @@ def get_parameters(node, parameter_names):
6868

6969
return_values = {}
7070

71+
# https://github.com/ros2/ros2cli/blob/780923c046f8e537e884d18bef33a2338f2d409c/ros2param/ros2param/api/__init__.py#L54
7172
for i, pvalue in enumerate(response.values):
7273
if pvalue.type == ParameterType.PARAMETER_BOOL:
7374
value = pvalue.bool_value

consai2r2_examples/launch/joystick_example.launch.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@
1818
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
1919
# THE SOFTWARE.
2020

21+
import os
22+
from ament_index_python.packages import get_package_share_directory
2123
from launch import LaunchDescription
2224
from launch.actions import DeclareLaunchArgument
2325
from launch.substitutions import LaunchConfiguration
@@ -49,7 +51,9 @@ def generate_launch_description():
4951

5052
start_sender_cmd = Node(
5153
package='consai2r2_sender', node_executable='sim_sender',
52-
output='screen'
54+
output='screen',
55+
parameters=[os.path.join(get_package_share_directory(
56+
'consai2r2_sender'), 'config', 'grsim.yaml')]
5357
)
5458

5559
ld = LaunchDescription()

consai2r2_examples/package.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99

1010
<buildtool_depend>ament_cmake</buildtool_depend>
1111
<exec_depend>launch_ros</exec_depend>
12+
<exec_depend>ament_index_python</exec_depend>
1213
<exec_depend>joy</exec_depend>
1314
<test_depend>ament_lint_auto</test_depend>
1415
<test_depend>ament_lint_common</test_depend>
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
cmake_minimum_required(VERSION 3.5)
2+
project(consai2r2_gameviewer)
3+
4+
# Load ament and all dependencies required for this package
5+
find_package(ament_cmake REQUIRED)
6+
find_package(ament_cmake_python REQUIRED)
7+
8+
ament_python_install_package(${PROJECT_NAME}
9+
PACKAGE_DIR src/${PROJECT_NAME})
10+
11+
install(FILES plugin.xml
12+
DESTINATION share/${PROJECT_NAME}
13+
)
14+
15+
install(DIRECTORY resource
16+
DESTINATION share/${PROJECT_NAME}
17+
)
18+
19+
install(PROGRAMS scripts/consai2r2_gameviewer
20+
DESTINATION lib/${PROJECT_NAME}
21+
)
22+
23+
ament_package()

consai2r2_gameviewer/package.xml

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
<?xml version="1.0"?>
2+
<?xml-model href="http://download.ros.org/schema/package_format3.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?>
3+
<package format="3">
4+
<name>consai2r2_gameviewer</name>
5+
<version>0.0.0</version>
6+
<description>consai2r2_gameviewer provides a GUI plugin for displaying vision and referee messages.</description>
7+
<maintainer email="macakasit@gmail.com">akshota</maintainer>
8+
<license>MIT</license>
9+
10+
<buildtool_depend>ament_cmake</buildtool_depend>
11+
12+
<exec_depend>ament_index_python</exec_depend>
13+
<exec_depend version_gte="0.2.19">python_qt_binding</exec_depend>
14+
<exec_depend>rclpy</exec_depend>
15+
<exec_depend>rqt_gui</exec_depend>
16+
<exec_depend>rqt_gui_py</exec_depend>
17+
<exec_depend>rqt_py_common</exec_depend>
18+
19+
<export>
20+
<!-- <architecture_independent/> -->
21+
<rqt_gui plugin="${prefix}/plugin.xml"/>
22+
<build_type>ament_cmake</build_type>
23+
</export>
24+
</package>

consai2r2_gameviewer/plugin.xml

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
<library path="src">
2+
<class name="GameViewer" type="consai2r2_gameviewer.gameviewer.GameViewer" base_class_type="rqt_gui_py::Plugin">
3+
<description>
4+
A Python GUI plugin for displaying vision and referee messages.
5+
</description>
6+
<qtgui>
7+
<group>
8+
<label>Visualization</label>
9+
<icon type="theme">folder</icon>
10+
<statustip>Plugins related to visualization.</statustip>
11+
</group>
12+
<label>CON-SAI2 R2 GameViewer</label>
13+
<icon type="theme">image-x-generic</icon>
14+
<statustip>A Python GUI plugin for displaying vision and referee messages.</statustip>
15+
</qtgui>
16+
</class>
17+
</library>
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<ui version="4.0">
3+
<class>GameViewerWidget</class>
4+
<widget class="QWidget" name="GameViewerWidget">
5+
<property name="geometry">
6+
<rect>
7+
<x>0</x>
8+
<y>0</y>
9+
<width>400</width>
10+
<height>300</height>
11+
</rect>
12+
</property>
13+
<property name="windowTitle">
14+
<string>GameViewer</string>
15+
</property>
16+
</widget>
17+
<resources/>
18+
<connections/>
19+
</ui>

0 commit comments

Comments
 (0)