Code Monkey home page Code Monkey logo

articubot_one's People

Contributors

joshnewans avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

articubot_one's Issues

running this on ros1(ament_index_python.packages)

Hi, i have been following your work on ROS, since i started ros. so, i am running this articubot_one(with 4 wheel instead of a caster one) on my machine(installed ros1-melodic) in different name, changed the name where all i can find. The problem is ros1 didn't find "ament_index_python" package, because it is build on catkin not on colcon. How can i fix this? is there anyway to run this on catkin?
Below is the error showed when i run.

Screenshot from 2022-03-10 12-24-18

issue with robot_state_publisher

I ran into an issue while running
ros2 launch sdbot launch_robot.launch.py
note: ive renamed repo to sabot including all elements following the description
following instructions from the YouTube video. - https://www.youtube.com/watch?v=4VVrTCnxvSw&t=588s
ive ran into the error:
[robot_state_publisher-1] [INFO] [1681873004.978478210] [robot_state_publisher]: got segment base_footprint
[robot_state_publisher-1] [INFO] [1681873004.978775002] [robot_state_publisher]: got segment base_link
[robot_state_publisher-1] [INFO] [1681873004.978825371] [robot_state_publisher]: got segment camera_link
[robot_state_publisher-1] [INFO] [1681873004.978851501] [robot_state_publisher]: got segment camera_link_optical
[robot_state_publisher-1] [INFO] [1681873004.978876093] [robot_state_publisher]: got segment caster_wheel
[robot_state_publisher-1] [INFO] [1681873004.978899352] [robot_state_publisher]: got segment chassis
[robot_state_publisher-1] [INFO] [1681873004.978922110] [robot_state_publisher]: got segment face_link
[robot_state_publisher-1] [INFO] [1681873004.978944277] [robot_state_publisher]: got segment laser_frame
[robot_state_publisher-1] [INFO] [1681873004.978966536] [robot_state_publisher]: got segment left_wheel
[robot_state_publisher-1] [INFO] [1681873004.978988832] [robot_state_publisher]: got segment right_wheel
[ERROR] [robot_state_publisher-1]: process[robot_state_publisher-1] failed to terminate '5' seconds after receiving 'SIGINT', escalating to 'SIGTERM'
[INFO] [robot_state_publisher-1]: sending signal 'SIGTERM' to process[robot_state_publisher-1]
[ERROR] [robot_state_publisher-1]: process has died [pid 4833, exit code -15, cmd '/opt/ros/foxy/lib/robot_state_publisher/robot_state_publisher --ros-args --params-file /tmp/launch_params_adnmkutt'].

please help me out with it...

E: Unable to locate package ros-foxy-desktop

Hi there,
I am wondering if you can help me in how I can fix the following error
/dev_ws$ sudo apt install ros-foxy-desktop_
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
E: Unable to locate package ros-foxy-desktop

4 wheel controller not working

Hi Josh. Your videos have been so helpful. I used your repository to make a 4 wheeled robot but the ros2_control plugin isn’t working well. My robot moves in a crazy manner when I run the launch file in gazebo. Do you know how I can make it work for 4 wheels instead of two?

diffdrive_arduino package fails to build for ros2 humble

My robot_ws build fails. The error seems to be with diffdrive_arduino package. I am using the ros2 humble fork

starting >>> diffdrive_arduino

--- stderr: diffdrive_arduino

In file included from /home/alexf/robot_ws/src/diffdrive_arduino/src/fake_robot.cpp:1:

/home/alexf/robot_ws/src/diffdrive_arduino/include/diffdrive_arduino/fake_robot.h:35:15: error: ‘hardware_interface::return_type FakeRobot::read()’ marked ‘override’, but does not override

35 | return_type read() override;

  |               ^~~~

/home/alexf/robot_ws/src/diffdrive_arduino/include/diffdrive_arduino/fake_robot.h:37:15: error: ‘hardware_interface::return_type FakeRobot::write()’ marked ‘override’, but does not override

37 | return_type write() override;

  |               ^~~~~

/home/alexf/robot_ws/src/diffdrive_arduino/src/fake_robot.cpp:13:1: error: ‘CallbackReturn’ does not name a type

13 | CallbackReturn FakeRobot::on_init(const hardware_interface::HardwareInfo & info)

  | ^~~~~~~~~~~~~~

/home/alexf/robot_ws/src/diffdrive_arduino/src/fake_robot.cpp:67:1: error: ‘CallbackReturn’ does not name a type

67 | CallbackReturn FakeRobot::on_activate(const rclcpp_lifecycle::State & /previous_state/)

  | ^~~~~~~~~~~~~~

/home/alexf/robot_ws/src/diffdrive_arduino/src/fake_robot.cpp:74:1: error: ‘CallbackReturn’ does not name a type

74 | CallbackReturn FakeRobot::on_deactivate(const rclcpp_lifecycle::State & /previous_state/)

  | ^~~~~~~~~~~~~~

