mayataka / unitree_ros2

ROS2 interface of unitree A1
18 stars 2 forks source link

Can robot walk in gazebo ? #3

Open jediofgever opened 2 years ago

jediofgever commented 2 years ago

Hello, Thank you for the great work.

I tried run the code, I was able to build and spawn the robot to gazebo, is it possible that robot walk in Gazebo ?

Screenshot from 2022-05-18 22-00-37

in the default mode, the robot just hangs despite the unitree_controller being loaded sucessfully, can you please confirm the robot smothly walks in Gazebo ?

jediofgever commented 2 years ago

Here is the full terminal output just for your reference;

atas@atas-Lenovo-ideapad-700-15ISK:~/colcon_ws$ ros2 launch unitree_gazebo  unitree_gazebo.launch.py 
[INFO] [launch]: All log files can be found below /home/atas/.ros/log/2022-05-18-22-02-27-761443-atas-Lenovo-ideapad-700-15ISK-588700
[INFO] [launch]: Default logging verbosity is set to INFO
[INFO] [gazebo-1]: process started with pid [588703]
[INFO] [robot_state_publisher-2]: process started with pid [588705]
[INFO] [spawn_entity.py-3]: process started with pid [588707]
[INFO] [spawner.py-4]: process started with pid [588709]
[INFO] [spawner.py-5]: process started with pid [588711]
[INFO] [spawner.py-6]: process started with pid [588713]
[robot_state_publisher-2] Parsing robot urdf xml string.
[robot_state_publisher-2] Link base had 1 children
[robot_state_publisher-2] Link trunk had 5 children
[robot_state_publisher-2] Link FL_hip had 2 children
[robot_state_publisher-2] Link FL_thigh_shoulder had 0 children
[robot_state_publisher-2] Link FL_thigh had 1 children
[robot_state_publisher-2] Link FL_calf had 1 children
[robot_state_publisher-2] Link FL_foot had 0 children
[robot_state_publisher-2] Link FR_hip had 2 children
[robot_state_publisher-2] Link FR_thigh_shoulder had 0 children
[robot_state_publisher-2] Link FR_thigh had 1 children
[robot_state_publisher-2] Link FR_calf had 1 children
[robot_state_publisher-2] Link FR_foot had 0 children
[robot_state_publisher-2] Link RL_hip had 2 children
[robot_state_publisher-2] Link RL_thigh_shoulder had 0 children
[robot_state_publisher-2] Link RL_thigh had 1 children
[robot_state_publisher-2] Link RL_calf had 1 children
[robot_state_publisher-2] Link RL_foot had 0 children
[robot_state_publisher-2] Link RR_hip had 2 children
[robot_state_publisher-2] Link RR_thigh_shoulder had 0 children
[robot_state_publisher-2] Link RR_thigh had 1 children
[robot_state_publisher-2] Link RR_calf had 1 children
[robot_state_publisher-2] Link RR_foot had 0 children
[robot_state_publisher-2] Link imu_link had 0 children
[robot_state_publisher-2] [INFO] [1652904148.109077350] [robot_state_publisher]: got segment FL_calf
[robot_state_publisher-2] [INFO] [1652904148.109162194] [robot_state_publisher]: got segment FL_foot
[robot_state_publisher-2] [INFO] [1652904148.109171585] [robot_state_publisher]: got segment FL_hip
[robot_state_publisher-2] [INFO] [1652904148.109177302] [robot_state_publisher]: got segment FL_thigh
[robot_state_publisher-2] [INFO] [1652904148.109182707] [robot_state_publisher]: got segment FL_thigh_shoulder
[robot_state_publisher-2] [INFO] [1652904148.109188712] [robot_state_publisher]: got segment FR_calf
[robot_state_publisher-2] [INFO] [1652904148.109193767] [robot_state_publisher]: got segment FR_foot
[robot_state_publisher-2] [INFO] [1652904148.109198933] [robot_state_publisher]: got segment FR_hip
[robot_state_publisher-2] [INFO] [1652904148.109204137] [robot_state_publisher]: got segment FR_thigh
[robot_state_publisher-2] [INFO] [1652904148.109209381] [robot_state_publisher]: got segment FR_thigh_shoulder
[robot_state_publisher-2] [INFO] [1652904148.109214474] [robot_state_publisher]: got segment RL_calf
[robot_state_publisher-2] [INFO] [1652904148.109219750] [robot_state_publisher]: got segment RL_foot
[robot_state_publisher-2] [INFO] [1652904148.109224846] [robot_state_publisher]: got segment RL_hip
[robot_state_publisher-2] [INFO] [1652904148.109229902] [robot_state_publisher]: got segment RL_thigh
[robot_state_publisher-2] [INFO] [1652904148.109235020] [robot_state_publisher]: got segment RL_thigh_shoulder
[robot_state_publisher-2] [INFO] [1652904148.109240539] [robot_state_publisher]: got segment RR_calf
[robot_state_publisher-2] [INFO] [1652904148.109245688] [robot_state_publisher]: got segment RR_foot
[robot_state_publisher-2] [INFO] [1652904148.109250694] [robot_state_publisher]: got segment RR_hip
[robot_state_publisher-2] [INFO] [1652904148.109255635] [robot_state_publisher]: got segment RR_thigh
[robot_state_publisher-2] [INFO] [1652904148.109260737] [robot_state_publisher]: got segment RR_thigh_shoulder
[robot_state_publisher-2] [INFO] [1652904148.109265758] [robot_state_publisher]: got segment base
[robot_state_publisher-2] [INFO] [1652904148.109270860] [robot_state_publisher]: got segment imu_link
[robot_state_publisher-2] [INFO] [1652904148.109275874] [robot_state_publisher]: got segment trunk
[robot_state_publisher-2] [INFO] [1652904148.109280938] [robot_state_publisher]: got segment world
[spawner.py-4] [INFO] [1652904148.359283284] [spawner_joint_state_broadcaster]: Waiting for /controller_manager services
[spawner.py-6] [INFO] [1652904148.471793241] [spawner_unitree_controller]: Waiting for /controller_manager services
[spawner.py-5] [INFO] [1652904148.491098897] [spawner_imu_sensor_broadcaster]: Waiting for /controller_manager services
[spawn_entity.py-3] [INFO] [1652904148.704733448] [spawn_entity]: Spawn Entity started
[spawn_entity.py-3] [INFO] [1652904148.705123377] [spawn_entity]: Loading entity published on topic robot_description
[spawn_entity.py-3] [INFO] [1652904148.706848887] [spawn_entity]: Waiting for entity xml on robot_description
[gazebo-1] Gazebo multi-robot simulator, version 11.10.2
[gazebo-1] Copyright (C) 2012 Open Source Robotics Foundation.
[gazebo-1] Released under the Apache 2 License.
[gazebo-1] http://gazebosim.org
[gazebo-1] 
[gazebo-1] Gazebo multi-robot simulator, version 11.10.2
[gazebo-1] Copyright (C) 2012 Open Source Robotics Foundation.
[gazebo-1] Released under the Apache 2 License.
[gazebo-1] http://gazebosim.org
[gazebo-1] 
[spawn_entity.py-3] [INFO] [1652904149.133829084] [spawn_entity]: Waiting for service /spawn_entity, timeout = 30
[spawn_entity.py-3] [INFO] [1652904149.134240565] [spawn_entity]: Waiting for service /spawn_entity
[spawn_entity.py-3] [INFO] [1652904149.889165313] [spawn_entity]: Calling service /spawn_entity
[gazebo-1] [Msg] Waiting for master.
[gazebo-1] [Msg] Connected to gazebo master @ http://127.0.0.1:11345
[gazebo-1] [Msg] Publicized address: 192.168.0.10
[gazebo-1] [Msg] Loading world file [/home/atas/colcon_ws/install/champ_gazebo/share/champ_gazebo/worlds/void.world]
[gazebo-1] [Err] [Sensor.cc:510] Get noise index not valid
[gazebo-1] [Err] [Sensor.cc:510] Get noise index not valid
[gazebo-1] [Err] [Sensor.cc:510] Get noise index not valid
[gazebo-1] [Err] [Sensor.cc:510] Get noise index not valid
[gazebo-1] [Err] [Sensor.cc:510] Get noise index not valid
[gazebo-1] [Err] [Sensor.cc:510] Get noise index not valid
[spawn_entity.py-3] [INFO] [1652904150.213706956] [spawn_entity]: Spawn status: SpawnEntity: Successfully spawned entity [a1]
[gazebo-1] [INFO] [1652904150.237814534] [gazebo_ros2_control]: Loading gazebo_ros2_control plugin
[gazebo-1] [INFO] [1652904150.243345196] [gazebo_ros2_control]: Starting gazebo_ros2_control plugin in namespace: /
[gazebo-1] [INFO] [1652904150.243728561] [gazebo_ros2_control]: Starting gazebo_ros2_control plugin in ros 2 node: gazebo_ros2_control
[gazebo-1] [INFO] [1652904150.243789456] [gazebo_ros2_control]: Loading parameter file /home/atas/colcon_ws/install/unitree_gazebo/share/unitree_gazebo/config/unitree_gazebo_controllers.yaml
[gazebo-1] 
[gazebo-1] [INFO] [1652904150.248245468] [gazebo_ros2_control]: connected to service!! robot_state_publisher
[gazebo-1] [INFO] [1652904150.249090053] [gazebo_ros2_control]: Recieved urdf from param server, parsing...
[INFO] [spawn_entity.py-3]: process has finished cleanly [pid 588707]
[gazebo-1] [INFO] [1652904150.266138149] [gazebo_ros2_control]: Loading joint: FL_hip_joint
[gazebo-1] [INFO] [1652904150.266189857] [gazebo_ros2_control]:     Command:
[gazebo-1] [INFO] [1652904150.266201631] [gazebo_ros2_control]:          position
[gazebo-1] [INFO] [1652904150.266222318] [gazebo_ros2_control]:          velocity
[gazebo-1] [INFO] [1652904150.266238738] [gazebo_ros2_control]:          effort
[gazebo-1] [INFO] [1652904150.266258187] [gazebo_ros2_control]:          Kp
[gazebo-1] [INFO] [1652904150.266268466] [gazebo_ros2_control]:          Kd
[gazebo-1] [INFO] [1652904150.266287794] [gazebo_ros2_control]:     State:
[gazebo-1] [INFO] [1652904150.266297356] [gazebo_ros2_control]:          position
[gazebo-1] [INFO] [1652904150.266316043] [gazebo_ros2_control]:          velocity
[gazebo-1] [INFO] [1652904150.266328530] [gazebo_ros2_control]:          effort
[gazebo-1] [INFO] [1652904150.266355369] [gazebo_ros2_control]: Loading joint: FL_thigh_joint
[gazebo-1] [INFO] [1652904150.266366301] [gazebo_ros2_control]:     Command:
[gazebo-1] [INFO] [1652904150.266374210] [gazebo_ros2_control]:          position
[gazebo-1] [INFO] [1652904150.266381894] [gazebo_ros2_control]:          velocity
[gazebo-1] [INFO] [1652904150.266389603] [gazebo_ros2_control]:          effort
[gazebo-1] [INFO] [1652904150.266397180] [gazebo_ros2_control]:          Kp
[gazebo-1] [INFO] [1652904150.266406255] [gazebo_ros2_control]:          Kd
[gazebo-1] [INFO] [1652904150.266414408] [gazebo_ros2_control]:     State:
[gazebo-1] [INFO] [1652904150.266422269] [gazebo_ros2_control]:          position
[gazebo-1] [INFO] [1652904150.266430189] [gazebo_ros2_control]:          velocity
[gazebo-1] [INFO] [1652904150.266438079] [gazebo_ros2_control]:          effort
[gazebo-1] [INFO] [1652904150.266446685] [gazebo_ros2_control]: Loading joint: FL_calf_joint
[gazebo-1] [INFO] [1652904150.266454764] [gazebo_ros2_control]:     Command:
[gazebo-1] [INFO] [1652904150.266462253] [gazebo_ros2_control]:          position
[gazebo-1] [INFO] [1652904150.266473038] [gazebo_ros2_control]:          velocity
[gazebo-1] [INFO] [1652904150.266486202] [gazebo_ros2_control]:          effort
[gazebo-1] [INFO] [1652904150.266498804] [gazebo_ros2_control]:          Kp
[gazebo-1] [INFO] [1652904150.266511517] [gazebo_ros2_control]:          Kd
[gazebo-1] [INFO] [1652904150.266524287] [gazebo_ros2_control]:     State:
[gazebo-1] [INFO] [1652904150.266537788] [gazebo_ros2_control]:          position
[gazebo-1] [INFO] [1652904150.266548415] [gazebo_ros2_control]:          velocity
[gazebo-1] [INFO] [1652904150.266556202] [gazebo_ros2_control]:          effort
[gazebo-1] [INFO] [1652904150.266566102] [gazebo_ros2_control]: Loading joint: FR_hip_joint
[gazebo-1] [INFO] [1652904150.266574267] [gazebo_ros2_control]:     Command:
[gazebo-1] [INFO] [1652904150.266581620] [gazebo_ros2_control]:          position
[gazebo-1] [INFO] [1652904150.266589244] [gazebo_ros2_control]:          velocity
[gazebo-1] [INFO] [1652904150.266597902] [gazebo_ros2_control]:          effort
[gazebo-1] [INFO] [1652904150.266605772] [gazebo_ros2_control]:          Kp
[gazebo-1] [INFO] [1652904150.266613424] [gazebo_ros2_control]:          Kd
[gazebo-1] [INFO] [1652904150.266620794] [gazebo_ros2_control]:     State:
[gazebo-1] [INFO] [1652904150.266627951] [gazebo_ros2_control]:          position
[gazebo-1] [INFO] [1652904150.266635232] [gazebo_ros2_control]:          velocity
[gazebo-1] [INFO] [1652904150.266642572] [gazebo_ros2_control]:          effort
[gazebo-1] [INFO] [1652904150.266650974] [gazebo_ros2_control]: Loading joint: FR_thigh_joint
[gazebo-1] [INFO] [1652904150.266658941] [gazebo_ros2_control]:     Command:
[gazebo-1] [INFO] [1652904150.266667169] [gazebo_ros2_control]:          position
[gazebo-1] [INFO] [1652904150.266674634] [gazebo_ros2_control]:          velocity
[gazebo-1] [INFO] [1652904150.266682114] [gazebo_ros2_control]:          effort
[gazebo-1] [INFO] [1652904150.266689586] [gazebo_ros2_control]:          Kp
[gazebo-1] [INFO] [1652904150.266697087] [gazebo_ros2_control]:          Kd
[gazebo-1] [INFO] [1652904150.266704384] [gazebo_ros2_control]:     State:
[gazebo-1] [INFO] [1652904150.266711737] [gazebo_ros2_control]:          position
[gazebo-1] [INFO] [1652904150.266740020] [gazebo_ros2_control]:          velocity
[gazebo-1] [INFO] [1652904150.266750246] [gazebo_ros2_control]:          effort
[gazebo-1] [INFO] [1652904150.266759037] [gazebo_ros2_control]: Loading joint: FR_calf_joint
[gazebo-1] [INFO] [1652904150.266766762] [gazebo_ros2_control]:     Command:
[gazebo-1] [INFO] [1652904150.266778784] [gazebo_ros2_control]:          position
[gazebo-1] [INFO] [1652904150.266792513] [gazebo_ros2_control]:          velocity
[gazebo-1] [INFO] [1652904150.266806763] [gazebo_ros2_control]:          effort
[gazebo-1] [INFO] [1652904150.266818507] [gazebo_ros2_control]:          Kp
[gazebo-1] [INFO] [1652904150.266826450] [gazebo_ros2_control]:          Kd
[gazebo-1] [INFO] [1652904150.266833765] [gazebo_ros2_control]:     State:
[gazebo-1] [INFO] [1652904150.266841132] [gazebo_ros2_control]:          position
[gazebo-1] [INFO] [1652904150.266848387] [gazebo_ros2_control]:          velocity
[gazebo-1] [INFO] [1652904150.266860156] [gazebo_ros2_control]:          effort
[gazebo-1] [INFO] [1652904150.266876819] [gazebo_ros2_control]: Loading joint: RL_hip_joint
[gazebo-1] [INFO] [1652904150.266890867] [gazebo_ros2_control]:     Command:
[gazebo-1] [INFO] [1652904150.266899651] [gazebo_ros2_control]:          position
[gazebo-1] [INFO] [1652904150.266907561] [gazebo_ros2_control]:          velocity
[gazebo-1] [INFO] [1652904150.266916410] [gazebo_ros2_control]:          effort
[gazebo-1] [INFO] [1652904150.266925170] [gazebo_ros2_control]:          Kp
[gazebo-1] [INFO] [1652904150.266932893] [gazebo_ros2_control]:          Kd
[gazebo-1] [INFO] [1652904150.266940058] [gazebo_ros2_control]:     State:
[gazebo-1] [INFO] [1652904150.266947451] [gazebo_ros2_control]:          position
[gazebo-1] [INFO] [1652904150.266954724] [gazebo_ros2_control]:          velocity
[gazebo-1] [INFO] [1652904150.266962273] [gazebo_ros2_control]:          effort
[gazebo-1] [INFO] [1652904150.266970796] [gazebo_ros2_control]: Loading joint: RL_thigh_joint
[gazebo-1] [INFO] [1652904150.266978515] [gazebo_ros2_control]:     Command:
[gazebo-1] [INFO] [1652904150.266985766] [gazebo_ros2_control]:          position
[gazebo-1] [INFO] [1652904150.266993190] [gazebo_ros2_control]:          velocity
[gazebo-1] [INFO] [1652904150.267000621] [gazebo_ros2_control]:          effort
[gazebo-1] [INFO] [1652904150.267008176] [gazebo_ros2_control]:          Kp
[gazebo-1] [INFO] [1652904150.267015815] [gazebo_ros2_control]:          Kd
[gazebo-1] [INFO] [1652904150.267023127] [gazebo_ros2_control]:     State:
[gazebo-1] [INFO] [1652904150.267030379] [gazebo_ros2_control]:          position
[gazebo-1] [INFO] [1652904150.267037735] [gazebo_ros2_control]:          velocity
[gazebo-1] [INFO] [1652904150.267045442] [gazebo_ros2_control]:          effort
[gazebo-1] [INFO] [1652904150.267054100] [gazebo_ros2_control]: Loading joint: RL_calf_joint
[gazebo-1] [INFO] [1652904150.267061840] [gazebo_ros2_control]:     Command:
[gazebo-1] [INFO] [1652904150.267069660] [gazebo_ros2_control]:          position
[gazebo-1] [INFO] [1652904150.267077263] [gazebo_ros2_control]:          velocity
[gazebo-1] [INFO] [1652904150.267085148] [gazebo_ros2_control]:          effort
[gazebo-1] [INFO] [1652904150.267092519] [gazebo_ros2_control]:          Kp
[gazebo-1] [INFO] [1652904150.267100714] [gazebo_ros2_control]:          Kd
[gazebo-1] [INFO] [1652904150.267107987] [gazebo_ros2_control]:     State:
[gazebo-1] [INFO] [1652904150.267116778] [gazebo_ros2_control]:          position
[gazebo-1] [INFO] [1652904150.267128441] [gazebo_ros2_control]:          velocity
[gazebo-1] [INFO] [1652904150.267136413] [gazebo_ros2_control]:          effort
[gazebo-1] [INFO] [1652904150.267145126] [gazebo_ros2_control]: Loading joint: RR_hip_joint
[gazebo-1] [INFO] [1652904150.267152794] [gazebo_ros2_control]:     Command:
[gazebo-1] [INFO] [1652904150.267166262] [gazebo_ros2_control]:          position
[gazebo-1] [INFO] [1652904150.267181287] [gazebo_ros2_control]:          velocity
[gazebo-1] [INFO] [1652904150.267194953] [gazebo_ros2_control]:          effort
[gazebo-1] [INFO] [1652904150.267210189] [gazebo_ros2_control]:          Kp
[gazebo-1] [INFO] [1652904150.267224713] [gazebo_ros2_control]:          Kd
[gazebo-1] [INFO] [1652904150.267239999] [gazebo_ros2_control]:     State:
[gazebo-1] [INFO] [1652904150.267254485] [gazebo_ros2_control]:          position
[gazebo-1] [INFO] [1652904150.267266121] [gazebo_ros2_control]:          velocity
[gazebo-1] [INFO] [1652904150.267274014] [gazebo_ros2_control]:          effort
[gazebo-1] [INFO] [1652904150.267282989] [gazebo_ros2_control]: Loading joint: RR_thigh_joint
[gazebo-1] [INFO] [1652904150.267291021] [gazebo_ros2_control]:     Command:
[gazebo-1] [INFO] [1652904150.267304451] [gazebo_ros2_control]:          position
[gazebo-1] [INFO] [1652904150.267318633] [gazebo_ros2_control]:          velocity
[gazebo-1] [INFO] [1652904150.267335163] [gazebo_ros2_control]:          effort
[gazebo-1] [INFO] [1652904150.267350348] [gazebo_ros2_control]:          Kp
[gazebo-1] [INFO] [1652904150.267363618] [gazebo_ros2_control]:          Kd
[gazebo-1] [INFO] [1652904150.267390814] [gazebo_ros2_control]:     State:
[gazebo-1] [INFO] [1652904150.267413697] [gazebo_ros2_control]:          position
[gazebo-1] [INFO] [1652904150.267429082] [gazebo_ros2_control]:          velocity
[gazebo-1] [INFO] [1652904150.267443940] [gazebo_ros2_control]:          effort
[gazebo-1] [INFO] [1652904150.267462080] [gazebo_ros2_control]: Loading joint: RR_calf_joint
[gazebo-1] [INFO] [1652904150.267477527] [gazebo_ros2_control]:     Command:
[gazebo-1] [INFO] [1652904150.267488734] [gazebo_ros2_control]:          position
[gazebo-1] [INFO] [1652904150.267502817] [gazebo_ros2_control]:          velocity
[gazebo-1] [INFO] [1652904150.267517491] [gazebo_ros2_control]:          effort
[gazebo-1] [INFO] [1652904150.267531596] [gazebo_ros2_control]:          Kp
[gazebo-1] [INFO] [1652904150.267549493] [gazebo_ros2_control]:          Kd
[gazebo-1] [INFO] [1652904150.267564535] [gazebo_ros2_control]:     State:
[gazebo-1] [INFO] [1652904150.267578590] [gazebo_ros2_control]:          position
[gazebo-1] [INFO] [1652904150.267589600] [gazebo_ros2_control]:          velocity
[gazebo-1] [INFO] [1652904150.267604665] [gazebo_ros2_control]:          effort
[gazebo-1] [WARN] [1652904150.267767965] [gazebo_ros2_control]: Skipping sensor in the URDF named 'FL_foot_force_sensor' which is not in the gazebo model.
[gazebo-1] [WARN] [1652904150.267791838] [gazebo_ros2_control]: Skipping sensor in the URDF named 'FR_foot_force_sensor' which is not in the gazebo model.
[gazebo-1] [WARN] [1652904150.267807455] [gazebo_ros2_control]: Skipping sensor in the URDF named 'RL_foot_force_sensor' which is not in the gazebo model.
[gazebo-1] [WARN] [1652904150.267822190] [gazebo_ros2_control]: Skipping sensor in the URDF named 'RR_foot_force_sensor' which is not in the gazebo model.
[gazebo-1] [INFO] [1652904150.267853565] [gazebo_ros2_control]: Loading sensor: imu_sensor
[gazebo-1] [INFO] [1652904150.267869605] [gazebo_ros2_control]:     State:
[gazebo-1] [INFO] [1652904150.267914584] [gazebo_ros2_control]:          orientation.x
[gazebo-1] [INFO] [1652904150.267930983] [gazebo_ros2_control]:          orientation.y
[gazebo-1] [INFO] [1652904150.267943273] [gazebo_ros2_control]:          orientation.z
[gazebo-1] [INFO] [1652904150.267961266] [gazebo_ros2_control]:          orientation.w
[gazebo-1] [INFO] [1652904150.267977186] [gazebo_ros2_control]:          angular_velocity.x
[gazebo-1] [INFO] [1652904150.267990522] [gazebo_ros2_control]:          angular_velocity.y
[gazebo-1] [INFO] [1652904150.268002805] [gazebo_ros2_control]:          angular_velocity.z
[gazebo-1] [INFO] [1652904150.268016529] [gazebo_ros2_control]:          linear_acceleration.x
[gazebo-1] [INFO] [1652904150.268030136] [gazebo_ros2_control]:          linear_acceleration.y
[gazebo-1] [INFO] [1652904150.268043549] [gazebo_ros2_control]:          linear_acceleration.z
[gazebo-1] [INFO] [1652904150.268427947] [gazebo_ros2_control]: Loading controller_manager
[gazebo-1] [WARN] [1652904150.293075127] [gazebo_ros2_control]:  Desired controller update period (0.0025 s) is slower than the gazebo simulation period (0.001 s).
[gazebo-1] [INFO] [1652904150.293272887] [gazebo_ros2_control]: Loaded gazebo_ros2_control.
[gazebo-1] [INFO] [1652904150.305439363] [controller_manager]: Loading controller 'imu_sensor_broadcaster'
[spawner.py-5] [INFO] [1652904150.317686880] [spawner_imu_sensor_broadcaster]: Loaded imu_sensor_broadcaster
[gazebo-1] [INFO] [1652904150.319077771] [controller_manager]: Configuring controller 'imu_sensor_broadcaster'
[spawner.py-5] [INFO] [1652904150.326663175] [spawner_imu_sensor_broadcaster]: Configured and started imu_sensor_broadcaster
[INFO] [spawner.py-5]: process has finished cleanly [pid 588711]
[gazebo-1] [INFO] [1652904150.375424919] [controller_manager]: Loading controller 'joint_state_broadcaster'
[spawner.py-4] [INFO] [1652904150.389147351] [spawner_joint_state_broadcaster]: Loaded joint_state_broadcaster
[gazebo-1] [INFO] [1652904150.390117309] [controller_manager]: Configuring controller 'joint_state_broadcaster'
[spawner.py-4] [INFO] [1652904150.400957060] [spawner_joint_state_broadcaster]: Configured and started joint_state_broadcaster
[INFO] [spawner.py-4]: process has finished cleanly [pid 588709]
[gazebo-1] [INFO] [1652904150.536490491] [controller_manager]: Loading controller 'unitree_controller'
[spawner.py-6] [INFO] [1652904150.589627085] [spawner_unitree_controller]: Loaded unitree_controller
[gazebo-1] [INFO] [1652904150.590556472] [controller_manager]: Configuring controller 'unitree_controller'
[gazebo-1] [INFO] [1652904150.590724157] [unitree_controller]: Controller will be updated at 400.00 Hz.
[gazebo-1] [INFO] [1652904150.590746179] [unitree_controller]: Controller state will be published at 400.00 Hz.
[spawner.py-6] [INFO] [1652904150.625266851] [spawner_unitree_controller]: Configured and started unitree_controller
[INFO] [spawner.py-6]: process has finished cleanly [pid 588713]
mayataka commented 2 years ago

