Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fixed mock hardware for botwheel explorer #28

Open
wants to merge 6 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
172 changes: 172 additions & 0 deletions odrive_botwheel_explorer/config/odrive_botwheel_explorer.rviz
Original file line number Diff line number Diff line change
@@ -0,0 +1,172 @@
Panels:
- Class: rviz_common/Displays
Help Height: 87
Name: Displays
Property Tree Widget:
Expanded:
- /Global Options1
- /Status1
- /RobotModel1
Splitter Ratio: 0.5
Tree Height: 1112
- Class: rviz_common/Selection
Name: Selection
- Class: rviz_common/Tool Properties
Expanded:
- /2D Goal Pose1
- /Publish Point1
Name: Tool Properties
Splitter Ratio: 0.5886790156364441
- Class: rviz_common/Views
Expanded:
- /Current View1
Name: Views
Splitter Ratio: 0.5
Visualization Manager:
Class: ""
Displays:
- Alpha: 0.5
Cell Size: 1
Class: rviz_default_plugins/Grid
Color: 160; 160; 164
Enabled: true
Line Style:
Line Width: 0.029999999329447746
Value: Lines
Name: Grid
Normal Cell Count: 0
Offset:
X: 0
Y: 0
Z: 0
Plane: XY
Plane Cell Count: 10
Reference Frame: <Fixed Frame>
Value: true
- Alpha: 1
Class: rviz_default_plugins/RobotModel
Collision Enabled: false
Description File: ""
Description Source: Topic
Description Topic:
Depth: 5
Durability Policy: Volatile
History Policy: Keep Last
Reliability Policy: Reliable
Value: /robot_description
Enabled: true
Links:
All Links Enabled: true
Expand Joint Details: false
Expand Link Details: false
Expand Tree: false
Link Tree Style: Links in Alphabetic Order
base_link:
Alpha: 1
Show Axes: false
Show Trail: false
Value: true
caster_frontal_wheel:
Alpha: 1
Show Axes: false
Show Trail: false
Value: true
caster_rear_wheel:
Alpha: 1
Show Axes: false
Show Trail: false
Value: true
left_wheel:
Alpha: 1
Show Axes: false
Show Trail: false
Value: true
right_wheel:
Alpha: 1
Show Axes: false
Show Trail: false
Value: true
Name: RobotModel
TF Prefix: ""
Update Interval: 0
Value: true
Visual Enabled: true
Enabled: true
Global Options:
Background Color: 48; 48; 48
Fixed Frame: odom
Frame Rate: 30
Name: root
Tools:
- Class: rviz_default_plugins/Interact
Hide Inactive Objects: true
- Class: rviz_default_plugins/MoveCamera
- Class: rviz_default_plugins/Select
- Class: rviz_default_plugins/FocusCamera
- Class: rviz_default_plugins/Measure
Line color: 128; 128; 0
- Class: rviz_default_plugins/SetInitialPose
Topic:
Depth: 5
Durability Policy: Volatile
History Policy: Keep Last
Reliability Policy: Reliable
Value: /initialpose
- Class: rviz_default_plugins/SetGoal
Topic:
Depth: 5
Durability Policy: Volatile
History Policy: Keep Last
Reliability Policy: Reliable
Value: /goal_pose
- Class: rviz_default_plugins/PublishPoint
Single click: true
Topic:
Depth: 5
Durability Policy: Volatile
History Policy: Keep Last
Reliability Policy: Reliable
Value: /clicked_point
Transformation:
Current:
Class: rviz_default_plugins/TF
Value: true
Views:
Current:
Class: rviz_default_plugins/Orbit
Distance: 3.359799385070801
Enable Stereo Rendering:
Stereo Eye Separation: 0.05999999865889549
Stereo Focal Distance: 1
Swap Stereo Eyes: false
Value: false
Focal Point:
X: -0.05434183403849602
Y: 0.6973574757575989
Z: -0.00023954140488058329
Focal Shape Fixed Size: true
Focal Shape Size: 0.05000000074505806
Invert Z Axis: false
Name: Current View
Near Clip Distance: 0.009999999776482582
Pitch: 0.48539823293685913
Target Frame: <Fixed Frame>
Value: Orbit (rviz)
Yaw: 0.0053997039794921875
Saved: ~
Window Geometry:
Displays:
collapsed: false
Height: 1383
Hide Left Dock: false
Hide Right Dock: false
QMainWindow State: 000000ff00000000fd00000004000000000000016a000004fcfc0200000008fb0000001200530065006c0065006300740069006f006e00000001e10000009b0000007901000003fb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c0061007900730100000044000004fc000000fd01000003fb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c000002610000000100000110000004fcfc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a005600690065007700730100000044000004fc000000d301000003fb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e10000019700000003000004420000003efc0100000002fb0000000800540069006d00650100000000000004420000000000000000fb0000000800540069006d0065010000000000000450000000000000000000000784000004fc00000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000
Selection:
collapsed: false
Tool Properties:
collapsed: false
Views:
collapsed: false
Width: 2560
X: 0
Y: 28
Original file line number Diff line number Diff line change
Expand Up @@ -18,12 +18,25 @@
</xacro:if>
<joint name="${prefix}left_wheel_joint">
<param name="node_id">0</param>
<command_interface name="velocity"/>
<command_interface name="position"/>
<command_interface name="effort"/>
<state_interface name="position"/>
<state_interface name="velocity"/>
<state_interface name="effor"/>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