In file included from /home/alexf/robot_ws/src/diffdrive_arduino/src/diffdrive_arduino.cpp:1:

/home/alexf/robot_ws/src/diffdrive_arduino/include/diffdrive_arduino/diffdrive_arduino.h:36:15: error: ‘hardware_interface::return_type DiffDriveArduino::read()’ marked ‘override’, but does not override

36 | return_type read() override;

  |               ^~~~

/home/alexf/robot_ws/src/diffdrive_arduino/include/diffdrive_arduino/diffdrive_arduino.h:38:15: error: ‘hardware_interface::return_type DiffDriveArduino::write()’ marked ‘override’, but does not override

38 | return_type write() override;

  |               ^~~~~

/home/alexf/robot_ws/src/diffdrive_arduino/src/diffdrive_arduino.cpp:13:1: error: ‘CallbackReturn’ does not name a type

13 | CallbackReturn DiffDriveArduino::on_init(const hardware_interface::HardwareInfo & info)

  | ^~~~~~~~~~~~~~

/home/alexf/robot_ws/src/diffdrive_arduino/src/diffdrive_arduino.cpp:71:1: error: ‘CallbackReturn’ does not name a type

71 | CallbackReturn DiffDriveArduino::on_activate(const rclcpp_lifecycle::State & /previous_state/)

  | ^~~~~~~~~~~~~~

/home/alexf/robot_ws/src/diffdrive_arduino/src/diffdrive_arduino.cpp:83:1: error: ‘CallbackReturn’ does not name a type

83 | CallbackReturn DiffDriveArduino::on_deactivate(const rclcpp_lifecycle::State & /previous_state/)

  | ^~~~~~~~~~~~~~

In file included from /opt/ros/humble/include/class_loader/class_loader/class_loader_core.hpp:57,

             from /opt/ros/humble/include/class_loader/class_loader/class_loader.hpp:55,

             from /opt/ros/humble/include/pluginlib/pluginlib/class_list_macros.hpp:40,

             from /home/alexf/robot_ws/src/diffdrive_arduino/src/fake_robot.cpp:116:

/opt/ros/humble/include/class_loader/class_loader/meta_object.hpp: In instantiation of ‘B* class_loader::impl::MetaObject<C, B>::create() const [with C = FakeRobot; B = hardware_interface::SystemInterface]’:

/opt/ros/humble/include/class_loader/class_loader/meta_object.hpp:216:7: required from here

/opt/ros/humble/include/class_loader/class_loader/meta_object.hpp:218:12: error: invalid new-expression of abstract class type ‘FakeRobot’

218 | return new C;

  |            ^~~~~

In file included from /home/alexf/robot_ws/src/diffdrive_arduino/src/fake_robot.cpp:1:

/home/alexf/robot_ws/src/diffdrive_arduino/include/diffdrive_arduino/fake_robot.h:18:7: note: because the following virtual functions are pure within ‘FakeRobot’:

18 | class FakeRobot : public hardware_interface::SystemInterface

  |       ^~~~~~~~~

In file included from /home/alexf/robot_ws/src/diffdrive_arduino/include/diffdrive_arduino/fake_robot.h:7,

             from /home/alexf/robot_ws/src/diffdrive_arduino/src/fake_robot.cpp:1:

/opt/ros/humble/include/hardware_interface/system_interface.hpp:175:23: note: ‘virtual hardware_interface::return_type hardware_interface::SystemInterface::read(const rclcpp::Time&, const rclcpp::Duration&)’

175 | virtual return_type read(const rclcpp::Time & time, const rclcpp::Duration & period) = 0;

  |                       ^~~~

/opt/ros/humble/include/hardware_interface/system_interface.hpp:186:23: note: ‘virtual hardware_interface::return_type hardware_interface::SystemInterface::write(const rclcpp::Time&, const rclcpp::Duration&)’

186 | virtual return_type write(const rclcpp::Time & time, const rclcpp::Duration & period) = 0;

  |                       ^~~~~

In file included from /opt/ros/humble/include/class_loader/class_loader/class_loader_core.hpp:57,

             from /opt/ros/humble/include/class_loader/class_loader/class_loader.hpp:55,

             from /opt/ros/humble/include/pluginlib/pluginlib/class_list_macros.hpp:40,

             from /home/alexf/robot_ws/src/diffdrive_arduino/src/diffdrive_arduino.cpp:145:

/opt/ros/humble/include/class_loader/class_loader/meta_object.hpp: In instantiation of ‘B* class_loader::impl::MetaObject<C, B>::create() const [with C = DiffDriveArduino; B = hardware_interface::SystemInterface]’:

/opt/ros/humble/include/class_loader/class_loader/meta_object.hpp:216:7: required from here

/opt/ros/humble/include/class_loader/class_loader/meta_object.hpp:218:12: error: invalid new-expression of abstract class type ‘DiffDriveArduino’

218 | return new C;

  |            ^~~~~

In file included from /home/alexf/robot_ws/src/diffdrive_arduino/src/diffdrive_arduino.cpp:1:

/home/alexf/robot_ws/src/diffdrive_arduino/include/diffdrive_arduino/diffdrive_arduino.h:19:7: note: because the following virtual functions are pure within ‘DiffDriveArduino’:

19 | class DiffDriveArduino : public hardware_interface::SystemInterface

  |       ^~~~~~~~~~~~~~~~

In file included from /home/alexf/robot_ws/src/diffdrive_arduino/include/diffdrive_arduino/diffdrive_arduino.h:7,

             from /home/alexf/robot_ws/src/diffdrive_arduino/src/diffdrive_arduino.cpp:1:

/opt/ros/humble/include/hardware_interface/system_interface.hpp:175:23: note: ‘virtual hardware_interface::return_type hardware_interface::SystemInterface::read(const rclcpp::Time&, const rclcpp::Duration&)’

175 | virtual return_type read(const rclcpp::Time & time, const rclcpp::Duration & period) = 0;

  |                       ^~~~

/opt/ros/humble/include/hardware_interface/system_interface.hpp:186:23: note: ‘virtual hardware_interface::return_type hardware_interface::SystemInterface::write(const rclcpp::Time&, const rclcpp::Duration&)’

186 | virtual return_type write(const rclcpp::Time & time, const rclcpp::Duration & period) = 0;

  |                       ^~~~~

gmake[2]: *** [CMakeFiles/fake_robot.dir/build.make:76: CMakeFiles/fake_robot.dir/src/fake_robot.cpp.o] Error 1

gmake[1]: *** [CMakeFiles/Makefile2:165: CMakeFiles/fake_robot.dir/all] Error 2

gmake[1]: *** Waiting for unfinished jobs....

gmake[2]: *** [CMakeFiles/diffdrive_arduino.dir/build.make:76: CMakeFiles/diffdrive_arduino.dir/src/diffdrive_arduino.cpp.o] Error 1

gmake[1]: *** [CMakeFiles/Makefile2:139: CMakeFiles/diffdrive_arduino.dir/all] Error 2

gmake: *** [Makefile:146: all] Error 2


Failed <<< diffdrive_arduino [16.1s, exited with code 2]

Summary: 4 packages finished [32.3s]

1 package failed: diffdrive_arduino

3 packages had stderr output: diffdrive_arduino serial serial_motor_demo

/controller_manger node