Thank you for being interested in this work. The walking controller is under development. I will implement linear MPC based on a single rigid body dynamics model that computes the reference ground reaction forces (GRFs). By passing the reference GRFs to the whole-body QP controller, we can realize walking controller. Currently, I implement only the whole-body QP controller, so we cannot realize walking.

jediofgever commented 2 years ago

Thank you for your comment.

I have some experience with MPCs but not really familiar with QP. I am glad to hear that it is in your agenda to implement walking controller. I am curious of the method you are trying to implement ,so I will appreciate if you could direct me the papers that your controller will base on.

mayataka commented 2 years ago

I will implement the linear MPC controller proposed in J. Di Carlo, P. M. Wensing, B. Katz, G. Bledt and S. Kim, "Dynamic Locomotion in the MIT Cheetah 3 Through Convex Model-Predictive Control," 2018 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), 2018, pp. 1-9.. There are many papers for the whole-body QP controllers. I'm referring to the TSID's instructions https://andreadelprete.github.io/teaching/tsid/1_tsid_theory.pdf, https://andreadelprete.github.io/teaching/tsid/2_tsid_implementation.pdf, https://www.youtube.com/watch?v=lSPSLbgrtQg, https://www.youtube.com/watch?v=c9g3L3YMhds (TSID is an whole-body QP control library I use in this repo)

jediofgever commented 2 years ago

Many thanks for the links. Looking forward to see the robot walking. I will check from time to time.

jediofgever commented 2 years ago

I was curious if you had any success to run a quad robot in Gazebo simulation using ROS2 with any other controller?

I have literally run all the quads out there, which perform as expected in ROS1, but with the same controllers and urdfs the robots cant behave correctly in ROS2 ( in Gazebo simulation).

For example;

Spot with same configuration posted in peci1's repo; Running on champ controller;

https://user-images.githubusercontent.com/18460336/169563585-82831d4a-2346-4779-b697-2cd910461a87.mp4

The default champ quadruped ; Running on champ controller;

https://user-images.githubusercontent.com/18460336/169563765-016990e1-a81f-4290-b5eb-bec7a0a08bf9.mp4

Yet another quadruped but it has no grip of the ground, it just walks in its place; Running on a different controller;

https://user-images.githubusercontent.com/18460336/169563691-02e6941d-2545-4dea-ac64-bea567009658.mp4

I might also give a unitree a try with a different controller (e.g. champ) but honestly I have no hope that it will behave as expected at this point.

mayataka commented 2 years ago

Thank you for reporting that point. Anyway, I will implement MPC and investigate whether such an issue arises.