typo here which prevents the launchfile from working

</joint>
<joint name="${prefix}right_wheel_joint">
<param name="node_id">1</param>
<command_interface name="velocity"/>
<command_interface name="position"/>
<command_interface name="effort"/>
<state_interface name="position"/>
<state_interface name="velocity"/>
<state_interface name="effort"/>
</joint>

</ros2_control>

</xacro:macro>

</robot>
</robot>
2 changes: 2 additions & 0 deletions odrive_botwheel_explorer/description/urdf/diffbot.urdf.xacro
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@
<xacro:arg name="prefix" default="" />
<xacro:arg name="use_mock_hardware" default="false" />

<xacro:include filename="$(find odrive_botwheel_explorer)/urdf/diffbot_materials.urdf.xacro" />

<xacro:include filename="$(find odrive_botwheel_explorer)/urdf/diffbot_description.urdf.xacro" />

<!-- Import Rviz colors -->
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
<?xml version="1.0"?>

<!-- Copied from ros2_control_demos https://github.com/ros-controls/ros2_control_demos.git -->

<!--
Copied from ROS1 example -
https://github.com/ros-simulation/gazebo_ros_demos/blob/kinetic-devel/rrbot_description/urdf/materials.xacro
-->
<robot>

<material name="black">
<color rgba="0.0 0.0 0.0 1.0"/>
</material>

<material name="blue">
<color rgba="0.0 0.0 0.8 1.0"/>
</material>

<material name="green">
<color rgba="0.0 0.8 0.0 1.0"/>
</material>

<material name="grey">
<color rgba="0.2 0.2 0.2 1.0"/>
</material>

<material name="orange">
<color rgba="${255/255} ${108/255} ${10/255} 1.0"/>
</material>

<material name="brown">
<color rgba="${222/255} ${207/255} ${195/255} 1.0"/>
</material>

<material name="red">
<color rgba="0.8 0.0 0.0 1.0"/>
</material>

<material name="yellow">
<color rgba="1.0 1.0 0.0 1.0"/>
</material>

<material name="white">
<color rgba="1.0 1.0 1.0 1.0"/>
</material>

</robot>
75 changes: 37 additions & 38 deletions odrive_botwheel_explorer/launch/botwheel_explorer.launch.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,24 +25,24 @@
def generate_launch_description():
# Declare arguments
declared_arguments = []
# declared_arguments.append(
# DeclareLaunchArgument(
# "gui",
# default_value="true",
# description="Start RViz2 automatically with this launch file.",
# )
# )
# declared_arguments.append(
# DeclareLaunchArgument(
# "use_mock_hardware",
# default_value="false",
# description="Start robot with mock hardware mirroring command to its states.",
# )
# )
declared_arguments.append(
DeclareLaunchArgument(
"use_rviz",
default_value="false",
description="Start RViz2 automatically with this launch file.",
)
)
declared_arguments.append(
DeclareLaunchArgument(
"use_mock_hardware",
default_value="false",
description="Start robot with mock hardware mirroring command to its states.",
)
)