ros2 launch rosbot launch_sim.launch.py world:=./src/rosbot/worlds/obstacles.world
[INFO] [launch]: All log files can be found below /home/jeet/.ros/log/2024-03-08-16-42-19-720301-ubuntu22-6299
[INFO] [launch]: Default logging verbosity is set to INFO
[INFO] [robot_state_publisher-1]: process started with pid [6301]
[INFO] [joy_node-2]: process started with pid [6303]
[INFO] [teleop_node-3]: process started with pid [6305]
[INFO] [twist_mux-4]: process started with pid [6307]
[INFO] [gzserver-5]: process started with pid [6309]
[INFO] [gzclient-6]: process started with pid [6311]
[INFO] [spawn_entity.py-7]: process started with pid [6313]
[INFO] [spawner-8]: process started with pid [6315]
[INFO] [spawner-9]: process started with pid [6317]
[twist_mux-4] [INFO] [1709896340.653693644] [twist_mux]: Topic handler 'topics.joystick' subscribed to topic 'cmd_vel_joy': timeout = 0.500000s , priority = 100.
[teleop_node-3] [INFO] [1709896340.653822723] [TeleopTwistJoy]: Teleop enable button 4.
[teleop_node-3] [INFO] [1709896340.653951490] [TeleopTwistJoy]: Turbo on button 5.
[teleop_node-3] [INFO] [1709896340.653967522] [TeleopTwistJoy]: Linear axis x on 1 at scale 0.500000.
[teleop_node-3] [INFO] [1709896340.653985876] [TeleopTwistJoy]: Turbo for linear axis x is scale 1.000000.
[teleop_node-3] [INFO] [1709896340.653999405] [TeleopTwistJoy]: Angular axis yaw on 0 at scale 0.500000.
[teleop_node-3] [INFO] [1709896340.654010935] [TeleopTwistJoy]: Turbo for angular axis yaw is scale 1.000000.
[twist_mux-4] [INFO] [1709896340.655791489] [twist_mux]: Topic handler 'topics.navigation' subscribed to topic 'cmd_vel': timeout = 0.500000s , priority = 10.
[twist_mux-4] [INFO] [1709896340.656142675] [twist_mux]: Topic handler 'topics.tracker' subscribed to topic 'cmd_vel_tracker': timeout = 0.500000s , priority = 20.
[robot_state_publisher-1] [INFO] [1709896340.664091436] [robot_state_publisher]: got segment base_footprint
[robot_state_publisher-1] [INFO] [1709896340.664313113] [robot_state_publisher]: got segment base_link
[robot_state_publisher-1] [INFO] [1709896340.664331635] [robot_state_publisher]: got segment camera_link
[robot_state_publisher-1] [INFO] [1709896340.664341677] [robot_state_publisher]: got segment camera_link_optical
[robot_state_publisher-1] [INFO] [1709896340.664351437] [robot_state_publisher]: got segment caster_wheel
[robot_state_publisher-1] [INFO] [1709896340.664360038] [robot_state_publisher]: got segment chassis
[robot_state_publisher-1] [INFO] [1709896340.664368723] [robot_state_publisher]: got segment face_link
[robot_state_publisher-1] [INFO] [1709896340.664377127] [robot_state_publisher]: got segment laser_frame
[robot_state_publisher-1] [INFO] [1709896340.664385242] [robot_state_publisher]: got segment left_wheel
[robot_state_publisher-1] [INFO] [1709896340.664393336] [robot_state_publisher]: got segment right_wheel
[joy_node-2] [INFO] [1709896340.977236912] [joy_node]: Opened joystick: Xbox 360 Controller. deadzone: 0.050000
[spawn_entity.py-7] [INFO] [1709896341.337741302] [spawn_entity]: Spawn Entity started
[spawn_entity.py-7] [INFO] [1709896341.338158842] [spawn_entity]: Loading entity published on topic robot_description
[spawn_entity.py-7] /opt/ros/humble/local/lib/python3.10/dist-packages/rclpy/qos.py:307: UserWarning: DurabilityPolicy.RMW_QOS_POLICY_DURABILITY_TRANSIENT_LOCAL is deprecated. Use DurabilityPolicy.TRANSIENT_LOCAL instead.
[spawn_entity.py-7] warnings.warn(
[spawn_entity.py-7] [INFO] [1709896341.340521769] [spawn_entity]: Waiting for entity xml on robot_description
[spawn_entity.py-7] [INFO] [1709896341.352384934] [spawn_entity]: Waiting for service /spawn_entity, timeout = 30
[spawn_entity.py-7] [INFO] [1709896341.352736534] [spawn_entity]: Waiting for service /spawn_entity
[spawn_entity.py-7] [INFO] [1709896342.108368398] [spawn_entity]: Calling service /spawn_entity
[spawner-9] [INFO] [1709896343.209846292] [spawner_joint_broad]: Waiting for '/controller_manager' node to exist
[spawner-8] [INFO] [1709896343.210612203] [spawner_diff_cont]: Waiting for '/controller_manager' node to exist
[spawner-9] [INFO] [1709896345.226370006] [spawner_joint_broad]: Waiting for '/controller_manager' node to exist
[spawner-8] [INFO] [1709896345.227143409] [spawner_diff_cont]: Waiting for '/controller_manager' node to exist
[spawner-9] [INFO] [1709896347.244553444] [spawner_joint_broad]: Waiting for '/controller_manager' node to exist
[spawner-8] [INFO] [1709896347.244862278] [spawner_diff_cont]: Waiting for '/controller_manager' node to exist
[spawner-9] [INFO] [1709896349.262314064] [spawner_joint_broad]: Waiting for '/controller_manager' node to exist
[spawner-8] [INFO] [1709896349.262533546] [spawner_diff_cont]: Waiting for '/controller_manager' node to exist

ISSUE WITH NAV2_BRINGUP

Good day sir. I have been following your tutorial for my project, I am not able to navigagte my robot, the callback error thrown in console log is "send_goal failed", I have attached my screenshot here. I kindly request you to guide me with this

Thankyou
error

v4l2_camera_node error on ROS2 Humble

Installed the articubot_one package and successfully complied in a ros2_ws on a Raspberry Pi UB22 e/w Camera v2, that shows in ls -l /dev/video0, articubot_one camera.launch.py. Throws an [ERROR] [v4l2_camera_node-1]: process has died [pid 5488, exit code -11, cmd '/opt/ros/humble/lib/v4l2_camera/v4l2_camera_node --ros-args --params-file /tmp/launch_params_52a0obwl']. Verified that v4l2-camera, image_tools image_transport_plugins, image_transport packages are installed. Not cv_camera though. I did get the package to work on an earlier ROS2 Galactic right out-of-the-box. Appreciate any suggested diagnostic steps?

Issue with laser_frame

I followed the tutorial, but when i launch slam_toolbox i get this error
[async_slam_toolbox_node-1] [INFO] [1673563529.479054377] [slam_toolbox]: Message Filter dropping message: frame 'laser_frame' at time 468.995 for reason 'Unknown'

also, in rviz2 cannot see the laser scan (unless I change Fixed Frame to "laser_frame")

articubot_one/config/mapper_params_online_async.yaml No use_sim_time set

running the navigation package and it complains about time sync issuses. Looking into it ans solved by adding a

use_sim_time:=false in the mapper_params_online_async.yaml file.

The robot does not auto-navigate unless I put this in.

My robot is almost identical to yours so id recommend including it

xacro error

ros2 launch rosbot launch_robot.launch.py
[INFO] [launch]: All log files can be found below /home/pi/.ros/log/2024-03-05-11-30-17-477242-pi-2036
[INFO] [launch]: Default logging verbosity is set to INFO
[ERROR] [launch]: Caught exception in launch (see debug for traceback): executed command failed. Command: xacro /home/pi/robot_ws/install/rosbot/share/rosbot/description/robot.urdf.xacro use_ros2_control:=true sim_mode:=false
Captured stderr output: warning: No module named 'rosgraph'
Usage: xacro [options]

xacro: error: expected exactly one input file as argument

The Robot is not moving Left or right

Hi Josh thanks a lot for the videos, They helped me a lot to understand ROS2 and how to build a differential drive bot. I am working on a 4 WD and have been following your tutorials until " Using ros2_control to drive our robot (off the edge of the bench...)" video. I am facing some trouble after changing to ros2_control, The issue is that my robot is not moving either left or right in gazebo but it seems to move in Rviz as expected. I have searched all the online resources but did not find anything that helps.
here is the link to my repo GitHub - BooraKaushik/autobot
Video of what is happening, IMG_5920.mov - Google Drive
as you can see it is turning fine in rviz but not in gazebo.

I would really appreciate any help.

Can't see the wheels in the RVIZ

I followed your tutorial creating rough 3D model of your robot : creating a rough 3d model of our robot https://www.youtube.com/watch?v=BcjHyhV0kIs

But I dont see the wheels in RVIZ . I have checked everything multiple times. The state publisher is running, launch file is also running perfectly but no wheels. But when i slide the slider on the publisher gui the TF axis for wheels does rotate. Below is a video for better explanation.

https://www.veed.io/view/4918fe1a-e40f-417a-a0b0-5264dbe23cd0?sharingWidget=true

Another point to note is that I have commented out the caster wheel code in the URDF. Still under the Golbal options where we select fixed frame I get option to chose a caster as a fixed link. Dont know where this caster is listed from as it is not described in my URDF.

Controller Manager Services Not Available in ROS2 Humble

I am experiencing an issue where the controller_manager services are not available, which prevents any interaction with hardware interfaces. Despite installing all necessary dependencies, reinstalling them, and ensuring that the ros2_control_node is activated first in the launch file, the problem persists. I have tested this on both my custom workspace and the publicly available articubot_one repository.

Steps to Reproduce:

Set up the environment with ROS2 Humble on Ubuntu 22.04.4 LTS.
Install all necessary dependencies for controller_manager.
Attempt to start the controller_manager via a launch file where ros2_control_node is prioritized.
Use the command ros2 control list_hardware_interfaces.

Expected Outcome:
The controller_manager services should be available, and the command ros2 control list_hardware_interfaces should list the available hardware interfaces.

Actual Outcome:
The command ros2 control list_hardware_interfaces fails with an error: "Could not contact service /controller_manager/list_hardware_interfaces."

Both the custom workspace and the articubot_one repository exhibit the same issue under the same conditions.
Here is the content of my launch file for reference
import os
from ament_index_python.packages import get_package_share_directory
from launch import LaunchDescription
from launch.actions import IncludeLaunchDescription, DeclareLaunchArgument
from launch.launch_description_sources import PythonLaunchDescriptionSource
from launch.substitutions import LaunchConfiguration
from launch_ros.actions import Node

def generate_launch_description():
package_name = 'firebot'

# Declare launch argument for simulation time
use_sim_time = DeclareLaunchArgument(
    'use_sim_time', default_value='true',
    description='Use simulation (Gazebo) clock if true')

# Include the robot_state_publisher launch file, force sim time to be enabled
rsp = IncludeLaunchDescription(
    PythonLaunchDescriptionSource(
        os.path.join(get_package_share_directory(package_name), 'launch', 'display.launch.py')
    ),
    launch_arguments={'use_sim_time': LaunchConfiguration('use_sim_time'), 'use_ros2_control': 'true'}.items()
)

# Include the Gazebo launch file
gazebo = IncludeLaunchDescription(
    PythonLaunchDescriptionSource(
        os.path.join(get_package_share_directory('gazebo_ros'), 'launch', 'gazebo.launch.py')
    )
)

# Node to spawn the robot in Gazebo
spawn_entity = Node(
    package='gazebo_ros', executable='spawn_entity.py',
    arguments=['-topic', 'robot_description', '-entity', 'firebot'],
    output='screen'
)

# Node for ros2 control
ros2_control_node = Node(
    package="controller_manager",
    executable="ros2_control_node",
    parameters=[
        os.path.join(get_package_share_directory(package_name), 'src','description', 'firebot_description.urdf.xacro'),
        os.path.join(get_package_share_directory(package_name), 'config', 'my_controllers.yaml')
    ],
    output='screen'
)

# Node for differential drive spawner
diff_drive_spawner = Node(
    package="controller_manager",
    executable="spawner",
    arguments=["diff_cont"],
    output='screen'
)

# Node for joint broadcaster spawner
joint_broad_spawner = Node(
    package="controller_manager",
    executable="spawner",
    arguments=["joint_broad"],
    output='screen'
)

# Combine all components into a LaunchDescription
return LaunchDescription([
    use_sim_time,
    rsp,
    gazebo,
    spawn_entity,
    ros2_control_node,
    diff_drive_spawner,
    joint_broad_spawner
])

Error:
[spawner-6] [INFO] [1714997730.121901418] [spawner_diff_cont]: Waiting for '/controller_manager' services to be available
[spawner-7] [INFO] [1714997730.152824682] [spawner_joint_broad]: Waiting for '/controller_manager' services to be available
[spawner-6] [INFO] [1714997732.141807404] [spawner_diff_cont]: Waiting for '/controller_manager' services to be available
[spawner-7] [INFO] [1714997732.176311279] [spawner_joint_broad]: Waiting for '/controller_manager' services to be available
[spawner-6] [INFO] [1714997734.166914743] [spawner_diff_cont]: Waiting for '/controller_manager' services to be available
[spawner-7] [INFO] [1714997734.205966275] [spawner_joint_broad]: Waiting for '/controller_manager' services to be available
[spawner-6] [INFO] [1714997736.189367049] [spawner_diff_cont]: Waiting for '/controller_manager' services to be available
[spawner-7] [INFO] [1714997736.224687879] [spawner_joint_broad]: Waiting for '/controller_manager' services to be available
[spawner-6] [ERROR] [1714997738.214785799] [spawner_diff_cont]: Controller manager not available
[spawner-7] [ERROR] [1714997738.257940291] [spawner_joint_broad]: Controller manager not available
[ERROR] [spawner-6]: process has died [pid 15294, exit code 1, cmd '/opt/ros/humble/lib/controller_manager/spawner diff_cont --ros-args'].
[ERROR] [spawner-7]: process has died [pid 15296, exit code 1, cmd '/opt/ros/humble/lib/controller_manager/spawner joint_broad --ros-args'].

Could anyone please help identify what might be causing this issue or suggest further debugging steps?

How can load multiple controller manager?

I make the controller manager for one bot, but when I try to apply it to multiple bot with the same configuration. It cannot load the controller manager. Can you help? Thanks!

rplidar error

what i run rplidar.lunch.py and run rviz2 i not getting data and also i think it show some kind of error when i launch it
Uploading Screenshot from 2023-07-17 20-42-10.png…

Missing line in robot.urdf.xacro

<xacro:include filename="gazebo_control.xacro" />
is missing in robot.urdf.xacro although you type it in the video ;)
great work, keep it up!

laser frame Moving!!!

hello
Why does the laserscan move when I move the robot?
ll1

how can i solve this problem?

Gazebo Crashing cmd 'gzserver -slibgazebo_ros_init.so -slibgazebo_ros_factory.so -slibgazebo_ros_force_system.so']

i’m working on a 2 wheel autonomous robot simulation with ROS2 and Gazebo. when never I launch this file gazebo sever crashing error Therefore im trying to setup ros2_control, but i got quiet some problems with it:

My setup: Ubuntu 22.04 Ros humble Gazebo 11.10.2

ros2 launch autonomous_bot launch_sim.launch.py 
[INFO] [launch]: All log files can be found below /home/rushabh/.ros/log/2024-04-10-10-20-53-087448-rushabh-Aspire-A515-57G-24269
[INFO] [launch]: Default logging verbosity is set to INFO
[INFO] [robot_state_publisher-1]: process started with pid [24270]
[INFO] [gzserver-2]: process started with pid [24272]
[INFO] [gzclient-3]: process started with pid [24274]
[INFO] [spawn_entity.py-4]: process started with pid [24276]
[robot_state_publisher-1] [INFO] [1712724653.565116469] [robot_state_publisher]: got segment base_footprint
[robot_state_publisher-1] [INFO] [1712724653.565180780] [robot_state_publisher]: got segment base_link
[robot_state_publisher-1] [INFO] [1712724653.565187384] [robot_state_publisher]: got segment caster_wheel
[robot_state_publisher-1] [INFO] [1712724653.565191307] [robot_state_publisher]: got segment chassis
[robot_state_publisher-1] [INFO] [1712724653.565194777] [robot_state_publisher]: got segment laser_frame
[robot_state_publisher-1] [INFO] [1712724653.565198448] [robot_state_publisher]: got segment left_wheel
[robot_state_publisher-1] [INFO] [1712724653.565201901] [robot_state_publisher]: got segment right_wheel
[spawn_entity.py-4] [INFO] [1712724653.897650338] [spawn_entity]: Spawn Entity started
[spawn_entity.py-4] [INFO] [1712724653.897867387] [spawn_entity]: Loading entity published on topic robot_description
[spawn_entity.py-4] /opt/ros/humble/local/lib/python3.10/dist-packages/rclpy/qos.py:307: UserWarning: DurabilityPolicy.RMW_QOS_POLICY_DURABILITY_TRANSIENT_LOCAL is deprecated. Use DurabilityPolicy.TRANSIENT_LOCAL instead.
[spawn_entity.py-4]   warnings.warn(
[spawn_entity.py-4] [INFO] [1712724653.899170320] [spawn_entity]: Waiting for entity xml on robot_description
[spawn_entity.py-4] [INFO] [1712724653.901625135] [spawn_entity]: Waiting for service /spawn_entity, timeout = 30
[spawn_entity.py-4] [INFO] [1712724653.901805336] [spawn_entity]: Waiting for service /spawn_entity
[spawn_entity.py-4] [INFO] [1712724654.406948601] [spawn_entity]: Calling service /spawn_entity
[spawn_entity.py-4] [INFO] [1712724654.503504374] [spawn_entity]: Spawn status: SpawnEntity: Successfully spawned entity [my_bot]
[gzserver-2] [WARN] [1712724654.505842505] [rcl]: Found remap rule '~/out:=scan'. This syntax is deprecated. Use '--ros-args --remap ~/out:=scan' instead.
[gzserver-2] [WARN] [1712724654.507346550] [rcl]: Found remap rule '~/out:=scan'. This syntax is deprecated. Use '--ros-args --remap ~/out:=scan' instead.
[gzserver-2] [INFO] [1712724654.620310544] [gazebo_ros2_control]: Loading gazebo_ros2_control plugin
[gzserver-2] [INFO] [1712724654.621628001] [gazebo_ros2_control]: Starting gazebo_ros2_control plugin in namespace: /
[gzserver-2] [INFO] [1712724654.621737794] [gazebo_ros2_control]: Starting gazebo_ros2_control plugin in ros 2 node: gazebo_ros2_control
[gzserver-2] [INFO] [1712724654.622666022] [gazebo_ros2_control]: connected to service!! robot_state_publisher
[gzserver-2] [INFO] [1712724654.623100631] [gazebo_ros2_control]: Received urdf from param server, parsing...
[gzserver-2] [INFO] [1712724654.623122673] [gazebo_ros2_control]: Loading parameter files /home/rushabh/ros2_ws/install/autonomous_bot/share/autonomous_bot/config/my_controller.yaml
[gzserver-2] [INFO] [1712724654.630469268] [gazebo_ros2_control]: Loading joint: left_wheel_joint
[gzserver-2] [INFO] [1712724654.630495525] [gazebo_ros2_control]: 	State:
[gzserver-2] [INFO] [1712724654.630511420] [gazebo_ros2_control]: 		 velocity
[gzserver-2] [INFO] [1712724654.630516726] [gazebo_ros2_control]: 		 position
[gzserver-2] [INFO] [1712724654.630521067] [gazebo_ros2_control]: 	Command:
[gzserver-2] [INFO] [1712724654.630537652] [gazebo_ros2_control]: 		 velocity
[gzserver-2] [INFO] [1712724654.630544866] [gazebo_ros2_control]: Loading joint: right_wheel_joint
[gzserver-2] [INFO] [1712724654.630549345] [gazebo_ros2_control]: 	State:
[gzserver-2] [INFO] [1712724654.630553345] [gazebo_ros2_control]: 		 velocity
[gzserver-2] [INFO] [1712724654.630557432] [gazebo_ros2_control]: 		 position
[gzserver-2] [INFO] [1712724654.630561172] [gazebo_ros2_control]: 	Command:
[gzserver-2] [INFO] [1712724654.630566595] [gazebo_ros2_control]: 		 velocity
[gzserver-2] [INFO] [1712724654.630588565] [resource_manager]: Initialize hardware 'GazeboSystem' 
[gzserver-2] [INFO] [1712724654.630656757] [resource_manager]: Successful initialization of hardware 'GazeboSystem'
[gzserver-2] [INFO] [1712724654.630698827] [resource_manager]: 'configure' hardware 'GazeboSystem' 
[gzserver-2] [INFO] [1712724654.630703790] [resource_manager]: Successful 'configure' of hardware 'GazeboSystem'
[gzserver-2] [INFO] [1712724654.630707221] [resource_manager]: 'activate' hardware 'GazeboSystem' 
[gzserver-2] [INFO] [1712724654.630710405] [resource_manager]: Successful 'activate' of hardware 'GazeboSystem'
[gzserver-2] [INFO] [1712724654.630769214] [gazebo_ros2_control]: Loading controller_manager
[INFO] [spawn_entity.py-4]: process has finished cleanly [pid 24276]
[ERROR] [gzserver-2]: process has died [pid 24272, exit code -11, cmd 'gzserver -slibgazebo_ros_init.so -slibgazebo_ros_factory.so -slibgazebo_ros_force_system.so'].
[ERROR] [gzclient-3]: process has died [pid 24274, exit code 255, cmd 'gzclient'].

robot.xarco

<?xml version="1.0"?>
<robot xmlns:xacro="http://www.ros.org/wiki/xacro">

        <ros2_control name="GazeboSystem" type="system">
            <hardware>
                <plugin>gazebo_ros2_control/GazeboSystem</plugin>
            </hardware>
            <joint name="left_wheel_joint">
                <command_interface name="velocity">
                    <param name="min">-10</param>
                    <param name="max">10</param>
                </command_interface>
                <state_interface name="velocity"/>
                <state_interface name="position"/>
            </joint>
            <joint name="right_wheel_joint">
                <command_interface name="velocity">
                    <param name="min">-10</param>
                    <param name="max">10</param>
                </command_interface>
                <state_interface name="velocity"/>
                <state_interface name="position"/>
            </joint>
        </ros2_control>
         <gazebo>
        <plugin name="gazebo_ros2_control" filename="libgazebo_ros2_control.so">
            <parameters>$(find autonomous_bot)/config/my_controller.yaml</parameters>
        </plugin>
    </gazebo>
</robot>
my_controller.yaml

controller_manager:
  ros__parameters:
    
    
    update_rate: 30.0
    use_sim_time: true


    diff_cont:
      type: diff_drive_controller/DiffDriveController

    joint_board:
      type: joint_state_broadcaster/JointStateBroadcaster

diff_cont:
  ros__parameters:

     publish_rate: 50.0

     base_frame_id: base link

     left_wheel_names: ['left_wheel_joint']
     right_wheel_names: ['right_wheel_joint']
     wheel_separation: 0.35
     wheel_radius: 0.05

     use_stamped_vel: false

serial map not reloading in ros2 humble

[ERROR] [1717163428.843720680] [rviz2]: Vertex Program:rviz/glsl120/indexed_8bit_image.vert Fragment Program:rviz/glsl120/indexed_8bit_image.frag GLSL link result :
active samplers with a different type refer to the same texture image unit

this is error from rviz2 when starting the slam_toolbox

launch_robot.launch.py robot_description error

Good day, i'm launch robot-launch file on RPi4 and he is dont want to launch. I dont know why it happens, i tried a lot, but it doesnt work anyway. I think it because this code:

robot_description = ParameterValue(Command(['ros2 param get --hide-type /robot_state_publisher robot_description']), value_type=str)

    controller_params_file = os.path.join(get_package_share_directory(package_name),'config','my_controllers.yaml')

    controller_manager = Node(
        package="controller_manager",
        executable="ros2_control_node",
        parameters=[{'robot_description': robot_description},
                    controller_params_file]
    )

This what i get:

[INFO] [launch]: Default logging verbosity is set to INFO [INFO] [robot_state_publisher-1]: process started with pid [10864] [robot_state_publisher-1] [INFO] [1701792210.594888781] [robot_state_publisher]: got segment base_footprint [robot_state_publisher-1] [INFO] [1701792210.595375938] [robot_state_publisher]: got segment base_link [robot_state_publisher-1] [INFO] [1701792210.595467455] [robot_state_publisher]: got segment camera_link [robot_state_publisher-1] [INFO] [1701792210.595503547] [robot_state_publisher]: got segment camera_link_optical [robot_state_publisher-1] [INFO] [1701792210.595535732] [robot_state_publisher]: got segment caster_wheel [robot_state_publisher-1] [INFO] [1701792210.595566046] [robot_state_publisher]: got segment chassis [robot_state_publisher-1] [INFO] [1701792210.595595842] [robot_state_publisher]: got segment laser_frame [robot_state_publisher-1] [INFO] [1701792210.595625601] [robot_state_publisher]: got segment left_wheel [robot_state_publisher-1] [INFO] [1701792210.595657859] [robot_state_publisher]: got segment right_wheel [INFO] [ros2_control_node-2]: process started with pid [10903] [INFO] [spawner-3]: process started with pid [10905] [INFO] [spawner-4]: process started with pid [10907] [ros2_control_node-2] [WARN] [1701792217.291444991] [controller_manager]: [Deprecated] Passing the robot description parameter directly to the control_manager node is deprecated. Use '~/robot_description' topic from 'robot_state_publisher' instead. [ros2_control_node-2] [INFO] [1701792217.292729153] [resource_manager]: Loading hardware 'RealRobot' [ros2_control_node-2] [INFO] [1701792217.310758087] [resource_manager]: Initialize hardware 'RealRobot' [ros2_control_node-2] [INFO] [1701792217.311612775] [DiffDriveArduino]: Configuring... [ros2_control_node-2] terminate called after throwing an instance of 'serial::IOException'

Am i right, that
[ros2_control_node-2] [WARN] [1701792217.291444991] [controller_manager]: [Deprecated] Passing the robot description parameter directly to the control_manager node is deprecated. Use '~/robot_description' topic from 'robot_state_publisher' instead.
this string shows because he cant launch controller_manager node? Sorry for my bad english

I tried your articubot package, this also doesnt work

ROBOT not moving on gazebo

Hi everyone, i'm having an issue trying to move the robot on gazebo, I followed all the instructions of the videos and the troubleshoot, but it doesn't move, only tried it with the keyboard. I didn't change anything in the folders before trying, so, apparently the code here in github may be with the problem, is there anything to change? any value?
FYI: I'm new to ROS

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.