# Initialize Arguments
# gui = LaunchConfiguration("gui")
# use_mock_hardware = LaunchConfiguration("use_mock_hardware")
use_rviz = LaunchConfiguration("use_rviz")
use_mock_hardware = LaunchConfiguration("use_mock_hardware")

# Get URDF via xacro
robot_description_content = Command(
Expand All @@ -52,9 +52,8 @@ def generate_launch_description():
PathJoinSubstitution(
[FindPackageShare("odrive_botwheel_explorer"), "urdf", "diffbot.urdf.xacro"]
),
# " ",
# "use_mock_hardware:=",
# use_mock_hardware,
" ",
"use_mock_hardware:=", use_mock_hardware,
]
)
robot_description = {"robot_description": robot_description_content}
Expand All @@ -66,9 +65,9 @@ def generate_launch_description():
"diffbot_controllers.yaml",
]
)
# rviz_config_file = PathJoinSubstitution(
# [FindPackageShare("ros2_control_demo_description"), "diffbot/rviz", "diffbot.rviz"]
# )
rviz_config_file = PathJoinSubstitution(
[FindPackageShare("odrive_botwheel_explorer"), "config", "odrive_botwheel_explorer.rviz"]
)

control_node = Node(
package="controller_manager",
Expand All @@ -88,14 +87,14 @@ def generate_launch_description():
("/botwheel_explorer/cmd_vel_unstamped", "/cmd_vel"),
],
)
# rviz_node = Node(
# package="rviz2",
# executable="rviz2",
# name="rviz2",
# output="log",
# arguments=["-d", rviz_config_file],
# condition=IfCondition(gui),
# )
rviz_node = Node(
package="rviz2",
executable="rviz2",
name="rviz2",
output="log",
arguments=["-d", rviz_config_file],
condition=IfCondition(use_rviz),
)

joint_state_broadcaster_spawner = Node(
package="controller_manager",
Expand All @@ -109,13 +108,13 @@ def generate_launch_description():
arguments=["botwheel_explorer", "--controller-manager", "/controller_manager"],
)

# # Delay rviz start after `joint_state_broadcaster`
# delay_rviz_after_joint_state_broadcaster_spawner = RegisterEventHandler(
# event_handler=OnProcessExit(
# target_action=joint_state_broadcaster_spawner,
# on_exit=[rviz_node],
# )
# )
# Delay rviz start after `joint_state_broadcaster`
delay_rviz_after_joint_state_broadcaster_spawner = RegisterEventHandler(
event_handler=OnProcessExit(
target_action=joint_state_broadcaster_spawner,
on_exit=[rviz_node],
)
)

# Delay start of robot_controller after `joint_state_broadcaster`
delay_robot_controller_spawner_after_joint_state_broadcaster_spawner = RegisterEventHandler(
Expand All @@ -129,7 +128,7 @@ def generate_launch_description():
control_node,
robot_state_pub_node,
joint_state_broadcaster_spawner,
#delay_rviz_after_joint_state_broadcaster_spawner,
delay_rviz_after_joint_state_broadcaster_spawner,
delay_robot_controller_spawner_after_joint_state_broadcaster_spawner,
]

Expand Down
2 changes: 2 additions & 0 deletions odrive_node/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ endif()
find_package(ament_cmake REQUIRED)
find_package(rclcpp REQUIRED)
find_package(rosidl_default_generators REQUIRED)
find_package(std_srvs REQUIRED)

rosidl_generate_interfaces(${PROJECT_NAME}
"msg/ControlMessage.msg"
Expand All @@ -30,6 +31,7 @@ add_executable(odrive_can_node

ament_target_dependencies(odrive_can_node
rclcpp
std_srvs
)

target_compile_features(odrive_can_node PRIVATE cxx_std_20)
Expand Down
Loading
Loading